P+ - Mario - Action - 0x1d GuardDamage

Entry Script (Common)

  1. CreateInterrupt { interrupt_id: None, action: EdgeSlip, requirement: (InAir) }
  2. PreviousInterruptAddRequirement(HasPassedOverAnEdgeBackward)
  3. CreateInterrupt { interrupt_id: None, action: DamageFall, requirement: (InAir) }
  4. ControllerClearBuffer
  5. if ((RandomAccessInt (0x1) GreaterThan scalar(0)))
    1. IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
    2. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 23079 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 3 })] }
    3. Subroutine(0x80545bb8)
  6. else
    1. Subroutine(0x2e04)
  7. CreateInterrupt { interrupt_id: Some(10041), action: Guard, requirement: ((RandomAccessInt (0x5) Equal scalar(0))) }
  8. CreateInterrupt { interrupt_id: None, action: GuardOff, requirement: ((RandomAccessInt (0x5) Equal scalar(0))) }
  9. PreviousInterruptAddRequirement(OnGround)
  10. CallEveryFrame { thread_id: 9, script: 0x226c8 }

Exit Script (Common)

  1. Subroutine(Guard Exit 0x22690)
  2. if ((InternalConstantInt(CurrentAction) Equal scalar(27)))
    1. UnknownEvent { namespace: 0x4, code: 0xa, unk1: 0x0, arguments: [Value(64)] }
    2. UnknownEvent { namespace: 0x4, code: 0xb, unk1: 0x0, arguments: [Scalar(0.0)] }