PM3.6 - Ganondorf - Action - 0x113 SpecialS

Entry Script

  1. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 23003 }), Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 1 })] }
  2. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
  3. BoolVariableSetFalse { variable: RandomAccessBool (0x11) }
  4. BoolVariableSetFalse { variable: RandomAccessBool (0x21) }
  5. BoolVariableSetFalse { variable: RandomAccessBool (0x22) }
  6. Subroutine(0x1b318)
  7. if (OnGround)
    1. Subroutine(0x1b1e0)
  8. else
    1. Subroutine(0x1b230)
  9. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
  10. PreviousInterruptAddRequirement(OnGround)
  11. CreateInterrupt { interrupt_id: None, action: FallSpecial, requirement: (AnimationEnd) }
  12. PreviousInterruptAddRequirement(InAir)
  13. CreateInterrupt { interrupt_id: None, action: LandingFallSpecial, requirement: (OnGround) }
  14. PreviousInterruptAddRequirement(BoolIsTrue RandomAccessBool (0x11))
  15. CreateInterrupt { interrupt_id: None, action: RunIntoWall, requirement: (TouchingAFloorWallOrCeiling value(4)) }
  16. PreviousInterruptAddRequirement((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(20)))
  17. PreviousInterruptAddRequirement(OnGround)
  18. CreateInterrupt { interrupt_id: None, action: RunIntoWall, requirement: (TouchingAFloorWallOrCeiling value(2)) }
  19. PreviousInterruptAddRequirement((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(20)))
  20. PreviousInterruptAddRequirement(OnGround)
  21. loop Infinite times:
    1. if (OnGround)
      1. BoolVariableSetTrue { variable: RandomAccessBool (0x22) }
      2. IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
      3. SetAirGround(15)
      4. CallEveryFrame { thread_id: 9, script: 0x1b3b8 }
      5. if (BoolIsTrue RandomAccessBool (0x21))
        1. ChangeSubaction(SpecialSStart)
      6. else
        1. ChangeSubactionRestartFrame(SpecialSStart)
        2. BoolVariableSetTrue { variable: RandomAccessBool (0x21) }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. IntVariableSet { variable: RandomAccessInt (0x0), value: 2 }
      2. SetAirGround(17)
      3. CallEveryFrame { thread_id: 9, script: 0x1b450 }
      4. if (not(BoolIsTrue RandomAccessBool (0x22)))
        1. if (BoolIsTrue RandomAccessBool (0x21))
          1. ChangeSubaction(SpecialAirSStart)
        2. else
          1. ChangeSubactionRestartFrame(SpecialAirSStart)
          2. BoolVariableSetTrue { variable: RandomAccessBool (0x21) }
      5. else
        1. ChangeSubactionRestartFrame(SpecialAirSStartGround)
        2. UnknownEvent { namespace: 0x0, code: 0x6, unk1: 0x0, arguments: [] }
      6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script