//SpeederChase_A state Base { Conditions { if TakenOver == 1 goto RidingSpeeder_Update if AlwaysTrue == 1 goto OnFoot_Update } Actions { } } //OnFoot state OnFoot_Update { ReferenceScript { Script=GeneralParty Source=Global ReturnState=OnFoot_Update Conditions { if PlayerOnObject "forceplat_1_b" == 0 and if TakenOver == 0 and if Message "KeepPlayersOnSpeeders" == 0 } } Conditions { if PlayerOnObject "forceplat_1_b" == 1 goto OnFoot_LiftPlat1 if Message "KeepPlayersOnSpeeders" == 1 goto OnFoot_LookForSpeeder if TakenOver == 1 goto RidingSpeeder_Update } Actions { ClearTakeOverTarget FollowPlayer "1" } } state OnFoot_LookForSpeeder { Conditions { if Message "KeepPlayersOnSpeeders" == 0 goto OnFoot_Update if HasTakeOverTarget == 1 goto OnFoot_GoToSpeeder if Timer > 5 goto OnFoot_LookForSpeeder } Actions { ResetTimer ClearTakeOverTarget SetTakeOverTarget "type=SPEEDERBIKE" FollowPlayer "1" } } state OnFoot_GoToSpeeder { Conditions { if Message "KeepPlayersOnSpeeders" == 0 goto OnFoot_Update if HasTakeOverTarget == 0 goto OnFoot_LookForSpeeder if TakenOver == 1 goto RidingSpeeder_Update if TakeOverRange < 1 goto OnFoot_TakeOverSpeeder if TakenOver "TakeoverTarget" == 1 goto OnFoot_LookForSpeeder if CannotReachDestination == 1 goto OnFoot_LookForSpeeder } Actions { CycleCharacter "time=0.5" "Category=Jedi" "Category=Blaster" FollowCharacter "TakeOverTarget" "RUN" "ignore_radius" "can_go_off_path" } } state OnFoot_TakeOverSpeeder { Conditions { if TakenOver == 1 goto RidingSpeeder_Update if Timer > 5 goto OnFoot_Update } Actions { CycleCharacter "time=0.5" "Category=Jedi" "Category=Blaster" ResetTimer TakeOver } } state OnFoot_LiftPlat1 { Conditions { if PlayerOnObject "forceplat_1_b" == 0 goto Base } Actions { GoToLocator "name" "plat_force" "0.1" UseForce "forceplat_1_b" } } //RidingSpeeder_Update state RidingSpeeder_Update { Conditions { if TakenOver == 0 goto OnFoot_Update if Message "KeepPlayersOnSpeeders" == 0 goto OnFoot_Update if PlayerRange > 20 goto RidingSpeeder_CatchUp } Actions { SetRunSpeed "default" FollowPlayer "6" "cXan_go_off_path" } } state RidingSpeeder_CatchUp { Conditions { if TakenOver == 0 goto OnFoot_Update if Message "KeepPlayersOnSpeeders" == 0 goto OnFoot_Update if PlayerRange < 5 goto RidingSpeeder_Update } Actions { SetRunSpeed "default" SetRunSpeed "multiply=1.2" FollowPlayer "3" "cXan_go_off_path" } } state RidingSpeeder_JumpOff { Conditions { } Actions { ReleaseTakeOver SetState "OnFoot_Update" } } // state Stage1_LockInIntro { Conditions { if LocatorRangeXZ "Start_Lock_1" < 5 goto Stage1_LockInIntroB } Actions { SetRunSpeed "default" } } state Stage1_LockInIntroB { Conditions { } Actions { SplineFollowTerrain SetRunSpeed "0" "seek=5" SetRunSpeed "clear" SplineFollowTerrain "FALSE" ReleaseTakeOver } } // state Stage2_LockInIntro { Conditions { if LocatorRangeXZ "Start_Lock_2" < 5 goto Stage2_LockInIntroB } Actions { SetRunSpeed "default" } } state Stage2_LockInIntroB { Conditions { } Actions { SplineFollowTerrain SetRunSpeed "0" "seek=5" SetRunSpeed "clear" SplineFollowTerrain "FALSE" ReleaseTakeOver } } // state Stage3_LockInIntro { Conditions { if LocatorRangeXZ "Start_Lock_3" < 5 goto Stage3_LockInIntroB } Actions { SetRunSpeed "default" } } state Stage3_LockInIntroB { Conditions { } Actions { SplineFollowTerrain SetRunSpeed "0" "seek=5" SetRunSpeed "clear" SplineFollowTerrain "FALSE" ReleaseTakeOver } } // state Stage4_LockInIntro { Conditions { if LocatorRangeXZ "Start_Lock_4" < 5 goto Stage4_LockInIntroB } Actions { SetRunSpeed "default" } } state Stage4_LockInIntroB { Conditions { } Actions { SplineFollowTerrain SetRunSpeed "0" "seek=5" SetRunSpeed "clear" SplineFollowTerrain "FALSE" ReleaseTakeOver } }