PM3.6 - Sonic - Action - 0x112 SpecialN

Entry Script

  1. if (OnGround)
    1. ChangeSubactionRestartFrame(SpecialNStart)
  2. else
    1. ChangeSubactionRestartFrame(SpecialAirNStart)
  3. Subroutine(0x2ca84)
  4. BoolVariableSetTrue { variable: LongtermAccessBool (0x3a) }
  5. CallEveryFrame { thread_id: 9, script: 0x1e280 }
  6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: AnimationEnd }] }
  7. LoopRest
  8. CreateInterrupt { interrupt_id: None, action: 0x117, requirement: ((RandomAccessInt(ThrowDataParam1) GreaterThan scalar(17))) }
  9. PreviousInterruptAddRequirement(BoolIsTrue RandomAccessBool(EnableActionTransition))
  10. CreateInterrupt { interrupt_id: None, action: 0x118, requirement: ((RandomAccessInt(ThrowDataParam1) GreaterThan scalar(25))) }
  11. CreateInterrupt { interrupt_id: None, action: 0x118, requirement: ((RandomAccessInt(ThrowDataParam1) GreaterThanOrEqual scalar(5))) }
  12. PreviousInterruptAddRequirement((RandomAccessInt(ThrowDataParam1) LessThan scalar(18)))
  13. PreviousInterruptAddRequirement(ButtonPress value(0))
  14. ChangeSubactionRestartFrame(SpecialNSpin)

Exit Script

  1. UnknownEvent { namespace: 0x0, code: 0x10, unk1: 0x0, arguments: [Value(10000), Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 20001 })] }
  2. Case(279)
  3. UnknownEvent { namespace: 0x0, code: 0x18, unk1: 0x0, arguments: [] }
  4. UnknownEvent { namespace: 0x0, code: 0x12, unk1: 0x0, arguments: [] }
  5. ModelChanger { reference: 0, switch_index: 1, bone_group_index: 0 }
  6. EndSwitch