Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DC Solutions/Explanations for some LF2 bugs
#1
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.

Armor Exe Bugs: #1,#20,#22 (Click to View)
Frame Oversights: #2,3,6,17,29,31,34,42,45,49,51,68 (Click to View)
A/vrest bugs: #23,26,55,60,62,69,81,82 (Click to View)
Rotation Bugs: #4,24,25,48 (Click to View)
Border Bugs: #5,35 (Click to View)
Hitlag Quirks: #7,33 (Click to View)
Rudolf Transformation & Fusion Bugs: #8,10,14,32,50 (Click to View)
#9: Henry D>J superarrow destroyed by ball+punch (Click to View)
#11: Thrown Freeze rebound (Click to View)
Frozen frame 200 Quirks: #12,18,30,46,65 (Click to View)
Frame Override Bugs: #13,19,28,40,41,47 (Click to View)
#15: Arrows break into stones when hit >1000dmg/bdefend 100 (Click to View)
0hp Bugs: #16,57,75 (Click to View)
#21: Projectile lose z-momentum (Click to View)
Hit Detection bugs: #27,38,39,44,52,63,67,76 (Click to View)
#36: Y-Coordinate bug (No pink smoke) (Click to View)
F-keys Bugs: #37,46,73 (Click to View)
#43: Backward Jump - Not much of a bug.
Basic Attack Bugs: #53,58,61 (Click to View)
#54: No opoint bug Firen burn_run (Click to View)
John Shield heavy weapon bug (SOLVED!) (Click to View)
#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.
Bugs with no explanation or solution: #56,64,72,77,79,80 (Click to View)
#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.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by: YinYin , empirefantasy , Dragon5 , zort
#2
(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:  
#6: Rudolf D>J when rowing (Click to View)

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:  
#7: Davis super high D^A (Click to View)

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:  
#8: Rudolf/Julian free clones (Click to View)

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:  
#15: Arrows break into stones when hit by bdefend 100 (Click to View)

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:  
#17: Henry/Hunter also throws weapon on throwing enemy (Click to View)

Or another copy paste error? We should collect these and ask Marti one day.

(04-01-2014, 01:15 PM)STM1993 Wrote:  
#18: Multi-freezing (Click to View)

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:  
#29: Non-damaging hit spot, thrown weapons (just_on_ground) (Click to View)

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:  
#37: Drinking Air (Click to View)

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:  
#42: Armor protects from John shield (Click to View)

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:  
#46: Whirlwind Bug - F7 no longer freeze (Click to View)

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:  
#68: Heavy weapon displace bug (Click to View)

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.
Reply
Thanks given by: STM1993
#3
(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.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by:
#4
(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.
Reply
Thanks given by:
#5
(04-01-2014, 02:49 PM)YinYin Wrote:  
(04-01-2014, 01:15 PM)STM1993 Wrote:  
#7: Davis super high D^A (Click to View)
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.
[Image: RirXaJ4.png]
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:  
#29: Non-damaging hit spot, thrown weapons (just_on_ground) (Click to View)
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.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by: YinYin
#6
(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.
Reply
Thanks given by: STM1993
#7
just lf2 data of lf2 bugs
Reply
Thanks given by:
#8
@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.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by: YinYin
#9
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.
Original Thread (Click to View)
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.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by:
#10
(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.
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)