P+ - Sonic - Common Subroutine 0x805459b8

  1. if ((InternalConstantInt(CurrentAction) LessThanOrEqual scalar(26)))
    1. if ((InternalConstantInt(CurrentFrame) LessThanOrEqual scalar(1)))
      1. UnknownEvent { namespace: 0x0, code: 0xb, unk1: 0x0, arguments: [Requirement { flip: false, ty: ButtonPress }, Value(3), Value(3), Value(0)] }
      2. UnknownEvent { namespace: 0x12, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: InternalConstant, data_type: Int, address: 23078 }), Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 1 })] }
      3. DefensiveCollision { ty: Reflect, unk: 0, direction: Front }
    2. else
      1. if ((RandomAccessInt (0x1) LessThan scalar(2)))
        1. UnknownEvent { namespace: 0x6, code: 0x18, unk1: 0x0, arguments: [Value(3), Value(0), Value(1)] }
  2. FloatVariableSubtract { variable: LongtermAccessFloat(ShieldCharge), value: InternalConstantInt (0xca5) }
  3. Subroutine(0x80545b18)
  4. Return