PM3.02 - Snake - Action - 0x119

Entry Script

  1. CreateInterrupt { interrupt_id: Some(10000), action: Wait, requirement: (AnimationEnd) }
  2. CreateInterrupt { interrupt_id: Some(10002), action: Fall, requirement: (AnimationEnd) }
  3. IntVariableSet { variable: RandomAccessInt (0x0), value: 471 }
  4. IntVariableSet { variable: RandomAccessInt (0x1), value: 470 }
  5. UnknownEvent { namespace: 0x10, code: 0x13, unk1: 0x0, arguments: [Value(4)] }
  6. loop Infinite times:
    1. if (OnGround)
      1. SetEdgeSlide(StayOn)
      2. SetAirGround(6)
      3. if ((InternalConstantInt(CurrentSubaction) Equal RandomAccessInt (0x1)))
        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 })] }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
      6. EnableInterrupt(10000)
      7. DisableInterrupt(10002)
    2. else
      1. SetEdgeSlide(Airbourne)
      2. SetAirGround(0)
      3. if ((InternalConstantInt(CurrentSubaction) Equal RandomAccessInt (0x0)))
        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 })] }
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      6. DisableInterrupt(10000)
      7. EnableInterrupt(10002)
    3. LoopRest

Exit Script

  1. ArticleRemove(5)