Little Fighter Empire - Forums
state: 100-attacks - Printable Version

+- Little Fighter Empire - Forums (https://lf-empire.de/forum)
+-- Forum: Little Fighter 2 Zone (https://lf-empire.de/forum/forumdisplay.php?fid=7)
+--- Forum: Data Changing (https://lf-empire.de/forum/forumdisplay.php?fid=11)
+---- Forum: Tutorials (https://lf-empire.de/forum/forumdisplay.php?fid=12)
+---- Thread: state: 100-attacks (/showthread.php?tid=200)



state: 100-attacks - Silverthorn - 04-05-2008

Just in case you dunno what state: 100 is good for...

State: 100 isn't used very often in the regular LF2 v1.9, to be more precise, it is used exactly once, in Louis' Dash attack. Usually, when a character touches the ground after he jumped/flew/whatever, he'll go to (if I remember correctly) one of the rowing frames. If you use state: 100 instead, your character will go to frame 94. As there is nothing special about frame 94, you can "abuse" it for your evil purposes a.k.a. continuing of an attack. That works pretty nice, and is pretty easy to do.

What I like to do is programming multiple attacks that all involve state: 100. Well, the problem about that is, that not every attack looks the same, so I need more than one possible outcome out of frame 94. But how can you do that? Attention, adv dcer, if you already know what follows, hit the back-button on your web-browser, this is a tut for beginners/intermediates :p


The idea behind this technique is simple: create an object before the char hits the ground and change the characters frame-sequences this way.

The realization: Create a type-0-object, for my own convenience I wasted one frame in my character-file, before your char touches the ground. You should roughly know, where you'll touch the ground, so that your areas will overlap.

I used this opoint in the last frame before the state: 100-loop:
Code:
opoint:
      kind: 1  x: 49  y: 92  action: 350  dvx: 0  oid: 11  facing: 0
   opoint_end:

I know that my character won't be able to move to the left or right, so I just used the centerpoint as an x-coordinate. The y-value is the same as my centery one.

All righty, no more changes in the next frames, so let's go to frame 94, where I added the following:
Code:
itr:
      kind: 8  x: 0  y: 48000  w: 79  h: 500  dvx: 295
   itr_end:
My attack will go on at frame 295, this is why I wrote dvx: 295.

Now, about frame 350, which is responsible for executing the new attack:
Code:
<frame> 350 smash_land_bdy
   pic: 999  state: 3005  wait: 20  next: 1000  dvx: 550  dvy: 550  dvz: 550  centerx: 39  centery: 99  hit_a: 0  hit_d: 0  hit_j: 0
   bdy:
      kind: 0  x: 0  y: 48500  w: 79  h: 500
   bdy_end:
<frame_end>
I'm about 500 pixels above the ground when the object is activated, this is why the bdy-area is 500px below the itr.
Something important: you must include the dv_: 550, otherwise you create a new character that'll fight on your side.



As you can see, there is actually no real limit for creating neww state: 100 attacks, you have have an almost infinite number of layers that'll care for a frame-sequence-change. I know, a rectangle-heigth of 500 is not really efficient and I could actually use a heigth of 100px but I wanted to be on the safe side :p

And now...
Have fun messing around with the data :D