//EmperorFight_A ReferenceScript { Script=GeneralParty Source=Global ReturnState=Base Conditions { if Message "ElectricFloor" != 1 and if PlayerUsingForce "tube_fgroup2_2c" == 0 and if PlayerUsingForce "tube_fgroup1c" == 0 and if PlayerUsingForce "lift_force_lnull1" == 0 and if PlayerUsingForce "lift_force_rnull1" == 0 and if OnObject "lift_main1" == 0 and if ForcePushing "theemperor_1" == 0 } } state Base { Conditions { //Hover tube if PlayerUsingForce "tube_fgroup2_2c" == 1 goto ForceTube1 if PlayerUsingForce "tube_fgroup1c" == 1 goto ForceTube2 //Lift if PlayerUsingForce "lift_force_lnull1" == 1 goto ForceLiftRight if PlayerUsingForce "lift_force_rnull1" == 1 goto ForceLiftLeft if PlayerInTriggerArea "Lift_Upper" == 1 and if PlayerOnGround == 1 and if OnObject "lift_main1" == 1 and if PlayerOnObject "lift_main1" == 0 goto BigJump2OffLift // if InTriggerArea "Lift_Upper" == 0 and // if PlayerInTriggerArea "Lift_Upper" == 1 and // if PlayerOnGround == 1 and // if OnObject "lift_main1" == 0 and // if PlayerOnObject "lift_main1" == 0 goto BigJump2OffGround // if Message "ElectricFloor" == 1 and if PlayerInTriggerArea "ElectricFloor" == 1 goto WatchElectricFloor if ForcePushing "theemperor_1" == 1 goto FollowPlayerClosely } Actions { FollowPlayer "1" } } state FollowPlayerClosely { Conditions { if ForcePushing "theemperor_1" == 0 goto Base } Actions { FollowPlayer "0.5" } } state WatchElectricFloor { Conditions { if Message "ElectricFloor" == 0 goto Base if PlayerInTriggerArea "ElectricFloor" == 0 goto Base } Actions { GoToLocator "name" "Watch_Floor" FacePlayer } } //Hover tube state ForceTube1 { Conditions { if PlayerUsingForce "tube_fgroup2_2c" == 0 goto Base } Actions { GoToLocator "name" "Tube_Force" "xz_rangecheck" UseForce "tube_fgroup1c" } } state ForceTube2 { Conditions { if PlayerUsingForce "tube_fgroup1c" == 0 goto Base } Actions { GoToLocator "name" "Tube_Force" "xz_rangecheck" UseForce "tube_fgroup2_2c" } } //Lift state ForceLiftRight { Conditions { if PlayerInTriggerArea "Lift_Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "lift_main1" == 0 goto BigJump2OffLift if PlayerUsingForce "lift_force_lnull1" == 0 goto Base } Actions { GoToLocator "name" "Lift_R" "xz_rangecheck" UseForce "lift_force_rnull1" } } state ForceLiftLeft { Conditions { if PlayerUsingForce "lift_force_rnull1" == 0 goto Base } Actions { GoToLocator "name" "Lift_L" "xz_rangecheck" UseForce "lift_force_lnull1" } } //state BigJump2OffGround { // Conditions { // if PlayerInTriggerArea "Lift_Upper" == 0 goto Base // if InTriggerArea "Lift_Upper" == 1 goto Base // } // Actions { // GoToLocator "name" "Lift_L" "xz_rangecheck" // BigJumpToLocator "name=Lift_BigJump" "jump_factor=0.5" // SetState "Base" // } //} state BigJump2OffLift { Conditions { } Actions { BigJumpToLocator "name=Lift_BigJump" "jump_factor=0.5" SetState "Base" } }