//RetakeG state Base { Conditions { if CategoryIs "Jedi" == 1 goto JediUpdate if PreviousResult == 0 goto NormalUpdate } Actions { } } state NormalUpdate { ReferenceScript { Script=GenericDefend Source=Global ReturnState=Base Conditions { } } Conditions { } Actions { FollowPlayer "1.5" } } state JediUpdate { ReferenceScript { Script=GenericDefend Source=Global ReturnState=Base Conditions { if PlayerOnObject "small_box_05" == 0 and if PlayerOnObject "small_box_06" == 0 and if InTriggerArea "Upper" == 0 and if PlayerInTriggerArea "Upper" == 0 } } Conditions { if OnGround == 1 and if InTriggerArea "Upper" == 0 and if PlayerCategoryIs "Jedi" == 1 and if PlayerInTriggerArea "Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "small_box_05" == 0 and if PlayerOnObject "small_box_06" == 0 goto GoToBigJumpLocator if PlayerOnObject "small_box_05" == 1 goto GoToRightBox if PlayerOnObject "small_box_06" == 1 goto GoToLeftBox } Actions { FollowPlayer "0.75" } } state GoToRightBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_05" == 0 goto Base if OnObject "small_box_06" == 1 goto OnRightBox } Actions { GoToLocator "name" "right_box" } } state OnRightBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_05" == 0 goto Base if PlayerInTriggerArea "Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "small_box_05" == 0 goto BigJumpRight if PlayerUsingForce "small_box_06" == 1 goto UseForceRightBox if OnObject "small_box_06" == 0 goto GoToRightBox } Actions { FacePlayer } } state UseForceRightBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_05" == 0 goto Base if PlayerInTriggerArea "Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "small_box_05" == 0 goto BigJumpRight if PlayerUsingForce "small_box_06" == 0 goto GoToRightBox if OnObject "small_box_06" == 0 goto GoToRightBox } Actions { UseForce "small_box_05" } } state BigJumpRight { Conditions { } Actions { BigJumpToLocator "name=Top_Right" "jump_factor=0.5" SetState "JediUpdate" } } state GoToLeftBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_06" == 0 goto Base if OnObject "small_box_05" == 1 goto OnLeftBox } Actions { GoToLocator "name" "left_box" } } state OnLeftBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_06" == 0 goto Base if PlayerInTriggerArea "Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "small_box_06" == 0 goto BigJumpLeft if PlayerUsingForce "small_box_05" == 1 goto UseForceLeftBox if OnObject "small_box_05" == 0 goto GoToLeftBox } Actions { FacePlayer } } state UseForceLeftBox { Conditions { if PlayerCategoryIs "Jedi" == 0 goto Base if PlayerInTriggerArea "Upper" == 0 and if PlayerOnObject "small_box_06" == 0 goto Base if PlayerInTriggerArea "Upper" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "small_box_06" == 0 goto BigJumpLeft if PlayerUsingForce "small_box_05" == 0 goto OnLeftBox if OnObject "small_box_05" == 0 goto GoToLeftBox } Actions { UseForce "small_box_06" } } state BigJumpLeft { Conditions { } Actions { BigJumpToLocator "name=Top_Left" "jump_factor=0.5" SetState "JediUpdate" } } state GoToBigJumpLocator { Conditions { if PlayerInTriggerArea "Upper" == 0 goto Base } Actions { SetLocator "name=Bottom_Centre" GoToLocator SetLocator "name=Top_Centre" BigJumpToLocator SetState "JediUpdate" } }