Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Weapon: DC Questions
#11
(12-15-2017, 04:12 AM)rewlf2 Wrote:  Of course it "passes through" john's shield, but it properly goes to f30 when it hits the shield. When object goes to f30, you can see in f32 it has next: 999, which means it returns to f0 soon after.

It momentarily halts x-axis movement in f30-32 but resumes moving forward when it goes back to f0, but it changes sides when it hits john's shield.

Also your f20 has an invalid next value. It should go to f21 and proceed to play dispersing animation.

Ok then. I fixed that part. But now I'm thinking to make it able to pass John's shield without changing sides?
Reply
Thanks given by:
#12
(12-15-2017, 04:40 AM)seikosantana Wrote:  Ok then. I fixed that part. But now I'm thinking to make it able to pass John's shield without changing sides?

It will require the object to not have a bdy tag that interacts with the itr kind: 9 tag of john's shield.
Reply
Thanks given by:
#13
(12-15-2017, 04:40 AM)seikosantana Wrote:  
(12-15-2017, 04:12 AM)rewlf2 Wrote:  Of course it "passes through" john's shield, but it properly goes to f30 when it hits the shield. When object goes to f30, you can see in f32 it has next: 999, which means it returns to f0 soon after.

It momentarily halts x-axis movement in f30-32 but resumes moving forward when it goes back to f0, but it changes sides when it hits john's shield.

Also your f20 has an invalid next value. It should go to f21 and proceed to play dispersing animation.

Ok then. I fixed that part. But now I'm thinking to make it able to pass John's shield without changing sides?

Then what's the difference between next: 999 and next: 0, if both will lead to the same frame?
Reply
Thanks given by:
#14
next: 999 leads to frame 0.
next: 0 does NOT lead to frame 0. Instead it loops the same frame which it is currently in.
Reply
Thanks given by:
#15
i made the frame 60 and tried to shoot the arrow, but it doesn't recognize the ground. Where should I place the hit_Fa: 7?
Reply
Thanks given by:
#16
(12-16-2017, 12:59 PM)seikosantana Wrote:  i made the frame 60 and tried to shoot the arrow, but it doesn't recognize the ground. Where should I place the hit_Fa: 7?
Place hit_Fa: 7 in all frames(except the 1st, which should be hit_Fa: 3) where the air arrow is travelling.

For example:
    DC-Code:
<frame> 0 flying
   pic: 0  state: 3000  wait: 0  next: 1  dvx: 0 dvy: 0  dvz: 0  centerx: 45  centery: 38  hit_a: 7  hit_d: 1  hit_j: 0 hit_Fa: 3
<frame_end>
<frame> 1 flying
   pic: 1  state: 3000  wait: 5  next: 2  dvx: 0  dvy: 0  dvz: 0  centerx: 41  centery: 41  hit_a: 7  hit_d: 1  hit_j: 0 hit_Fa: 7
   itr:
      kind: 0  x: 22  y: 22  w: 39  h: 38  dvx: 3  fall: 70  vrest: 15  bdefend: 60  injury: 40  
   itr_end:
   bdy:
      kind: 0  x: 21  y: 22  w: 40  h: 39
   bdy_end:
<frame_end>
<frame> 2 flying
   pic: 2  state: 3000  wait: 5  next: 0  dvx: 0  dvy: 0  dvz: 0  centerx: 41  centery: 41  hit_a: 7  hit_d: 2  hit_j: 0 hit_Fa: 7
   itr:
      kind: 0  x: 22  y: 22  w: 39  h: 38  dvx: 3  fall: 70  vrest: 15  bdefend: 60  injury: 40  
 
   itr_end:
   bdy:
      kind: 0  x: 21  y: 22  w: 40  h: 39
   bdy_end:
<frame_end>
Reply
Thanks given by:
#17
I tried using that code to see if it works.. Well, it works, but there's something strange that when I shoot it to the right, when it hits the ground, it will change it's direction to the left. But everything looks good if I shoot it to the left. And sometimes, the arrow can still go under the ground a bit before it dissolves.
And when it is hit by something else or it hits something, it doesn't continue the path as we put in the dvx and dvy, but just went down to the ground, or changes its direction oppositely.

Here's the piece of code I wrote, without explosion spawning.

    DC-Code:
<bmp_begin>
file(0-23): sprite\sys\henry_arrow3.bmp  w: 48  h: 47  row: 3  col: 2   
file(16-30): sprite\sys\julian_exp.bmp  w: 159  h: 159  row: 5  col: 3
weapon_hit_sound: data\020.wav
weapon_drop_sound: data\020.wav
weapon_broken_sound: data\020.wav
<bmp_end>
 
<frame> 0 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 3
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
 
<frame> 1 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
   <frame_end>
 
<frame> 2 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
   <frame_end>
 
<frame> 3 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
   <frame_end>
 
<frame> 4 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
   <frame_end>
 
<frame> 5 flying
   pic: 0  state: 3006  wait: 1  next: 1  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 500  hit_d: 0  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
 
<frame> 10 hiting
   pic: 2  state: 3001  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 11 hiting
   pic: 1  state: 3001  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 12 hiting
   pic: 2  state: 3001  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 13 hiting
   pic: 1  state: 3001  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 20 hit
   pic: 2  state: 3002  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 21 hit
   pic: 1  state: 3002  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 22 hit
   pic: 2  state: 3002  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 23 hit
   pic: 1  state: 3002  wait: 1  next: 0  dvx: 16  dvy: 566  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 30 rebounding
   pic: 3  state: 3003  wait: 1  next: 31  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 31 rebounding
   pic: 4  state: 3003  wait: 1  next: 32  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 32 rebounding
   pic: 5  state: 3003  wait: 1  next: 1000 dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 60 hitting_ground
   pic: 3  state: 3003  wait: 1  next: 61  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 61 hitting_ground
   pic: 4  state: 3003  wait: 1  next: 62  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 62 hitting_ground
   pic: 5  state: 3003  wait: 1  next: 1000  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
???¸


It also leaves two shadows on the ground.
Can I make the arrow go straight and no direction changing?
Thanks in advance!
Reply
Thanks given by:
#18
Okay, I did some proper testing on my end.
I can now guarantee the code below works and you can copy paste it all into Henry and it'd work, and I've included comments on what I've changed & why:
Do remove the # comments before adding it into your own data as LF2 doesn't have a proper method of commenting out things.

id: 236 type: 3 file: data\henry_arrow3.dat
    DC-Code:
#I corrected filepic numbers below for you based on the row/col you used. I used henry_arrow2 pictures instead of henry_arrow3 for testing purposes.
<bmp_begin>
file(0-5): sprite\sys\henry_arrow2.bmp  w: 48  h: 47  row: 3  col: 2   
file(6-20): sprite\sys\julian_exp.bmp  w: 159  h: 159  row: 5  col: 3
weapon_hit_sound: data\020.wav
weapon_drop_sound: data\020.wav
weapon_broken_sound: data\020.wav
<bmp_end>
 
#I avoided using frame 0 because I'm worried about hit_d: 999 creating problems, and hit_d: 0 doesn't do anything.
#Remember to change your opoint to use action: 1 instead of action: 0.
 
#this is the 1st frame. hit_a 500 is used to remove all homing. hit_d 2 is to tell it to go to frame 2 when it has run out of homing HP.
#hit_Fa 3 is required before hit_Fa: 7 can be used.
#I took out the bdy/itr to prevent bugs due to this being a state 3006 projectile.
#I changed dvy 566 to dvy 16. No difference in this case, but you do need a dvy to make sure the arrow moves downward.
<frame> 1 start_flying
   pic: 0  state: 3006  wait: 0  next: 2  dvx: 16  dvy: 16  centerx: 19  centery: 24  hit_a: 500  hit_d: 2  hit_Fa: 3
<frame_end>
 
#I kept hit_a & hit_d also to prevent bugs and make sure the animation continues.
#wait 0 because wait doesn't work the same way when used with hit_Fa 7; wait 1 means create 1 tail or something from frame 40, wait 2 means 2 tails etc.
#I removed the dvy because it turns out that the projectile DOES accelerate if you have a number, especially if it hits something.
<frame> 2 flying
   pic: 0  state: 3006  wait: 0  next: 3  dvx: 16  dvy: 0  centerx: 19  centery: 24  hit_a: 1  hit_d: 3  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
<frame> 3 flying
   pic: 0  state: 3006  wait: 0  next: 4  dvx: 16  dvy: 0  centerx: 19  centery: 24  hit_a: 1  hit_d: 4  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
<frame> 4 flying
   pic: 0  state: 3006  wait: 0  next: 5  dvx: 16  dvy: 0  centerx: 19  centery: 24  hit_a: 1  hit_d: 5  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
<frame> 5 flying
   pic: 0  state: 3006  wait: 0  next: 6  dvx: 16  dvy: 0  centerx: 19  centery: 24  hit_a: 1  hit_d: 6  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
<frame> 6 flying
   pic: 0  state: 3006  wait: 0  next: 2  dvx: 16  dvy: 0  centerx: 19  centery: 24  hit_a: 1  hit_d: 2  hit_Fa: 7
   itr:
      kind: 0  x: -1  y: 12  w: 51  h: 24  dvx: 20 fall: 70  vrest: 15  bdefend: 60  injury: 50  effect: 1
   itr_end:
   bdy:
      kind: 0  x: -1  y: 12  w: 51  h: 24
   bdy_end:
<frame_end>
 
 
#I fixed the wait/next values here for you. Also, I added dvy 550 in frames after the 1st hitting frame as a preventive measure against bugs.
#Do NOT put dvy 550 in the 1st hitting frame itself because it'd instead create bugs.
<frame> 10 hiting
   pic: 2  state: 3001  wait: 1  next: 11  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 11 hiting
   pic: 1  state: 3001  wait: 1  next: 12  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 12 hiting
   pic: 2  state: 3001  wait: 1  next: 13  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 13 hiting
   pic: 1  state: 3001  wait: 1  next: 1000  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 20 hit
   pic: 2  state: 3002  wait: 1  next: 21  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 21 hit
   pic: 1  state: 3002  wait: 1  next: 22  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 22 hit
   pic: 2  state: 3002  wait: 1  next: 23  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 23 hit
   pic: 1  state: 3002  wait: 1  next: 1000  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
<frame> 30 rebounding
   pic: 3  state: 3003  wait: 1  next: 31  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 31 rebounding
   pic: 4  state: 3003  wait: 1  next: 32  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 32 rebounding
   pic: 5  state: 3003  wait: 1  next: 1000 dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
#this is the tail that results from hit_Fa 7 with wait: x, where x is the number of tails to create behind your arrow.
#I've made the tail invisible and delete itself immediately just in case tails still spawn as a way to prevent bugs.
#The reason why extra shadows appeared in the old data is because it tried to create non-existent frame 40 tails, so it just creates shadows.
<frame> 40 tail
   pic: 999  state: 3005  wait: 0  next: 1000  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
 
 
#added the sound effect so that it does make a sound when it lands. Same thing with dvy: 550 as the hitting frames above.
<frame> 60 hitting_ground
   pic: 3  state: 3001  wait: 1  next: 61  dvx: 0  dvy: 0  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
   sound: data\020.wav 
<frame_end>
<frame> 61 hitting_ground
   pic: 4  state: 3001  wait: 1  next: 62  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
<frame> 62 hitting_ground
   pic: 5  state: 3001  wait: 1  next: 1000  dvx: 0  dvy: 550  centerx: 19  centery: 24  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

Unfortunately, there is no method for fixing the always left-facing direction when it lands - this is just the way LF2's ground hitting system is coded.
However, since you're going to make the arrow explode into a Julian explosion anyway, the direction really doesn't matter and players generally will not notice or care as long as you don't make it obvious that it is supposed to have a different direction like what the original destroyed henry_arrow2 sprites would suggest.
In other words, as long as people can believe the explosion is left-right symmetrical, you can get away with it (how many of us even noticed that Firzen/Jan's D^A, when hitting the floor, always faces left? I didn't even realize until you told me about this!).

And just for completeness, this is the Henry data I used to test the above arrow data.
You will need to have opoint: dvx: 16, otherwise the arrow can aim at enemies behind you.
    DC-Code:
<frame> 212 jump
   pic: 62  state: 4  wait: 1  next: 0  dvx: 0  dvy: 0  dvz: 0  centerx: 39  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0 hit_Fj: 290
   bpoint:
      x: 44  y: 27
   bpoint_end:
   wpoint:
      kind: 1  x: 37  y: 43  weaponact: 22  attacking: 0  cover: 0  dvx: 0  dvy: 0  dvz: 0 
   wpoint_end:
   bdy:
      kind: 0  x: 28  y: 3  w: 23  h: 65
   bdy_end:
   bdy:
      kind: 0  x: 18  y: 29  w: 48  h: 17
   bdy_end:
<frame_end>
 
<frame> 290 jump_attack
   pic: 8  state: 3  wait: 1  next: 291  dvx: 0  dvy: 0  dvz: 0  centerx: 18  centery: 78  hit_a: 0  hit_d: 0  hit_j: 0 mp: 200
   bdy:
      kind: 0  x: 19  y: 10  w: 39  h: 57
   bdy_end:
<frame_end>
<frame> 291 jump_attack
   pic: 9  state: 3  wait: 1  next: 292  dvx: 0  dvy: 0  dvz: 0  centerx: 18  centery: 78  hit_a: 0  hit_d: 0  hit_j: 0
   bdy:
      kind: 0  x: 19  y: 12  w: 38  h: 59
   bdy_end:
<frame_end>
<frame> 292 jump_attack
   pic: 49  state: 3  wait: 1  next: 293  dvx: 0  dvy: 0  dvz: 0  centerx: 18  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
  sound: data\022.wav 
   bdy:
      kind: 0  x: 18  y: 12  w: 38  h: 58
   bdy_end:
<frame_end>
<frame> 293 jump_attack
   pic: 58  state: 3  wait: 1  next: 294  dvx: -1  dvy: -3  dvz: 0  centerx: 18  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
   sound: data\059.wav
   bdy:
      kind: 0  x: 12  y: 7  w: 44  h: 63
   bdy_end:
<frame_end>
 
#important to have opoint dvx 16, otherwise the arrow can potentially aim at an enemy behind you.
<frame> 294 jump_attack
   pic: 59  state: 3  wait: 11  next: 999  dvx: 0  dvy: 0  dvz: 0  centerx: 18  centery: 79  hit_a: 80  hit_d: 0  hit_j: 0
  sound: data\024.wav 
   opoint:
      kind: 1  x: 80  y: 77  action: 1  dvx: 16  dvy: 0  oid: 236  facing: 0
   opoint_end:
   bdy:
      kind: 0  x: 15  y: 10  w: 42  h: 63
   bdy_end:
<frame_end>
Reply
Thanks given by: seikosantana
#19
Wow, it looks nice now, but it still reflects if it is hit by someone. The bad thing about it is when the arrow is reflected, it will explode right below Henry.
The arrow should not be reflected or the explosion will not be useful..

I even tried to add the dvx and dvy value but it still change the direction when hit.

I copy the code above and modified my Henry data. Did I make mistake?

Thanks in advance!
Reply
Thanks given by: STM1993
#20
Wait what, a hit_Fa: 7 state 3006 actually gets rebounded in the opposite direction(but doesn't change team) by a REGULAR hit, but not by a John shield reflect? What madness is this?!

Okay, I found a workaround, but it isn't ideal in a few specific situations - you must remove the bdy in the "flying" frames.

The arrow cannot be destroyed or rebounded, which fixes the reflecting issue above. HOWEVER:
1) Tf 2 such arrows were to go head-to-head on each other, they will not collide, they will just pass through each other.
2) The arrow will still be destroyed if it hits the bdy of another 3006 attack, which is good.
3) The arrow cannot be destroyed by a state 3005 palm attack, and will pass through John's shield harmlessly.

You can fix the non-colliding issue by adding a hidden bdy and a hidden itr (that is a bdy/itr that has a very large y-coordinate like y: 900012), so that in the specific case that these 2 arrows collide, they will still destroy each other. However fixing this for things like John's shield or the state 3005 palm attacks will require adding a hidden itr on them to hit the arrow's hidden bdy - so this method is not very useful if this Henry mod is a stand-alone character rather than part of a full LF2 mod.
Reply
Thanks given by: seikosantana




Users browsing this thread: 1 Guest(s)