P+ - Pikachu - Subaction - SpecialHiEnd

| 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 |

Stats

IASA: None
Partially Intangible: 3-9
Subaction Index: 0x1da

Scripts

Main

  1. SyncWait(7.0)
  2. LedgeGrabEnable(Disable)
  3. IntVariableIncrement { variable: RandomAccessInt(ThrowDataParam3) }
  4. FloatVariableSet { variable: RandomAccessFloat (0x7), value: 0 }
  5. FloatVariableSet { variable: RandomAccessFloat (0x8), value: RandomAccessFloat (0x3ee) }
  6. FloatVariableMultiply { variable: RandomAccessFloat (0x8), value: 0.88888335 }
  7. if ((RandomAccessFloat (0x3ed) GreaterThan scalar(0.52)))
    1. FloatVariableSet { variable: RandomAccessFloat (0x7), value: RandomAccessFloat (0x3ed) }
    2. FloatVariableSubtract { variable: RandomAccessFloat (0x7), value: 0.52 }
  8. else
    1. if ((RandomAccessFloat (0x3ed) LessThan scalar(-0.52)))
      1. FloatVariableSet { variable: RandomAccessFloat (0x7), value: RandomAccessFloat (0x3ed) }
      2. FloatVariableAdd { variable: RandomAccessFloat (0x7), value: 0.52 }
  9. FloatVariableAdd { variable: RandomAccessFloat (0x403), value: RandomAccessFloat (0x7) }
  10. SyncWait(1.0)
  11. FloatVariableSubtract { variable: RandomAccessFloat (0x403), value: RandomAccessFloat (0x7) }
  12. FloatVariableAdd { variable: RandomAccessFloat (0x3e1), value: RandomAccessFloat (0x8) }
  13. AsyncWait(9.0)
  14. LedgeGrabEnable(EnableInFrontAndBehind)
  15. SyncWait(7.0)
  16. LedgeGrabEnable(EnableInFront)

GFX

  1. AsyncWait(2.0)
  2. ChangeHurtBoxStateSpecific { bone: 19, state: IntangibleFlashing }
  3. ChangeHurtBoxStateSpecific { bone: 20, state: IntangibleFlashing }
  4. ChangeHurtBoxStateSpecific { bone: 21, state: IntangibleFlashing }
  5. ChangeHurtBoxStateSpecific { bone: 22, state: IntangibleFlashing }
  6. AsyncWait(9.0)
  7. UnchangeHurtBoxStateSpecific

SFX

  1. AsyncWait(14.0)
  2. FrameSpeedModifier { multiplier: 4.0, unk: 0 }
  3. AsyncWait(38.0)
  4. FrameSpeedModifier { multiplier: 1.2, unk: 0 }

Other

  1. FloatVariableMultiply { variable: RandomAccessFloat (0x3ed), value: 0.1 }
  2. FloatVariableMultiply { variable: RandomAccessFloat (0x3ee), value: 0.1 }
  3. loop 8 times:
    1. if ((RandomAccessFloat (0x3ed) LessThanOrEqual scalar(-0.01)))
      1. FloatVariableAdd { variable: RandomAccessFloat (0x3ed), value: 0.01 }
    2. else
      1. if ((RandomAccessFloat (0x3ed) GreaterThanOrEqual scalar(0.01)))
        1. FloatVariableSubtract { variable: RandomAccessFloat (0x3ed), value: 0.01 }
      2. else
        1. FloatVariableSet { variable: RandomAccessFloat (0x3ed), value: 0 }
    3. FloatVariableMultiply { variable: RandomAccessFloat (0x3ee), value: 0.88888335 }
    4. SyncWait(1.0)