PM3.6 - Samus - Common Subroutine 0x22770

  1. ControllerUnk02
  2. IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
  3. CreateInterrupt { interrupt_id: Some(10111), action: ThrowItem, requirement: (ButtonPress value(0)) }
  4. PreviousInterruptAddRequirement(HoldingItem)
  5. PreviousInterruptAddRequirement(not(HoldingItemOfType value(4194304)))
  6. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThanOrEqual InternalConstantInt (0x5a5c)))
  7. CreateInterrupt { interrupt_id: Some(10080), action: FireTether, requirement: ((InternalConstantInt (0x5a97) NotEqual scalar(0))) }
  8. PreviousInterruptAddRequirement(ButtonHeld value(3))
  9. PreviousInterruptAddRequirement(ButtonPress value(0))
  10. if (BoolIsTrue RandomAccessBool(SpecialsMovement))
    1. CreateInterrupt { interrupt_id: Some(10019), action: PassiveStand, requirement: (OnGround) }
    2. PreviousInterruptAddRequirement((InternalConstantInt(ControlStickXAxisAbsolute) GreaterThanOrEqual InternalConstantInt (0xc7e)))
    3. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
    4. CreateInterrupt { interrupt_id: Some(10018), action: Passive, requirement: (OnGround) }
    5. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
  11. if (BoolIsTrue RandomAccessBool(EnableGlide))
    1. CreateInterrupt { interrupt_id: Some(10022), action: PassiveWallJump, requirement: (TouchingAFloorWallOrCeiling value(6)) }
    2. PreviousInterruptAddRequirement((InternalConstantInt (0x5215) LessThan InternalConstantInt (0x5a0e)))
    3. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
    4. CreateInterrupt { interrupt_id: Some(10021), action: PassiveWallJump, requirement: (TouchingAFloorWallOrCeiling value(6)) }
    5. PreviousInterruptAddRequirement((InternalConstantInt(ControlStickYAxis) GreaterThanOrEqual InternalConstantInt (0xc42)))
    6. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
    7. CreateInterrupt { interrupt_id: Some(10020), action: PassiveWall, requirement: (TouchingAFloorWallOrCeiling value(6)) }
    8. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
    9. CreateInterrupt { interrupt_id: Some(10023), action: PassiveCeil, requirement: (TouchingAFloorWallOrCeiling value(1)) }
    10. PreviousInterruptAddRequirement((RandomAccessInt (0x0) LessThan InternalConstantInt (0x5a0e)))
  12. EnableInterruptGroup(AirLanding)
  13. CallEveryFrame { thread_id: 9, script: 0x1195c }
  14. Rumble { unk1: 24, unk2: 0 }