Posts: 864
Threads: 49
Joined: Mar 2008
04-01-2014, 01:15 PM
(This post was last modified: 02-06-2017, 01:43 PM by STM1993.)
This thread is 2 years old and I'm not sure if I should post there.
This post will serve to explain as many of the bugs listed there as I can, and offer DC solutions for some of them.
#1: Louis stuck in midair - Exe bug; fixed since version 2.0. This bug occurs because these characters land exactly at y: 0 just as he gets struck (see #36: No Pink Smoke transform bug).
#20: Heavy weapon armor bug - Exe minor bug; simply walking will reset back to normal.
#22: Armor Faint bug - Exe bug/feature(#1) related to Hitlag bugs(#7). Necessary to prevent armored characters from getting stuck in midair(#1). Short Louis dash weapon attack bug appears to be fixed.
EX1: Woody Teleport - Woody lacks hit_Uj/Dj in standing/walking/defend frames(except 1st standing frame). This makes Woody seem unable to teleport quickly for players and also makes the AI teleport less.
EX2: Julian & Knight can attack when facing backwards in dash, and will use their weapon instead if they have one on them. This is because their dash frames actually uses state 4 and not state 5; their dash attack is in fact their jump attack!
#2: Infinite Weapon Dash - Some characters go to next: 999 before they land, going into jumping state(frame 212), allowing them to perform a dash again and thus dash attack again... This is also the reason why Woody can dash again right after doing D>J.
#3: Running Skills - Either oversight or feature. Bat/Davis/Julian/Jack/Justin all can perform moves in running frame by pressing all keys at once. Notably, these characters basically share the same data template(hence Bat has Grab+DvA). However, this leads to bug #24 & #25.
#6: Rudolf D>J Rowing back - Frames 108 & 109 are used if you flip when knocked from behind, and have hit_Fj: 274. This oversight can be seen as a feature that makes Rudolf more like a ninja.
#17: Henry & Hunter throws weapon & enemy - Henry/Hunter's frame 234 has next: 49 instead of next: 999. Frame 49 has wpoint dvx: 9 dvy: -4 dvz: 2, making Henry/Hunter throw his weapon after throwing an enemy from grab.
#29: Non-damage hit spot thrown weapons (just_on_ground) - just_on_ground frames are still being called if the weapon hits the floor at specific angles it seems. These frames have an itr that hits but does not damage.
#31: Davis >>A(A) cancel - Not a bug. There's a hit_a: 89 on frame 87, but this does highlight that you can skip into frame 89 before frame 87's itr has a chance to load.
#34: Mark's grab+A can hit nearby enemies - Frame 124 has an itr kind 0. Likely a copy-paste oversight on Marti's part.
#42: Defend/Armor vs John shield - John's shield has no bdefend value in its itr. So blocking or walking through it with armor won't break your defense/armor.
#45: Henry/Hunter Air Arrow wpoint - Frame 214 for Henry/Hunter has hit_a: 81, so they can shoot arrows when dashing and then facing backwards even when holding a weapon(>>J<A); that part is intentional. The weapon break however, is a genuine oversight as the jump attack frames does not have any wpoint, so the weapon defaults to being held at coordinates x: 0 y: 0 in frame 0.
#49: LouisEX Palm while Grab - hit_j: -260. Frame 260 is LouisEX's D>A attack, negative means facing the other direction. Copy-paste oversight.
#51: Punching balls from Behind - Some characters (eg: Firen/Louis/Woody) have a very wide itr hitbox, giving them in-range and letting them hit balls from behind them.
#68: Heavy Weapon jump bug - Pickup uses next: 999 instead of next: 12, resulting in this bug should the character be launched in midair via Frame Override Bug #13.
A/Vrest is the value that determines the time between whether an itr can hit someone or not, which is reset when a character flips in mid-air or lies on the ground.
#23: John D^A Disc stuck in D>J shield - Not really a bug, the disc simply gets hit by the shield again before it has time to get away from the shield recovering from its vrest.
#26: Mark doublehit - Related to Hitlag Quirks, Mark also has too little vrest, allowing him to hit twice if he also hits something/someone else.
#55: Louis passable while frozen bug - Because Louis' whirlwind throw itr is actually his own itr, and has vrest 75, which is a very long time. That means whoever he hits will not be hittable again, and this also applies to itr kind 14 used in ice blocks.
#60/62: Non-hurting burn bug - This happens specifically because Firen and Freeze's >>JA as in the gif use arest 20 instead of vrest, preventing their later burning frames' itr from hitting anyone including teammates. #62's burning & non-burning switch is to be expected(Firen burns himself at the same time as Template getting kicked out of burning), but I can't explain the position switch.
#69: Transparent Louis bug - related to #55
#81: LouisEX can't hit - LouisEX has too much vrest in running.
#82: Template can't hit - Template has too much arest in his superpunch.
As Dragon5(Bat Tamer) puts it, Arest means attacker rest, Vrest means victim rest. In arest, the attacker cannot hit anything until a certain amount of time has passed. In vrest, the attacker cannot hit the same victim until a certain amount of time has passed, but can still hit someone else. All these bugs are due to bad values being used.
#4: Rotate w/o Victim turning - Oversight where game doesn't change victim's position when turning.
#24: Backroll D>A/D>J - Deep & Bat can perform D>J while in rolling state, so they can change direction while rolling halfway. The rest: Game detects "D" when no MP similar to #25.
#25: Backdash D>A/D>J - Bat & Julian can perform D>J while running(Frame Oversights #3). Game detects "J" when no MP. Davis/Jack/Justin can also do this by pressing >>(<DJA)!
#48: Henry Grab throw Rotate - Henry can perform D>A at frame 235 after throwing a victim.
They all stem from an EXE bug where the game changes your direction BEFORE it checks whether you have the MP to do it.
A possible DC solution for some characters is to alter some controls. By using the Double Input method(Hardcoded Basics Bug #58/61) & making the actual running frames have hit_a for run_attack + hit_d for rolling while frames 85(for JA) & 102(for DA), as well as the Holding Back method for direction, it is possible to allow characters to use 2 of their running moves with direction without resorting to using D>A/J tags and thus avoiding this issue altogether, albeit by giving the character some new controls. However, it should be noted that using F6 for infinite MP disables negative tags which also means removing the ability to change direction with the hitback method.
#5: Weapon Disappears - Some characters hold their weapons in a position where they cross the border. The game only checks if weapons have passed the border and not whether it is being held before deleting them.
#35: Bottle Displacement - A clumsy bugfix for milk/beer bottles in Survival stage & Battle mode by not allowing them to go beyond a certain point near the border.
These bugs are a result of the hitlag mechanics in LF2.
#7: Ultrahigh Dragon Punch - If Davis' DvA(between 3rd & 4th punch, frame 278 & 279) hits something such as an arrow, he will get attack hitlag. If Davis does D^A while in that state, he would fly extra high. Possible albeit flawed DC fix is to make D^A go into a wait 0 frame with no dvx/y before going to frame 300.
#33: Vrest Stuck in Hit Lag - As explained in the link, hitlag works by freezing a frame for a short while. This case is possible because itr uses vrest rather than arest, which determines the time if a victim can be hit again by the attacker as opposed to time whether the attacker can hit someone again. With so many targets, the vrest attacker gets stuck in hitlag.
It should be noted that an itr hitting an object will gain momentum(amount depends on timing). If it were a defending bdy that took a hit, Davis would instead lose his momentum, as seen with Armor Bug #22.
#8: Rudolf/Julian free clones - This happens because Rudolf/Julian directly opoints a character(in this case a copy of themselves), creating a link between him and the clones. Rudolf's transform also results in the clones going to frame 0 standing. By exploiting this, Rudolf can convert Julian's mirror image clones into real Julians. DC Solution: The trick is to sever the link between Julian & his clones by making Julian opoint a ball, which in turn opoints the Julian mirror image.
#10: Rudolf DJA victim Stuck - Hitting victim just after transform makes him stuck in midair. Speculation: Game thinks victim is already on the ground on the y-axis like in Bug #1.
#14: Rudolf Transform Evade - When Rudolf is transformed, he can escape almost any situation by transforming back to himself. This can be seen as a feature since it makes Rudolf more like a ninja.
Note: Rudolf's transform disables the transform char's DJA, and his backtransform can only be activated by pressing DJA as separate keys, not all at once.
#32: Firzen instant Defuse - Not a bug, just pressing DJA so quickly that Firzen's fusion frame 290 does not have time to go into his D^J frames.
#50: Rudolf Firzen Fusion Bug - A hilarious oversight due to the game not checking whether Firen/Freeze is a Rudolf transform for fusing into Firzen. The fused R!Firzen transforms back to Rudolf with DJA presumably because transformation takes priority over defusing, but Rudolf only transforms to R!Firen/Freeze after that because that is the form he copied as Rudolf. When Rudolf uses transform on a Firzen, the DJA input causes R!Firzen to defuse properly, with Rudolf regaining the Freeze form, but on untransforming & retransforming again, goes back to R!Firzen since that is the form he copied while he is Rudolf.
This is a strange EXE bug, and in fact it also happens to Henry's D>A palm attack as seen here (scroll down).
For D>J, it seems to only really happen if state 3006 is used together with itr effect 1, but I'm not sure.
In any case, this bug(for Henry's D>J) can be easily fixed by simply adding a number to the hit_d: tag in the flying frames of henry_arrow2.dat like so:
DC-Code:
<frame> 0 flying
pic: 0 state: 3006 wait: 1 next: 1 dvx: 22 dvy: 0 centerx: 19 centery: 24 hit_a: 0 hit_d: 1 hit_j: 0
...
<frame> 5 flying
pic: 5 state: 3006 wait: 1 next: 999 dvx: 22 dvy: 0 centerx: 19 centery: 24 hit_a: 0 hit_d: 999 hit_j: 0
|
The ITR on falling frames is activated when a character is thrown, which lets them hit & rebound balls. In the case of Freeze, his ID: 6 is hardcoded to turn any energy ball he hits into iceballs.
#12: Deep Thaw Bug
#18: Multifreeze - This is actually intentional, not a bug.
#30: Louis grabs frozen teammate - Not a bug. State 13(frozen state) allows teammates' itr to hit you. Grabs(also an itr) by Louis is no exception.
#46: Whirlwind Thaw Bugs
#65: Monk Grab victim Thaw Bug
The first frame of being frozen, frame 200, has state 15 rather than state 13 - this is the basis of all the quirks listed here(except #30).
The intention is for #18 to happen. However, this also allows a character who lands on the ground while still in frame 200 to instead go into frame 219 crouch2, thawing him instantly.
Whirlwind's freezing itr (frame 170 freeze_column.dat), which is separate from the itr kind 15 tornado effect, has vrest 100 and the character did not enter rowing/lying frames to reset the vrest, so he cannot be frozen again. Meanwhile, frame 219 crouch2 has next: 999. This gives a brief window of opportunity for the character to use a move from his standing frame 0 before the game detects he is no longer on the ground and is sent into frame 212.
A possible DC fix for full mods is to make frame 200 have state 13, but add a hidden bdy that can be hit by all ice attacks in the game by using a hidden itr kind 16.
Self explanatory. Basically the character does something just as he gets hit(pickup/punched/grabbed), and the animation is overwritten with the action.
#13: Weapon Pickup Injury Bug
#19/40: Grab Ignore Burn + Rotate Bug
#28/47: Launch during Grab Bug
#41: Multiflinch Hit - Attacks fall <20 can hit someone in mid-air without immediately knowing them down, and if such attacks knock someone down, they would get lifted into the air slightly even if they have dvy 0. Combined together, you have a frame override bug where you lift an injured enemy into the air and then they fall back down into crouch 219 frame.
No idea what causes this bug, but it is specific to ID 201. ID 201 is hardcoded to make the weapon disappear the moment it hits a type 0 object and sends the character into injury/falling. There may be a few possible fixes, all with their own flaws:
* Removing bdy from arrow. However, this makes arrows immune to being reflected, passing through shields and punches.
* ID other than 201. However, arrow will appear deflected even on successful hit and does not free criminals. The 2nd part can be fixed by making the arrow carry an ID 201 as a weapon with opoint kind 2. Study example for normal arrows(not DJA):
henry_arrow1.dat (Size: 25.92 KB / Downloads: 280)
henry_arrowfake.dat (Size: 7.86 KB / Downloads: 269)
criminal.dat (Size: 28.01 KB / Downloads: 290)
henry.dat (Size: 72.28 KB / Downloads: 282)
id: 201 type: 1 file: data\henry_arrowfake.dat
id: 995 type: 1 file: data\henry_arrow1.dat * Best full mod DC solution: The arrows have a hidden 2nd bdy, attacks with bdefend 100 have a hidden 2nd itr - both of them should be the first itr/bdy of the frame. This way, when the arrow & attack collide, the game will check for the hidden itr/bdy first and use that instead of the normal itr/bdy.
#16/57: Last Hit & Chain Attacks at 0hp - As long as you don't enter standing/walking/running/defend/injured/falling frames, a character can still act as if he were alive, and have unlimited MP to boot.
#75: Self-Resurrection armor bug - Ditto. Armor ensures Knight/Julian doesn't get knocked into injured/falling frames and continues regaining HP from milk.
Probably intentional or an oversight related to how balls rebound without z-movement in LF2.
If the ball itself doesn't get hit while it carries an item with an itr via wpoint, it is possible for the ball for keep hitting and not lose its z-momentum.
I don't know the details of these bugs, but they are likely all related.
#27: Glitched Struck Frame(Ball)
#38: Iceball Replication bug
#39: Iceball John Shield bug
#44: Teammate Iceball bug
#52: Projectile Collision Bug
#63: Disappearing snowballs bug
#67: Double grab oversight
#76: Louis Grab with weapon Bug - I couldn't replicate this bug
LF2 resets y to 0 if a character(does not apply to type 3 balls) falls below y: 0. This bug specifically occurs only to Louis, LouisEX & Firzen because they have specific jump values of "-17.000000"(Firzen) or "-18.699999"(Louis/EX), both of which happen to be a multiple of 1.7, which is the strength of gravity in LF2. This bug occurs because these characters land exactly at y: 0, and using dvy: 550 on Rudolf's transform_b frame 245 will not solve the problem.
Easy fix: Lower Firzen & Louis(EX)' jump height by exactly 0.000005 to "-16.999995" and "-18.699995" respectively. I do not recommend increasing jump height as it requires a much larger number(around 0.050000) which deviates too much from the original height.
EX3: F6 Oversight - The way F6 works is by disabling negative values. This will cause the -mp tag to not work hit hi_d:, which is the basis of the Holding Back trick.
#37: Drinking Air F9 - Not really a bug since F9 is a cheat key. A character only stops drinking by pressing D (hit_d: 999) or when the game detects that a drink has run out of HP(see: GJP LF2 mod, template character who can transform enemies into milk). Side note: hit_j is not used to cancel drinking unlike most characters' cancellable D>J moves because the AI randomly jumps. A clumsy solution as YinYin puts it, but a solution nevertheless.
#46: Whirlwind F7 - Not really a bug since F7 is a cheat key. As mentioned in "Frozen frame 200 Quirks #46", whirlwind actually opoints a separate itr frame of itself(vaction: 170) on frame 151. The whirlwind itself has itr kind 15 which only pulls people & weapons and uses the hit_a timer(reset by F7). The frame 170 uses itr kind 16 which will do the freezing and uses wait as its timer. You could 'fix' this by making frame 170 use hit_a: 50 and set hit_d: to a disappearing frame or alternatively fusing the two itrs together.
#73: Heavy Weapon F9 - No explanation, but it seems F9 does not kill weapons with no onground/throw bdy? #43: Backward Jump - Not much of a bug.
#53: Louis Thunder Punch MP bug - This is actually TWO bugs caused by the same problem: >>A costs 50mp.
* This causes players to spend 125mp instead of 75mp if you they hit JA together immediately from running.
* If you have less than 125mp, this will cause you to spend the 50mp meant for >>A, but ending up with not enough mp for >>JA.
* This >>A bug also affects the input >>DA (press DA together)
There are multiple ways to fix this bug:
1) Make a no-MP version of the same move. Simply make a clone of Louis(EX)'s frame 85 & 90 (but make sure wait is at least 1 or this will not work), remove the mp tag from the original frame 85/90, add the hit_a input that leads to the clone frame - this takes advantage of the way LF2 buffers inputs. A side effect is that if you hit both J+A or D+A together, you will be able to use the no-mana version, related to the bug #58/61 below.
2) Simply make >>A cost 0mp on the first frame, instead use a -ve mp cost on the 2nd frame. The downside is that Louis is now able to use >>A even when he doesn't have enough mana, and he will end up with negative MP. Negative MP is normally not an issue, but will disable hit_ inputs, which will be problematic if for instance, you are using hit_j to go to jump while frame 210 is a special move (J+A input).
#58/61: Rudolf/Henry/Hunter MP loss bug Because Frame 60/65 for these characters cost MP. These frames are played just before it goes into another frame (picking up for 58, overriden by jump in 61), so you will lose MP. The same solutions from the above bug #53 apply.
More details in these links: Double Input & this thread.
As mentioned briefly in Frame Oversights #31 for Davis' punch, related to Holding Back. It seems LF2 will check your input just before entering the next frame, and if you hit D just then(or held back in this case), you'd be able to skip the next frame and go straight into the hit_d stop_running frame, so the fire doesn't have a chance to spawn.
Possible Fix: Clone frame 257. Make the original frame 257 have no hit_d/j and have wait: 1. Make the clone frame have wait: 1 and remove the mp: -10 tag and opoint tag. Now you should always leave a fire before you can cancel.
posted by Nullbyte
This bug is a result of heavy weapons lacking several important frames and missing wpoints causing their coordinates being messed up during falling frames(and possibly during heavy_walk/run frames), resulting in the weapon being invisible and sinking below ground respectively.
Therefore, this bug can be very easily fixed by simply adding:
* Frame 6-9 and 11-19 to the heavy weapon.
* Adding the wpoint kind 2 from the on_hand (frame 10) to all frames in the heavy_weapon.
Absolutely no character modification required.
#59: No reflect defend - Not really a bug. The fireball is opointed behind the reflecting itr effect 4, so it hits Jan/Knight/Firzen directly rather than get reflected.
#56: Grab dynamics bug
#64: Blackened facepic bug
#72: Pause weapon displacement
#77: Passable Boulder bug
#79: Baseball bug
#80: Recording bug #66: Invisible wall frozen Rudolf - Because invisibility only prevents a bdy from being hit by hostile itrs, it doesn't take away itr kind 14 used to block movement. On a side note, invisible characters are still affected by itr kind 8 such as John's heal balls and can still be healed by Jan's angels.
#70: Throwing enemy at boomerang - Not a bug at all.
#71: Max objects in survival - Probably a stack overload.
#74: Sonata of Death bug - Itr kind 10 directly applies falling frames, damage overtime and a no-flip property. As long as the victim stays in falling frames, he will continue taking damage and be unable to flip even when the itr is no longer influencing the victim. Hitting the victim with a fire or ice attack will end this effect just as easily as letting him fall to the ground.
#78: Weird heavy weapon possibilities - When weapons take a hit, they will change owners briefly. This also applies to each other, and eventually one person's boulder will come out as the winner.
EX3: Weapons inherit character velocity - Not really a bug, but weapons held by a character do inherit a small fraction of the character's velocity. This explains the two GIFs here by zort:
Soul Bomb: what happens is that Julian is hit by his own Soul Bomb(it has a very big hitbox that extends all the way behind) while frozen, and the milk he was carrying inherited just enough velocity to go from in_the_sky to throwing frames, making the now-dropped milk hit Freeze.
Baseball inherits y-velocity from Template jumping(and a little bit from the shurikens).
That's all. Thanks.
Posts: 2,340
Threads: 78
Joined: Mar 2008
04-01-2014, 02:49 PM
(This post was last modified: 04-01-2014, 03:00 PM by YinYin.)
(04-01-2014, 01:15 PM)STM1993 Wrote: This thread is 2 years old and I'm not sure if I should post there. I'd like to explain and also state some possible DC solutions for some of the bugs listed there.
What. You totally can. This should be moved into the thread.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Frame 102 & 103 - rowing frames used if knocked from behind, have hit_Fj: 274.
No. 108 and 109. I consider it a copy&paste error. 100 and 101 don't have it.
(04-01-2014, 01:15 PM)STM1993 Wrote:
If Davis' DvA 3rd punch hits something such as an arrow, he will get hit lag. If Davis does D^A while in that state, he would fly extra high.
Possible Fix: Using D^A should go to a wait 0 frame that has no dvx/y before going into frame 300.
wait: 0 does induce a considerable wait (1/3 I think). So this would delay all his dragon punches. You could split the first wait 1 frame into three wait 0 frames, but then the upwards motion still comes one frame too late. I would rather try to change the rest on the effect 4 itrs in the shrafe, but I am not skilled enough to reliably reproduce this bug (does it actually still exist in 2.0a?) to debug it.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Rudolf transforms into Julian. Julian uses DJA mirror image. Transform back to Rudolf; all mirror images become normal Rudolf clones. If Rudolf transforms again, clones become real Julians.
Possible Fix: See this thread. Basically, make Julian opoint a ball that opoints a mirror image, rather than directly opointing a mirror image, thus severing the link between the main character and the clones.
On a side note, if you don't want Rudolf clones to turn invisible or clone themselves, just make invisibility and clone cost 10 HP to cast, and then opoint a ball with itr k8 injury: 10 to heal up the lost hp.
I like the solution. I've used a similar setup for my alf2 Rudolf version to create an alternate run attack that lets an immobile clone perform the exact same motion, while the real rudolf stops with short invisibility.
The 10hp cost for clones does make this a little more risky and strips Rudolf of this ability when close to death. I would rather spawn the clones in a frame that uses up a big chunk of mana and hope they waste enough with shurikens until they die before they could reach enough mp for cloning or invisibility. (then again I think they already do start out at 0mp and the cascading cloning only ever happens at the start of a sub stage when they mistakenly gain full mp)
(04-01-2014, 01:15 PM)STM1993 Wrote:
The best fix is to just use an ID other than 201.
You can also remove the bdy from the arrows, but then it'd make arrows immune to deflecting.
One problem with using another id is that the arrows will loose their ability to free criminals. I've manually scripted that back in for the alf2 Henry.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Instead of the usual wait 4 next: 999, Henry/Hunter's Frame 234 has wait 1 and leads to frame 49, which is another throw_lying_man frame. The wpoint there has dvx: 9 dvy: -4 dvz: 2. This is probably an intentional secret rather than a bug.
Or another copy paste error? We should collect these and ask Marti one day.
(04-01-2014, 01:15 PM)STM1993 Wrote:
First ice frame 200 has state 15 rather than state 13. Its most likely intentional rather than a bug.
Definitely intentional, considering the ability of ice blasts to rebound all incoming normal ones as even more ice blasts.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Unlike what main site suggests, just_on_ground frames are the cause of this. Don't believe me? Set the itr on Henry's arrow frame 70 to have effect: 2; at the end of the range the arrow will burn.
I don't see effect 2 in my data, but misread that. These frames do have an itr without injury in some weapons. However the animation that follows frame 70 never runs through and I also don't recall ever managing to view this frame paused. I think at an early stage this might've been used for weapon bouncing and it is still called, but the real solution has been moved into the weapon type (bottles and throwing items bounce, light weapons don't).
(04-01-2014, 01:15 PM)STM1993 Wrote: #36: No pink smoke transform - no solution, not even dvy: 550 works.
My bunny hopping might be related. We should test this with LEX/Firzen being in a different data.txt spot. I don't think I have a solution either though.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Not a bug, just something funny. There is nothing in the code to check if the character is still holding the drink, only a hardcoded ability to check if the drink's HP(see: GJP LF2 mod, template character who can transform enemies into milk) is 0. If the character doesn't hit D(why isn't J used to cancel like Firen's burn run?)
Because the AI jumps randomly. You don't want the AI to randomly stop drinking when it is in a safe spot to empty the bottle. At the same time Firen should totally randomly stop his burn run instead of always running through. Especially with F6 he could get stuck in it as long as you don't attack him (triggering him to press D). A rather clumsy but working decision. Another reason why I really don't like how F6 works.
(04-01-2014, 01:15 PM)STM1993 Wrote:
This is because John's shield has no bdefend value in its itr. Armor is essentially passive blocking, so if an itr has no bdefend, it won't break the armor.
Yeah. You can totally defend into Johns shield with any character to neutralise it quickly and with little damage taken.
(04-01-2014, 01:15 PM)STM1993 Wrote:
Because the whirlwind actually opoints itself(vaction: 170) on frame 151. The whirlwind itself has itr kind 15 which only pulls people & weapons and uses the hit_a timer(reset by F7). The frame 170 uses itr kind 16 which will do the freezing and uses wait as its timer.
Possible Fix: Simply make frame 170 use hit_a: 50 and set hit_d to a disappearing frame. Alternatively just give the whirlwind itself itr kind 16 instead of opoint a separate itr.
Or don't complain about things not working when you use a cheat key. The F keys are more of a developer tool left in as a broken feature.
(04-01-2014, 01:15 PM)STM1993 Wrote: I don't know any solutions to this.
For a mod you could move the normal weapon on hand frames out of the way (not using the heavy weapon frames 20 and 21), to then add acceptable on_hand frames for heavy weapons to make this look and act right.
Posts: 864
Threads: 49
Joined: Mar 2008
04-01-2014, 03:51 PM
(This post was last modified: 04-01-2014, 04:12 PM by STM1993.)
(04-01-2014, 02:49 PM)YinYin Wrote: No. 108 and 109. I consider it a copy&paste error. 100 and 101 don't have it. My bad, mistyped the frame numbers. Fixed.
(04-01-2014, 02:49 PM)YinYin Wrote: I would rather try to change the rest on the effect 4 itrs in the shrafe, but I am not skilled enough to reliably reproduce this bug (does it actually still exist in 2.0a?) to debug it.
My bunny hopping might be related. We should test this with LEX/Firzen being in a different data.txt spot. I don't think I have a solution either though. Will try and look into all these. And yes, that bug still exists in 2.0a, I managed to get it to work.
(04-01-2014, 02:49 PM)YinYin Wrote: One problem with using another id is that the arrows will loose their ability to free criminals. I've manually scripted that back in for the alf2 Henry. Weapons can also carry weapons right? I suppose a DC method could be to make the new ID arrows carry a hidden ID 201 weapon with a hidden itr specifically able to hit a criminals' hidden bdy?
(04-01-2014, 02:49 PM)YinYin Wrote: These frames do have an itr without injury in some weapons. However the animation that follows frame 70 never runs through and I also don't recall ever managing to view this frame paused. I think at an early stage this might've been used for weapon bouncing and it is still called, but the real solution has been moved into the weapon type (bottles and throwing items bounce, light weapons don't). Sounds suspicious. As far as I know using F2 to try to view a frame paused isn't very reliable on something with wait: 0, let alone something that goes even faster. Will investigate.
Thanks given by:
Posts: 2,340
Threads: 78
Joined: Mar 2008
04-01-2014, 04:00 PM
(This post was last modified: 04-01-2014, 04:02 PM by YinYin.)
(04-01-2014, 03:51 PM)STM1993 Wrote: Sounds suspicious. As far as I know using F2 to try to view a frame paused isn't very reliable on something with wait: 0, let alone something that goes even faster. Will investigate. Only wait 1 is elusive on 2.0 and 1.9 could not properly stop on wait 0 (not used in LF2). The just_on_ground sequence uses wait 1 and 2. You should be able to view it 1.9 at least.
Thanks given by:
Posts: 864
Threads: 49
Joined: Mar 2008
04-02-2014, 02:19 AM
(This post was last modified: 04-02-2014, 12:51 PM by STM1993.)
(04-01-2014, 02:49 PM)YinYin Wrote: (04-01-2014, 01:15 PM)STM1993 Wrote:
If Davis' DvA 3rd punch hits something such as an arrow, he will get hit lag. If Davis does D^A while in that state, he would fly extra high.
Possible Fix: Using D^A should go to a wait 0 frame that has no dvx/y before going into frame 300. wait: 0 does induce a considerable wait (1/3 I think). So this would delay all his dragon punches. You could split the first wait 1 frame into three wait 0 frames, but then the upwards motion still comes one frame too late. I would rather try to change the rest on the effect 4 itrs in the shrafe, but I am not skilled enough to reliably reproduce this bug (does it actually still exist in 2.0a?) to debug it. Yes, bug exists in 2.0a.
Reliable way to test: You can set Davis' frame 278 to have no next and hit_a: 300, then set dvx: 0. While in LF2, have player 1 control Davis and player 2 control Henry. Davis uses DvA, wait for him to get stuck at 278. Position Henry have him shoot one arrow at Davis, and then Davis presses A just as the arrow hits. Timing is just as the hit spark appears; its easier if you position Henry further away from Davis.
I've found exactly 2 different jump heights: one shoots through the ceiling which happens if your timing is absolutely perfect(3rd on screenshot), the other one is a slightly higher uppercut which happens if your timing is off by just a bit but still within hit lag(2nd on screenshot). 1st on screenshot is normal uppercut. Yes, the jump heights are the same as if I did it on an unmodded shrafe, so this is definitely a reliable way to test.
If the hitlag occurs as a result of being hit(state 7) as opposed to hitting something(itr), it has the opposite effect as you seem to lose movement and get stuck in that frame momentarily for a longer period of time, resulting in a shorter uppercut(4th on screenshot).
(04-01-2014, 02:49 PM)YinYin Wrote: (04-01-2014, 01:15 PM)STM1993 Wrote: #36: No pink smoke transform - no solution, not even dvy: 550 works. My bunny hopping might be related. We should test this with LEX/Firzen being in a different data.txt spot. I don't think I have a solution either though. Tested. Nothing to do with data.txt location, but strongly related to the game's problem with handling objects landing on the floor. Trevor's holy water DvJ uses Firzen's overwhelming disaster hit_Fa to make it land on the floor. During tests however, I found that depending on how high Trevor is before using the move, the ball sometimes lands slightly higher or slightly lower than usual.
Same problem. This bug only ever happens to Louis, LouisEX & Firzen. What they all have in common is a different jump value from -16.299999, but somehow only these 3 characters are affected by the bug. Other characters with a different jump value(or the ability to make themselves jump higher like Henry's arrow or Davis' super high uppercut) seem unaffected.
The moment I put in a jump value of "-17.000000"(Firzen) or "-18.699999"(Louis) on an otherwise unaffected character and use transform after jumping, they too will experience the no pink smoke bug.
(04-01-2014, 02:49 PM)YinYin Wrote: One problem with using another id is that the arrows will loose their ability to free criminals. I've manually scripted that back in for the alf2 Henry. Updated bug #15 solution.
The best fix is to just use an ID other than 201. The downside however, is that the arrows will appear to be deflected even if it hits the opponent and do not free criminals. The freeing criminal problem can be fixed by making the arrows themselves create & carry a hidden ID 201 weapon which will use a hidden itr to hit a hidden bdy in criminals. Study example for normal arrows(not DJA) and mid-air arrows attached:
<see first post for attachments>
id: 201 type: 1 file: data\henry_arrowfake.dat
id: 995 type: 1 file: data\henry_arrow1.dat
I can't fix the hit opponent problem; itrk8 is too buggy a solution to consider in this case. A weapon in ID 201 will automatically destroy itself when it hits an opponent even if the weapon is being held on_hand.
You can also remove the bdy from the arrows, but then it'd make arrows immune to deflecting unless you decide to mod the entire LF2 to hit a hidden bdy in the arrows with a hidden itr, which is a very troublesome solution.
EDIT:
Update on the just_on_ground frames.
(04-01-2014, 02:49 PM)YinYin Wrote: (04-01-2014, 01:15 PM)STM1993 Wrote:
Unlike what main site suggests, just_on_ground frames are the cause of this. Don't believe me? Set the itr on Henry's arrow frame 70 to have effect: 2; at the end of the range the arrow will burn. I don't see effect 2 in my data, but misread that. These frames do have an itr without injury in some weapons. However the animation that follows frame 70 never runs through and I also don't recall ever managing to view this frame paused. I think at an early stage this might've been used for weapon bouncing and it is still called, but the real solution has been moved into the weapon type (bottles and throwing items bounce, light weapons don't). Actually, I've managed to get frame 70-72 on weapon0 and even henry_arrow1 to work. It is still occasionally being called.
DC-Code:
<frame> 70 just_on_ground
pic: 16 state: 1003 wait: 15 next: 71 dvx: 0 dvy: 0 dvz: 0 centerx: 24 centery: 40 hit_a: 0 hit_d: 0 hit_j: 0
sound: data\011.wav
itr:
kind: 0 x: 1 y: 19 w: 46 h: 15 dvx: 2 fall: 40 arest: 16 bdefend: 16
itr_end:
<frame_end>
<frame> 71 just_on_on_ground
pic: 17 state: 1003 wait: 15 next: 72 dvx: 0 dvy: 0 dvz: 0 centerx: 24 centery: 36 hit_a: 0 hit_d: 0 hit_j: 0
itr:
kind: 0 x: 1 y: 19 w: 46 h: 15 dvx: 2 fall: 40 arest: 16 bdefend: 16
itr_end:
<frame_end>
<frame> 72 just_on_on_ground
pic: 18 state: 1003 wait: 15 next: 64 dvx: 0 dvy: 0 dvz: 0 centerx: 24 centery: 34 hit_a: 0 hit_d: 0 hit_j: 0
sound: data\011.wav
itr:
kind: 0 x: 1 y: 19 w: 46 h: 15 dvx: 2 fall: 40 arest: 16 bdefend: 16
itr_end:
<frame_end>
|
The code is for weapon0 (baseball bat). All I did is change the pics to some unused sprites, added some sprites to those unused areas, and then changed the wait to 15. Interestingly, sometimes the frames play from 70 all the way to 64, other times they don't. It seems to be specific to the angle or frame the weapon is thrown or dropped; when I used Henry to throw the bat straight forward, it would land on frame 70. If I threw it in mid-air, it would only land on frame 70 if I threw it very close to the ground.
Deleting just_on_ground WILL actually cause problems; should the weapon land in the specific conditions, the weapon would simply disappear but leave a shadow behind, just like if a character went into a non-existent frame. This also applies even if the weapon does not use default IDs.
Posts: 2,340
Threads: 78
Joined: Mar 2008
(04-02-2014, 02:19 AM)STM1993 Wrote: a reliable way to test. Cool. I might try messing with that then. (04-02-2014, 02:19 AM)STM1993 Wrote: During tests however, I found that depending on how high Trevor is before using the move, the ball sometimes lands slightly higher or slightly lower than usual.
Same problem. This bug only ever happens to Louis, LouisEX & Firzen. What they all have in common is a different jump value from -16.299999, but somehow only these 3 characters are affected by the bug. Other characters with a different jump value(or the ability to make themselves jump higher like Henry's arrow or Davis' super high uppercut) seem unaffected.
The moment I put in a jump value of "-17.000000"(Firzen) or "-18.699999"(Louis) on an otherwise unaffected character and use transform after jumping, they too will experience the no pink smoke bug. Greetings from gravity (1.7). After a normal glide jump my character goes back to the ground without landing by perfectly reaching y: 0. If a character lands below 0 he gets shifted back to y: 0. And since those jump values are both pretty perfect multitudes of 1.7, that might be reason. You should test how far you have to in- or decrease them to fix it.
Also type 3 objects just do not get reset to y: 0 if they go through the ground. Which is not a problem as Jans devils simply explode and the disaster projectiles descend slowly enough to make the height deviation upon landing look ok. (04-02-2014, 02:19 AM)STM1993 Wrote: the arrows will appear to be deflected even if it hits the opponent Totally forgot about that. Also my current alf2 Henry still uses 201, so I have to search for an older version to see how I dealt with that.
(04-02-2014, 02:19 AM)STM1993 Wrote: Update on the just_on_ground frames. Sounds like you could make every weapon bounce like the baseball then (goes back to throwing frames when bouncing at the right angle, or low enough it seems). Or any other special angle/momentum related action. Could be a thing for shock sensitive explosives.
Posts: 378
Threads: 41
Joined: Jul 2011
04-02-2014, 07:31 PM
(This post was last modified: 04-02-2014, 07:31 PM by Bupkis.)
just lf2 data of lf2 bugs
Thanks given by:
Posts: 864
Threads: 49
Joined: Mar 2008
04-03-2014, 03:27 AM
(This post was last modified: 04-03-2014, 01:08 PM by STM1993.)
@Evan - That's the whole point. Trying to solve some LF2 bugs using only Data Changing(DC) techniques and explaining those that are caused purely by the data itself.
Update to pink smoke bug #36.
LF2 resets y to 0 if a character(does not apply to type 3 balls) falls below y: 0. This bug specifically occurs only to Louis, LouisEX & Firzen because they have specific jump values of "-17.000000"(Firzen) or "-18.699999"(Louis/EX), both of which happen to be a multiple of 1.7, which is the strength of gravity in LF2. This bug occurs because these characters land exactly at y: 0, and using dvy: 550 on Rudolf's transform_b frame 245 will not solve the problem.
The best solution is to simply change the jump height. From testing, it is best to decrease the jump height by exactly 0.000005 below the multiple of 1.7 so Firzen & Louis' jumps should be exactly "-16.999995" and "-18.699995" respectively. I do not recommend increasing jump height as it requires a much larger number(around 0.050000) which deviates too much from the original height.
Posts: 864
Threads: 49
Joined: Mar 2008
04-01-2015, 10:39 AM
(This post was last modified: 04-01-2015, 11:46 AM by STM1993.)
Update:
Found a few new solutions. Also bringing this thread up again because of LF2 mods popping up around, and I myself am considering making a bugfix version of my own.
(11-17-2008, 07:37 AM)dixon Wrote: 9. Destroying Henry's magic arrow
Henry's magic arrow can be destroyed with some characters by shooting a blast at it and hitting it afterwards.
10. Paralyzing with Rudolf
Rudolf is transforming into someone. If anything hits that character just before transform, he will be stuck and unable to move until hit.
15. Arrows into stone
Arrows getting more than 1000 damage ( possible only with Julian's ball,
Julian's explosion and F9 ) change into frames of broken stone.
Bug #9 - Henry's D>J destroyed by ball + punch
Very easy fix. Just add "hit_d" values to henry_arow2 flying frames (which tells the ball to go to the specified frame if it runs out of HP resulting from hit_a).
Don't ask me why it works. I found it out while trying to figure out how it happens. All I know is that a mix of state 3006 and effect 1 causes this bug to happen, and this bug cannot happen if the punch had effect 4. John's D^A disc meets those criteria, yet it isn't destroyed in the same way, so I figured it was the hit_a/d. Just adding hit_d is enough.
Incidentally, in my STM character, I found that John's disk is the only projectile that the level 3 hadouken cannot destroy, yet a level 2 hadouken can destroy it. Strange, plus John's disk can't be destroyed by John's shield too yet Henry's arrow with the above modifications can still be destroyed by the shield. Forgot about "rebound".
Bug #10 - Rudolf transform victim stuck in mid-air
The entire basis of this bug lies in the fact that Rudolf uses cpoint to throw his opponent away. This would also happen if you use a regular throw (consider bug #17 - Henry/Hunter throws weapon along with player, weapon hits player but player not affected by the dvx/y). This is a lot more noticeable because it uses throwinjury: -1, it doesn't trigger the itr kind 4 in falling frames.
Don't really have a solution other than using an itr to get rid of the victim instead of using cpoint throw.
Bug #15 - Arrow to stone on bdefend 100
I think I focused too much on fixing the arrow. Instead, you can choose to make the broken_weapon stones not show up and give the boulder its own custom broken_weapon. Can do the same for the arrow itself or take advantage of the stone fragments.
Thanks given by:
Posts: 2,340
Threads: 78
Joined: Mar 2008
(04-01-2015, 10:39 AM)STM1993 Wrote: Bug #9 - Henry's D>J destroyed by ball + punch Always considered that a feature. Have some respect for characters stopping a super arrow.
(04-01-2015, 10:39 AM)STM1993 Wrote: Bug #10 - Rudolf transform victim stuck in mid-air
Don't really have a solution other than using an itr to get rid of the victim instead of using cpoint throw. Have you tried something like decrease: -1000?
(04-01-2015, 10:39 AM)STM1993 Wrote: Bug #15 - Arrow to stone on bdefend 100
I think I focused too much on fixing the arrow. Instead, you can choose to make the broken_weapon stones not show up and give the boulder its own custom broken_weapon. Can do the same for the arrow itself or take advantage of the stone fragments. The boulder breaking is a pretty complex random effect. I wouldn't ever trade it in for a lousy custom one.
Thanks given by:
|