P+ - Sonic - Common Subroutine 0x22770
- ControllerUnk02
- IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
- CreateInterrupt { interrupt_id: Some(10111), action: ThrowItem, requirement: (ButtonPress value(0)) }
- PreviousInterruptAddRequirement(HoldingItem)
- PreviousInterruptAddRequirement(not(HoldingItemOfType value(4194304)))
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThanOrEqual InternalConstantInt (0x5a5c)))
- CreateInterrupt { interrupt_id: Some(10080), action: FireTether, requirement: ((InternalConstantInt (0x5a97) NotEqual scalar(0))) }
- PreviousInterruptAddRequirement(ButtonHeld value(3))
- PreviousInterruptAddRequirement(ButtonPress value(0))
- if (BoolIsTrue RandomAccessBool(SpecialsMovement))
- CreateInterrupt { interrupt_id: Some(10019), action: PassiveStand, requirement: (OnGround) }
- PreviousInterruptAddRequirement((InternalConstantInt(ControlStickXAxisAbsolute) GreaterThanOrEqual InternalConstantInt (0xc7e)))
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- CreateInterrupt { interrupt_id: Some(10018), action: Passive, requirement: (OnGround) }
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- if (BoolIsTrue RandomAccessBool(EnableGlide))
- CreateInterrupt { interrupt_id: Some(10022), action: PassiveWallJump, requirement: (TouchingAFloorWallOrCeiling value(6)) }
- PreviousInterruptAddRequirement((InternalConstantInt (0x5215) LessThan InternalConstantInt (0x5a0e)))
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- CreateInterrupt { interrupt_id: Some(10021), action: PassiveWallJump, requirement: (TouchingAFloorWallOrCeiling value(6)) }
- PreviousInterruptAddRequirement((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc42)))
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- CreateInterrupt { interrupt_id: Some(10020), action: PassiveWall, requirement: (TouchingAFloorWallOrCeiling value(6)) }
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- CreateInterrupt { interrupt_id: Some(10023), action: PassiveCeil, requirement: (TouchingAFloorWallOrCeiling value(1)) }
- PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
- EnableInterruptGroup(AirLanding)
- CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
- CallEveryFrame { thread_id: 9, script: 0x1195c }
- Rumble { unk1: 24, unk2: 0 }