state Base { Conditions { } Actions { DontRaycastLOS SetInvulnerable SetBoss CanSeeBehind SetViewDistance "100" SetMinViewHeight "-99" SetDefensive KeepWeaponOut SetHitPoints "10" SetDoomedEscapeLocator "name=Middle" SetState "Intro" } } /////////////////////Intro///////////////////// state Intro { Conditions { } Actions { SetState "Stage1_Start" } } /////////////////////Stage 1///////////////////// //Fight in the middle state Stage1_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=1" SetMessage "name=ShowHearts" "value=1" SetInvulnerable SetDoomedEscapeLocator "name=Middle" SetLocator "name=Middle" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "bXlend_in_time=0.5" "end_time=infinite" "no_borders" SnapToLocator "character=player" "name=player_1" SnapToLocator "character=player_2" "name=player_2" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "FALSE" SetState "Stage1_Fight" } } state Stage1_Fight { Conditions { if CheatProgress == 1 goto Stage2_Start if BeenHit == 1 and if HitPoints < 10 goto Stage2_Start if NearestPlayerToLocator > 3.7 goto Stage1_Wait } Actions { AttackOpponent "range 0.5" } } state Stage1_Wait { Conditions { if NearestPlayerToLocator < 3.5 goto Stage1_Fight } Actions { GoToLocator FacePlayer "5" BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage1_Wait" } } /////////////////////Stage 2///////////////////// //Jump across to stage2 locator state Stage2_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=0" SetInvulnerable SetSide "neutral" //So don't target with gun SetHitPoints "9" "dont_set_max" SetDoomedEscapeLocator "name=Stage2" SetLocator "name=Stage2" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" OpenDoor "blowup1" OpenDoor "blowup2" SetState "Stage2_Fight" } } state Stage2_Fight { Conditions { if CheatProgress == 1 goto Stage2_TakeHit if ForceComplete "blast_1_blowup5" == 1 goto Stage2_TakeHit //Want to make sure that he doesn't do slam jump if blow up is about to activate. if Timer > 5 and if ForceBeingUsed "blast_1_blowup5" == 1 goto Stage2_Fight if Timer > 5 and if ForceBeingUsed "blast_1_blowup5" == 0 goto Stage2_SlamJump } Actions { ResetTimer FacePlayer } } state Stage2_SlamJump { Conditions { } Actions { BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage2_Fight" } } state Stage2_TakeHit { Conditions { } Actions { SetInvulnerable "FALSE" TakeDamage "damage=1" FacePlayer "1" SetState "Stage3_Start" } } /////////////////////Stage 3///////////////////// //Back to the middle state Stage3_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=1" SetInvulnerable SetSide "baddie" //So don't target with gun SetHitPoints "8" "dont_set_max" SetDoomedEscapeLocator "name=Middle" SetLocator "name=Middle" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "FALSE" SetState "Stage3_Fight" } } state Stage3_Fight { Conditions { if CheatProgress == 1 goto Stage4_Start if BeenHit == 1 and if HitPoints < 7 goto Stage4_Start if NearestPlayerToLocator > 3.7 goto Stage3_Wait } Actions { AttackOpponent "range 0.5" } } state Stage3_Wait { Conditions { if NearestPlayerToLocator < 3.5 goto Stage3_Fight } Actions { GoToLocator FacePlayer "5" BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage3_Wait" } } /////////////////////Stage 4///////////////////// //Jump across to stage4 locator state Stage4_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=0" SetInvulnerable SetSide "neutral" //So don't target with gun SetHitPoints "6" "dont_set_max" SetDoomedEscapeLocator "name=Stage4" SetLocator "name=Stage4" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "TRUE" SetState "Stage4_Fight" } } state Stage4_Fight { Conditions { if CheatProgress == 1 goto Stage4_TakeHit if ForceComplete "blast_2_blowup1" == 1 goto Stage4_TakeHit //Want to make sure that he doesn't do slam jump if blow up is about to activate. if Timer > 5 and if ForceBeingUsed "blast_2_blowup1" == 1 goto Stage4_Fight if Timer > 5 and if ForceBeingUsed "blast_2_blowup1" == 0 goto Stage4_SlamJump } Actions { ResetTimer FacePlayer } } state Stage4_SlamJump { Conditions { } Actions { BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage4_Fight" } } state Stage4_TakeHit { Conditions { } Actions { SetInvulnerable "FALSE" TakeDamage "damage=1" FacePlayer "0.5" SetState "Stage5_Start" } } /////////////////////Stage 5///////////////////// //Back to the middle state Stage5_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=1" SetInvulnerable SetSide "baddie" //So don't target with gun SetHitPoints "5" "dont_set_max" SetDoomedEscapeLocator "name=Middle" SetLocator "name=Middle" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "FALSE" SetState "Stage5_Fight" } } state Stage5_Fight { Conditions { if CheatProgress == 1 goto Stage6_Start if BeenHit == 1 and if HitPoints < 3 goto Stage6_Start if NearestPlayerToLocator > 3.7 goto Stage5_Wait } Actions { AttackOpponent "range 0.5" } } state Stage5_Wait { Conditions { if NearestPlayerToLocator < 3.5 goto Stage5_Fight } Actions { GoToLocator FacePlayer "5" BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage5_Wait" } } /////////////////////Stage 6///////////////////// //Jump across to stage6 locator state Stage6_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=0" SetInvulnerable SetSide "neutral" //So don't target with gun SetHitPoints "3" "dont_set_max" SetDoomedEscapeLocator "name=Stage6" SetLocator "name=Stage6" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "TRUE" SetState "Stage6_Fight" } } state Stage6_Fight { Conditions { if CheatProgress == 1 goto Stage6_TakeHit if ForceComplete "blast_4_blowup3" == 1 goto Stage6_TakeHit //Want to make sure that he doesn't do slam jump if blow up is about to activate. if Timer > 5 and if ForceBeingUsed "blast_4_blowup3" == 1 goto Stage7_Fight if Timer > 5 and if ForceBeingUsed "blast_4_blowup3" == 0 goto Stage6_SlamJump } Actions { ResetTimer FacePlayer } } state Stage6_SlamJump { Conditions { } Actions { BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage6_Fight" } } state Stage6_TakeHit { Conditions { } Actions { SetInvulnerable "FALSE" TakeDamage "damage=1" FacePlayer "1.5" SetState "Stage7_Start" } } /////////////////////Stage 7///////////////////// //Back to the middle state Stage7_Start { Conditions { } Actions { SetMessage "name=Fighting" "value=1" SetInvulnerable SetSide "baddie" //So don't target with gun SetHitPoints "2" "dont_set_max" SetDoomedEscapeLocator "name=Middle" SetLocator "name=Middle" CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "blend_in_time=0.5" "end_time=infinite" "no_borders" Idle "0.5" BigJumpToLocator CameraCut "use_current_campos" "tgt_character=AI_Grievous" "FollowTgt" "end_time=1" "blend_out_time=0.5" "no_borders" SetInvulnerable "FALSE" SetState "Stage7_Fight" } } state Stage7_Fight { Conditions { if NearestPlayerToLocator > 3.7 goto Stage7_Wait } Actions { AttackOpponent "range 0.5" } } state Stage7_Wait { Conditions { if NearestPlayerToLocator < 3.5 goto Stage7_Fight } Actions { GoToLocator FacePlayer "5" BigJumpToLocator AddPartDebris "name=ROCK_FALL" "character=player0" "y=4" AddPartDebris "name=ROCK_FALL" "character=player1" "y=4" SetState "Stage7_Wait" } }