bool AIScriptMutant1::Update() { if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorMutant1) != 590) { if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorMutant1, 590); } return false; } if (Global_Variable_Query(kVariableChapter) != 4) { return false; } switch (Actor_Query_Goal_Number(kActorMutant1)) { case 400: if (!Game_Flag_Query(523) && Game_Flag_Query(524) == 1) { Actor_Set_Goal_Number(kActorMutant1, 401); Actor_Set_Goal_Number(kActorMutant2, 401); Actor_Set_Goal_Number(kActorMutant3, 401); Actor_Set_Targetable(kActorMutant1, 1); Actor_Set_Targetable(kActorMutant2, 1); Actor_Set_Targetable(kActorMutant3, 1); Game_Flag_Set(523); } break; case 401: if (Actor_Query_Which_Set_In(kActorMutant1) == Player_Query_Current_Set() && (Actor_Query_Friendliness_To_Other(kActorMutant1, kActorMcCoy) < 30 || Actor_Query_Combat_Aggressiveness(70) >= 60)) { Actor_Set_Goal_Number(kActorMutant1, 410); } break; case 404: if (!Game_Flag_Query(630)) { Actor_Set_Goal_Number(kActorMutant1, 403); } break; case 410: if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) { Non_Player_Actor_Combat_Mode_Off(kActorMutant1); Actor_Set_Goal_Number(kActorMutant1, 403); } break; case 599: if (Actor_Query_Which_Set_In(kActorMutant1) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorMutant1, 411); } break; } if (Game_Flag_Query(630) == 1 && Actor_Query_Goal_Number(kActorMutant1) != 599) { Actor_Set_Goal_Number(kActorMutant1, 404); } return false; }
bool AIScriptFreeSlotB::Update() { if (Global_Variable_Query(kVariableChapter) > 5) { return false; } if (Global_Variable_Query(kVariableChapter) == 4) { switch (Actor_Query_Goal_Number(kActorFreeSlotB)) { case 300: Actor_Set_Goal_Number(kActorFreeSlotB, 301); Actor_Set_Targetable(kActorFreeSlotB, 1); break; case 301: if (Actor_Query_Which_Set_In(kActorFreeSlotB) == Player_Query_Current_Set() && Actor_Query_Inch_Distance_From_Actor(kActorFreeSlotB, kActorMcCoy) <= 48) { Actor_Set_Goal_Number(kActorFreeSlotB, 302); } break; case 302: if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorFreeSlotB, 301); } break; case 599: if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorFreeSlotB, 300); } break; default: Actor_Set_Goal_Number(kActorFreeSlotB, 300); break; } return false; } if (Actor_Query_Goal_Number(kActorFreeSlotB) < 400) { AI_Movement_Track_Flush(kActorFreeSlotB); Actor_Set_Goal_Number(kActorFreeSlotB, 400); return true; } else { if (Actor_Query_Goal_Number(kActorFreeSlotB) != 405 || Actor_Query_Which_Set_In(kActorMcCoy) != kSetKP02) { if (Actor_Query_Goal_Number(kActorFreeSlotB) == 599) { if (Actor_Query_Which_Set_In(kActorFreeSlotB) != Player_Query_Current_Set()) { Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotB); Actor_Set_Goal_Number(kActorFreeSlotB, 400); return true; } } return false; } Actor_Set_Goal_Number(kActorFreeSlotB, 406); Actor_Set_Targetable(kActorFreeSlotB, 1); return true; } }
bool AIScriptLucy::Update() { float x, y, z; if (Global_Variable_Query(kVariableChapter) == 3 && Actor_Query_Goal_Number(kActorLucy) < 200) { Actor_Set_Goal_Number(kActorLucy, 200); } if (Actor_Query_Goal_Number(kActorLucy) == 230 && Player_Query_Current_Scene() == 37) { Actor_Set_Goal_Number(kActorLucy, 233); } if (Global_Variable_Query(kVariableChapter) == 4 && Actor_Query_Goal_Number(kActorLucy) < 300) { Actor_Set_Goal_Number(kActorLucy, 300); } if (Global_Variable_Query(kVariableChapter) == 4 && Actor_Query_Goal_Number(kActorLucy) == 599 && Actor_Query_Which_Set_In(kActorLucy) != 99) { if (Actor_Query_Which_Set_In(kActorLucy) != Player_Query_Current_Set()) { Actor_Put_In_Set(kActorLucy, kSetFreeSlotI); Actor_Set_At_Waypoint(kActorLucy, 41, 0); } } if (Game_Flag_Query(616) && Actor_Query_Goal_Number(kActorLucy) == 201) { Actor_Put_In_Set(kActorLucy, kSetHF03); Actor_Set_At_Waypoint(kActorLucy, 371, 156); Actor_Set_Goal_Number(kActorLucy, 250); } if (Actor_Query_Goal_Number(kActorLucy) > 229 && Actor_Query_Goal_Number(kActorLucy) < 239 && Actor_Query_Goal_Number(kActorLucy) != 232 && Player_Query_Current_Scene() == 37 && Actor_Query_Which_Set_In(kActorLucy) == 40 && !Game_Flag_Query(701) && Actor_Query_Inch_Distance_From_Actor(kActorLucy, kActorMcCoy) < 84 && !Player_Query_Combat_Mode() && Actor_Query_Friendliness_To_Other(kActorLucy, kActorMcCoy) > 40) { Actor_Set_Goal_Number(kActorLucy, 232); } if (Actor_Query_Goal_Number(kActorLucy) == 235) { Actor_Query_XYZ(kActorMcCoy, &x, &y, &z); if (z > -875.0f) { Game_Flag_Set(586); Actor_Set_Goal_Number(kActorLucy, 236); } } if (Actor_Query_Goal_Number(kActorLucy) == 237) { Actor_Query_XYZ(kActorMcCoy, &x, &y, &z); if (x > 350.0f) { Game_Flag_Set(585); Actor_Set_Goal_Number(kActorLucy, 238); } } return false; }
bool AIScriptMutant2::Update() { if (Global_Variable_Query(kVariableChapter) == 4) { switch (Actor_Query_Goal_Number(kActorMutant2)) { case 401: if (Actor_Query_Which_Set_In(kActorMutant2) == Player_Query_Current_Set() && (Actor_Query_Friendliness_To_Other(kActorMutant2, kActorMcCoy) < 20 || Actor_Query_Combat_Aggressiveness(kActorMutant2) >= 60 ) ) { Actor_Set_Goal_Number(kActorMutant2, 410); } break; case 404: if (!Game_Flag_Query(kFlagMutantsPaused)) { Actor_Set_Goal_Number(kActorMutant2, 403); } break; case 410: if (Actor_Query_Which_Set_In(kActorMutant2) != Player_Query_Current_Set()) { Non_Player_Actor_Combat_Mode_Off(kActorMutant2); Actor_Set_Goal_Number(kActorMutant2, 403); } break; case 599: if (Actor_Query_Which_Set_In(kActorMutant2) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorMutant2, 403); } break; } if (Game_Flag_Query(kFlagMutantsPaused) && Actor_Query_Goal_Number(kActorMutant2) != 599 ) { Actor_Set_Goal_Number(kActorMutant2, 404); } } else if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorMutant2) != 590 ) { if (Actor_Query_Which_Set_In(kActorMutant2) != Player_Query_Current_Set()) { Actor_Set_Goal_Number(kActorMutant2, 590); } } return false; }
void AIScriptSadik::Retired(int byActorId) { if ((Actor_Query_Goal_Number(kActorSadik) == 418 || Actor_Query_Goal_Number(kActorSadik) == 450 ) && Actor_Query_Which_Set_In(kActorSadik) != kSetKP07 ) { Scene_Exits_Enable(); } if (Actor_Query_In_Set(kActorSadik, kSetKP07)) { Global_Variable_Decrement(kVariableReplicantsSurvivorsAtMoonbus, 1); // can't Sadik still be human (Rep-sympathiser here? A bug? Actor_Set_Goal_Number(kActorSadik, kGoalSadikGone); if (Global_Variable_Query(kVariableReplicantsSurvivorsAtMoonbus) == 0) { Player_Loses_Control(); Delay(2000); Player_Set_Combat_Mode(false); Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(kFlagKP07toKP06); Game_Flag_Reset(kFlagMcCoyIsHelpingReplicants); Set_Enter(kSetKP05_KP06, kSceneKP06); return; //true; } } Actor_Set_Goal_Number(kActorSadik, kGoalSadikGone); return; //false; }
void AIScriptSadik::Retired(int byActorId) { if ((Actor_Query_Goal_Number(kActorSadik) == 418 || Actor_Query_Goal_Number(kActorSadik) == 450 ) && Actor_Query_Which_Set_In(kActorSadik) != kSetKP07 ) { Scene_Exits_Enable(); } if (Actor_Query_In_Set(kActorSadik, kSetKP07)) { Global_Variable_Decrement(kVariableReplicants, 1); Actor_Set_Goal_Number(kActorSadik, 599); if (Global_Variable_Query(kVariableReplicants) == 0) { Player_Loses_Control(); Delay(2000); Player_Set_Combat_Mode(false); Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0); Ambient_Sounds_Remove_All_Non_Looping_Sounds(true); Ambient_Sounds_Remove_All_Looping_Sounds(1); Game_Flag_Set(579); Game_Flag_Reset(653); Set_Enter(kSetKP05_KP06, kSceneKP06); return; //true; } } Actor_Set_Goal_Number(kActorSadik, 599); return; //false; }
bool AIScriptSadik::ShotAtAndHit() { #if BLADERUNNER_ORIGINAL_BUGS // Sadik killed in BB09 dead end bug fix #else if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikRunFromBB09) { // Like Izo's ShotAtAndHit() and the code below for kGoalSadikUG18Move // this will keep resetting Sadik's health to avoid killing him // Still, this is lowering Sadik's health from 80 (when Replicant) and 50 (when Human) if (Game_Flag_Query(kFlagSadikIsReplicant)) { Actor_Set_Health(kActorSadik, 60, 60); } else { Actor_Set_Health(kActorSadik, 40, 40); } return true; } #endif // BLADERUNNER_ORIGINAL_BUGS if (Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18Move) { // this lowers Sadik's original health but makes it impossible to kill him here (UG18) if (Game_Flag_Query(kFlagSadikIsReplicant)) { #if BLADERUNNER_ORIGINAL_BUGS Actor_Set_Health(kActorSadik, 60, 60); #else // Sadik killed in BB09 dead end bug fix if (Actor_Query_Current_HP(kActorSadik) == 60) { // shot also at Bradbury, so lower his health further Actor_Set_Health(kActorSadik, 50, 50); } else { Actor_Set_Health(kActorSadik, 60, 60); } #endif } else { #if BLADERUNNER_ORIGINAL_BUGS Actor_Set_Health(kActorSadik, 40, 40); #else // Sadik killed in BB09 dead end bug fix if (Actor_Query_Current_HP(kActorSadik) == 40) { // shot also at Bradbury, so lower his health further Actor_Set_Health(kActorSadik, 30, 30); } else { Actor_Set_Health(kActorSadik, 40, 40); } #endif } return true; } if (Actor_Query_Goal_Number(kActorSadik) == 414 || Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18NeedsReactorCoreFromMcCoy ) { Game_Flag_Set(kFlagMcCoyAttackedReplicants); if (Actor_Query_Which_Set_In(kActorSadik) != kSetKP07) { Actor_Set_Goal_Number(kActorSadik, 418); Scene_Exits_Disable(); } } return false; }
void AIScriptSadik::ShotAtAndMissed() { if (Actor_Query_Goal_Number(kActorSadik) == 414 || Actor_Query_Goal_Number(kActorSadik) == kGoalSadikUG18NeedsReactorCoreFromMcCoy ) { Game_Flag_Set(kFlagMcCoyAttackedReplicants); if (Actor_Query_Which_Set_In(kActorSadik) != kSetKP07) { Actor_Set_Goal_Number(kActorSadik, 418); Scene_Exits_Disable(); } } }
void AIScriptSadik::ShotAtAndMissed() { if (Actor_Query_Goal_Number(kActorSadik) == 414 || Actor_Query_Goal_Number(kActorSadik) == 416 ) { Game_Flag_Set(714); if (Actor_Query_Which_Set_In(kActorSadik) != kSetKP07) { Actor_Set_Goal_Number(kActorSadik, 418); Scene_Exits_Disable(); } } }
void AIScriptTyrellGuard::TimerExpired(int timer) { switch (timer) { case 0: AI_Countdown_Timer_Reset(kActorTyrellGuard, 0); if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetTB02_TB03) { Actor_Set_Goal_Number(kActorTyrellGuard, 301); } break; case 1: AI_Countdown_Timer_Reset(kActorTyrellGuard, 1); Actor_Set_Goal_Number(kActorTyrellGuard, 303); break; } }
void AIScriptMutant1::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) { if (Actor_Query_Which_Set_In(kActorMutant1) == Player_Query_Current_Set() && Actor_Query_Goal_Number(kActorMutant1) != 599) { if (otherActorId != kActorMcCoy) { if (otherActorId > 72 || (otherActorId != kActorFreeSlotA && otherActorId != kActorMutant2 && otherActorId != kActorMutant3)) { Actor_Modify_Combat_Aggressiveness(70, -10); } else { Actor_Modify_Combat_Aggressiveness(70, 10); } } else if (combatMode) { Actor_Modify_Combat_Aggressiveness(70, 10); } else { Actor_Modify_Combat_Aggressiveness(70, -10); } } }
bool SceneScriptNR04::ClickedOn2DRegion(int region) { if ((region == 0 || region == 1 || region == 2) && Actor_Query_Which_Set_In(kActorEarlyQ) != 12 && Actor_Query_Animation_Mode(kActorMcCoy) != 53 && !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 445, 0, 1, false)) { Actor_Face_Heading(kActorMcCoy, 49, false); Actor_Change_Animation_Mode(kActorMcCoy, 85); Delay(2500); if (Game_Flag_Query(606) == 1) { return true; } if (Game_Flag_Query(374)) { Player_Loses_Control(); Actor_Voice_Over(4180, kActorVoiceOver); Actor_Change_Animation_Mode(kActorMcCoy, 48); Ambient_Sounds_Play_Sound(555, 90, 99, 0, 0); Delay(350); Actor_Set_At_XYZ(kActorMcCoy, 109.0f, 0.0f, 374.0f, 0); Actor_Retired_Here(kActorMcCoy, 12, 12, 1, -1); } return true; } return false; }
bool AIScriptSadik::ShotAtAndHit() { if (Actor_Query_Goal_Number(kActorSadik) == 301) { if (Game_Flag_Query(kFlagSadikIsReplicant)) { Actor_Set_Health(kActorSadik, 60, 60); } else { Actor_Set_Health(kActorSadik, 40, 40); } return true; } if (Actor_Query_Goal_Number(kActorSadik) == 414 || Actor_Query_Goal_Number(kActorSadik) == 416 ) { Game_Flag_Set(714); if (Actor_Query_Which_Set_In(kActorSadik) != kSetKP07) { Actor_Set_Goal_Number(kActorSadik, 418); Scene_Exits_Disable(); } } return false; }
void SceneScriptUG18::SceneLoaded() { Obstacle_Object("MACHINE_01", true); Unobstacle_Object("PLATFM_RAIL 01", true); Unobstacle_Object("PLATFM_RAIL 02", true); Unobstacle_Object("OBSTACLE1", true); Clickable_Object("MACHINE_01"); Unclickable_Object("MACHINE_01"); if (Game_Flag_Query(kFlagUG18GuzzaScene)) { Actor_Put_In_Set(kActorGuzza, kSetFreeSlotI); Actor_Set_At_Waypoint(kActorGuzza, 41, 0); if (Actor_Query_Which_Set_In(kActorSadik) == kSetUG18) { Actor_Put_In_Set(kActorSadik, kSetFreeSlotA); Actor_Set_At_Waypoint(kActorSadik, 33, 0); } } if ( Game_Flag_Query(kFlagCallWithGuzza) && !Game_Flag_Query(kFlagUG18GuzzaScene) && Global_Variable_Query(kVariableChapter) == 4 ) { Item_Add_To_World(kItemBriefcase, 987, kSetUG18, -55.21f, 0.0f, -302.17f, 0, 12, 12, false, true, false, true); } }
bool AIScriptMutant1::GoalChanged(int currentGoalNumber, int newGoalNumber) { switch (newGoalNumber) { case 400: AI_Movement_Track_Flush(kActorMutant1); AI_Movement_Track_Append(kActorMutant1, 39, 0); AI_Movement_Track_Repeat(kActorMutant1); if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) { Actor_Set_Combat_Aggressiveness(kActorMutant1, 70); Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20); } return true; case 401: Actor_Set_Targetable(kActorMutant1, 1); AI_Movement_Track_Flush(kActorMutant1); AI_Movement_Track_Append(kActorMutant1, 39, 0); switch (Random_Query(1, 8)) { case 1: AI_Movement_Track_Append(kActorMutant1, 182, 0); AI_Movement_Track_Append(kActorMutant1, 183, 2); AI_Movement_Track_Append(kActorMutant1, 184, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 2: AI_Movement_Track_Append(kActorMutant1, 296, 0); AI_Movement_Track_Append(kActorMutant1, 297, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 3: AI_Movement_Track_Append(kActorMutant1, 176, 0); AI_Movement_Track_Append(kActorMutant1, 177, 0); AI_Movement_Track_Append(kActorMutant1, 178, 2); AI_Movement_Track_Append(kActorMutant1, 177, 0); AI_Movement_Track_Append(kActorMutant1, 176, 1); AI_Movement_Track_Append(kActorMutant1, 39, 45); AI_Movement_Track_Repeat(kActorMutant1); break; case 4: AI_Movement_Track_Append(kActorMutant1, 298, 0); AI_Movement_Track_Append(kActorMutant1, 300, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 5: AI_Movement_Track_Append(kActorMutant1, 301, 0); AI_Movement_Track_Append(kActorMutant1, 302, 2); AI_Movement_Track_Append(kActorMutant1, 303, 0); AI_Movement_Track_Append(kActorMutant1, 304, 0); AI_Movement_Track_Append(kActorMutant1, 305, 0); AI_Movement_Track_Append(kActorMutant1, 304, 0); AI_Movement_Track_Append(kActorMutant1, 306, 0); AI_Movement_Track_Append(kActorMutant1, 39, 60); AI_Movement_Track_Repeat(kActorMutant1); break; case 6: AI_Movement_Track_Append(kActorMutant1, 307, 0); AI_Movement_Track_Append(kActorMutant1, 308, 0); AI_Movement_Track_Append(kActorMutant1, 309, 1); AI_Movement_Track_Append(kActorMutant1, 310, 3); AI_Movement_Track_Append(kActorMutant1, 311, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 7: switch (Random_Query(1, 5)) { case 1: AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 534, 2); AI_Movement_Track_Append(kActorMutant1, 535, 3); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 2: AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 535, 2); AI_Movement_Track_Append(kActorMutant1, 534, 3); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 3: AI_Movement_Track_Append(kActorMutant1, 536, 0); AI_Movement_Track_Append(kActorMutant1, 537, 0); AI_Movement_Track_Append(kActorMutant1, 538, 2); AI_Movement_Track_Append(kActorMutant1, 537, 0); AI_Movement_Track_Append(kActorMutant1, 536, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 4: AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 534, 3); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Repeat(kActorMutant1); break; case 5: AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 535, 1); AI_Movement_Track_Append(kActorMutant1, 533, 0); AI_Movement_Track_Append(kActorMutant1, 532, 0); AI_Movement_Track_Repeat(kActorMutant1); break; default: return true; } break; case 8: if (Game_Flag_Query(623) == 1) { AI_Movement_Track_Append(kActorMutant1, 418, 0); AI_Movement_Track_Append(kActorMutant1, 417, 0); AI_Movement_Track_Append(kActorMutant1, 539, 0); AI_Movement_Track_Repeat(kActorMutant1); } else { Actor_Set_Goal_Number(kActorMutant1, 403); } break; default: AI_Movement_Track_Append(kActorMutant1, 39, 60); AI_Movement_Track_Repeat(kActorMutant1); break; } return true; case 403: Actor_Set_Targetable(kActorMutant1, 0); Actor_Set_Goal_Number(kActorMutant1, 401); return true; case 404: AI_Movement_Track_Flush(kActorMutant1); AI_Movement_Track_Append(kActorMutant1, 39, 0); AI_Movement_Track_Repeat(kActorMutant1); return true; case 410: switch (Actor_Query_Which_Set_In(kActorMutant1)) { case kSetUG01: Non_Player_Actor_Combat_Mode_On(kActorMutant1, kActorCombatStateIdle, false, kActorMcCoy, 11, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, -1, -1, -1, 10, 300, false); break; case kSetUG04: case kSetUG05: case kSetUG06: Non_Player_Actor_Combat_Mode_On(kActorMutant1, kActorCombatStateIdle, false, kActorMcCoy, 10, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, -1, -1, -1, 10, 300, false); break; case kSetUG07: Non_Player_Actor_Combat_Mode_On(kActorMutant1, kActorCombatStateIdle, false, kActorMcCoy, 12, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, -1, -1, -1, 10, 300, false); break; case kSetUG10: case kSetUG12: case kSetUG14: Non_Player_Actor_Combat_Mode_On(kActorMutant1, kActorCombatStateIdle, false, kActorMcCoy, 14, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, -1, -1, -1, 10, 300, false); break; } return true; case 411: AI_Movement_Track_Flush(kActorMutant1); Actor_Set_Intelligence(kActorMutant1, 40); Actor_Set_Health(kActorMutant1, 10 * Query_Difficulty_Level() + 30, 10 * Query_Difficulty_Level() + 30); if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) { Actor_Set_Combat_Aggressiveness(kActorMutant1, 70); Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20); } else { Actor_Set_Combat_Aggressiveness(kActorMutant1, 40); Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 45); } Actor_Modify_Friendliness_To_Other(kActorMutant2, kActorMcCoy, -10); Actor_Modify_Friendliness_To_Other(kActorMutant3, kActorMcCoy, -20); Actor_Modify_Combat_Aggressiveness(kActorMutant2, 10); Actor_Modify_Combat_Aggressiveness(kActorMutant3, 15); Actor_Set_Goal_Number(kActorMutant1, 403); return true; case 590: AI_Movement_Track_Flush(kActorMutant1); AI_Movement_Track_Append(kActorMutant1, 39, 100); AI_Movement_Track_Repeat(kActorMutant1); return true; case 599: AI_Movement_Track_Flush(kActorMutant1); Actor_Change_Animation_Mode(kActorMutant1, 48); Actor_Modify_Friendliness_To_Other(kActorMutant2, kActorMcCoy, -10); Actor_Modify_Friendliness_To_Other(kActorMutant3, kActorMcCoy, -20); Actor_Modify_Combat_Aggressiveness(kActorMutant2, 10); Actor_Modify_Combat_Aggressiveness(kActorMutant3, 15); return true; default: break; } return false; }