mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-13 12:17:59 -05:00
Checked _zm_riotshield_prison.gsc
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
//checked includes match cerberus output
|
||||||
#include maps/mp/zombies/_zm_weapons;
|
#include maps/mp/zombies/_zm_weapons;
|
||||||
#include maps/mp/zombies/_zm_equipment;
|
#include maps/mp/zombies/_zm_equipment;
|
||||||
#include maps/mp/zombies/_zm_buildables;
|
#include maps/mp/zombies/_zm_buildables;
|
||||||
@ -6,7 +7,7 @@
|
|||||||
#include maps/mp/zombies/_zm_utility;
|
#include maps/mp/zombies/_zm_utility;
|
||||||
#include maps/mp/_utility;
|
#include maps/mp/_utility;
|
||||||
|
|
||||||
init()
|
init() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
level.riotshield_name = "alcatraz_shield_zm";
|
level.riotshield_name = "alcatraz_shield_zm";
|
||||||
level.deployedshieldmodel = [];
|
level.deployedshieldmodel = [];
|
||||||
@ -36,7 +37,7 @@ init()
|
|||||||
level.riotshield_placement_zoffset = 26;
|
level.riotshield_placement_zoffset = 26;
|
||||||
}
|
}
|
||||||
|
|
||||||
attachriotshield( model, tag )
|
attachriotshield( model, tag ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
if ( isDefined( self.prev_shield_model ) && isDefined( self.prev_shield_tag ) )
|
if ( isDefined( self.prev_shield_model ) && isDefined( self.prev_shield_tag ) )
|
||||||
{
|
{
|
||||||
@ -50,7 +51,7 @@ attachriotshield( model, tag )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
removeriotshield()
|
removeriotshield() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
if ( isDefined( self.prev_shield_model ) && isDefined( self.prev_shield_tag ) )
|
if ( isDefined( self.prev_shield_model ) && isDefined( self.prev_shield_tag ) )
|
||||||
{
|
{
|
||||||
@ -65,7 +66,7 @@ removeriotshield()
|
|||||||
self setheldweaponmodel( 0 );
|
self setheldweaponmodel( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
setriotshieldviewmodel( modelnum )
|
setriotshieldviewmodel( modelnum ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self.prev_shield_viewmodel = modelnum;
|
self.prev_shield_viewmodel = modelnum;
|
||||||
if ( self getcurrentweapon() != level.riotshield_name )
|
if ( self getcurrentweapon() != level.riotshield_name )
|
||||||
@ -82,7 +83,7 @@ setriotshieldviewmodel( modelnum )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
specialriotshieldviewmodel()
|
specialriotshieldviewmodel() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
if ( self getcurrentweapon() != level.riotshield_name )
|
if ( self getcurrentweapon() != level.riotshield_name )
|
||||||
{
|
{
|
||||||
@ -91,7 +92,7 @@ specialriotshieldviewmodel()
|
|||||||
self setheldweaponmodel( 3 );
|
self setheldweaponmodel( 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
restoreriotshieldviewmodel()
|
restoreriotshieldviewmodel() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
if ( self getcurrentweapon() != level.riotshield_name )
|
if ( self getcurrentweapon() != level.riotshield_name )
|
||||||
{
|
{
|
||||||
@ -107,7 +108,7 @@ restoreriotshieldviewmodel()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateriotshieldmodel()
|
updateriotshieldmodel() //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
if ( !isDefined( self.shield_damage_level ) )
|
if ( !isDefined( self.shield_damage_level ) )
|
||||||
{
|
{
|
||||||
@ -132,34 +133,28 @@ updateriotshieldmodel()
|
|||||||
if ( self.prev_shield_placement == 0 )
|
if ( self.prev_shield_placement == 0 )
|
||||||
{
|
{
|
||||||
self attachriotshield();
|
self attachriotshield();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if ( self.prev_shield_placement == 1 )
|
else if ( self.prev_shield_placement == 1 )
|
||||||
{
|
{
|
||||||
self attachriotshield( level.carriedshieldmodel[ self.prev_shield_damage_level ], "tag_weapon_left" );
|
self attachriotshield( level.carriedshieldmodel[ self.prev_shield_damage_level ], "tag_weapon_left" );
|
||||||
self setriotshieldviewmodel( self.prev_shield_damage_level );
|
self setriotshieldviewmodel( self.prev_shield_damage_level );
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if ( self.prev_shield_placement == 2 )
|
else if ( self.prev_shield_placement == 2 )
|
||||||
{
|
{
|
||||||
self attachriotshield( level.stowedshieldmodel[ self.prev_shield_damage_level ], "tag_stowed_back" );
|
self attachriotshield( level.stowedshieldmodel[ self.prev_shield_damage_level ], "tag_stowed_back" );
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else
|
else if ( self.prev_shield_placement == 3 )
|
||||||
{
|
{
|
||||||
if ( self.prev_shield_placement == 3 )
|
self attachriotshield();
|
||||||
|
if ( isDefined( self.shield_ent ) )
|
||||||
{
|
{
|
||||||
self attachriotshield();
|
self.shield_ent setmodel( level.deployedshieldmodel[ self.prev_shield_damage_level ] );
|
||||||
if ( isDefined( self.shield_ent ) )
|
|
||||||
{
|
|
||||||
self.shield_ent setmodel( level.deployedshieldmodel[ self.prev_shield_damage_level ] );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updatestandaloneriotshieldmodel()
|
updatestandaloneriotshieldmodel() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
update = 0;
|
update = 0;
|
||||||
if ( !isDefined( self.prev_shield_damage_level ) || self.prev_shield_damage_level != self.shield_damage_level )
|
if ( !isDefined( self.prev_shield_damage_level ) || self.prev_shield_damage_level != self.shield_damage_level )
|
||||||
@ -173,7 +168,7 @@ updatestandaloneriotshieldmodel()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
watchshieldlaststand()
|
watchshieldlaststand() //checked matches cerberus output used is_true() instead
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
@ -183,7 +178,7 @@ watchshieldlaststand()
|
|||||||
{
|
{
|
||||||
self waittill( "weapons_taken_for_last_stand" );
|
self waittill( "weapons_taken_for_last_stand" );
|
||||||
self.riotshield_hidden = 0;
|
self.riotshield_hidden = 0;
|
||||||
if ( isDefined( self.hasriotshield ) && self.hasriotshield )
|
if ( is_true( self.hasriotshield ) )
|
||||||
{
|
{
|
||||||
if ( self.prev_shield_placement == 1 || self.prev_shield_placement == 2 )
|
if ( self.prev_shield_placement == 1 || self.prev_shield_placement == 2 )
|
||||||
{
|
{
|
||||||
@ -209,12 +204,21 @@ watchshieldlaststand()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
trackriotshield()
|
|
||||||
|
|
||||||
|
trackriotshield() //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self.hasriotshield = self hasweapon( level.riotshield_name );
|
self.hasriotshield = self hasweapon( level.riotshield_name );
|
||||||
self.hasriotshieldequipped = self getcurrentweapon() == level.riotshield_name;
|
if ( self getcurrentweapon() == level.riotshield_name )
|
||||||
|
{
|
||||||
|
self.hasriotshieldequipped = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self.hasriotshieldequipped = 0;
|
||||||
|
}
|
||||||
self.shield_placement = 0;
|
self.shield_placement = 0;
|
||||||
if ( self.hasriotshield )
|
if ( self.hasriotshield )
|
||||||
{
|
{
|
||||||
@ -238,7 +242,7 @@ trackriotshield()
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( isDefined( self.riotshieldentity ) )
|
if ( isDefined( self.riotshieldentity ) )
|
||||||
{
|
{
|
||||||
self notify( "destroy_riotshield" );
|
self notify( "destroy_riotshield" );
|
||||||
}
|
}
|
||||||
@ -252,79 +256,74 @@ trackriotshield()
|
|||||||
self.hasriotshieldequipped = 1;
|
self.hasriotshieldequipped = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( self ismantling() && newweapon == "none" )
|
if ( self ismantling() && newweapon == "none" )
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
if ( self.hasriotshieldequipped )
|
||||||
{
|
{
|
||||||
if ( self.hasriotshieldequipped )
|
/*
|
||||||
|
/#
|
||||||
|
assert( self.hasriotshield );
|
||||||
|
#/
|
||||||
|
*/
|
||||||
|
self.hasriotshield = self hasweapon( level.riotshield_name );
|
||||||
|
if ( isDefined( self.riotshield_hidden ) && self.riotshield_hidden )
|
||||||
{
|
{
|
||||||
/#
|
|
||||||
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;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if ( isDefined( self.shield_ent ) )
|
|
||||||
{
|
|
||||||
/#
|
|
||||||
assert( self.shield_placement == 3 );
|
|
||||||
#/
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
self.shield_placement = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
self updateriotshieldmodel();
|
|
||||||
self.hasriotshieldequipped = 0;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
else if ( self.hasriotshield )
|
else if ( self.hasriotshield )
|
||||||
{
|
{
|
||||||
if ( !self hasweapon( level.riotshield_name ) )
|
self.shield_placement = 2;
|
||||||
{
|
break;
|
||||||
self.shield_placement = 0;
|
}
|
||||||
self updateriotshieldmodel();
|
else if ( isDefined( self.shield_ent ) )
|
||||||
self.hasriotshield = 0;
|
{
|
||||||
}
|
/*
|
||||||
|
/#
|
||||||
|
assert( self.shield_placement == 3 );
|
||||||
|
#/
|
||||||
|
*/
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( self hasweapon( level.riotshield_name ) )
|
self.shield_placement = 0;
|
||||||
{
|
|
||||||
self.shield_placement = 2;
|
|
||||||
self updateriotshieldmodel();
|
|
||||||
self.hasriotshield = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
self updateriotshieldmodel();
|
||||||
|
self.hasriotshieldequipped = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
trackequipmentchange()
|
trackequipmentchange() //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "equipment_dropped", equipname );
|
self waittill( "equipment_dropped", equipname );
|
||||||
self notify( "weapon_change" );
|
self notify( "weapon_change", self getcurrentweapon() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateriotshieldplacement()
|
updateriotshieldplacement() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
@ -344,18 +343,18 @@ updateriotshieldplacement()
|
|||||||
self specialriotshieldviewmodel();
|
self specialriotshieldviewmodel();
|
||||||
self setplacementhint( 0 );
|
self setplacementhint( 0 );
|
||||||
}
|
}
|
||||||
wait 0,05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
startriotshielddeploy()
|
startriotshielddeploy() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self notify( "start_riotshield_deploy" );
|
self notify( "start_riotshield_deploy" );
|
||||||
self thread updateriotshieldplacement();
|
self thread updateriotshieldplacement();
|
||||||
self thread watchriotshielddeploy();
|
self thread watchriotshielddeploy();
|
||||||
}
|
}
|
||||||
|
|
||||||
spawnriotshieldcover( origin, angles )
|
spawnriotshieldcover( origin, angles ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
shield_ent = spawn( "script_model", origin, 1 );
|
shield_ent = spawn( "script_model", origin, 1 );
|
||||||
shield_ent.angles = angles;
|
shield_ent.angles = angles;
|
||||||
@ -371,7 +370,7 @@ spawnriotshieldcover( origin, angles )
|
|||||||
return shield_ent;
|
return shield_ent;
|
||||||
}
|
}
|
||||||
|
|
||||||
watchriotshielddeploy()
|
watchriotshielddeploy() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
@ -404,7 +403,7 @@ watchriotshielddeploy()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
check_plant_position( origin, angles )
|
check_plant_position( origin, angles ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
if ( isDefined( level.equipment_safe_to_drop ) )
|
if ( isDefined( level.equipment_safe_to_drop ) )
|
||||||
{
|
{
|
||||||
@ -412,7 +411,7 @@ check_plant_position( origin, angles )
|
|||||||
test_ent = spawn( "script_model", origin );
|
test_ent = spawn( "script_model", origin );
|
||||||
test_ent setmodel( level.deployedshieldmodel[ 0 ] );
|
test_ent setmodel( level.deployedshieldmodel[ 0 ] );
|
||||||
test_ent.angles = angles;
|
test_ent.angles = angles;
|
||||||
if ( !( self [[ level.equipment_safe_to_drop ]]( test_ent ) ) )
|
if ( !self [[ level.equipment_safe_to_drop ]]( test_ent ) )
|
||||||
{
|
{
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
@ -422,7 +421,7 @@ check_plant_position( origin, angles )
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
doriotshielddeploy( origin, angles )
|
doriotshielddeploy( origin, angles ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
@ -437,11 +436,13 @@ doriotshielddeploy( origin, angles )
|
|||||||
shield_ent = self spawnriotshieldcover( origin + ( 0, 0, zoffset ), angles );
|
shield_ent = self spawnriotshieldcover( origin + ( 0, 0, zoffset ), angles );
|
||||||
item_ent = deployriotshield( self, shield_ent );
|
item_ent = deployriotshield( self, shield_ent );
|
||||||
primaries = self getweaponslistprimaries();
|
primaries = self getweaponslistprimaries();
|
||||||
|
/*
|
||||||
/#
|
/#
|
||||||
assert( isDefined( item_ent ) );
|
assert( isDefined( item_ent ) );
|
||||||
assert( !isDefined( self.riotshieldretrievetrigger ) );
|
assert( !isDefined( self.riotshieldretrievetrigger ) );
|
||||||
assert( !isDefined( self.riotshieldentity ) );
|
assert( !isDefined( self.riotshieldentity ) );
|
||||||
#/
|
#/
|
||||||
|
*/
|
||||||
self maps/mp/zombies/_zm_weapons::switch_back_primary_weapon( primaries[ 0 ] );
|
self maps/mp/zombies/_zm_weapons::switch_back_primary_weapon( primaries[ 0 ] );
|
||||||
if ( isDefined( level.equipment_planted ) )
|
if ( isDefined( level.equipment_planted ) )
|
||||||
{
|
{
|
||||||
@ -449,7 +450,7 @@ doriotshielddeploy( origin, angles )
|
|||||||
}
|
}
|
||||||
if ( isDefined( level.equipment_safe_to_drop ) )
|
if ( isDefined( level.equipment_safe_to_drop ) )
|
||||||
{
|
{
|
||||||
if ( !( self [[ level.equipment_safe_to_drop ]]( shield_ent ) ) )
|
if ( !self [[ level.equipment_safe_to_drop ]]( shield_ent ) )
|
||||||
{
|
{
|
||||||
self notify( "destroy_riotshield" );
|
self notify( "destroy_riotshield" );
|
||||||
shield_ent delete();
|
shield_ent delete();
|
||||||
@ -468,11 +469,13 @@ doriotshielddeploy( origin, angles )
|
|||||||
return shield_ent;
|
return shield_ent;
|
||||||
}
|
}
|
||||||
|
|
||||||
riotshielddistancetest( origin )
|
riotshielddistancetest( origin ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
/#
|
/#
|
||||||
assert( isDefined( origin ) );
|
assert( isDefined( origin ) );
|
||||||
#/
|
#/
|
||||||
|
*/
|
||||||
min_dist_squared = getDvarFloat( "riotshield_deploy_limit_radius" );
|
min_dist_squared = getDvarFloat( "riotshield_deploy_limit_radius" );
|
||||||
min_dist_squared *= min_dist_squared;
|
min_dist_squared *= min_dist_squared;
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -483,9 +486,11 @@ riotshielddistancetest( origin )
|
|||||||
dist_squared = distancesquared( level.players[ i ].riotshieldentity.origin, origin );
|
dist_squared = distancesquared( level.players[ i ].riotshieldentity.origin, origin );
|
||||||
if ( min_dist_squared > dist_squared )
|
if ( min_dist_squared > dist_squared )
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
/#
|
/#
|
||||||
println( "Shield placement denied! Failed distance check to other riotshields." );
|
println( "Shield placement denied! Failed distance check to other riotshields." );
|
||||||
#/
|
#/
|
||||||
|
*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -494,12 +499,14 @@ riotshielddistancetest( origin )
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
watchdeployedriotshieldents()
|
watchdeployedriotshieldents() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
/#
|
/#
|
||||||
assert( isDefined( self.riotshieldretrievetrigger ) );
|
assert( isDefined( self.riotshieldretrievetrigger ) );
|
||||||
assert( isDefined( self.riotshieldentity ) );
|
assert( isDefined( self.riotshieldentity ) );
|
||||||
#/
|
#/
|
||||||
|
*/
|
||||||
riotshieldretrievetrigger = self.riotshieldretrievetrigger;
|
riotshieldretrievetrigger = self.riotshieldretrievetrigger;
|
||||||
riotshieldentity = self.riotshieldentity;
|
riotshieldentity = self.riotshieldentity;
|
||||||
self waittill_any( "destroy_riotshield", "disconnect", "alcatraz_shield_zm_taken" );
|
self waittill_any( "destroy_riotshield", "disconnect", "alcatraz_shield_zm_taken" );
|
||||||
@ -518,7 +525,7 @@ watchdeployedriotshieldents()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
watchdeployedriotshielddamage()
|
watchdeployedriotshielddamage() //checked changed to match cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
damagemax = getDvarInt( "riotshield_deployed_health" );
|
damagemax = getDvarInt( "riotshield_deployed_health" );
|
||||||
@ -542,7 +549,7 @@ watchdeployedriotshielddamage()
|
|||||||
assert( isDefined( self.owner.team ) );
|
assert( isDefined( self.owner.team ) );
|
||||||
}
|
}
|
||||||
#/
|
#/
|
||||||
while ( is_encounter() && attacker.team == self.owner.team && attacker != self.owner )
|
if ( is_encounter() && attacker.team == self.owner.team && attacker != self.owner )
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -551,41 +558,32 @@ watchdeployedriotshielddamage()
|
|||||||
self.owner [[ level.riotshield_damage_callback ]]( damage, 0 );
|
self.owner [[ level.riotshield_damage_callback ]]( damage, 0 );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else if ( type == "MOD_MELEE" )
|
||||||
{
|
{
|
||||||
if ( type == "MOD_MELEE" )
|
damage *= getDvarFloat( "riotshield_melee_damage_scale" );
|
||||||
{
|
}
|
||||||
damage *= getDvarFloat( "riotshield_melee_damage_scale" );
|
else if ( type == "MOD_PISTOL_BULLET" || type == "MOD_RIFLE_BULLET" )
|
||||||
}
|
{
|
||||||
else if ( type == "MOD_PISTOL_BULLET" || type == "MOD_RIFLE_BULLET" )
|
damage *= getDvarFloat( "riotshield_bullet_damage_scale" );
|
||||||
{
|
}
|
||||||
damage *= getDvarFloat( "riotshield_bullet_damage_scale" );
|
if ( type == "MOD_GRENADE" || type == "MOD_GRENADE_SPLASH" || type == "MOD_EXPLOSIVE" || type == "MOD_EXPLOSIVE_SPLASH" || type == "MOD_PROJECTILE" || type == "MOD_PROJECTILE_SPLASH" )
|
||||||
}
|
{
|
||||||
else
|
damage *= getDvarFloat( "riotshield_explosive_damage_scale" );
|
||||||
{
|
break;
|
||||||
if ( type != "MOD_GRENADE" && type != "MOD_GRENADE_SPLASH" && type != "MOD_EXPLOSIVE" && type != "MOD_EXPLOSIVE_SPLASH" || type == "MOD_PROJECTILE" && type == "MOD_PROJECTILE_SPLASH" )
|
}
|
||||||
{
|
else if ( type == "MOD_IMPACT" )
|
||||||
damage *= getDvarFloat( "riotshield_explosive_damage_scale" );
|
{
|
||||||
break;
|
damage *= getDvarFloat( "riotshield_projectile_damage_scale" );
|
||||||
}
|
}
|
||||||
else
|
self.damagetaken += damage;
|
||||||
{
|
if ( self.damagetaken >= damagemax )
|
||||||
if ( type == "MOD_IMPACT" )
|
{
|
||||||
{
|
self damagethendestroyriotshield();
|
||||||
damage *= getDvarFloat( "riotshield_projectile_damage_scale" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
self.damagetaken += damage;
|
|
||||||
if ( self.damagetaken >= damagemax )
|
|
||||||
{
|
|
||||||
self damagethendestroyriotshield();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
damagethendestroyriotshield()
|
damagethendestroyriotshield() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self.owner.riotshieldretrievetrigger delete();
|
self.owner.riotshieldretrievetrigger delete();
|
||||||
@ -595,13 +593,13 @@ damagethendestroyriotshield()
|
|||||||
self.owner notify( "destroy_riotshield" );
|
self.owner notify( "destroy_riotshield" );
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteshieldondamage( shield_ent )
|
deleteshieldondamage( shield_ent ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
shield_ent waittill( "death" );
|
shield_ent waittill( "death" );
|
||||||
self notify( "destroy_riotshield" );
|
self notify( "destroy_riotshield" );
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteshieldmodelonweaponpickup( shield_trigger )
|
deleteshieldmodelonweaponpickup( shield_trigger ) //checked matches cerberus output
|
||||||
{
|
{
|
||||||
shield_trigger waittill( "trigger", player );
|
shield_trigger waittill( "trigger", player );
|
||||||
self maps/mp/zombies/_zm_equipment::equipment_from_deployed( level.riotshield_name );
|
self maps/mp/zombies/_zm_equipment::equipment_from_deployed( level.riotshield_name );
|
||||||
@ -615,18 +613,15 @@ deleteshieldmodelonweaponpickup( shield_trigger )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
watchshieldtriggervisibility( trigger )
|
watchshieldtriggervisibility( trigger ) //checked partially changed to match cerberus output see compiler_limitations.md No. 2
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
trigger endon( "death" );
|
trigger endon( "death" );
|
||||||
while ( isDefined( trigger ) )
|
while ( isDefined( trigger ) )
|
||||||
{
|
{
|
||||||
players = get_players();
|
players = get_players();
|
||||||
_a759 = players;
|
foreach ( player in players )
|
||||||
_k759 = getFirstArrayKey( _a759 );
|
|
||||||
while ( isDefined( _k759 ) )
|
|
||||||
{
|
{
|
||||||
player = _a759[ _k759 ];
|
|
||||||
pickup = 1;
|
pickup = 1;
|
||||||
if ( !isDefined( player ) )
|
if ( !isDefined( player ) )
|
||||||
{
|
{
|
||||||
@ -634,7 +629,7 @@ watchshieldtriggervisibility( trigger )
|
|||||||
else if ( is_true( player.afterlife ) )
|
else if ( is_true( player.afterlife ) )
|
||||||
{
|
{
|
||||||
trigger setinvisibletoplayer( player );
|
trigger setinvisibletoplayer( player );
|
||||||
wait 0,05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -654,15 +649,14 @@ watchshieldtriggervisibility( trigger )
|
|||||||
{
|
{
|
||||||
trigger setinvisibletoplayer( player );
|
trigger setinvisibletoplayer( player );
|
||||||
}
|
}
|
||||||
wait 0,05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
_k759 = getNextArrayKey( _a759, _k759 );
|
|
||||||
}
|
}
|
||||||
wait 0,05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteriotshieldonplayerdeath()
|
deleteriotshieldonplayerdeath() //checked matches cerberus output
|
||||||
{
|
{
|
||||||
self.riotshieldentity endon( "death" );
|
self.riotshieldentity endon( "death" );
|
||||||
self waittill( "death" );
|
self waittill( "death" );
|
||||||
|
Reference in New Issue
Block a user