From 2510f5d304fa60ab8ac395520d2a21bf5b0d1df1 Mon Sep 17 00:00:00 2001 From: phobos2077 Date: Fri, 11 Aug 2023 01:26:52 +0200 Subject: [PATCH] Vault Village: fixed turning in harry and reduced grenades to 5 - Turning in checked the wrong GVAR (RPU uses GVAR_QUEST_VAULT_SERVANT, but Lujo needs GVAR_VAULT_SERVANT for all conditions to work which also seems more correct based on const names) - Fix incorrect amount of money deducted when player says he doesn't have 2500 to return if he never brought explosives --- scripts_src/valtcity/vcconnar.ssl | 47 ++++--------------------------- scripts_src/valtcity/vcharry.ssl | 36 +++++++++-------------- scripts_src/valtcity/viharbox.ssl | 2 +- 3 files changed, 19 insertions(+), 66 deletions(-) diff --git a/scripts_src/valtcity/vcconnar.ssl b/scripts_src/valtcity/vcconnar.ssl index d938666..c957ee8 100644 --- a/scripts_src/valtcity/vcconnar.ssl +++ b/scripts_src/valtcity/vcconnar.ssl @@ -49,7 +49,7 @@ #define NAME SCRIPT_VCCONNAR #define TOWN_REP_VAR (GVAR_TOWN_REP_VAULT_CITY) -#define has_explosives ( ((obj_is_carrying_obj_pid(dude_obj,PID_FRAG_GRENADE)) >= 10) and ((obj_is_carrying_obj_pid(dude_obj,PID_DYNAMITE)) >= 2)) +#define has_explosives ( ((obj_is_carrying_obj_pid(dude_obj,PID_FRAG_GRENADE)) >= 5) and ((obj_is_carrying_obj_pid(dude_obj,PID_DYNAMITE)) >= 2)) #include "../headers/command.h" #include "../headers/modreact.h" @@ -650,15 +650,6 @@ procedure Node013 begin giq_option(4, SCRIPT_VCCONNAR, 803, Node999, 50); end -//edited out by Lujo, unnecessary -/*procedure Node013a begin - // change to explosives by Lujo - if ( ((obj_is_carrying_obj_pid(dude_obj,PID_FRAG_GRENADE)) >= 10) and ((obj_is_carrying_obj_pid(dude_obj,PID_DYNAMITE)) >= 2)) then - call Node015; - else - call Node014; -end*/ - //Repeats what he wants you to get procedure Node014 begin Reply(137); @@ -667,32 +658,6 @@ procedure Node014 begin NOption(138,Node999,004); end -/* -procedure Node015 begin - variable item; - variable item1; - variable item2; - - item1:=dude_item(PID_SHOTGUN); - item2:=dude_item(PID_ASSAULT_RIFLE); - - item:=rm_mult_objs_from_inven(dude_obj,item1,1); - item:=rm_mult_objs_from_inven(dude_obj,item2,3); - - add_mult_objs_to_inven(self_obj,item1,1); - add_mult_objs_to_inven(self_obj,item2,3); - - inc_general_rep(REP_BONUS_HELPED_VAULT_VILLAGE); - - set_global_var(GVAR_VAULT_VILLAGE,VILLAGE_DELIVERED_GUNS); - - set_local_var(LVAR_Time_Delivered,game_time); - - Reply(139); - - NOption(140,Node999,004); -end -*/ //gun delivery node - WIN procedure Node015 begin //edited by Lujo to include grenades @@ -702,11 +667,9 @@ procedure Node015 begin //edited by Lujo to include grenades LVar2 := dude_item(PID_DYNAMITE); LVar3 := dude_item(PID_FRAG_GRENADE); LVar1 := rm_mult_objs_from_inven(dude_obj, LVar2, 2); - //destroy_object(LVar2); - LVar1 := rm_mult_objs_from_inven(dude_obj, LVar3, 10); - //destroy_object(LVar3); - //add_mult_objs_to_inven(self_obj, LVar3, 10); - removed grenades from inventory so people wouldn't steal them - //add_mult_objs_to_inven(self_obj, LVar3, 10); + destroy_object(LVar2); + LVar1 := rm_mult_objs_from_inven(dude_obj, LVar3, 5); + destroy_object(LVar3); set_global_var(GVAR_PLAYER_REPUTATION, global_var(GVAR_PLAYER_REPUTATION) + 20); ndebug("Player gains " + 20 + " Karma Points."); CheckKarma; @@ -928,7 +891,7 @@ procedure Node028c begin end procedure Node028d begin - dude_caps_adjust(-2500); + dude_caps_adjust(-1250); set_global_var(GVAR_PLAYER_REPUTATION, global_var(GVAR_PLAYER_REPUTATION) + 2); Reply(mstr(740) + dude_name + mstr(741)); NOption(174, Node999, 4); diff --git a/scripts_src/valtcity/vcharry.ssl b/scripts_src/valtcity/vcharry.ssl index c5f7846..9370c70 100644 --- a/scripts_src/valtcity/vcharry.ssl +++ b/scripts_src/valtcity/vcharry.ssl @@ -106,11 +106,6 @@ import variable plow1; import variable plow2; import variable Harry_Ptr; -//added by killap - expansion pack -variable gun1 := 0; -variable gun2 := 0; -//end - #define move_inven_to_box move_obj_inven_to_obj(self_obj, vault_city_harry_box); #define move_inven_from_box move_obj_inven_to_obj(vault_city_harry_box, self_obj); #define move_inven_to_temp_box move_obj_inven_to_obj(self_obj, vault_city_courtyard_temp_box); @@ -135,13 +130,13 @@ procedure map_enter_p_proc begin //added by killap - expansion pack (Village) // changed by phobos2077 to reduce loot - if (global_var(GVAR_QUEST_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY and self_tile != JAIL_TILE) then begin + if (global_var(GVAR_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY and self_tile != JAIL_TILE) then begin critter_attempt_placement(self_obj, JAIL_TILE, 0); inven_unwield(self_obj); store_shelf_obj := tile_contains_pid_obj(12112,dude_elevation,152); move_obj_inven_to_obj(self_obj, store_shelf_obj); move_obj_inven_to_obj(vault_city_harry_box, store_shelf_obj); - // phobos2077: reduce loot: all armors and 30% of other items + // phobos2077: reduce loot: all armors and 50% of other items restock_amt := 0; while (inven_ptr(store_shelf_obj, restock_amt) != 0) do begin restock_obj := inven_ptr(store_shelf_obj, restock_amt); @@ -221,7 +216,7 @@ procedure talk_p_proc begin GetReaction; //added by killap - expansion pack (Village) - if (global_var(GVAR_QUEST_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY) then + if (global_var(GVAR_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY) then float_msg(self_obj, message_str(SCRIPT_VCHARRY, random(145, 149)), FLOAT_MSG_YELLOW); //end else if town_rep_is_vilified then begin @@ -457,15 +452,18 @@ begin giq_option(4, SCRIPT_VCHARRY, 134, Node013, BAD_REACTION); //killap end +procedure GiveWeaponsForVillage +begin + // changed from weapons to explosives by Lujo/phobos2077 + add_mult_objs_to_inven(dude_obj, create_object_sid(PID_DYNAMITE, 0, 0, -1), 2); + add_mult_objs_to_inven(dude_obj, create_object_sid(PID_FRAG_GRENADE, 0, 0, -1), 5); +end + procedure Node011 begin set_local_var(LVAR_Village_Guns,2); //set_local_var(7, 2); - // changed from weapons to explosives by Lujo - gun1 := create_object_sid(PID_DYNAMITE, 0, 0, -1); - gun2 := create_object_sid(PID_FRAG_GRENADE, 0, 0, -1); - add_mult_objs_to_inven(dude_obj, gun1, 2); - add_mult_objs_to_inven(dude_obj, gun2, 10); + call GiveWeaponsForVillage; item_caps_adjust(dude_obj, -4000); set_global_var(GVAR_QUEST_VAULT_VILLAGE, VILLAGE_QUEST_GOT_GUNS); //edit by killap //set_global_var(GVAR_ENEMY_VAULT_VILLAGE, 8); @@ -479,11 +477,7 @@ begin begin gsay_reply(SCRIPT_VCHARRY, 136); //killap giq_option(4, SCRIPT_VCHARRY, 138, Node999, NEUTRAL_REACTION); //killap - // changed from weapons to explosives by Lujo - gun1 := create_object_sid(PID_DYNAMITE, 0, 0, -1); - gun2 := create_object_sid(PID_FRAG_GRENADE, 0, 0, -1); - add_mult_objs_to_inven(dude_obj, gun1, 2); - add_mult_objs_to_inven(dude_obj, gun2, 10); + call GiveWeaponsForVillage; dude_caps_adjust(-2500); //set_local_var(7, 2); set_local_var(LVAR_Village_Guns,2); @@ -503,11 +497,7 @@ begin begin gsay_reply(SCRIPT_VCHARRY, 136); //killap giq_option(4, SCRIPT_VCHARRY, 138, Node999, NEUTRAL_REACTION); //killap - // changed from weapons to explosives by Lujo - gun1 := create_object_sid(PID_DYNAMITE, 0, 0, -1); - gun2 := create_object_sid(PID_FRAG_GRENADE, 0, 0, -1); - add_mult_objs_to_inven(dude_obj, gun1, 2); - add_mult_objs_to_inven(dude_obj, gun2, 10); + call GiveWeaponsForVillage; dude_caps_adjust(-1000); //set_local_var(7, 2); set_local_var(LVAR_Village_Guns,2); diff --git a/scripts_src/valtcity/viharbox.ssl b/scripts_src/valtcity/viharbox.ssl index 7430478..d161628 100644 --- a/scripts_src/valtcity/viharbox.ssl +++ b/scripts_src/valtcity/viharbox.ssl @@ -47,7 +47,7 @@ end procedure map_enter_p_proc begin //added check by killap - expansion pack (Village) - if (global_var(GVAR_QUEST_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY) then return; + if (global_var(GVAR_VAULT_SERVANT) == SERVANT_TURNED_IN_HARRY) then return; vault_city_harry_box := self_obj; if (is_loading_game == false) then begin