P+ - Mario - Action - 0x117

Entry Script

  1. CreateInterrupt { interrupt_id: None, action: 0x118, requirement: (ButtonPress value(1)) }
  2. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (InAir) }
  3. PreviousInterruptAddRequirement(ButtonPress value(3))
  4. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (InAir) }
  5. PreviousInterruptAddRequirement((LongtermAccessInt(Temp1) GreaterThanOrEqual InternalConstantInt (0x5dc0)))
  6. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (OnGround) }
  7. PreviousInterruptAddRequirement(ButtonPress value(3))
  8. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (OnGround) }
  9. PreviousInterruptAddRequirement((LongtermAccessInt(Temp1) GreaterThanOrEqual InternalConstantInt (0x5dc0)))
  10. CreateInterrupt { interrupt_id: None, action: EscapeF, requirement: ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual InternalConstantInt (0xc4d))) }
  11. PreviousInterruptAddRequirement((InternalConstantInt (0x5209) LessThan InternalConstantInt (0x59fe)))
  12. PreviousInterruptAddRequirement(OnGround)
  13. CreateInterrupt { interrupt_id: None, action: EscapeB, requirement: ((InternalConstantInt(ControlStickXAxisRelativeReverse) GreaterThanOrEqual InternalConstantInt (0xc4d))) }
  14. PreviousInterruptAddRequirement((InternalConstantInt (0x5209) LessThan InternalConstantInt (0x59fe)))
  15. PreviousInterruptAddRequirement(OnGround)
  16. UnknownEvent { namespace: 0x10, code: 0x4, unk1: 0x0, arguments: [Value(2), Value(1), Bool(false)] }
  17. CallEveryFrame { thread_id: 9, script: 0x185f0 }
  18. loop Infinite times:
    1. if (OnGround)
      1. SetAirGround(6)
      2. SetEdgeSlide(Unknown(2))
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(SpecialAirLw)
      4. else
        1. ChangeSubactionRestartFrame(SpecialAirLw)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. EnableInterrupt(10146)
      6. DisableInterrupt(10147)
      7. UnknownEvent { namespace: 0x4, code: 0x1, unk1: 0x0, arguments: [Value(0), Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetAirGround(10)
      2. SetEdgeSlide(Airbourne)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubaction(NONE_20)
      4. else
        1. ChangeSubactionRestartFrame(NONE_20)
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. EnableInterrupt(10147)
      6. DisableInterrupt(10146)
      7. UnknownEvent { namespace: 0x4, code: 0x1, unk1: 0x0, arguments: [Value(1), Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script

  1. if ((InternalConstantInt(CurrentAction) NotEqual scalar(280)))
    1. UnknownEvent { namespace: 0x10, code: 0x7, unk1: 0x0, arguments: [Value(2), Value(0)] }
    2. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 24002 }), Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 65 })] }
  2. UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 20001 })] }
  3. Case(0)
  4. Case(14)
  5. if ((LongtermAccessInt(Temp1) GreaterThanOrEqual InternalConstantInt (0x5dc0)))
    1. UnknownEvent { namespace: 0x11, code: 0x1e, unk1: 0x0, arguments: [Value(26)] }
  6. UnknownEvent { namespace: 0x0, code: 0x18, unk1: 0x0, arguments: [] }
  7. Case(280)
  8. UnknownEvent { namespace: 0x11, code: 0x1f, unk1: 0x0, arguments: [Value(26)] }
  9. UnknownEvent { namespace: 0x0, code: 0x18, unk1: 0x0, arguments: [] }
  10. Case(31)
  11. Case(32)
  12. UnknownEvent { namespace: 0x0, code: 0x18, unk1: 0x0, arguments: [] }
  13. UnknownEvent { namespace: 0x0, code: 0x12, unk1: 0x0, arguments: [] }
  14. IntVariableSet { variable: LongtermAccessInt(Temp1), value: 0 }
  15. UnknownEvent { namespace: 0x0, code: 0x18, unk1: 0x0, arguments: [] }
  16. EndSwitch