P+ - Sonic - Action - 0x112 SpecialN

Entry Script

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