diff --git a/README.md b/README.md index 784a5c07..cd153d6b 100644 --- a/README.md +++ b/README.md @@ -666,6 +666,7 @@ * Tower Trap (upgraded): upgrading no longer resets the duration of the trap * Zombies spawn in the Docks zone when in the Docks Gates zone * Zombies spawn in the Docks Gates zone when in the Docks zone +* Quest: Blundergat gets full ammo when picked up (normally missing one clip) * Quest: number pad only needs each number to be shocked once in order to complete * Quest: can enter the plane in afterlife with any amount of players * Quest: can enter the plane in afterlife without Weasel @@ -757,6 +758,7 @@ * Soul boxes: decreased number of souls to close from 30 to 20 * Dig spots: decreased number of digs to obtain golden shovel from 30 to 20 * Dig spots: changed number of digs to obtain golden helmet to 40 (normally 5% chance to obtain after obtaining golden shovel) +* Dig spots: dug up weapons get full ammo when picked up (normally missing one clip) * Perk bottle dig spots: give random perk * Perk bottle dig spots: visible and diggable without Zombie Blood * Perk bottle dig spots: increased number of rounds for next dig spot to spawn from 1 to 4 diff --git a/scripts/zm/replaced/zm_tomb_dig.gsc b/scripts/zm/replaced/zm_tomb_dig.gsc index 4e75a46b..9bee188d 100644 --- a/scripts/zm/replaced/zm_tomb_dig.gsc +++ b/scripts/zm/replaced/zm_tomb_dig.gsc @@ -240,4 +240,43 @@ dig_up_weapon( digger ) if ( player != digger ) digger notify( "dig_up_weapon_shared" ); +} + +swap_weapon( str_weapon, e_player ) +{ + str_current_weapon = e_player getcurrentweapon(); + + if ( str_weapon == "claymore_zm" ) + { + if ( !e_player hasweapon( str_weapon ) ) + { + e_player thread maps\mp\zombies\_zm_weap_claymore::show_claymore_hint( "claymore_purchased" ); + e_player thread maps\mp\zombies\_zm_weap_claymore::claymore_setup(); + e_player thread maps\mp\zombies\_zm_audio::create_and_play_dialog( "weapon_pickup", "grenade" ); + } + else + e_player givemaxammo( str_weapon ); + + return; + } + + if ( is_player_valid( e_player ) && !e_player.is_drinking && !is_placeable_mine( str_current_weapon ) && !is_equipment( str_current_weapon ) && level.revive_tool != str_current_weapon && "none" != str_current_weapon && !e_player hacker_active() ) + { + if ( !e_player hasweapon( str_weapon ) ) + e_player take_old_weapon_and_give_new( str_current_weapon, str_weapon ); + else + e_player givemaxammo( str_weapon ); + } +} + +take_old_weapon_and_give_new( current_weapon, weapon ) +{ + a_weapons = self getweaponslistprimaries(); + + if ( isdefined( a_weapons ) && a_weapons.size >= get_player_weapon_limit( self ) ) + self takeweapon( current_weapon ); + + self giveweapon( weapon ); + self givestartammo( weapon ); + self switchtoweapon( weapon ); } \ No newline at end of file