LXP2.1 - Ganon-Mage - Subaction - AttackAirB
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
Stats
IASA: |
None |
Auto Cancel Window: |
1-13, 25-66 |
Auto Cancel Lag: |
5 |
Landing Lag: |
25 |
Landing Lag (L-Cancel): |
12 |
Hitboxes active: |
13-24 |
Hitbox set 0 hits: |
13 |
Subaction Index: |
0x1e |
Hitboxes
Move staling reduces damage up to 45%. Move staling also reduces final knockback, shieldstun and hitlag
because damage is used in their formulas.
Frame:13
Set |
ID |
Dmg |
BKB |
KBG |
Angle |
Effect |
Sound |
Clang |
Hitlag Mult |
Shield Dmg |
Shieldstun |
Hitlag |
Targets |
0 |
0 |
13 |
40 |
104 |
361 |
Darkness |
Burn |
false |
1.5 |
8 |
7 |
10 |
|
Frames:14-24
Set |
ID |
Dmg |
BKB |
KBG |
Angle |
Effect |
Sound |
Clang |
Shield Dmg |
Shieldstun |
Hitlag |
Targets |
0 |
0 |
9 |
45 |
53 |
398 |
Darkness |
Burn |
false |
8 |
6 |
5 |
|
Scripts
Main
- RemoveFlashEffect
- AsyncWait(2.0)
- FrameSpeedModifier { multiplier: 0.65, unk: 0 }
- AsyncWait(6.0)
- FrameSpeedModifier { multiplier: 1.0, unk: 0 }
- AsyncWait(9.0)
- CreateHitBox(HitBoxArguments { bone_index: 66, hitbox_id: 0, set_id: 0, damage: Constant(13.0), trajectory: 361, wdsk: 0, kbg: 104, shield_damage: 8, bkb: 40, size: 5.0, x_offset: 0.0, y_offset: 0.0, z_offset: 0.0, tripping_rate: 0.0, hitlag_mult: 1.5, sdi_mult: 1.0, effect: Darkness, unk1: false, sound_level: 2, unk2: false, sound: Burn, unk3: 0, ground: true, aerial: true, unk4: 0, sse_type: Hand, clang: false, unk5: true, direct: true, unk6: 0 })
- AsyncWait(10.0)
- FrameSpeedModifier { multiplier: 0.68, unk: 0 }
- BoolVariableSetTrue { variable: RandomAccessBool(EnableLandingLag) }
- AsyncWait(10.4)
- CreateHitBox(HitBoxArguments { bone_index: 66, hitbox_id: 0, set_id: 0, damage: Constant(9.0), trajectory: 398, wdsk: 0, kbg: 53, shield_damage: 8, bkb: 45, size: 4.0, x_offset: 0.0, y_offset: 0.0, z_offset: 0.0, tripping_rate: 0.0, hitlag_mult: 1.0, sdi_mult: 1.0, effect: Darkness, unk1: false, sound_level: 2, unk2: false, sound: Burn, unk3: 0, ground: true, aerial: true, unk4: 0, sse_type: Hand, clang: false, unk5: true, direct: true, unk6: 0 })
- AsyncWait(18.0)
- DeleteAllHitBoxes
- if (HasAFloorBelowThePlayer scalar(20000))
- IfStatementAnd (not(HasAFloorBelowThePlayer scalar(40)))
- IntVariableSubtract { variable: LongtermAccessInt (0x5c), value: 9 }
- else
- if (HasAFloorBelowThePlayer scalar(40.1))
- IfStatementAnd (not(HasAFloorBelowThePlayer scalar(0)))
- IntVariableSubtract { variable: LongtermAccessInt (0x5c), value: 1 }
- else
- IntVariableSubtract { variable: LongtermAccessInt (0x5c), value: 9 }
- if ((LongtermAccessInt (0x5c) LessThanOrEqual value(0)))
- BoolVariableSetTrue { variable: LongtermAccessFloat (0x51) }
- BoolVariableSetFalse { variable: RandomAccessBool(EnableLandingLag) }
- AsyncWait(28.0)
- loop 17 times:
- if (ButtonPress value(0))
- IfStatementAnd (not(Unknown(54) value(24)))
- IntVariableSet { variable: LongtermAccessInt(JumpsUsed), value: 2 }
- if ((InternalConstantInt(ControlStickXAxisAbsolute) LessThan InternalConstantInt (0xc5c)))
- IfStatementAnd ((InternalConstantInt(ControlStickYAxisAbsolute) LessThan InternalConstantInt (0xc5d)))
- ChangeSubactionRestartFrame(CliffCatchPortal)
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(14)] }
- else
- if (StickDirectionPressed)
- if ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual scalar(0)))
- ChangeSubactionRestartFrame(LandingFallSpecial)
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(15)] }
- else
- ChangeSubactionRestartFrame(AttackAirB)
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(16)] }
- else
- if ((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual scalar(0)))
- ChangeSubactionRestartFrame(AttackAirHi)
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(17)] }
- else
- ChangeSubactionRestartFrame(AttackAirLw)
- UnknownEvent { namespace: 0xc, code: 0x1c, unk1: 0x0, arguments: [Value(2), Value(18)] }
- DisableInterruptGroup(AirSpecial)
- DisableInterrupt(10146)
- DisableInterrupt(10148)
- DisableInterrupt(10149)
- EnableInterrupt(10028)
- UnknownEvent { namespace: 0x4, code: 0x1, unk1: 0x0, arguments: [Value(22), Requirement { flip: false, ty: AnimationEnd }] }
- SyncWait(1.0)
- CreateInterrupt { interrupt_id: None, action: 0x120, requirement: (not(BoolIsTrue LongtermAccessFloat (0x51))) }
GFX
- Goto(AttackAirB_1 GFX 0x53770)
SFX
- Goto(AttackAirB_1 SFX 0x51e20)
Other
- BoolVariableSetFalse { variable: LongtermAccessFloat (0x51) }
- loop Infinite times:
- if (ButtonPress value(2))
- IfStatementOr (ButtonRelease value(2))
- BoolVariableSetTrue { variable: LongtermAccessFloat (0x51) }
- IntVariableSet { variable: LongtermAccessInt (0x63), value: 0 }
- SyncWait(0.1)
- CreateInterrupt { interrupt_id: None, action: 0x120, requirement: (AnimationEnd) }
- PreviousInterruptAddRequirement(not(BoolIsTrue LongtermAccessFloat (0x51)))