PM3.02 - Kirby - Action - 0x1bd

Entry Script

  1. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
  2. PreviousInterruptAddRequirement(OnGround)
  3. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
  4. PreviousInterruptAddRequirement(InAir)
  5. CreateInterrupt { interrupt_id: Some(10044), action: Dash, requirement: ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual InternalConstantInt (0xc32))) }
  6. PreviousInterruptAddRequirement((InternalConstantInt (0x5209) LessThan InternalConstantInt (0x59f7)))
  7. PreviousInterruptAddRequirement(OnGround)
  8. PreviousInterruptAddRequirement(BoolIsTrue RandomAccessBool(EnableActionTransition))
  9. if (OnGround)
    1. SetEdgeSlide(Unknown(2))
    2. SetAirGround(6)
    3. ChangeSubactionRestartFrame(SpecialNShoot_2)
    4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
  10. else
    1. SetEdgeSlide(Airbourne)
    2. SetAirGround(0)
    3. ChangeSubactionRestartFrame(SpecialAirNShoot_2)
    4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
  11. loop Infinite times:
    1. LoopRest
    2. if (OnGround)
      1. SetEdgeSlide(Unknown(2))
      2. SetAirGround(6)
      3. ChangeSubaction(SpecialNShoot_2)
      4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    3. else
      1. SetEdgeSlide(Airbourne)
      2. SetAirGround(0)
      3. ChangeSubaction(SpecialAirNShoot_2)
      4. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }

Exit Script

  1. if ((InternalConstantInt(CurrentAction) NotEqual scalar(445)))
    1. IfStatementAnd ((InternalConstantInt(CurrentAction) NotEqual scalar(446)))
    2. IfStatementAnd ((InternalConstantInt(CurrentAction) NotEqual scalar(447)))
    3. ArticleRemove(13)