The Mugen Fighters Guild
M.U.G.E.N Central => M.U.G.E.N Discussion => Development => Topic started by: Ricepigeon on September 11, 2017, 09:52:21 PM
Kudos to @DoomBowser for finding this interesting quirk in MUGEN 1.0 involving moves that spawn multiple helper-based projectiles;
RicePigeon: so that should be everything out of the way except for the needles issue, any lucky trying to figure out why its doing that?
DoomBowser: No, sadly. I don't see why it's happening either, because it's not ignoring the hitdef. I can only assume it's some stupid MUGEN problem. And low and behold, Yuyuko's Ghostly Butterflies have exactly the same issue. So it's probably something to do with MUGEN not liking the first instance of an attack that spawns more than 1 helper? Oh boy, Cirno's C.MP and the non-mash extended Ice Shot have it too. Yep, this is another stupid MUGEN bug. Good thing this doesn't occur in IKEMEN, so it won't affect the tournament.
RicePigeon: a mugen-exclusive glitch. and now with elecbyte dead... there has to be some kind of workaround for this power bug. you make a thread on MFG about this yet?
DoomBowser: No, And the only way I can see of getting around it is poweradd/targetpoweradd, but I hate to think that it won't apply in the case of some frame 1 shenanigans. Though I'm, still curious as to why only the non-mash extend Cirno Ice Shots do this, Or to be specific, Ice Shot 2 and 3. But yeah, funny it only happens the first time the attack is used, and it doesn't even have to hit an opponent.
RicePigeon: at least it resolves itself but its still odd. actually I wonder, maybe it has to do with mugen initializing helper slots for the first time? as in, if the helper didnt exist before only then does it happen. wondering if a different helper can be spawned in those playerid, destroy them, then use Dimension Rift Z and see if the powergains work properly.
DoomBowser: It gets weirder. Yuyuko and Cirno have two of these attacks, but by using one first and then the other, only the first one is affected by the problem.
RicePigeon: it has to be helper initialization then
DoomBowser: Then it gets even weirder with Ice Shot, where if I'm so far away from the opponent, both shots 2 and 3 are affected by the glitch, but at close enough range, only shot 2 is affected
RicePigeon: spawn a fuckton of helpers at the beginning of the match which then destroys themsel... wtf
DoomBowser: Further analysis with Yuyuko reveals that I only have to use [Lance of the Swallowtail Crest] once to stop the glitch.
DoomBowser: So I've done a few more tests with the Power glitch and it does seem to be that a helper slot has to be initialised before it can giving Power to the user of the attack and the right amount of Power to the victim. That being said, there seems to be a difference between P1 and P2, in that the first helper spawned is unaffected for P1, while it's the second helper spawned that is unaffected for P2. Another thing is that while the attack's user will get no Power from uninitialised helper slots (barring the one that is always unaffected), the victim will get the default Power gains assigned by the engine rather than no Power at all. This is probably why Cirno's Ice Shot's third hit didn't mess up at close range, it the third projectile likely replaced one of the helper slots that had already been filled prior but had since become empty again.
DoomBowser: If there's only one attacking helper in an attack, it will always work fine. If P1 uses a move that spawns two attacking helpers, the first one will act normally, but the second will give P1 no Power and P2 Power according to the engine's own calculations If P2 uses the same move, the second helper will act normally, but the first will give P2 no Power and P1 Power according to the engine's own calculations.
So to put it bluntly, unless MUGEN has previously created a helper with a specific playerid, the first helper of that playerid will not apply Power correctly. The only solution to avoid this was the essentially force P1 (and P2) to spawn a ton of empty Helpers at the beginning of the round, which would then destroy themselves after 1-2 ticks, in order to ensure that this bug doesn't occur.
The code we came up with to resolve this is contained in the file above. Probably not the most efficient method but it illustrates the problem.
Do you guys have this problem still available?? I would love to study it more and try to understand what’s happening.
Seeing the fix is nice but I’d like to see it not working too.