P+ - Zelda - Action - 0x113 SpecialS

Entry Script

  1. Subroutine(0x28010)
  2. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 24001 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
  3. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 24003 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 3 })] }
  4. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThan scalar(0)))
    1. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 24002 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 2 })] }
    2. ResetVerticalVelocityAndAcceleration(true)
    3. ResetVerticalVelocityAndAcceleration(false)
  5. if ((RandomAccessInt (0xa) LessThanOrEqual scalar(0)))
    1. IfStatementAnd (not(OnGround))
    2. BoolVariableSetTrue { variable: LongtermAccessBool (0x7e) }
  6. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
  7. CallEveryFrame { thread_id: 9, script: 0x174f8 }
  8. CreateInterrupt { interrupt_id: None, action: 0x117, requirement: (AnimationEnd) }
  9. CreateInterrupt { interrupt_id: None, action: 0x118, requirement: ((RandomAccessInt (0xa) GreaterThan scalar(0))) }
  10. PreviousInterruptAddRequirement(not(BoolIsTrue RandomAccessBool (0x1f)))
  11. loop Infinite times:
    1. if (OnGround)
      1. SetAirGround(6)
      2. SetEdgeSlide(StayOn)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(SpecialSStart)
      4. else
        1. ChangeSubactionRestartFrame(SpecialSStart)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetAirGround(101)
      2. SetEdgeSlide(Airbourne)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(SpecialAirSStart)
      4. else
        1. ChangeSubactionRestartFrame(SpecialAirSStart)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script