From 7db8e0b05dfa39d0a2ce9ccbba8aa368fad3535f Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Fri, 12 Apr 2024 16:44:27 -0700 Subject: [PATCH] Zombie Shield: fix repair not working correctly --- scripts/zm/replaced/_zm_buildables.gsc | 20 ++++++++++++++----- scripts/zm/zm_prison/zm_prison_reimagined.gsc | 18 ++++++++++++++--- scripts/zm/zm_tomb/zm_tomb_reimagined.gsc | 18 ++++++++++++++--- 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/scripts/zm/replaced/_zm_buildables.gsc b/scripts/zm/replaced/_zm_buildables.gsc index 9dc9eaff..2736cbbb 100644 --- a/scripts/zm/replaced/_zm_buildables.gsc +++ b/scripts/zm/replaced/_zm_buildables.gsc @@ -285,6 +285,20 @@ buildable_place_think() player maps\mp\zombies\_zm_score::minus_to_player_score(self.stub.cost); self play_sound_on_ent("purchase"); + if (riotshield_repair) + { + if (isdefined(player.player_shield_reset_health)) + { + player [[player.player_shield_reset_health]](); + } + + self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; + self sethintstring(self.stub.hint_string); + player maps\mp\zombies\_zm_buildables::track_buildables_pickedup(self.stub.weaponname); + + continue; + } + player maps\mp\zombies\_zm_equipment::equipment_buy(self.stub.weaponname); player giveweapon(self.stub.weaponname); player setweaponammoclip(self.stub.weaponname, 1); @@ -307,11 +321,7 @@ buildable_place_think() player setactionslot(1, "weapon", self.stub.weaponname); } - if (riotshield_repair) - { - self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; - } - else if (isDefined(level.zombie_buildables[self.stub.equipname].bought)) + if (isDefined(level.zombie_buildables[self.stub.equipname].bought)) { self.stub.hint_string = level.zombie_buildables[self.stub.equipname].bought; } diff --git a/scripts/zm/zm_prison/zm_prison_reimagined.gsc b/scripts/zm/zm_prison/zm_prison_reimagined.gsc index 1dd15410..699b8fd2 100644 --- a/scripts/zm/zm_prison/zm_prison_reimagined.gsc +++ b/scripts/zm/zm_prison/zm_prison_reimagined.gsc @@ -517,6 +517,20 @@ craftable_place_think() player maps\mp\zombies\_zm_score::minus_to_player_score(self.stub.cost); self play_sound_on_ent("purchase"); + if (riotshield_repair) + { + if (isdefined(player.player_shield_reset_health)) + { + player [[player.player_shield_reset_health]](); + } + + self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; + self sethintstring(self.stub.hint_string); + player track_craftables_pickedup(self.stub.craftablespawn); + + continue; + } + player maps\mp\zombies\_zm_equipment::equipment_buy(self.stub.weaponname); player giveweapon(self.stub.weaponname); player setweaponammoclip(self.stub.weaponname, 1); @@ -526,9 +540,7 @@ craftable_place_think() else if (self.stub.weaponname != "keys_zm") player setactionslot(1, "weapon", self.stub.weaponname); - if (riotshield_repair) - self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; - else if (isdefined(level.zombie_craftablestubs[self.stub.equipname].str_taken)) + if (isdefined(level.zombie_craftablestubs[self.stub.equipname].str_taken)) self.stub.hint_string = level.zombie_craftablestubs[self.stub.equipname].str_taken; else self.stub.hint_string = ""; diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index 1e8dff32..d4100aee 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -493,6 +493,20 @@ craftable_place_think() player maps\mp\zombies\_zm_score::minus_to_player_score(self.stub.cost); self play_sound_on_ent("purchase"); + if (riotshield_repair) + { + if (isdefined(player.player_shield_reset_health)) + { + player [[player.player_shield_reset_health]](); + } + + self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; + self sethintstring(self.stub.hint_string); + player track_craftables_pickedup(self.stub.craftablespawn); + + continue; + } + player maps\mp\zombies\_zm_equipment::equipment_buy(self.stub.weaponname); player giveweapon(self.stub.weaponname); player setweaponammoclip(self.stub.weaponname, 1); @@ -502,9 +516,7 @@ craftable_place_think() else if (self.stub.weaponname != "keys_zm") player setactionslot(1, "weapon", self.stub.weaponname); - if (riotshield_repair) - self.stub.hint_string = &"ZOMBIE_BOUGHT_RIOT_REPAIR"; - else if (isdefined(level.zombie_craftablestubs[self.stub.equipname].str_taken)) + if (isdefined(level.zombie_craftablestubs[self.stub.equipname].str_taken)) self.stub.hint_string = level.zombie_craftablestubs[self.stub.equipname].str_taken; else self.stub.hint_string = "";