LXP2.1 - Ganon-Mage - Subaction - NONE

|

Stats

IASA: None
Subaction Index: 0x4

Scripts

Main

  1. Subroutine(NONE GFX 0x522c0)
  2. IntVariableIncrement { variable: LongtermAccessInt (0x60) }
  3. FloatVariableAdd { variable: LongtermAccessFloat (0x51), value: 1 }
  4. if ((LongtermAccessInt (0x60) GreaterThan scalar(9)))
    1. Subroutine(NONE SFX 0x22028)
    2. IntVariableSet { variable: LongtermAccessInt (0x60), value: 0 }
  5. if ((LongtermAccessInt (0x5c) GreaterThan scalar(30)))
    1. FloatVariableSet { variable: LongtermAccessFloat (0x49), value: 0 }
  6. else
    1. if ((LongtermAccessInt (0x5c) LessThanOrEqual scalar(30)))
      1. IfStatementAnd ((LongtermAccessInt (0x5c) GreaterThan scalar(10)))
      2. if ((LongtermAccessFloat (0x49) Equal scalar(0)))
        1. FlashEffectOverlay { red: 255, green: 255, blue: 100, alpha: 43 }
        2. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
      3. else
        1. if ((LongtermAccessFloat (0x49) Equal scalar(1)))
          1. FlashEffectOverlay { red: 80, green: 0, blue: 180, alpha: 36 }
          2. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
        2. else
          1. if ((LongtermAccessFloat (0x49) Equal scalar(2)))
            1. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
          2. else
            1. if ((LongtermAccessFloat (0x49) Equal scalar(3)))
              1. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
            2. else
              1. FloatVariableSet { variable: LongtermAccessFloat (0x49), value: 0 }
    2. else
      1. if ((LongtermAccessFloat (0x49) Equal scalar(0)))
        1. FlashEffectOverlay { red: 255, green: 255, blue: 100, alpha: 43 }
        2. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
      2. else
        1. if ((LongtermAccessFloat (0x49) Equal scalar(1)))
          1. RemoveFlashEffect
          2. FlashEffectOverlay { red: 80, green: 0, blue: 180, alpha: 36 }
          3. FloatVariableAdd { variable: LongtermAccessFloat (0x49), value: 1 }
        2. else
          1. RemoveFlashEffect
          2. FloatVariableSet { variable: LongtermAccessFloat (0x49), value: 0 }

GFX

  1. if (BoolIsTrue RandomAccessInt(ThrowDataParam2))
    1. IfStatementOr ((InternalConstantInt(PreviousAction) Equal scalar(286)))
    2. if (not(BoolIsTrue LongtermAccessBool (0x74)))
      1. if (ButtonRelease value(2))
        1. IfStatementOr (ButtonPress value(2))
        2. IfStatementOr ((LongtermAccessInt (0x5c) LessThanOrEqual scalar(0)))
        3. DisableMovement2(DisableVertical)
        4. IntVariableSet { variable: LongtermAccessInt (0x5c), value: 0 }
        5. BoolVariableSetFalse { variable: LongtermAccessInt (0x61) }
        6. UnknownEvent { namespace: 0x11, code: 0x15, unk1: 0x0, arguments: [Value(118), Bool(false), Bool(true)] }
        7. SetAirGround(0)
        8. CreateInterrupt { interrupt_id: Some(10153), action: 0x11a, requirement: (AnimationEnd) }
        9. CreateInterrupt { interrupt_id: Some(10154), action: LandingHeavy, requirement: (OnGround) }
      2. else
        1. if ((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(2)))
          1. IntVariableDecrement { variable: LongtermAccessInt (0x5c) }
          2. Subroutine(0x52540)
          3. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThanOrEqual scalar(0.016)))
            1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(-0.016) }
          4. if ((InternalConstantInt(VerticalCharacterVelocity) LessThanOrEqual scalar(-0.016)))
            1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.016) }
          5. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: InternalConstantInt(PreviousControlStickYAxis) }
          6. FloatVariableMultiply { variable: LongtermAccessFloat (0x37), value: 0.09 }
          7. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: InternalConstantInt(PreviousControlStickXAxisRelative) }
          8. FloatVariableMultiply { variable: LongtermAccessFloat (0x38), value: 0.09 }
          9. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(1.15)))
            1. IfStatementOr ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-1.15)))
            2. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: 0 }
          10. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThan scalar(1.15)))
            1. IfStatementOr ((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-1.15)))
            2. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: 0 }
          11. AddVelocity { x_vel: Variable(LongtermAccessFloat(Address(56))), y_vel: Variable(LongtermAccessFloat(Address(55))) }
      3. if (IsFallingOrHitDown)
        1. IfStatementAnd (not(BoolIsTrue LongtermAccessInt (0x61)))
        2. BoolVariableSetTrue { variable: RandomAccessBool(EnableFastFall) }
  2. else
    1. if (ButtonNotPressed value(2))
      1. IfStatementOr ((LongtermAccessInt (0x5c) LessThanOrEqual scalar(0)))
      2. DisableMovement2(DisableVertical)
      3. IntVariableSet { variable: LongtermAccessInt (0x5c), value: 0 }
      4. BoolVariableSetFalse { variable: LongtermAccessInt (0x61) }
      5. UnknownEvent { namespace: 0x11, code: 0x15, unk1: 0x0, arguments: [Value(118), Bool(false), Bool(true)] }
      6. SetAirGround(0)
      7. CreateInterrupt { interrupt_id: Some(10153), action: 0x11a, requirement: (AnimationEnd) }
      8. CreateInterrupt { interrupt_id: Some(10154), action: LandingHeavy, requirement: (OnGround) }
    2. else
      1. if ((InternalConstantInt(CurrentFrame) GreaterThanOrEqual scalar(2)))
        1. IntVariableDecrement { variable: LongtermAccessInt (0x5c) }
        2. Subroutine(0x52540)
        3. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThanOrEqual scalar(0.016)))
          1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(-0.016) }
        4. if ((InternalConstantInt(VerticalCharacterVelocity) LessThanOrEqual scalar(-0.016)))
          1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.016) }
        5. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: InternalConstantInt(PreviousControlStickYAxis) }
        6. FloatVariableMultiply { variable: LongtermAccessFloat (0x37), value: 0.09 }
        7. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: InternalConstantInt(PreviousControlStickXAxisRelative) }
        8. FloatVariableMultiply { variable: LongtermAccessFloat (0x38), value: 0.09 }
        9. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(1.15)))
          1. IfStatementOr ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-1.15)))
          2. FloatVariableSet { variable: LongtermAccessFloat (0x38), value: 0 }
        10. if ((InternalConstantInt(VerticalCharacterVelocity) GreaterThan scalar(1.15)))
          1. IfStatementOr ((InternalConstantInt(VerticalCharacterVelocity) LessThan scalar(-1.15)))
          2. FloatVariableSet { variable: LongtermAccessFloat (0x37), value: 0 }
        11. AddVelocity { x_vel: Variable(LongtermAccessFloat(Address(56))), y_vel: Variable(LongtermAccessFloat(Address(55))) }
    3. if (IsFallingOrHitDown)
      1. IfStatementAnd (not(BoolIsTrue LongtermAccessInt (0x61)))
      2. BoolVariableSetTrue { variable: RandomAccessBool(EnableFastFall) }

SFX

  1. if (HasAFloorBelowThePlayer scalar(10))
    1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(8)))
    2. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 8, bone: 0, x_offset: 0.0, y_offset: -8.5, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.25, randomize: Some(ExternalGraphicEffectRandomize { random_x_offset: 0.0, random_y_offset: 0.0, random_z_offset: 0.0, random_x_rotation: 0.0, random_y_rotation: 0.0, random_z_rotation: 0.0 }), terminate_with_animation: false })
  2. if (HasAFloorBelowThePlayer scalar(8.001))
    1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(6)))
    2. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 8, bone: 0, x_offset: 0.0, y_offset: -6.5, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.35, randomize: Some(ExternalGraphicEffectRandomize { random_x_offset: 0.0, random_y_offset: 0.0, random_z_offset: 0.0, random_x_rotation: 0.0, random_y_rotation: 0.0, random_z_rotation: 0.0 }), terminate_with_animation: false })
  3. if (HasAFloorBelowThePlayer scalar(6.001))
    1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(4)))
    2. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 8, bone: 0, x_offset: 0.0, y_offset: -4.5, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.45, randomize: Some(ExternalGraphicEffectRandomize { random_x_offset: 0.0, random_y_offset: 0.0, random_z_offset: 0.0, random_x_rotation: 0.0, random_y_rotation: 0.0, random_z_rotation: 0.0 }), terminate_with_animation: false })
  4. if (HasAFloorBelowThePlayer scalar(4.001))
    1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(2.5)))
    2. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 8, bone: 0, x_offset: 0.0, y_offset: -3.5, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.55, randomize: Some(ExternalGraphicEffectRandomize { random_x_offset: 0.0, random_y_offset: 0.0, random_z_offset: 0.0, random_x_rotation: 0.0, random_y_rotation: 0.0, random_z_rotation: 0.0 }), terminate_with_animation: false })
  5. if (HasAFloorBelowThePlayer scalar(2.501))
    1. ExternalGraphicEffect(ExternalGraphicEffect { file: 0, graphic: 8, bone: 0, x_offset: 0.0, y_offset: -1.0, z_offset: 0.0, x_rotation: 0.0, y_rotation: 0.0, z_rotation: 0.0, scale: 0.65, randomize: Some(ExternalGraphicEffectRandomize { random_x_offset: 0.0, random_y_offset: 0.0, random_z_offset: 0.0, random_x_rotation: 0.0, random_y_rotation: 0.0, random_z_rotation: 0.0 }), terminate_with_animation: false })

Other

  1. if (HasAFloorBelowThePlayer scalar(40.001))
    1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(0)))
    2. ResetVerticalVelocityAndAcceleration(true)
  2. else
    1. BoolVariableSetFalse { variable: LongtermAccessInt (0x5f) }
  3. if ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual InternalConstantInt (0xc4d)))
    1. IfStatementOr ((InternalConstantInt(ControlStickXAxisRelativeReverse) GreaterThanOrEqual InternalConstantInt (0xc4d)))
    2. if ((InternalConstantInt(ControlStickXAxisRelative) GreaterThanOrEqual InternalConstantInt (0xc4d)))
      1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(0.7)))
        1. SetOrAddVelocity(SetOrAddVelocity { x_vel: 0.05, y_vel: 0.0, x_set: false, y_set: false })
    3. else
      1. if ((InternalConstantInt(ControlStickXAxisRelativeReverse) GreaterThanOrEqual InternalConstantInt (0xc4d)))
        1. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(-0.7)))
          1. UnknownEvent { namespace: 0xe, code: 0x8, unk1: 0x0, arguments: [Scalar(-0.05), Value(0), Value(0), Value(0)] }
      2. else
      3. else
        1. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThanOrEqual scalar(0.1)))
          1. SetOrAddVelocity(SetOrAddVelocity { x_vel: -0.05, y_vel: 0.0, x_set: false, y_set: false })
        2. else
          1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThanOrEqual scalar(-0.1)))
            1. SetOrAddVelocity(SetOrAddVelocity { x_vel: 0.05, y_vel: 0.0, x_set: false, y_set: false })
          2. else
            1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(0.1)))
              1. IfStatementAnd ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(-0.1)))
              2. if (HasAFloorBelowThePlayer scalar(9998))
                1. IfStatementAnd (not(HasAFloorBelowThePlayer scalar(0)))
                2. SetOrAddVelocity(SetOrAddVelocity { x_vel: 0.0, y_vel: 0.0, x_set: true, y_set: true })