964 lines
30 KiB
Plaintext
964 lines
30 KiB
Plaintext
#include maps\mp\_utility;
|
|
#include maps\mp\alien\_utility;
|
|
#include maps\mp\alien\_perk_utility;
|
|
|
|
init_perk_none()
|
|
{
|
|
perk_data = spawnStruct();
|
|
return perk_data;
|
|
}
|
|
|
|
|
|
set_perk_none()
|
|
{
|
|
|
|
}
|
|
|
|
unset_perk_none()
|
|
{
|
|
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
/// Tank Perks ///
|
|
////////////////////////////////////////
|
|
|
|
DEFAULT_MAX_HEALTH = 100;
|
|
LEVEL_0_MAX_HEALTH = 125;
|
|
LEVEL_1_MAX_HEALTH = 125;
|
|
LEVEL_2_MAX_HEALTH = 150;
|
|
LEVEL_3_MAX_HEALTH = 175;
|
|
LEVEL_4_MAX_HEALTH = 200;
|
|
|
|
DEFAULT_MELEE_SCALAR = 1.0;
|
|
LEVEL_1_MELEE_SCALAR = 1.25;
|
|
LEVEL_3_MELEE_SCALAR = 1.5;
|
|
LEVEL_4_MELEE_SCALAR = 2.0;
|
|
|
|
init_perk_health()
|
|
{
|
|
perk_data = spawnStruct();
|
|
|
|
perk_data.melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
|
|
return perk_data;
|
|
}
|
|
|
|
set_perk_health_level_0()
|
|
{
|
|
self.perk_data[ "health" ].max_health = LEVEL_0_MAX_HEALTH;
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
unset_perk_health_level_0()
|
|
{
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
set_perk_health_level_1()
|
|
{
|
|
self.perk_data[ "health" ].max_health = LEVEL_1_MAX_HEALTH;
|
|
self.maxhealth = self.perk_data[ "health" ].max_health;
|
|
self notify( "health_perk_upgrade" );
|
|
self.perk_data[ "health" ].melee_scalar = LEVEL_1_MELEE_SCALAR;
|
|
}
|
|
|
|
unset_perk_health_level_1()
|
|
{
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
set_perk_health_level_2()
|
|
{
|
|
self.perk_data[ "health" ].max_health = LEVEL_2_MAX_HEALTH;
|
|
self.maxhealth = self.perk_data[ "health" ].max_health;
|
|
self notify( "health_perk_upgrade" );
|
|
self.perk_data[ "health" ].melee_scalar = LEVEL_1_MELEE_SCALAR;
|
|
}
|
|
|
|
unset_perk_health_level_2()
|
|
{
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
set_perk_health_level_3()
|
|
{
|
|
self.perk_data[ "health" ].max_health = LEVEL_3_MAX_HEALTH;
|
|
self.maxhealth = self.perk_data[ "health" ].max_health;
|
|
self notify( "health_perk_upgrade" );
|
|
self.perk_data[ "health" ].melee_scalar = LEVEL_3_MELEE_SCALAR;
|
|
}
|
|
|
|
unset_perk_health_level_3()
|
|
{
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
set_perk_health_level_4()
|
|
{
|
|
self.perk_data[ "health" ].max_health = LEVEL_4_MAX_HEALTH;
|
|
self.maxhealth = self.perk_data[ "health" ].max_health;
|
|
self notify( "health_perk_upgrade" );
|
|
self.perk_data[ "health" ].melee_scalar = LEVEL_4_MELEE_SCALAR;
|
|
}
|
|
|
|
unset_perk_health_level_4()
|
|
{
|
|
self.perk_data[ "health" ].melee_scalar = DEFAULT_MELEE_SCALAR;
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
/// Weapon Specialist Perks ///
|
|
//////////////////////////////////////
|
|
|
|
DEFAULT_BULLET_DAMAGE_SCALAR = 1.0;
|
|
LEVEL_0_BULLET_DAMAGE_SCALAR = 1.2;
|
|
|
|
LEVEL_2_BULLET_DAMAGE_SCALAR = 1.3;
|
|
LEVEL_3_BULLET_DAMAGE_SCALAR = 1.4;
|
|
LEVEL_4_BULLET_DAMAGE_SCALAR = 1.5;
|
|
|
|
|
|
init_perk_bullet_damage()
|
|
{
|
|
perk_data = spawnStruct();
|
|
|
|
perk_data.bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
|
|
return perk_data;
|
|
}
|
|
|
|
set_perk_bullet_damage_0()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = LEVEL_0_BULLET_DAMAGE_SCALAR;
|
|
}
|
|
|
|
unset_perk_bullet_damage_0()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
}
|
|
|
|
set_perk_bullet_damage_1()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = LEVEL_0_BULLET_DAMAGE_SCALAR;
|
|
self givePerk( "specialty_quickswap", false );
|
|
self givePerk( "specialty_stalker", false );
|
|
self givePerk( "specialty_fastoffhand", false );
|
|
}
|
|
|
|
unset_perk_bullet_damage_1()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
self _unsetPerk( "specialty_quickswap" );
|
|
self _unsetPerk( "specialty_stalker" );
|
|
self _unsetPerk( "specialty_fastoffhand" );
|
|
}
|
|
|
|
set_perk_bullet_damage_2()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = LEVEL_0_BULLET_DAMAGE_SCALAR;
|
|
self givePerk( "specialty_quickswap", false );
|
|
self givePerk( "specialty_stalker", false );
|
|
self givePerk( "specialty_fastoffhand", false );
|
|
self givePerk( "specialty_quickdraw", false );
|
|
}
|
|
|
|
unset_perk_bullet_damage_2()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
self _unsetPerk( "specialty_quickswap" );
|
|
self _unsetPerk( "specialty_stalker" );
|
|
self _unsetPerk( "specialty_fastoffhand" );
|
|
self _unsetPerk( "specialty_quickdraw" );
|
|
}
|
|
|
|
set_perk_bullet_damage_3()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = LEVEL_0_BULLET_DAMAGE_SCALAR;
|
|
self givePerk( "specialty_quickswap", false );
|
|
self givePerk( "specialty_stalker", false );
|
|
self givePerk( "specialty_fastoffhand", false );
|
|
self givePerk( "specialty_quickdraw", false );
|
|
self givePerk( "specialty_fastreload", false );
|
|
}
|
|
|
|
unset_perk_bullet_damage_3()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
self _unsetPerk( "specialty_quickswap" );
|
|
self _unsetPerk( "specialty_stalker" );
|
|
self _unsetPerk( "specialty_fastoffhand" );
|
|
self _unsetPerk( "specialty_quickdraw" );
|
|
self givePerk( "specialty_fastreload", false );
|
|
}
|
|
|
|
set_perk_bullet_damage_4()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = LEVEL_4_BULLET_DAMAGE_SCALAR;
|
|
self givePerk( "specialty_quickswap", false );
|
|
self givePerk( "specialty_stalker", false );
|
|
self givePerk( "specialty_fastoffhand", false );
|
|
self givePerk( "specialty_quickdraw", false );
|
|
self setaimspreadmovementscale( 0.5 );
|
|
|
|
self givePerk( "specialty_fastreload", false );
|
|
}
|
|
|
|
unset_perk_bullet_damage_4()
|
|
{
|
|
self.perk_data[ "damagemod" ].bullet_damage_scalar = DEFAULT_BULLET_DAMAGE_SCALAR;
|
|
self _unsetPerk( "specialty_quickswap" );
|
|
self _unsetPerk( "specialty_stalker" );
|
|
self _unsetPerk( "specialty_fastoffhand" );
|
|
self _unsetPerk( "specialty_quickdraw" );
|
|
self setaimspreadmovementscale( 1.0 );
|
|
|
|
self _unsetPerk( "specialty_fastreload" );
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
/// perk_medic ///
|
|
////////////////////////////////////////
|
|
|
|
DEFAULT_GAS_DAMAGE_SCALAR = 1.0;
|
|
LEVEL_1_MEDIC_GAS_DAMAGE_SCALAR = 0.0;
|
|
|
|
DEFAULT_REVIVE_TIME_SCALAR = 1.0;
|
|
LEVEL_0_MEDIC_REVIVE_TIME_SCALAR = 1.5;
|
|
LEVEL_2_MEDIC_REGEN_RATE = 5.0; // 5 points per second to nearby allies
|
|
LEVEL_2_MEDIC_HEALTH_REGEN_DIST_SQR = 65536.0; // 256.0 * 256.0
|
|
|
|
LEVEL_4_MEDIC_HEALTH_REGEN_DIST_SQR = 0.0; // Infinite distance
|
|
|
|
DEFAULT_MOVE_SPEED_SCALAR = 1.0;
|
|
LEVEL_2_MOVE_SPEED_SCALAR = 1.06;
|
|
LEVEL_4_MOVE_SPEED_SCALAR = 1.12;
|
|
|
|
DEFAULT_REVIVE_DAMAGE_SCALAR = 1.0;
|
|
LEVEL_3_REVIVE_DAMAGE_SCALAR = 0.75;
|
|
|
|
init_perk_medic()
|
|
{
|
|
perk_data = spawnStruct();
|
|
|
|
perk_data.revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
perk_data.gas_damage_scalar = DEFAULT_GAS_DAMAGE_SCALAR;
|
|
perk_data.move_speed_scalar = DEFAULT_MOVE_SPEED_SCALAR;
|
|
perk_data.revive_damage_scalar = DEFAULT_REVIVE_DAMAGE_SCALAR;
|
|
|
|
return perk_data;
|
|
}
|
|
|
|
set_perk_medic_0()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = LEVEL_0_MEDIC_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
}
|
|
|
|
unset_perk_medic_0()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = DEFAULT_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
|
|
}
|
|
|
|
set_perk_medic_1()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = LEVEL_0_MEDIC_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = LEVEL_2_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = LEVEL_3_REVIVE_DAMAGE_SCALAR;
|
|
}
|
|
|
|
unset_perk_medic_1()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = DEFAULT_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = DEFAULT_REVIVE_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
set_perk_medic_2()
|
|
{
|
|
self givePerk( "specialty_longersprint", false );
|
|
self thread medic_health_regen( LEVEL_2_MEDIC_HEALTH_REGEN_DIST_SQR );
|
|
self.perk_data[ "medic" ].revive_time_scalar = LEVEL_0_MEDIC_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = LEVEL_2_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = LEVEL_3_REVIVE_DAMAGE_SCALAR;
|
|
}
|
|
|
|
unset_perk_medic_2()
|
|
{
|
|
self _unsetPerk( "specialty_longersprint" );
|
|
self notify( "end_medic_health_regen" );
|
|
self.perk_data[ "medic" ].revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = DEFAULT_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = DEFAULT_REVIVE_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
set_perk_medic_3()
|
|
{
|
|
|
|
self.perk_data[ "medic" ].gas_damage_scalar = LEVEL_1_MEDIC_GAS_DAMAGE_SCALAR;
|
|
self givePerk( "specialty_longersprint", false );
|
|
self thread medic_health_regen( LEVEL_2_MEDIC_HEALTH_REGEN_DIST_SQR );
|
|
self.perk_data[ "medic" ].revive_time_scalar = LEVEL_0_MEDIC_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = LEVEL_2_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = LEVEL_3_REVIVE_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
unset_perk_medic_3()
|
|
{
|
|
|
|
self.perk_data[ "medic" ].gas_damage_scalar = DEFAULT_GAS_DAMAGE_SCALAR;
|
|
self _unsetPerk( "specialty_longersprint" );
|
|
self notify( "end_medic_health_regen" );
|
|
self.perk_data[ "medic" ].revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
self.moveSpeedScaler = DEFAULT_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self.perk_data[ "medic" ].revive_damage_scalar = DEFAULT_REVIVE_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
set_perk_medic_4()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = LEVEL_0_MEDIC_REVIVE_TIME_SCALAR;
|
|
self.perk_data[ "medic" ].gas_damage_scalar = LEVEL_1_MEDIC_GAS_DAMAGE_SCALAR;
|
|
self thread medic_health_regen( LEVEL_4_MEDIC_HEALTH_REGEN_DIST_SQR );
|
|
self.moveSpeedScaler = LEVEL_4_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self givePerk( "specialty_longersprint", false );
|
|
self givePerk( "specialty_fastsprintrecovery", false );
|
|
self.perk_data[ "medic" ].revive_damage_scalar = LEVEL_3_REVIVE_DAMAGE_SCALAR;
|
|
}
|
|
|
|
unset_perk_medic_4()
|
|
{
|
|
self.perk_data[ "medic" ].revive_time_scalar = DEFAULT_REVIVE_TIME_SCALAR;
|
|
self.perk_data[ "medic" ].gas_damage_scalar = DEFAULT_GAS_DAMAGE_SCALAR;
|
|
self notify( "end_medic_health_regen" );
|
|
self.moveSpeedScaler = DEFAULT_MOVE_SPEED_SCALAR * self maps\mp\alien\_prestige::prestige_getMoveSlowScalar();
|
|
self.perk_data[ "medic" ].move_speed_scalar = self.moveSpeedScaler;
|
|
self _unsetPerk( "specialty_longersprint" );
|
|
self _unsetPerk( "specialty_fastsprintrecovery" );
|
|
self.perk_data[ "medic" ].revive_damage_scalar = DEFAULT_REVIVE_DAMAGE_SCALAR;
|
|
}
|
|
|
|
medic_health_regen( dist_sqr )
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
self endon( "end_medic_health_regen" );
|
|
do_dist_check = dist_sqr > 0.0;
|
|
while ( 1 )
|
|
{
|
|
foreach ( player in level.players ) // Includes self
|
|
{
|
|
if ( isReallyAlive( player )
|
|
&& !isDefined( player.medic_regeneration ) )
|
|
{
|
|
if ( do_dist_check && DistanceSquared( self.origin, player.origin ) > dist_sqr )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
player thread medic_regenerate_health_once();
|
|
}
|
|
}
|
|
wait 1.0;
|
|
}
|
|
}
|
|
|
|
medic_regenerate_health_once()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
if ( !self has_fragile_relic_and_is_sprinting() )
|
|
{
|
|
self.medic_regeneration = true;
|
|
wait 1.0;
|
|
self.health = int( min( self.maxhealth, self.health + LEVEL_2_MEDIC_REGEN_RATE ) );
|
|
self.medic_regeneration = undefined;
|
|
}
|
|
}
|
|
|
|
|
|
////////////////////////////////////////
|
|
/// Engineer Perks ///
|
|
////////////////////////////////////////
|
|
|
|
DEFAULT_DRILL_HEALTH_SCALAR = 1.0;
|
|
LEVEL_0_DRILL_HEALTH_SCALAR = 1.256;
|
|
DEFAULT_DRILL_TIME_SCALAR = 1.0;
|
|
LEVEL_1_DRILL_TIME_SCALAR = 0.5;
|
|
DEFAULT_TRAP_COST_SCALAR = 1;
|
|
LEVEL_2_TRAP_COST_SCALAR = 0.8;
|
|
DEFAULT_TRAP_DURATION_SCALAR = 1;
|
|
LEVEL_3_TRAP_DURATION_SCALAR = 1.5;
|
|
DEFAULT_TRAP_DAMAGE_SCALAR = 1;
|
|
LEVEL_4_TRAP_DAMAGE_SCALAR = 2;
|
|
DEFAULT_MONEY_SCALE_PER_HIVE = 1.0;
|
|
LEVEL_0_MONEY_SCALE_PER_HIVE = 1.2;
|
|
DEFAULT_WALLET_SIZE = 6000;
|
|
LEVEL_4_WALLET_SIZE = 8000;
|
|
DEFAULT_EXPLOSIVE_DAMAGE_SCALAR = 1.0;
|
|
LEVEL_4_EXPLOSIVE_DAMAGE_SCALAR = 1.5;
|
|
DEFAULT_REPAIR_DAMAGE_SCALAR = 1.0;
|
|
LEVEL_3_REPAIR_DAMAGE_SCALAR = 0.75;
|
|
|
|
|
|
init_perk_rigger()
|
|
{
|
|
perk_data = spawnStruct();
|
|
perk_data.drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
perk_data.drill_time_scalar = DEFAULT_DRILL_TIME_SCALAR;
|
|
perk_data.trap_cost_scalar = DEFAULT_TRAP_COST_SCALAR;
|
|
perk_data.trap_duration_scalar = DEFAULT_TRAP_DURATION_SCALAR;
|
|
perk_data.trap_damage_scalar = DEFAULT_TRAP_DAMAGE_SCALAR;
|
|
perk_data.currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
perk_data.explosive_damage_scalar = DEFAULT_EXPLOSIVE_DAMAGE_SCALAR;
|
|
perk_data.repair_damage_scalar = DEFAULT_REPAIR_DAMAGE_SCALAR;
|
|
|
|
return perk_data;
|
|
}
|
|
|
|
set_perk_rigger_0()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = LEVEL_0_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = LEVEL_0_MONEY_SCALE_PER_HIVE;
|
|
}
|
|
|
|
unset_perk_rigger_0()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
}
|
|
|
|
set_perk_rigger_1()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = LEVEL_0_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = LEVEL_0_MONEY_SCALE_PER_HIVE;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = LEVEL_1_DRILL_TIME_SCALAR;
|
|
|
|
}
|
|
|
|
unset_perk_rigger_1()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = DEFAULT_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
}
|
|
|
|
set_perk_rigger_2()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = LEVEL_0_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = LEVEL_0_MONEY_SCALE_PER_HIVE;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = LEVEL_1_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = LEVEL_2_TRAP_COST_SCALAR;
|
|
|
|
}
|
|
|
|
unset_perk_rigger_2()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = DEFAULT_TRAP_COST_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = DEFAULT_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
}
|
|
|
|
set_perk_rigger_3()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = LEVEL_0_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = LEVEL_0_MONEY_SCALE_PER_HIVE;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = LEVEL_1_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = LEVEL_2_TRAP_COST_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_duration_scalar = LEVEL_3_TRAP_DURATION_SCALAR;
|
|
self.perk_data[ "rigger" ].repair_damage_scalar = LEVEL_3_REPAIR_DAMAGE_SCALAR;
|
|
}
|
|
|
|
unset_perk_rigger_3()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = DEFAULT_TRAP_COST_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = DEFAULT_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_duration_scalar = DEFAULT_TRAP_DURATION_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
self.perk_data[ "rigger" ].repair_damage_scalar = DEFAULT_REPAIR_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
set_perk_rigger_4()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = LEVEL_0_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = LEVEL_0_MONEY_SCALE_PER_HIVE;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = LEVEL_1_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = LEVEL_2_TRAP_COST_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_duration_scalar = LEVEL_3_TRAP_DURATION_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_damage_scalar = LEVEL_4_TRAP_DAMAGE_SCALAR;
|
|
self maps\mp\alien\_persistence::set_player_max_currency( LEVEL_4_WALLET_SIZE * maps\mp\alien\_prestige::prestige_getWalletSizeScalar() );
|
|
self.perk_data[ "rigger" ].repair_damage_scalar = LEVEL_3_REPAIR_DAMAGE_SCALAR;
|
|
self.perk_data[ "rigger" ].explosive_damage_scalar = LEVEL_4_EXPLOSIVE_DAMAGE_SCALAR;
|
|
|
|
}
|
|
|
|
unset_perk_rigger_4()
|
|
{
|
|
self.perk_data[ "rigger" ].drill_health_scalar = DEFAULT_DRILL_HEALTH_SCALAR;
|
|
self.perk_data[ "rigger" ].drill_time_scalar = DEFAULT_TRAP_COST_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_cost_scalar = DEFAULT_DRILL_TIME_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_duration_scalar = DEFAULT_TRAP_DURATION_SCALAR;
|
|
self.perk_data[ "rigger" ].trap_damage_scalar = DEFAULT_TRAP_DAMAGE_SCALAR;
|
|
self.perk_data[ "rigger" ].currency_scale_per_hive = DEFAULT_MONEY_SCALE_PER_HIVE;
|
|
self maps\mp\alien\_persistence::set_player_max_currency( DEFAULT_WALLET_SIZE * maps\mp\alien\_prestige::prestige_getWalletSizeScalar() );
|
|
self.perk_data[ "rigger" ].repair_damage_scalar = DEFAULT_REPAIR_DAMAGE_SCALAR;
|
|
self.perk_data[ "rigger" ].explosive_damage_scalar = DEFAULT_EXPLOSIVE_DAMAGE_SCALAR;
|
|
}
|
|
|
|
|
|
////////////////////////////////////////
|
|
/// Pistol Perk Data Init ///
|
|
////////////////////////////////////////
|
|
|
|
init_perk_pistol()
|
|
{
|
|
perk_data = spawnStruct();
|
|
perk_data.pistol_overkill = false;
|
|
perk_data.pistol_regen = false;
|
|
|
|
return perk_data;
|
|
}
|
|
|
|
check_for_pistol_ammo( base_pistol_name, full_pistol_name )
|
|
{
|
|
self.lastWeapon = self GetCurrentWeapon();
|
|
self.pistol_clip_ammo_right = self GetWeaponAmmoClip( full_pistol_name, "right" );
|
|
self.pistol_ammo_remaining = self GetWeaponAmmoStock( full_pistol_name );
|
|
}
|
|
|
|
give_new_pistol( new_pistol_name )
|
|
{
|
|
pistol = new_pistol_name;
|
|
self _giveWeapon( pistol );
|
|
self SetWeaponAmmoClip( pistol, self.pistol_clip_ammo_right, "right" );
|
|
self SetWeaponAmmoStock( pistol, self.pistol_ammo_remaining );
|
|
weaponlist = self GetWeaponsListPrimaries();
|
|
if ( !self HasWeapon( self.lastWeapon ) && !self has_special_weapon() && !self is_holding_deployable() )
|
|
self SwitchToWeapon( pistol );
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
/// Pistol P226 Perk ///
|
|
////////////////////////////////////////
|
|
|
|
set_perk_pistol_p226_0()
|
|
{
|
|
}
|
|
|
|
unset_perk_pistol_p226_0()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienp226_mp" );
|
|
}
|
|
|
|
set_perk_pistol_p226_1()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienp226_mp_alienmuzzlebrakepi" );
|
|
else
|
|
self give_new_pistol( "iw6_alienp226_mp_barrelrange02" );
|
|
//We are setting combatspeedscalar for all pistol Rank 1.
|
|
}
|
|
|
|
unset_perk_pistol_p226_1()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienp226_mp" );
|
|
}
|
|
|
|
set_perk_pistol_p226_2()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienp226_mp_alienmuzzlebrakepi_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienp226_mp_barrelrange02_xmags" );
|
|
}
|
|
|
|
unset_perk_pistol_p226_2()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienp226_mp" );
|
|
}
|
|
|
|
set_perk_pistol_p226_3()
|
|
{
|
|
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienp226_mp_alienmuzzlebrakepi_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienp226_mp_barrelrange02_xmags" );
|
|
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_p226_3()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienp226_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
set_perk_pistol_p226_4()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienp226_mp_akimbo_alienmuzzlebrakepi_xmags" );
|
|
else
|
|
self give_new_pistol( "iw5_alienp226_mp_akimbo_barrelrange02_xmags" );
|
|
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_p226_4()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw5_alienp226_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
////////////////////////////////////////
|
|
/// Pistol Magnum Perk ///
|
|
////////////////////////////////////////
|
|
|
|
set_perk_pistol_magnum_0()
|
|
{
|
|
|
|
}
|
|
|
|
unset_perk_pistol_magnum_0()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmagnum_mp" );
|
|
}
|
|
|
|
set_perk_pistol_magnum_1()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && !self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_barrelrange02_scope5" );
|
|
else if ( !self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_alienmuzzlebrakepi" );
|
|
else if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_alienmuzzlebrakepi_scope5" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmagnum_mp_barrelrange02" );
|
|
}
|
|
|
|
unset_perk_pistol_magnum_1()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmagnum_mp" );
|
|
}
|
|
|
|
set_perk_pistol_magnum_2()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && !self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_barrelrange02_xmags_scope5" );
|
|
else if ( !self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_alienmuzzlebrakepi_xmags" );
|
|
else if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_alienmuzzlebrakepi_xmags_scope5" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmagnum_mp_barrelrange02_xmags" );
|
|
}
|
|
|
|
unset_perk_pistol_magnum_2()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmagnum_mp" );
|
|
}
|
|
|
|
set_perk_pistol_magnum_3()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && !self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_barrelrange02_xmags_scope5" );
|
|
else if ( !self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_alienmuzzlebrakepi_xmags" );
|
|
else if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmagnum_mp_acogpistol_alienmuzzlebrakepi_xmags_scope5" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmagnum_mp_barrelrange02_xmags" );
|
|
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_magnum_3()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmagnum_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
set_perk_pistol_magnum_4()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && !self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienmagnum_mp_acogpistol_akimbo_barrelrange02_xmags_scope5" );
|
|
else if ( !self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienmagnum_mp_akimbo_alienmuzzlebrakepi_xmags" );
|
|
else if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "magnum_acog_upgrade" ) && self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienmagnum_mp_acogpistol_akimbo_alienmuzzlebrakepi_xmags_scope5" );
|
|
else
|
|
self give_new_pistol( "iw5_alienmagnum_mp_akimbo_barrelrange02_xmags" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_magnum_4()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw5_alienmagnum_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
|
|
////////////////////////////////////////
|
|
/// Pistol M9A1 Perk ///
|
|
////////////////////////////////////////
|
|
|
|
|
|
set_perk_pistol_m9a1_0()
|
|
{
|
|
|
|
}
|
|
|
|
unset_perk_pistol_m9a1_0()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienm9a1_mp" );
|
|
}
|
|
|
|
set_perk_pistol_m9a1_1()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienm9a1_mp_alienmuzzlebrakep3" );
|
|
else
|
|
self give_new_pistol( "iw6_alienm9a1_mp_barrelrange02" );
|
|
}
|
|
|
|
unset_perk_pistol_m9a1_1()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienm9a1_mp" );
|
|
}
|
|
|
|
set_perk_pistol_m9a1_2()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienm9a1_mp_alienmuzzlebrakep3_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienm9a1_mp_barrelrange02_xmags" );
|
|
}
|
|
|
|
unset_perk_pistol_m9a1_2()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienm9a1_mp" );
|
|
}
|
|
|
|
set_perk_pistol_m9a1_3()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienm9a1_mp_alienmuzzlebrakep3_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienm9a1_mp_barrelrange02_xmags" );
|
|
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_m9a1_3()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienm9a1_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
set_perk_pistol_m9a1_4()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienm9a1_mp_akimbo_alienmuzzlebrakep3_xmags" );
|
|
else
|
|
self give_new_pistol( "iw5_alienm9a1_mp_akimbo_barrelrange02_xmags" );
|
|
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_m9a1_4()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw5_alienm9a1_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
/*
|
|
get_current_pistol()
|
|
{
|
|
weap_list = self GetWeaponsListPrimaries();
|
|
foreach ( weap in weap_list )
|
|
{
|
|
weap_class = getWeaponClass ( weap );
|
|
if ( weap_class == "weapon_pistol" )
|
|
{
|
|
return weap;
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
store_ammo_and_take_pistol( baseweapon )
|
|
{
|
|
current_pistol = self get_current_pistol();
|
|
self check_for_pistol_ammo ( baseweapon, current_pistol );
|
|
self TakeWeapon( current_pistol );
|
|
}
|
|
|
|
|
|
////////////////////////////////////////
|
|
/// Pistol MP443 Perk ///
|
|
////////////////////////////////////////
|
|
|
|
|
|
set_perk_pistol_mp443_0()
|
|
{
|
|
|
|
}
|
|
|
|
unset_perk_pistol_mp443_0()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmp443_mp" );
|
|
}
|
|
|
|
set_perk_pistol_mp443_1()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmp443_mp_alienmuzzlebrakepa" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmp443_mp_barrelrange02" );
|
|
}
|
|
|
|
unset_perk_pistol_mp443_1()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmp443_mp" );
|
|
}
|
|
|
|
set_perk_pistol_mp443_2()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmp443_mp_alienmuzzlebrakepa_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmp443_mp_barrelrange02_xmags" );
|
|
}
|
|
|
|
unset_perk_pistol_mp443_2()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmp443_mp" );
|
|
}
|
|
|
|
set_perk_pistol_mp443_3()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw6_alienmp443_mp_alienmuzzlebrakepa_xmags" );
|
|
else
|
|
self give_new_pistol( "iw6_alienmp443_mp_barrelrange02_xmags" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_mp443_3()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw6_alienmp443_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
set_perk_pistol_mp443_4()
|
|
{
|
|
if ( self maps\mp\alien\_persistence::is_upgrade_enabled( "ark_pistol_upgrade" ) )
|
|
self give_new_pistol( "iw5_alienmp443_mp_akimbo_alienmuzzlebrakepa_xmags" );
|
|
else
|
|
self give_new_pistol( "iw5_alienmp443_mp_akimbo_barrelrange02_xmags" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = true;
|
|
}
|
|
|
|
unset_perk_pistol_mp443_4()
|
|
{
|
|
self store_ammo_and_take_pistol( "iw5_alienmp443_mp" );
|
|
self.perk_data[ "pistol" ].pistol_overkill = false;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////
|
|
// //
|
|
// Pistol Speed Perk //
|
|
// //
|
|
/////////////////////////////////////////////////////
|
|
|
|
watchCombatSpeedScaler()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
|
|
self.pistolCombatSpeedScalar = 1.0;
|
|
self.alienSnareSpeedScalar = 1.0;
|
|
|
|
self.alienSnareCount = 0;
|
|
|
|
self.combatSpeedScalar = getCombatSpeedScalar();
|
|
self maps\mp\gametypes\_weapons::updateMoveSpeedScale();
|
|
|
|
while ( true )
|
|
{
|
|
self waittill ( "weapon_change", newWeapon );
|
|
if ( self has_perk( "perk_pistol_p226", [1,2,3,4] ) || self has_perk( "perk_pistol_magnum", [1,2,3,4] ) || self has_perk( "perk_pistol_m9a1", [1,2,3,4] ) || self has_perk( "perk_pistol_mp443", [1,2,3,4] ) )
|
|
{
|
|
currentweapon = self GetCurrentWeapon();
|
|
baseweapon = getRawBaseWeaponName( currentweapon );
|
|
if ( IsDefined( baseweapon ) )
|
|
{
|
|
if ( baseweapon == "alienp226" || baseweapon == "alienmagnum" || baseweapon == "alienm9a1" || baseweapon == "alienmp443" )
|
|
{
|
|
self.pistolCombatSpeedScalar = 1.1;
|
|
}
|
|
else
|
|
{
|
|
self.pistolCombatSpeedScalar = 1.0;
|
|
}
|
|
|
|
wait 0.05; //Don't want to risk called this twice in the same frame since it's already called onm weapon_change
|
|
updateCombatSpeedScalar();
|
|
}
|
|
}
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
updateCombatSpeedScalar()
|
|
{
|
|
self.combatSpeedScalar = getCombatSpeedScalar();
|
|
self maps\mp\gametypes\_weapons::updateMoveSpeedScale();
|
|
}
|
|
|
|
getCombatSpeedScalar()
|
|
{
|
|
return ( self.pistolCombatSpeedScalar * self.alienSnareSpeedScalar );
|
|
}
|
|
|
|
watchFlamingRiotShield()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
|
|
while ( true )
|
|
{
|
|
currentweapon = self GetCurrentWeapon();
|
|
if ( IsDefined( currentweapon ) )
|
|
{
|
|
if ( currentweapon == "iw5_alienriotshield4_mp_camo05" && self.fireShield == 1.0 )
|
|
{
|
|
PlayFXOnTag( level._effect[ "Riotshield_fire" ], self, "TAG_origin" );
|
|
}
|
|
else
|
|
{
|
|
StopFXOnTag( level._effect[ "Riotshield_fire" ], self, "TAG_origin" );
|
|
}
|
|
}
|
|
}
|
|
wait 0.05;
|
|
}
|
|
|
|
|
|
|