diff --git a/scripts_src/enclave/qcfrank.ssl b/scripts_src/enclave/qcfrank.ssl index 26e4a292c..40c6a4a01 100644 --- a/scripts_src/enclave/qcfrank.ssl +++ b/scripts_src/enclave/qcfrank.ssl @@ -132,6 +132,15 @@ procedure map_enter_p_proc begin end procedure combat_p_proc begin + // Workaround for Frank standing idly when both his arms are crippled. + variable weapon; + weapon = self_right_hand; + if (weapon and (fixed_param == COMBAT_SUBTYPE_TURN)) then begin + if (critter_state(self_obj) bwand (DAM_CRIP_ARM_LEFT bwor DAM_CRIP_ARM_RIGHT)) then begin + inven_unwield(self_obj); + end + end // end workaround. + if (fixed_param == COMBAT_SUBTYPE_HIT_SUCCEEDED) then begin if (global_var(GVAR_ENCLAVE_FRANK_DEAD) != 0) then script_overrides; @@ -437,14 +446,17 @@ procedure Endgame_Info begin end -// Broken Hills Endgame + // Broken Hills Endgame if (broken_hills_visible_on_map) then begin if global_var(GVAR_BH_CONSPIRACY) == CONSPIRACY_SUCCESSFUL then - set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,1); - else if (((global_var(GVAR_BH_CONSPIRACY) == CONSPIRACY_BROKEN_DOUBLECROSS) or (global_var(GVAR_BH_CONSPIRACY) == CONSPIRACY_BROKEN_HERO) or (global_var(GVAR_BH_JAIL) == JAIL_DOUBLECROSS)) ) then begin - set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,2); - end else - set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,3); + set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,1); + else if (global_var(GVAR_BH_CONSPIRACY) == CONSPIRACY_BROKEN_DOUBLECROSS) + or (global_var(GVAR_BH_CONSPIRACY) == CONSPIRACY_BROKEN_HERO) + or (global_var(GVAR_BH_JAIL) == JAIL_DOUBLECROSS) + then begin + set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,2); + end else + set_global_var(GVAR_ENDGAME_MOVIE_BROKEN_HILLS,3); end // NCR Endgame @@ -471,7 +483,7 @@ procedure Endgame_Info begin // Vault 13 Endgame if (vault_13_visible_on_map) then begin if (gvar_bit(GVAR_V13_STATUS_FLAGS, FLG_GRUTHAR_DEAD)) then - set_global_var(GVAR_ENDGAME_MOVIE_VAULT_13,2); + set_global_var(GVAR_ENDGAME_MOVIE_VAULT_13,2); // There is no more good ending. end