mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-07 21:59:49 -05:00
147 lines
3.6 KiB
Plaintext
147 lines
3.6 KiB
Plaintext
#include maps\mp\zombies\_zm_riotshield;
|
|
#include maps\mp\_utility;
|
|
#include maps\mp\zombies\_zm_utility;
|
|
#include common_scripts\utility;
|
|
#include maps\mp\zombies\_zm_weap_riotshield;
|
|
#include maps\mp\zombies\_zm_buildables;
|
|
#include maps\mp\zombies\_zm_equipment;
|
|
#include maps\mp\zombies\_zm_weapons;
|
|
|
|
doriotshielddeploy(origin, angles)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("start_riotshield_deploy");
|
|
self notify("deployed_riotshield");
|
|
self maps\mp\zombies\_zm_buildables::track_placed_buildables(level.riotshield_name);
|
|
|
|
if (isdefined(self.current_equipment) && self.current_equipment == level.riotshield_name)
|
|
self maps\mp\zombies\_zm_equipment::equipment_to_deployed(level.riotshield_name);
|
|
|
|
zoffset = level.riotshield_placement_zoffset;
|
|
shield_ent = self spawnriotshieldcover(origin + (0, 0, zoffset), angles);
|
|
item_ent = deployriotshield(self, shield_ent);
|
|
primaries = self getweaponslistprimaries();
|
|
|
|
self maps\mp\zombies\_zm_weapons::switch_back_primary_weapon(self.riotshield_prev_wep);
|
|
|
|
if (isdefined(level.equipment_planted))
|
|
self [[level.equipment_planted]](shield_ent, level.riotshield_name, self);
|
|
|
|
if (isdefined(level.equipment_safe_to_drop))
|
|
{
|
|
if (!self [[level.equipment_safe_to_drop]](shield_ent))
|
|
{
|
|
self notify("destroy_riotshield");
|
|
shield_ent delete();
|
|
item_ent delete();
|
|
return;
|
|
}
|
|
}
|
|
|
|
self.riotshieldretrievetrigger = item_ent;
|
|
self.riotshieldentity = shield_ent;
|
|
self thread watchdeployedriotshieldents();
|
|
self thread deleteshieldondamage(self.riotshieldentity);
|
|
self thread deleteshieldmodelonweaponpickup(self.riotshieldretrievetrigger);
|
|
self thread deleteriotshieldonplayerdeath();
|
|
self thread watchshieldtriggervisibility(self.riotshieldretrievetrigger);
|
|
self.riotshieldentity thread watchdeployedriotshielddamage();
|
|
return shield_ent;
|
|
}
|
|
|
|
trackriotshield()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self.hasriotshield = self hasweapon(level.riotshield_name);
|
|
self.hasriotshieldequipped = self getcurrentweapon() == level.riotshield_name;
|
|
self.shield_placement = 0;
|
|
|
|
if (self.hasriotshield)
|
|
{
|
|
if (self.hasriotshieldequipped)
|
|
{
|
|
self.shield_placement = 1;
|
|
self updateriotshieldmodel();
|
|
}
|
|
else
|
|
{
|
|
self.shield_placement = 2;
|
|
self updateriotshieldmodel();
|
|
}
|
|
}
|
|
|
|
for (;;)
|
|
{
|
|
self waittill("weapon_change", newweapon);
|
|
|
|
foreach (wep in self getWeaponsListPrimaries())
|
|
{
|
|
if (wep == newweapon)
|
|
{
|
|
self.riotshield_prev_wep = newweapon;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (newweapon == level.riotshield_name)
|
|
{
|
|
if (self.hasriotshieldequipped)
|
|
continue;
|
|
|
|
if (isdefined(self.riotshieldentity))
|
|
self notify("destroy_riotshield");
|
|
|
|
self.shield_placement = 1;
|
|
self updateriotshieldmodel();
|
|
|
|
self.hasriotshield = 1;
|
|
self.hasriotshieldequipped = 1;
|
|
continue;
|
|
}
|
|
|
|
if (self ismantling() && newweapon == "none")
|
|
continue;
|
|
|
|
if (self.hasriotshieldequipped)
|
|
{
|
|
assert(self.hasriotshield);
|
|
self.hasriotshield = self hasweapon(level.riotshield_name);
|
|
|
|
if (isdefined(self.riotshield_hidden) && self.riotshield_hidden)
|
|
{
|
|
|
|
}
|
|
else if (self.hasriotshield)
|
|
self.shield_placement = 2;
|
|
else if (isdefined(self.shield_ent))
|
|
assert(self.shield_placement == 3);
|
|
else
|
|
self.shield_placement = 0;
|
|
|
|
self updateriotshieldmodel();
|
|
self.hasriotshieldequipped = 0;
|
|
continue;
|
|
}
|
|
|
|
if (self.hasriotshield)
|
|
{
|
|
if (!self hasweapon(level.riotshield_name))
|
|
{
|
|
self.shield_placement = 0;
|
|
self updateriotshieldmodel();
|
|
self.hasriotshield = 0;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if (self hasweapon(level.riotshield_name))
|
|
{
|
|
self.shield_placement = 2;
|
|
self updateriotshieldmodel();
|
|
self.hasriotshield = 1;
|
|
}
|
|
}
|
|
} |