PM3.6 - Yoshi - Subroutine - 0x19bc0

  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. loop Infinite times:
    1. if (OnGround)
      1. SetEdgeSlide(StayOn)
      2. SetAirGround(6)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 }), Bool(true)] }
      4. else
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 }), Bool(false)] }
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetEdgeSlide(Airbourne)
      2. SetAirGround(0)
      3. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 1 }), Bool(true)] }
      4. else
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 1 }), Bool(false)] }
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. LoopRest