PM3.6 - Sonic - Action - 0x11e

Entry Script

  1. IntVariableSet { variable: LongtermAccessInt (0x63), value: 0 }
  2. CallEveryFrame { thread_id: 9, script: 0x1c598 }
  3. CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (OnGround) }
  4. PreviousInterruptAddRequirement(TouchingAFloorWallOrCeiling value(4))
  5. PreviousInterruptAddRequirement((InternalConstantInt(CharacterDirection) GreaterThan scalar(0)))
  6. CreateInterrupt { interrupt_id: None, action: 0x121, requirement: (OnGround) }
  7. PreviousInterruptAddRequirement(TouchingAFloorWallOrCeiling value(2))
  8. PreviousInterruptAddRequirement((InternalConstantInt(CharacterDirection) LessThan scalar(0)))
  9. CreateInterrupt { interrupt_id: None, action: 0x11b, requirement: ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(0.25))) }
  10. PreviousInterruptAddRequirement((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-0.5)))
  11. if (BoolIsTrue RandomAccessBool(SpecialsMovement))
    1. CreateInterrupt { interrupt_id: None, action: 0x11f, requirement: (OnGround) }
    2. CreateInterrupt { interrupt_id: None, action: 0x11b, requirement: ((RandomAccessInt(ThrowDataParam2) LessThan scalar(50))) }
    3. PreviousInterruptAddRequirement(InAir)
    4. SetEdgeSlide(Airbourne)
    5. UnknownEvent { namespace: 0x9, code: 0x0, unk1: 0x0, arguments: [Value(2)] }
    6. SetAirGround(108)
    7. ChangeSubactionRestartFrame(SpecialSDashLw_1)
    8. LoopRest
  12. else
    1. IntVariableSet { variable: LongtermAccessInt (0x60), value: 0 }
    2. UnknownEvent { namespace: 0x12, code: 0x2, unk1: 0x0, arguments: [Variable(Variable { memory_type: LongtermAccess, data_type: Int, address: 95 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 3 })] }
    3. CreateInterrupt { interrupt_id: None, action: 0x11a, requirement: (ButtonHeld value(3)) }
    4. PreviousInterruptAddRequirement(OnGround)
    5. CreateInterrupt { interrupt_id: None, action: 0x11a, requirement: ((RandomAccessInt(ThrowDataParam2) LessThanOrEqual scalar(0))) }
    6. PreviousInterruptAddRequirement(OnGround)
    7. CreateInterrupt { interrupt_id: None, action: 0x120, requirement: ((InternalConstantInt(ControlStickXAxisRelative) LessThanOrEqual InternalConstantInt (0xc31))) }
    8. PreviousInterruptAddRequirement(OnGround)
    9. Subroutine(0x1c038)
  13. loop Infinite times:
    1. if (OnGround)
      1. BoolVariableSetFalse { variable: LongtermAccessBool (0x71) }
      2. IntVariableSet { variable: LongtermAccessInt(JumpsUsed), value: 0 }
      3. ChangeHurtBoxStateAll { state: Normal }
      4. SetEdgeSlide(StayOn)
      5. SetAirGround(107)
      6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetEdgeSlide(Airbourne)
      2. SetAirGround(108)
      3. ChangeSubactionRestartFrame(SpecialSDashLw)
      4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest

Exit Script