P+ - Charizard - Action - 0x112 SpecialN

Entry Script

  1. if (OnGround)
    1. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
    2. BoolVariableSetTrue { variable: RandomAccessBool (0x11) }
    3. BoolVariableSetTrue { variable: RandomAccessBool(SpecialsMovement) }
    4. CreateInterrupt { interrupt_id: Some(10002), action: Fall, requirement: (InAir) }
    5. DisableInterrupt(10029)
    6. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (OnGround) }
    7. PreviousInterruptAddRequirement(AnimationEnd)
    8. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (InAir) }
    9. PreviousInterruptAddRequirement(AnimationEnd)
    10. CallEveryFrame { thread_id: 9, script: 0x1d810 }
    11. loop Infinite times:
      1. if (OnGround)
        1. SetAirGround(15)
        2. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. ChangeSubaction(SpecialN)
        3. else
          1. ChangeSubactionRestartFrame(SpecialN)
          2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
        4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
      2. else
        1. SetEdgeSlide(Airbourne)
        2. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. ChangeSubaction(SpecialNAir)
        3. else
          1. ChangeSubactionRestartFrame(SpecialNAir)
          2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
        4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      3. LoopRest
  2. else
    1. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: 0 }
    2. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
    3. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) Equal scalar(3)))
    4. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (InAir) }
    5. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) Equal scalar(3)))
    6. loop Infinite times:
      1. UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 2 })] }
      2. Case(0)
      3. SetAirGround(17)
      4. SetEdgeSlide(Airbourne)
      5. ChangeSubactionRestartFrame(SpecialAirNStart)
      6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
      7. Case(2)
      8. SetAirGround(49)
      9. SetEdgeSlide(Airbourne)
      10. ChangeSubactionRestartFrame(SpecialAirN)
      11. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      12. Case(3)
      13. SetAirGround(6)
      14. SetEdgeSlide(Unknown(2))
      15. ChangeSubactionRestartFrame(SpecialAirNEnd)
      16. EndSwitch
      17. LoopRest
      18. UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 2 })] }
      19. Case(0)
      20. if (AnimationEnd)
        1. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: 2 }
      21. Case(2)
      22. if (OnGround)
        1. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: 3 }
      23. Case(2)
      24. EndSwitch

Exit Script

  1. SoundEffectStop(5424)