mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-08 22:31:36 -05:00
204 lines
5.2 KiB
Plaintext
204 lines
5.2 KiB
Plaintext
#include maps\mp\_utility;
|
|
#include common_scripts\utility;
|
|
#include maps\mp\zombies\_zm_utility;
|
|
#include maps\mp\zombies\_zm_weapons;
|
|
|
|
weapon_give( weapon, is_upgrade, magic_box, nosound )
|
|
{
|
|
primaryweapons = self getweaponslistprimaries();
|
|
current_weapon = self getcurrentweapon();
|
|
current_weapon = self maps/mp/zombies/_zm_weapons::switch_from_alt_weapon( current_weapon );
|
|
if ( !isDefined( is_upgrade ) )
|
|
{
|
|
is_upgrade = 0;
|
|
}
|
|
weapon_limit = get_player_weapon_limit( self );
|
|
if ( is_equipment( weapon ) )
|
|
{
|
|
self maps/mp/zombies/_zm_equipment::equipment_give( weapon );
|
|
}
|
|
if ( weapon == "riotshield_zm" )
|
|
{
|
|
if ( isDefined( self.player_shield_reset_health ) )
|
|
{
|
|
self [[ self.player_shield_reset_health ]]();
|
|
}
|
|
}
|
|
if ( self hasweapon( weapon ) )
|
|
{
|
|
if ( issubstr( weapon, "knife_ballistic_" ) )
|
|
{
|
|
self notify( "zmb_lost_knife" );
|
|
}
|
|
self givestartammo( weapon );
|
|
if ( !is_offhand_weapon( weapon ) )
|
|
{
|
|
self switchtoweapon( weapon );
|
|
}
|
|
return;
|
|
}
|
|
if ( is_melee_weapon( weapon ) )
|
|
{
|
|
current_weapon = maps/mp/zombies/_zm_melee_weapon::change_melee_weapon( weapon, current_weapon );
|
|
}
|
|
else if ( is_lethal_grenade( weapon ) )
|
|
{
|
|
old_lethal = self get_player_lethal_grenade();
|
|
if ( isDefined( old_lethal ) && old_lethal != "" )
|
|
{
|
|
self takeweapon( old_lethal );
|
|
unacquire_weapon_toggle( old_lethal );
|
|
}
|
|
self set_player_lethal_grenade( weapon );
|
|
}
|
|
else if ( is_tactical_grenade( weapon ) )
|
|
{
|
|
old_tactical = self get_player_tactical_grenade();
|
|
if ( isDefined( old_tactical ) && old_tactical != "" )
|
|
{
|
|
self takeweapon( old_tactical );
|
|
unacquire_weapon_toggle( old_tactical );
|
|
}
|
|
self set_player_tactical_grenade( weapon );
|
|
}
|
|
else if ( is_placeable_mine( weapon ) )
|
|
{
|
|
old_mine = self get_player_placeable_mine();
|
|
if ( isDefined( old_mine ) )
|
|
{
|
|
self takeweapon( old_mine );
|
|
unacquire_weapon_toggle( old_mine );
|
|
}
|
|
self set_player_placeable_mine( weapon );
|
|
}
|
|
if ( !is_offhand_weapon( weapon ) )
|
|
{
|
|
self maps/mp/zombies/_zm_weapons::take_fallback_weapon();
|
|
}
|
|
if ( primaryweapons.size >= weapon_limit )
|
|
{
|
|
if ( is_placeable_mine( current_weapon ) || is_equipment( current_weapon ) )
|
|
{
|
|
current_weapon = undefined;
|
|
}
|
|
if ( isDefined( current_weapon ) )
|
|
{
|
|
if ( !is_offhand_weapon( weapon ) )
|
|
{
|
|
if ( current_weapon == "tesla_gun_zm" )
|
|
{
|
|
level.player_drops_tesla_gun = 1;
|
|
}
|
|
if ( issubstr( current_weapon, "knife_ballistic_" ) )
|
|
{
|
|
self notify( "zmb_lost_knife" );
|
|
}
|
|
self takeweapon( current_weapon );
|
|
unacquire_weapon_toggle( current_weapon );
|
|
}
|
|
}
|
|
}
|
|
if ( isDefined( level.zombiemode_offhand_weapon_give_override ) )
|
|
{
|
|
if ( self [[ level.zombiemode_offhand_weapon_give_override ]]( weapon ) )
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
if ( weapon == "cymbal_monkey_zm" )
|
|
{
|
|
self maps/mp/zombies/_zm_weap_cymbal_monkey::player_give_cymbal_monkey();
|
|
self play_weapon_vo( weapon, magic_box );
|
|
return;
|
|
}
|
|
else if ( issubstr( weapon, "knife_ballistic_" ) )
|
|
{
|
|
weapon = self maps/mp/zombies/_zm_melee_weapon::give_ballistic_knife( weapon, issubstr( weapon, "upgraded" ) );
|
|
}
|
|
else if ( weapon == "claymore_zm" )
|
|
{
|
|
self thread maps/mp/zombies/_zm_weap_claymore::claymore_setup();
|
|
self play_weapon_vo( weapon, magic_box );
|
|
return;
|
|
}
|
|
if ( isDefined( level.zombie_weapons_callbacks ) && isDefined( level.zombie_weapons_callbacks[ weapon ] ) )
|
|
{
|
|
self thread [[ level.zombie_weapons_callbacks[ weapon ] ]]();
|
|
play_weapon_vo( weapon, magic_box );
|
|
return;
|
|
}
|
|
if ( !is_true( nosound ) )
|
|
{
|
|
self play_sound_on_ent( "purchase" );
|
|
}
|
|
if ( is_true( magic_box ) && is_limited_weapon( weapon ) )
|
|
{
|
|
playsoundatposition( "mus_raygun_stinger", ( 0, 0, 0 ) );
|
|
}
|
|
if ( !is_weapon_upgraded( weapon ) )
|
|
{
|
|
self giveweapon( weapon );
|
|
}
|
|
else
|
|
{
|
|
self giveweapon( weapon, 0, self get_pack_a_punch_weapon_options( weapon ) );
|
|
}
|
|
acquire_weapon_toggle( weapon, self );
|
|
self givestartammo( weapon );
|
|
if ( !is_offhand_weapon( weapon ) )
|
|
{
|
|
if ( !is_melee_weapon( weapon ) )
|
|
{
|
|
self switchtoweapon( weapon );
|
|
}
|
|
else
|
|
{
|
|
self switchtoweapon( current_weapon );
|
|
}
|
|
}
|
|
self play_weapon_vo( weapon, magic_box );
|
|
}
|
|
|
|
lethal_grenade_update_prompt( player )
|
|
{
|
|
weapon = self.stub.zombie_weapon_upgrade;
|
|
hint = level.zombie_weapons[weapon].hint;
|
|
self.stub.hint_string = hint;
|
|
self sethintstring( self.stub.hint_string, cost );
|
|
self.stub.cursor_hint = "HINT_WEAPON";
|
|
self.stub.cursor_hint_weapon = weapon;
|
|
self setcursorhint( self.stub.cursor_hint, self.stub.cursor_hint_weapon );
|
|
return 1;
|
|
}
|
|
|
|
get_upgraded_ammo_cost( weapon_name )
|
|
{
|
|
if ( isDefined( level.zombie_weapons[ weapon_name ].upgraded_ammo_cost ) )
|
|
{
|
|
return level.zombie_weapons[ weapon_name ].upgraded_ammo_cost;
|
|
}
|
|
|
|
return 2500;
|
|
}
|
|
|
|
makegrenadedudanddestroy()
|
|
{
|
|
self endon( "death" );
|
|
|
|
self notify( "grenade_dud" );
|
|
self makegrenadedud();
|
|
|
|
if ( isDefined( self ) )
|
|
{
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
createballisticknifewatcher_zm( name, weapon )
|
|
{
|
|
watcher = self maps/mp/gametypes_zm/_weaponobjects::createuseweaponobjectwatcher( name, weapon, self.team );
|
|
watcher.onspawn = scripts/zm/replaced/_zm_weap_ballistic_knife::on_spawn;
|
|
watcher.onspawnretrievetriggers = maps/mp/zombies/_zm_weap_ballistic_knife::on_spawn_retrieve_trigger;
|
|
watcher.storedifferentobject = 1;
|
|
watcher.headicon = 0;
|
|
} |