1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-07 21:59:49 -05:00

Smoke Grenade: add on MOTD

This commit is contained in:
Jbleezy 2023-12-29 20:09:46 -08:00
parent 7943cb01d0
commit 420f000be8
5 changed files with 107 additions and 20 deletions

View File

@ -162,7 +162,7 @@
* Upgraded: decreased last stand ammo from 2 clips to 1 clip
### Tac-45
* Replaces M1911 on Tranzit, Nuketown, Die Rise, and Buried
* Replaces M1911 (except on Mob of the Dead)
## Assault Rifles
@ -361,7 +361,7 @@
* Zombies that are in the ground can no longer get EMP'd
### Smoke Grenade
* Added on Cell Block and Docks
* Added on Mob of the Dead
* Kills on any round
### Hell's Retriever

View File

@ -1641,6 +1641,10 @@ weapon_changes()
include_weapon( "held_spork_zm_alcatraz", 0 );
register_melee_weapon_for_level( "held_spork_zm_alcatraz" );
maps\mp\zombies\_zm_weapons::register_zombie_weapon_callback( "willy_pete_zm", ::player_give_willy_pete );
register_tactical_grenade_for_level("willy_pete_zm");
level.zombie_weapons["willy_pete_zm"].is_in_box = 1;
}
if (level.script == "zm_tomb")
@ -1665,6 +1669,17 @@ weapon_changes()
}
}
player_give_willy_pete()
{
self endon("disconnect");
self setclientfieldtoplayer("tomahawk_in_use", 0);
wait 0.05;
self giveweapon("willy_pete_zm");
}
wallbuy_location_changes()
{
if (!is_classic())

View File

@ -613,6 +613,74 @@ afterlife_player_damage_callback(einflictor, eattacker, idamage, idflags, smeans
return idamage;
}
afterlife_save_loadout()
{
primaries = self getweaponslistprimaries();
currentweapon = self getcurrentweapon();
self.loadout = spawnstruct();
self.loadout.player = self;
self.loadout.weapons = [];
self.loadout.score = self.score;
self.loadout.current_weapon = 0;
foreach ( index, weapon in primaries )
{
self.loadout.weapons[index] = weapon;
self.loadout.stockcount[index] = self getweaponammostock( weapon );
self.loadout.clipcount[index] = self getweaponammoclip( weapon );
if ( weaponisdualwield( weapon ) )
{
weapon_dw = weapondualwieldweaponname( weapon );
self.loadout.clipcount2[index] = self getweaponammoclip( weapon_dw );
}
weapon_alt = weaponaltweaponname( weapon );
if ( weapon_alt != "none" )
{
self.loadout.stockcountalt[index] = self getweaponammostock( weapon_alt );
self.loadout.clipcountalt[index] = self getweaponammoclip( weapon_alt );
}
if ( weapon == currentweapon )
self.loadout.current_weapon = index;
}
self.loadout.equipment = self get_player_equipment();
if ( isdefined( self.loadout.equipment ) )
self equipment_take( self.loadout.equipment );
if ( self hasweapon( "claymore_zm" ) )
{
self.loadout.hasclaymore = 1;
self.loadout.claymoreclip = self getweaponammoclip( "claymore_zm" );
}
if ( self hasweapon( "bouncing_tomahawk_zm" ) || self hasweapon( "upgraded_tomahawk_zm" ) )
{
self.loadout.hastomahawk = 1;
self setclientfieldtoplayer( "tomahawk_in_use", 0 );
}
else if ( self hasweapon( "willy_pete_zm" ) )
{
self.loadout.hassmoke = 1;
self.loadout.smokeclip = self getweaponammoclip( "willy_pete_zm" );
}
self.loadout.perks = afterlife_save_perks( self );
lethal_grenade = self get_player_lethal_grenade();
if ( self hasweapon( lethal_grenade ) )
self.loadout.grenade = self getweaponammoclip( lethal_grenade );
else
self.loadout.grenade = 0;
self.loadout.lethal_grenade = lethal_grenade;
self set_player_lethal_grenade( undefined );
}
afterlife_give_loadout()
{
self takeallweapons();
@ -681,18 +749,17 @@ afterlife_give_loadout()
self setweaponammoclip("claymore_zm", loadout.claymoreclip);
}
if (isdefined(loadout.hasemp) && loadout.hasemp)
{
self giveweapon("emp_grenade_zm");
self setweaponammoclip("emp_grenade_zm", loadout.empclip);
}
if (isdefined(loadout.hastomahawk) && loadout.hastomahawk)
{
self giveweapon(self.current_tomahawk_weapon);
self set_player_tactical_grenade(self.current_tomahawk_weapon);
self setclientfieldtoplayer("tomahawk_in_use", 1);
}
else if (isdefined(loadout.hassmoke) && loadout.hassmoke)
{
self giveweapon("willy_pete_zm");
self setweaponammoclip("willy_pete_zm", loadout.smokeclip);
}
self.score = loadout.score;
perk_array = maps\mp\zombies\_zm_perks::get_perk_array(1);

View File

@ -130,15 +130,26 @@ tomahawk_return_player(m_tomahawk, num_zombie_hit = 5)
}
m_tomahawk delete();
self playsoundtoplayer("wpn_tomahawk_catch_plr", self);
self playsound("wpn_tomahawk_catch_npc");
if (self.current_tactical_grenade == self.current_tomahawk_weapon)
{
self playsoundtoplayer("wpn_tomahawk_catch_plr", self);
self playsound("wpn_tomahawk_catch_npc");
}
wait 5;
self playsoundtoplayer("wpn_tomahawk_cooldown_done", self);
self givemaxammo(self.current_tomahawk_weapon);
if (self.current_tactical_grenade == self.current_tomahawk_weapon)
{
self playsoundtoplayer("wpn_tomahawk_cooldown_done", self);
self givemaxammo(self.current_tomahawk_weapon);
self setclientfieldtoplayer("tomahawk_in_use", 3);
}
a_zombies = getaispeciesarray("axis", "all");
foreach (ai_zombie in a_zombies)
{
ai_zombie.hit_by_tomahawk = 0;
self setclientfieldtoplayer("tomahawk_in_use", 3);
}
}

View File

@ -371,12 +371,6 @@ set_grief_vars()
level.zombie_weapons["raygun_mark2_zm"].is_in_box = 1;
}
if (isDefined(level.zombie_weapons["willy_pete_zm"]))
{
register_tactical_grenade_for_level("willy_pete_zm");
level.zombie_weapons["willy_pete_zm"].is_in_box = 1;
}
level.grief_score = [];
level.grief_score["A"] = 0;
level.grief_score["B"] = 0;