//Dagobah_C state Base { Conditions { if FreePlay == 1 goto UpdateNormal if IAm "R2D2" == 1 goto UpdateR2D2 if AlwaysTrue == 1 goto UpdateNormal } Actions { } } state UpdateR2D2 { ReferenceScript { Script=GeneralParty Source=Global ReturnState=UpdateR2D2 Conditions { } } Conditions { } Actions { FollowPlayer "1" } } state UpdateNormal { ReferenceScript { Script=GeneralParty Source=Global ReturnState=UpdateNormal Conditions { if PlayerOnObject "Sml_Box_2" == 0 and if PlayerOnObject "Sml_Box_3" == 0 } } Conditions { if OnGround == 1 and if InTriggerArea "BoxArea" == 0 and if PlayerInTriggerArea "BoxArea" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "Sml_Box_2" == 0 and if PlayerOnObject "Sml_Box_3" == 0 goto GoToBigJumpLocator if PlayerOnObject "Sml_Box_2" == 1 goto GoToRightBox if PlayerOnObject "Sml_Box_3" == 1 goto GoToLeftBox } Actions { FollowPlayer "1" } } state GoToRightBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_2" == 0 goto UpdateNormal if OnObject "Sml_Box_3" == 1 goto OnRightBox } Actions { GoToLocator "name" "RightBox" } } state OnRightBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_2" == 0 goto UpdateNormal if PlayerInTriggerArea "BoxArea" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "Sml_Box_2" == 0 goto BigJumpRight if PlayerUsingForce "Sml_Box_3" == 1 goto UseForceRightBox if OnObject "Sml_Box_3" == 0 goto GoToRightBox } Actions { FacePlayer } } state UseForceRightBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_2" == 0 goto UpdateNormal if PlayerInTriggerArea "BoxArea" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "Sml_Box_2" == 0 goto BigJumpRight if PlayerUsingForce "Sml_Box_3" == 0 goto GoToRightBox if OnObject "Sml_Box_3" == 0 goto GoToRightBox } Actions { UseForce "Sml_Box_2" } } state BigJumpRight { Conditions { } Actions { BigJumpToLocator "name=RightBoxTop" "jump_factor=0.5" SetState "UpdateNormal" } } state GoToLeftBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_3" == 0 goto UpdateNormal if OnObject "Sml_Box_2" == 1 goto OnLeftBox } Actions { GoToLocator "name" "LeftBox" } } state OnLeftBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_3" == 0 goto UpdateNormal if PlayerInTriggerArea "BoxArea" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "Sml_Box_3" == 0 goto BigJumpLeft if PlayerUsingForce "Sml_Box_2" == 1 goto UseForceLeftBox if OnObject "Sml_Box_2" == 0 goto GoToLeftBox } Actions { FacePlayer } } state UseForceLeftBox { Conditions { if PlayerInTriggerArea "BoxArea" == 0 and if PlayerOnObject "Sml_Box_3" == 0 goto UpdateNormal if PlayerInTriggerArea "BoxArea" == 1 and if PlayerOnGround == 1 and if PlayerOnObject "Sml_Box_3" == 0 goto BigJumpLeft if PlayerUsingForce "Sml_Box_2" == 0 goto GoToLeftBox if OnObject "Sml_Box_2" == 0 goto GoToLeftBox } Actions { UseForce "Sml_Box_3" } } state BigJumpLeft { Conditions { } Actions { BigJumpToLocator "name=LeftBoxTop" "jump_factor=0.5" SetState "UpdateNormal" } } state GoToBigJumpLocator { Conditions { if PlayerInTriggerArea "BoxArea" == 0 goto UpdateNormal } Actions { SetLocator "name=RightBox" GoToLocator SetLocator "name=RightBoxTop" BigJumpToLocator SetState "UpdateNormal" } }