//Vader C state Base { Conditions { if Message "FinalFight" == 1 goto FightIntro } Actions { SetDoomedEscapeLocator "character=player" "name=BigJump_0" ;This locator is modified in the level code during the first section. SetDoomedEscapeLocator "character=player_2" "name=BigJump_0" SetVisibility "name=dummy_7" "FALSE" //This will stop the final fight platform starting to break up. } } state FightIntro { Conditions { } Actions { //Intro cutscene and stuff. SetLevelPath "name=LevelPath" SetMessage "name=LevelPath" "value=1" SetDoomedEscapeLocator "character=player" "name=BigJump1" "take_damage" SetDoomedEscapeLocator "character=player_2" "name=BigJump1" "take_damage" SetAIOverrideControl "character=player" SetAIOverrideControl "character=player_2" SetSide "character=player" "Goodie" SetSide "character=player_2" "Baddie" SetScriptState "character=player" "state=FightIntro" SetScriptState "character=player_2" "state=FightIntro" CameraCut "range=2" "rotx=10" "roty=90" "tgt_character=player" "FollowTgt" "blend_in_time=0" "blend_out_time=0.5" "end_time=3" SetMessage "name=ShowHearts" "value=1" Idle "3.5" SetScriptState "character=player" "state=Fight" SetScriptState "character=player_2" "state=Fight" SetAIOverrideControl "character=player" "FALSE" SetAIOverrideControl "character=player_2" "FALSE" //SetState "Fight" SetVisibility "name=dummy_7" "TRUE" //This will stop the final fight platform starting to break up. SetState "FightUpdate" } } state FightUpdate { Conditions { if Message "LevelPath" == 1 and if RigidAnimFrame "rock5" > 32 goto SetLevelPath2 if Message "LevelPath" == 2 and if RigidAnimFrame "rock11" > 64 goto SetLevelPath3 if Message "LevelPath" == 3 and if RigidAnimFrame "rock4" > 64 goto SetLevelPath4 // if Message "LevelPath" == 4 and // if RigidAnimFrame "rock8" > 64 goto ClearDoomedLocator } Actions { } } state SetLevelPath2 { Conditions { } Actions { SetLevelPath "name=LevelPath2" SetMessage "name=LevelPath" "value=2" SetDoomedEscapeLocator "character=player" "name=BigJump1" "take_damage" SetDoomedEscapeLocator "character=player_2" "name=BigJump1" "take_damage" SetState "FightUpdate" } } state SetLevelPath3 { Conditions { } Actions { SetLevelPath "name=LevelPath3" SetMessage "name=LevelPath" "value=3" SetDoomedEscapeLocator "character=player" "name=BigJump2" "take_damage" SetDoomedEscapeLocator "character=player_2" "name=BigJump2" "take_damage" SetState "FightUpdate" } } state SetLevelPath4 { Conditions { } Actions { SetLevelPath "name=LevelPath4" SetMessage "name=LevelPath" "value=4" SetDoomedEscapeLocator "character=player" "name=BigJump3" "take_damage" SetDoomedEscapeLocator "character=player_2" "name=BigJump3" "take_damage" SetState "FightUpdate" } } state ClearDoomedLocator { Conditions { } Actions { SetDoomedEscapeLocator "character=player" SetDoomedEscapeLocator "character=player_2" SetState "FightUpdate" } }