[][src]Struct lf2_parse::WeaponStrength

pub struct WeaponStrength {
    pub d_vx: i64,
    pub d_vy: i64,
    pub arest: u32,
    pub vrest: u32,
    pub fall: i32,
    pub b_defend: i32,
    pub injury: i32,
}

Attack strength of a light weapon.

This is used when the attacking tag on a WPoint kind: 1 is non-zero.

See https://lf-empire.de/lf2-empire/data-changing/types/168-type-1-light-weapons

Fields

d_vx: i64

Acceleration to place on the hit object in the X axis.

d_vy: i64

Acceleration to place on the hit object in the Y axis.

arest: u32

Delay before another hit may happen, restricts this Itr to one object.

vrest: u32

Delay before another hit may happen, allows multiple objects to be hit.

fall: i32

How much a character is "off balance".

The fall value determines how an attacked character will react to this itr by flinching, getting into the stunned frames, or falling. If no value is specified, the default of 20 will be used.

  • If a character accumulates 20 fall points, he switches to injured1 (220).
  • If a character accumulates 40 fall points, he switches to injured2 (222) or injured2back (224) depending on the direction he is hit, and will fall if he is in mid-air.
  • If a character accumulates 60 fall points, he switches into the stunned (226) frames where he can be grabbed or hit by super_punch.

Attacks with fall: 41 or more can hit falling characters.

Here are a few values as a rule of thumb for various fall values:

fallDescription
-1Does not go into injured frames and harder to knockdown.
1Never stun, never fall (Davis DvA shrafe)
203 hit stun, 4 hit fall
252 hit stun, 3 hit fall (Dennis normal kick)
40Does not stun, 2 hit fall (baseball bat normal swing)
601 hit stun, 2 hit fall (Henry's arrow)
701 hit fall

Every 1 TU, a fall point is deducted.

b_defend: i32

Broken-defence points.

bdefend points determine if a character is able to block an attack by defending or if he will go to the broken-defense-frames. As long as he has 30 or less Bdefend-points, he will be able to block the attack, if it's 31 or higher, he goes to the broken-defense-frames. If an itr hits the character while he is not in the defend-frames, his bdefend counter will automatically increase to 45. If you have, for example, accumulated 31 points and get hit during your defense (assuming you have specified a positive bdefend value in the hitting itr), the character will go to the broken-defense-frames.

Here are some common values for various bdefend values:

bdefendDescription
0never breaks defense (ex: John's D>J shield)
124 hit break
163 hit break
302 hit break
601 hit break
100ignores defense, sets bdefend counter to 45,\
and instantly destroys weapons.

Every 1 TU, a bdefend point is deducted, so he will be able to recover his defense.

Armor will function as long as a character has not accumulated more bdefend points than the specific armor points of Louis(1), Knight or Julian(15) at the time of attack. For example, Julian can resist a dash attack(bdefend 60) even though he only has 15 armor points, but he will be left completely vulnerable for the next 45 TU until he regains his 1st armor point.

injury: i32

Amount of damage to inflict on the target object.

Trait Implementations

impl Clone for WeaponStrength[src]

impl Copy for WeaponStrength[src]

impl Debug for WeaponStrength[src]

impl Eq for WeaponStrength[src]

impl PartialEq<WeaponStrength> for WeaponStrength[src]

impl StructuralEq for WeaponStrength[src]

impl StructuralPartialEq for WeaponStrength[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.