mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-08 01:47:50 -05:00
fixed more bugs and removed a duplicate script
This commit is contained in:
parent
f422eaf366
commit
b6617db1be
File diff suppressed because it is too large
Load Diff
@ -14,13 +14,13 @@
|
|||||||
#include common_scripts/utility;
|
#include common_scripts/utility;
|
||||||
#include maps/mp/zombies/_zm_magicbox;
|
#include maps/mp/zombies/_zm_magicbox;
|
||||||
|
|
||||||
init()
|
init() //checked
|
||||||
{
|
{
|
||||||
level.additionalprimaryweapon_limit = 3;
|
level.additionalprimaryweapon_limit = 3;
|
||||||
level.perk_purchase_limit = 4;
|
level.perk_purchase_limit = 4;
|
||||||
if ( !level.createfx_enabled )
|
if ( !level.createfx_enabled )
|
||||||
{
|
{
|
||||||
perks_register_clientfield();
|
perks_register_clientfield(); //fixed
|
||||||
}
|
}
|
||||||
if ( !level.enable_magic )
|
if ( !level.enable_magic )
|
||||||
{
|
{
|
||||||
@ -29,6 +29,7 @@ init()
|
|||||||
initialize_custom_perk_arrays();
|
initialize_custom_perk_arrays();
|
||||||
perk_machine_spawn_init();
|
perk_machine_spawn_init();
|
||||||
|
|
||||||
|
//not broken
|
||||||
vending_weapon_upgrade_trigger = [];
|
vending_weapon_upgrade_trigger = [];
|
||||||
vending_triggers = getentarray( "zombie_vending", "targetname" );
|
vending_triggers = getentarray( "zombie_vending", "targetname" );
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -73,6 +74,8 @@ init()
|
|||||||
array_thread( vending_triggers, ::vending_trigger_think );
|
array_thread( vending_triggers, ::vending_trigger_think );
|
||||||
array_thread( vending_triggers, ::electric_perks_dialog );
|
array_thread( vending_triggers, ::electric_perks_dialog );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( isDefined( level.zombiemode_using_doubletap_perk ) && level.zombiemode_using_doubletap_perk )
|
if ( isDefined( level.zombiemode_using_doubletap_perk ) && level.zombiemode_using_doubletap_perk )
|
||||||
{
|
{
|
||||||
level thread turn_doubletap_on();
|
level thread turn_doubletap_on();
|
||||||
@ -109,17 +112,15 @@ init()
|
|||||||
{
|
{
|
||||||
level thread turn_chugabud_on();
|
level thread turn_chugabud_on();
|
||||||
}
|
}
|
||||||
while ( level._custom_perks.size > 0 )
|
if(level._custom_perks.size > 0)
|
||||||
{
|
{
|
||||||
a_keys = getarraykeys( level._custom_perks );
|
a_keys = getarraykeys(level._custom_perks);
|
||||||
i = 0;
|
for(i = 0; i < a_keys.size; i++)
|
||||||
while ( i < a_keys.size )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( level._custom_perks[ a_keys[ i ] ].perk_machine_thread ) )
|
if(isdefined(level._custom_perks[ a_keys[ i ] ].perk_machine_thread))
|
||||||
{
|
{
|
||||||
level thread [[ level._custom_perks[ a_keys[ i ] ].perk_machine_thread ]]();
|
level thread [[level._custom_perks[ a_keys[ i ] ].perk_machine_thread]]();
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( isDefined( level._custom_turn_packapunch_on ) )
|
if ( isDefined( level._custom_turn_packapunch_on ) )
|
||||||
@ -138,7 +139,7 @@ init()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default_vending_precaching()
|
default_vending_precaching() //checked
|
||||||
{
|
{
|
||||||
if ( isDefined( level.zombiemode_using_pack_a_punch ) && level.zombiemode_using_pack_a_punch )
|
if ( isDefined( level.zombiemode_using_pack_a_punch ) && level.zombiemode_using_pack_a_punch )
|
||||||
{
|
{
|
||||||
@ -273,30 +274,28 @@ default_vending_precaching()
|
|||||||
level.machine_assets[ "whoswho" ].off_model = "p6_zm_vending_chugabud";
|
level.machine_assets[ "whoswho" ].off_model = "p6_zm_vending_chugabud";
|
||||||
level.machine_assets[ "whoswho" ].on_model = "p6_zm_vending_chugabud_on";
|
level.machine_assets[ "whoswho" ].on_model = "p6_zm_vending_chugabud_on";
|
||||||
}
|
}
|
||||||
while ( level._custom_perks.size > 0 )
|
if(level._custom_perks.size > 0) //changed
|
||||||
{
|
{
|
||||||
a_keys = getarraykeys( level._custom_perks );
|
a_keys = getarraykeys(level._custom_perks);
|
||||||
i = 0;
|
for(i = 0; i < a_keys.size; i++)
|
||||||
while ( i < a_keys.size )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( level._custom_perks[ a_keys[ i ] ].precache_func ) )
|
if(isdefined(level._custom_perks[ a_keys[ i ] ].precache_func))
|
||||||
{
|
{
|
||||||
level [[ level._custom_perks[ a_keys[ i ] ].precache_func ]]();
|
level [[level._custom_perks[ a_keys[ i ] ].precache_func]]();
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pap_weapon_move_in( trigger, origin_offset, angles_offset )
|
pap_weapon_move_in( trigger, origin_offset, angles_offset ) //changed
|
||||||
{
|
{
|
||||||
level endon( "Pack_A_Punch_off" );
|
level endon( "Pack_A_Punch_off" );
|
||||||
trigger endon( "pap_player_disconnected" );
|
trigger endon( "pap_player_disconnected" );
|
||||||
trigger.worldgun rotateto( self.angles + angles_offset + vectorScale( ( 0, -1, 0 ), 90 ), 0.35, 0, 0 );
|
trigger.worldgun rotateto( self.angles + angles_offset + vectorScale( ( 0, 1, 0 ), 90 ), 0.35, 0, 0 );
|
||||||
offsetdw = vectorScale( ( 0, -1, 0 ), 3 );
|
offsetdw = vectorScale( ( 1, 1, 1 ), 3 );
|
||||||
if ( isDefined( trigger.worldgun.worldgundw ) )
|
if ( isDefined( trigger.worldgun.worldgundw ) )
|
||||||
{
|
{
|
||||||
trigger.worldgun.worldgundw rotateto( self.angles + angles_offset + vectorScale( ( 0, -1, 0 ), 90 ), 0.35, 0, 0 );
|
trigger.worldgun.worldgundw rotateto( self.angles + angles_offset + vectorScale( ( 0, 1, 0 ), 90 ), 0.35, 0, 0 );
|
||||||
}
|
}
|
||||||
wait 0.5;
|
wait 0.5;
|
||||||
trigger.worldgun moveto( self.origin + origin_offset, 0.5, 0, 0 );
|
trigger.worldgun moveto( self.origin + origin_offset, 0.5, 0, 0 );
|
||||||
@ -306,11 +305,11 @@ pap_weapon_move_in( trigger, origin_offset, angles_offset )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pap_weapon_move_out( trigger, origin_offset, interact_offset )
|
pap_weapon_move_out( trigger, origin_offset, interact_offset ) //changed
|
||||||
{
|
{
|
||||||
level endon( "Pack_A_Punch_off" );
|
level endon( "Pack_A_Punch_off" );
|
||||||
trigger endon( "pap_player_disconnected" );
|
trigger endon( "pap_player_disconnected" );
|
||||||
offsetdw = vectorScale( ( 0, -1, 0 ), 3 );
|
offsetdw = vectorScale( ( 1, 1, 1 ), 3 );
|
||||||
if ( !isDefined( trigger.worldgun ) )
|
if ( !isDefined( trigger.worldgun ) )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -338,13 +337,13 @@ fx_ent_failsafe()
|
|||||||
self delete();
|
self delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk_machine, trigger )
|
third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk_machine, trigger ) //changed
|
||||||
{
|
{
|
||||||
level endon( "Pack_A_Punch_off" );
|
level endon( "Pack_A_Punch_off" );
|
||||||
trigger endon( "pap_player_disconnected" );
|
trigger endon( "pap_player_disconnected" );
|
||||||
rel_entity = trigger.perk_machine;
|
rel_entity = trigger.perk_machine;
|
||||||
origin_offset = ( 0, -1, 0 );
|
origin_offset = ( 0, 0, 0 );
|
||||||
angles_offset = ( 0, -1, 0 );
|
angles_offset = ( 0, 0, 0 );
|
||||||
origin_base = self.origin;
|
origin_base = self.origin;
|
||||||
angles_base = self.angles;
|
angles_base = self.angles;
|
||||||
if ( isDefined( rel_entity ) )
|
if ( isDefined( rel_entity ) )
|
||||||
@ -355,9 +354,9 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
origin_offset = vectorScale( ( 0, -1, 0 ), 35 );
|
origin_offset = vectorScale( ( 0, 0, 1 ), 35 );
|
||||||
}
|
}
|
||||||
angles_offset = vectorScale( ( 0, -1, 0 ), 90 );
|
angles_offset = vectorScale( ( 0, 1, 0 ), 90 );
|
||||||
origin_base = rel_entity.origin;
|
origin_base = rel_entity.origin;
|
||||||
angles_base = rel_entity.angles;
|
angles_base = rel_entity.angles;
|
||||||
}
|
}
|
||||||
@ -378,7 +377,7 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
{
|
{
|
||||||
fx = playfxontag( level._effect[ "packapunch_fx" ], perk_machine.fx_ent, "tag_origin" );
|
fx = playfxontag( level._effect[ "packapunch_fx" ], perk_machine.fx_ent, "tag_origin" );
|
||||||
}
|
}
|
||||||
offsetdw = vectorScale( ( 0, -1, 0 ), 3 );
|
offsetdw = vectorScale( ( 1, 1, 1 ), 3 );
|
||||||
weoptions = self maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options( current_weapon );
|
weoptions = self maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options( current_weapon );
|
||||||
trigger.worldgun = spawn_weapon_model( current_weapon, undefined, origin_base + interact_offset, self.angles, weoptions );
|
trigger.worldgun = spawn_weapon_model( current_weapon, undefined, origin_base + interact_offset, self.angles, weoptions );
|
||||||
worldgundw = undefined;
|
worldgundw = undefined;
|
||||||
@ -398,7 +397,7 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
self playsound( "zmb_perks_packa_upgrade" );
|
self playsound( "zmb_perks_packa_upgrade" );
|
||||||
if ( isDefined( perk_machine.wait_flag ) )
|
if ( isDefined( perk_machine.wait_flag ) )
|
||||||
{
|
{
|
||||||
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles + vectorScale( ( 0, -1, 0 ), 179 ), 0.25, 0, 0 );
|
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles + vectorScale( ( 1, 0, 0 ), 179 ), 0.25, 0, 0 );
|
||||||
}
|
}
|
||||||
wait 0.35;
|
wait 0.35;
|
||||||
trigger.worldgun delete();
|
trigger.worldgun delete();
|
||||||
@ -418,7 +417,7 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
upoptions = self maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options( upgrade_weapon );
|
upoptions = self maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options( upgrade_weapon );
|
||||||
trigger.current_weapon = current_weapon;
|
trigger.current_weapon = current_weapon;
|
||||||
trigger.upgrade_name = upgrade_weapon;
|
trigger.upgrade_name = upgrade_weapon;
|
||||||
trigger.worldgun = spawn_weapon_model( upgrade_weapon, undefined, origin_base + origin_offset, angles_base + angles_offset + vectorScale( ( 0, -1, 0 ), 90 ), upoptions );
|
trigger.worldgun = spawn_weapon_model( upgrade_weapon, undefined, origin_base + origin_offset, angles_base + angles_offset + vectorScale( ( 0, 1, 0 ), 90 ), upoptions );
|
||||||
worldgundw = undefined;
|
worldgundw = undefined;
|
||||||
if ( maps/mp/zombies/_zm_magicbox::weapon_is_dual_wield( upgrade_weapon ) )
|
if ( maps/mp/zombies/_zm_magicbox::weapon_is_dual_wield( upgrade_weapon ) )
|
||||||
{
|
{
|
||||||
@ -427,7 +426,7 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
trigger.worldgun.worldgundw = worldgundw;
|
trigger.worldgun.worldgundw = worldgundw;
|
||||||
if ( isDefined( perk_machine.wait_flag ) )
|
if ( isDefined( perk_machine.wait_flag ) )
|
||||||
{
|
{
|
||||||
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles - vectorScale( ( 0, -1, 0 ), 179 ), 0.25, 0, 0 );
|
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles - vectorScale( ( 1, 0, 0 ), 179 ), 0.25, 0, 0 );
|
||||||
}
|
}
|
||||||
if ( isDefined( level.custom_pap_move_out ) )
|
if ( isDefined( level.custom_pap_move_out ) )
|
||||||
{
|
{
|
||||||
@ -440,7 +439,7 @@ third_person_weapon_upgrade( current_weapon, upgrade_weapon, packa_rollers, perk
|
|||||||
return trigger.worldgun;
|
return trigger.worldgun;
|
||||||
}
|
}
|
||||||
|
|
||||||
can_pack_weapon( weaponname )
|
can_pack_weapon( weaponname ) //checked
|
||||||
{
|
{
|
||||||
if ( weaponname == "riotshield_zm" )
|
if ( weaponname == "riotshield_zm" )
|
||||||
{
|
{
|
||||||
@ -462,7 +461,7 @@ can_pack_weapon( weaponname )
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
player_use_can_pack_now()
|
player_use_can_pack_now() //checked
|
||||||
{
|
{
|
||||||
if ( !self maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( self.intermission ) || self.intermission && self isthrowinggrenade() )
|
if ( !self maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( self.intermission ) || self.intermission && self isthrowinggrenade() )
|
||||||
{
|
{
|
||||||
@ -483,33 +482,27 @@ player_use_can_pack_now()
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
vending_machine_trigger_think()
|
vending_machine_trigger_think() //changed 3/30/20 4:17 pm
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon("death");
|
||||||
self endon( "Pack_A_Punch_off" );
|
self endon("Pack_A_Punch_off");
|
||||||
while ( 1 )
|
while(1)
|
||||||
{
|
{
|
||||||
players = get_players();
|
players = get_players();
|
||||||
i = 0;
|
for(i = 0; i < players.size; i++)
|
||||||
while ( i < players.size )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( self.pack_player ) || self.pack_player != players[ i ] && !players[ i ] player_use_can_pack_now() )
|
if(isdefined(self.pack_player) && self.pack_player != players[i] || !players[i] player_use_can_pack_now())
|
||||||
{
|
{
|
||||||
self setinvisibletoplayer( players[ i ], 1 );
|
self setinvisibletoplayer(players[i], 1);
|
||||||
i++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
self setinvisibletoplayer(players[i], 0);
|
||||||
{
|
|
||||||
self setinvisibletoplayer( players[ i ], 0 );
|
|
||||||
}
|
}
|
||||||
i++;
|
wait(0.1);
|
||||||
}
|
|
||||||
wait 0.1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vending_weapon_upgrade()
|
vending_weapon_upgrade() //changed
|
||||||
{
|
{
|
||||||
level endon( "Pack_A_Punch_off" );
|
level endon( "Pack_A_Punch_off" );
|
||||||
wait 0.01;
|
wait 0.01;
|
||||||
@ -567,10 +560,6 @@ vending_weapon_upgrade()
|
|||||||
self waittill( "trigger", player );
|
self waittill( "trigger", player );
|
||||||
index = maps/mp/zombies/_zm_weapons::get_player_index( player );
|
index = maps/mp/zombies/_zm_weapons::get_player_index( player );
|
||||||
current_weapon = player getcurrentweapon();
|
current_weapon = player getcurrentweapon();
|
||||||
if ( current_weapon == "microwavegun_zm" )
|
|
||||||
{
|
|
||||||
current_weapon = "microwavegundw_zm";
|
|
||||||
}
|
|
||||||
current_weapon = player maps/mp/zombies/_zm_weapons::switch_from_alt_weapon( current_weapon );
|
current_weapon = player maps/mp/zombies/_zm_weapons::switch_from_alt_weapon( current_weapon );
|
||||||
if ( isDefined( level.custom_pap_validation ) )
|
if ( isDefined( level.custom_pap_validation ) )
|
||||||
{
|
{
|
||||||
@ -580,32 +569,29 @@ vending_weapon_upgrade()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( player maps/mp/zombies/_zm_magicbox::can_buy_weapon() && !player maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( player.intermission ) && !player.intermission || player isthrowinggrenade() && !player maps/mp/zombies/_zm_weapons::can_upgrade_weapon( current_weapon ) )
|
if ( player maps/mp/zombies/_zm_magicbox::can_buy_weapon() && !player maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( player.intermission ) && !player.intermission || player isthrowinggrenade() && !player maps/mp/zombies/_zm_weapons::can_upgrade_weapon( current_weapon ) )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( isDefined( level.pap_moving ) && level.pap_moving )
|
if ( isDefined( level.pap_moving ) && level.pap_moving )
|
||||||
{
|
{
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( player isswitchingweapons() )
|
if ( player isswitchingweapons() )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
if ( player isswitchingweapons() )
|
if ( player isswitchingweapons() )
|
||||||
{
|
{
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !maps/mp/zombies/_zm_weapons::is_weapon_or_base_included( current_weapon ) )
|
if ( !maps/mp/zombies/_zm_weapons::is_weapon_or_base_included( current_weapon ) )
|
||||||
{
|
{
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else current_cost = self.cost;
|
|
||||||
|
current_cost = self.cost;
|
||||||
player.restore_ammo = undefined;
|
player.restore_ammo = undefined;
|
||||||
player.restore_clip = undefined;
|
player.restore_clip = undefined;
|
||||||
player.restore_stock = undefined;
|
player.restore_stock = undefined;
|
||||||
@ -636,10 +622,9 @@ vending_weapon_upgrade()
|
|||||||
{
|
{
|
||||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 0 );
|
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 0 );
|
||||||
}
|
}
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
self.pack_player = player;
|
self.pack_player = player;
|
||||||
flag_set( "pack_machine_in_use" );
|
flag_set( "pack_machine_in_use" );
|
||||||
maps/mp/_demo::bookmark( "zm_player_use_packapunch", getTime(), player );
|
maps/mp/_demo::bookmark( "zm_player_use_packapunch", getTime(), player );
|
||||||
@ -696,12 +681,9 @@ vending_weapon_upgrade()
|
|||||||
self.pack_player = undefined;
|
self.pack_player = undefined;
|
||||||
flag_clear( "pack_machine_in_use" );
|
flag_clear( "pack_machine_in_use" );
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
shutoffpapsounds( ent1, ent2, ent3 )
|
shutoffpapsounds( ent1, ent2, ent3 ) //checked 3/30/20 4:18 pm
|
||||||
{
|
{
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
@ -713,13 +695,13 @@ shutoffpapsounds( ent1, ent2, ent3 )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
turnonpapsounds( ent )
|
turnonpapsounds( ent ) //checked 3/30/20 4:18 pm
|
||||||
{
|
{
|
||||||
level waittill( "Pack_A_Punch_on" );
|
level waittill( "Pack_A_Punch_on" );
|
||||||
ent playloopsound( "zmb_perks_packa_loop" );
|
ent playloopsound( "zmb_perks_packa_loop" );
|
||||||
}
|
}
|
||||||
|
|
||||||
vending_weapon_upgrade_cost()
|
vending_weapon_upgrade_cost() //checked 3/30/20 4:19 pm
|
||||||
{
|
{
|
||||||
level endon( "Pack_A_Punch_off" );
|
level endon( "Pack_A_Punch_off" );
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
@ -749,7 +731,7 @@ vending_weapon_upgrade_cost()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_player_to_take( player, weapon, packa_timer, upgrade_as_attachment )
|
wait_for_player_to_take( player, weapon, packa_timer, upgrade_as_attachment ) //changed 3/30/20 4:22 pm
|
||||||
{
|
{
|
||||||
current_weapon = self.current_weapon;
|
current_weapon = self.current_weapon;
|
||||||
upgrade_name = self.upgrade_name;
|
upgrade_name = self.upgrade_name;
|
||||||
@ -767,13 +749,15 @@ wait_for_player_to_take( player, weapon, packa_timer, upgrade_as_attachment )
|
|||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
packa_timer playloopsound( "zmb_perks_packa_ticktock" );
|
packa_timer playloopsound( "zmb_perks_packa_ticktock" );
|
||||||
self waittill( "trigger", trigger_player );
|
self waittill( "trigger", trigger_player ); //working
|
||||||
|
|
||||||
if ( isDefined( level.pap_grab_by_anyone ) && level.pap_grab_by_anyone )
|
if ( isDefined( level.pap_grab_by_anyone ) && level.pap_grab_by_anyone )
|
||||||
{
|
{
|
||||||
player = trigger_player;
|
player = trigger_player;
|
||||||
}
|
}
|
||||||
|
|
||||||
packa_timer stoploopsound( 0.05 );
|
packa_timer stoploopsound( 0.05 );
|
||||||
if ( trigger_player == player )
|
if ( trigger_player == player ) //working
|
||||||
{
|
{
|
||||||
player maps/mp/zombies/_zm_stats::increment_client_stat( "pap_weapon_grabbed" );
|
player maps/mp/zombies/_zm_stats::increment_client_stat( "pap_weapon_grabbed" );
|
||||||
player maps/mp/zombies/_zm_stats::increment_player_stat( "pap_weapon_grabbed" );
|
player maps/mp/zombies/_zm_stats::increment_player_stat( "pap_weapon_grabbed" );
|
||||||
@ -786,7 +770,7 @@ wait_for_player_to_take( player, weapon, packa_timer, upgrade_as_attachment )
|
|||||||
#/
|
#/
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if ( is_player_valid( player ) && player.is_drinking > 0 && !is_placeable_mine( current_weapon ) && !is_equipment( current_weapon ) && level.revive_tool != current_weapon && current_weapon != "none" && !player hacker_active() )
|
if ( is_player_valid( player ) && !player.is_drinking > 0 && !is_placeable_mine( current_weapon ) && !is_equipment( current_weapon ) && level.revive_tool != current_weapon && current_weapon != "none" && !player hacker_active() )
|
||||||
{
|
{
|
||||||
maps/mp/_demo::bookmark( "zm_player_grabbed_packapunch", getTime(), player );
|
maps/mp/_demo::bookmark( "zm_player_grabbed_packapunch", getTime(), player );
|
||||||
self notify( "pap_taken" );
|
self notify( "pap_taken" );
|
||||||
@ -833,7 +817,7 @@ wait_for_player_to_take( player, weapon, packa_timer, upgrade_as_attachment )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_timeout( weapon, packa_timer, player )
|
wait_for_timeout( weapon, packa_timer, player ) //checked
|
||||||
{
|
{
|
||||||
self endon( "pap_taken" );
|
self endon( "pap_taken" );
|
||||||
self endon( "pap_player_disconnected" );
|
self endon( "pap_player_disconnected" );
|
||||||
@ -850,7 +834,7 @@ wait_for_timeout( weapon, packa_timer, player )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_disconnect( player )
|
wait_for_disconnect( player ) //checked
|
||||||
{
|
{
|
||||||
self endon( "pap_taken" );
|
self endon( "pap_taken" );
|
||||||
self endon( "pap_timeout" );
|
self endon( "pap_timeout" );
|
||||||
@ -866,7 +850,7 @@ wait_for_disconnect( player )
|
|||||||
self notify( "pap_player_disconnected" );
|
self notify( "pap_player_disconnected" );
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy_weapon_on_disconnect( player )
|
destroy_weapon_on_disconnect( player ) //checked
|
||||||
{
|
{
|
||||||
self endon( "pap_timeout" );
|
self endon( "pap_timeout" );
|
||||||
self endon( "pap_taken" );
|
self endon( "pap_taken" );
|
||||||
@ -882,7 +866,7 @@ destroy_weapon_on_disconnect( player )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy_weapon_in_blackout( player )
|
destroy_weapon_in_blackout( player ) //checked
|
||||||
{
|
{
|
||||||
self endon( "pap_timeout" );
|
self endon( "pap_timeout" );
|
||||||
self endon( "pap_taken" );
|
self endon( "pap_taken" );
|
||||||
@ -901,7 +885,7 @@ destroy_weapon_in_blackout( player )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
do_knuckle_crack()
|
do_knuckle_crack() //checked
|
||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
gun = self upgrade_knuckle_crack_begin();
|
gun = self upgrade_knuckle_crack_begin();
|
||||||
@ -930,7 +914,7 @@ upgrade_knuckle_crack_begin()
|
|||||||
return gun;
|
return gun;
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade_knuckle_crack_end( gun )
|
upgrade_knuckle_crack_end( gun ) //changed
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
/#
|
/#
|
||||||
@ -958,18 +942,14 @@ upgrade_knuckle_crack_end( gun )
|
|||||||
{
|
{
|
||||||
self switchtoweapon( primaries[ 0 ] );
|
self switchtoweapon( primaries[ 0 ] );
|
||||||
}
|
}
|
||||||
else
|
else if ( self hasweapon( level.laststandpistol ) )
|
||||||
{
|
|
||||||
if ( self hasweapon( level.laststandpistol ) )
|
|
||||||
{
|
{
|
||||||
self switchtoweapon( level.laststandpistol );
|
self switchtoweapon( level.laststandpistol );
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self maps/mp/zombies/_zm_weapons::give_fallback_weapon();
|
self maps/mp/zombies/_zm_weapons::give_fallback_weapon();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
turn_packapunch_on()
|
turn_packapunch_on()
|
||||||
@ -1251,7 +1231,7 @@ revive_solo_fx( machine_clip, blocker_model )
|
|||||||
{
|
{
|
||||||
self unlink();
|
self unlink();
|
||||||
}
|
}
|
||||||
self moveto( self.origin + vectorScale( ( 0, -1, 0 ), 40 ), 3 );
|
self moveto( self.origin + vectorScale( ( 0, 0, 1 ), 40 ), 3 );
|
||||||
if ( isDefined( level.custom_vibrate_func ) )
|
if ( isDefined( level.custom_vibrate_func ) )
|
||||||
{
|
{
|
||||||
[[ level.custom_vibrate_func ]]( self );
|
[[ level.custom_vibrate_func ]]( self );
|
||||||
@ -1770,7 +1750,7 @@ reset_vending_hint_string()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vending_trigger_think()
|
vending_trigger_think() //checked to a degree
|
||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
wait 0.01;
|
wait 0.01;
|
||||||
@ -1778,30 +1758,28 @@ vending_trigger_think()
|
|||||||
solo = 0;
|
solo = 0;
|
||||||
start_on = 0;
|
start_on = 0;
|
||||||
level.revive_machine_is_solo = 0;
|
level.revive_machine_is_solo = 0;
|
||||||
if ( isDefined( perk ) || perk == "specialty_quickrevive" && perk == "specialty_quickrevive_upgrade" )
|
|
||||||
|
//fixed
|
||||||
|
if( isdefined( perk ) && perk == "specialty_quickrevive" )
|
||||||
{
|
{
|
||||||
flag_wait( "start_zombie_round_logic" );
|
flag_wait("start_zombie_round_logic");
|
||||||
solo = use_solo_revive();
|
solo = use_solo_revive();
|
||||||
self endon( "stop_quickrevive_logic" );
|
self endon("stop_quickrevive_logic");
|
||||||
level.quick_revive_trigger = self;
|
level.quick_revive_trigger = self;
|
||||||
if ( solo )
|
if( solo )
|
||||||
{
|
{
|
||||||
if ( !is_true( level.revive_machine_is_solo ) )
|
if(!is_true(level.revive_machine_is_solo))
|
||||||
{
|
{
|
||||||
start_on = 1;
|
start_on = 1;
|
||||||
players = get_players();
|
players = get_players();
|
||||||
_a2045 = players;
|
foreach(player in players)
|
||||||
_k2045 = getFirstArrayKey( _a2045 );
|
|
||||||
while ( isDefined( _k2045 ) )
|
|
||||||
{
|
{
|
||||||
player = _a2045[ _k2045 ];
|
if(!isdefined(player.lives))
|
||||||
if ( !isDefined( player.lives ) )
|
|
||||||
{
|
{
|
||||||
player.lives = 0;
|
player.lives = 0;
|
||||||
}
|
}
|
||||||
_k2045 = getNextArrayKey( _a2045, _k2045 );
|
|
||||||
}
|
}
|
||||||
level maps/mp/zombies/_zm::set_default_laststand_pistol( 1 );
|
level maps/mp/zombies/_zm::set_default_laststand_pistol(1);
|
||||||
}
|
}
|
||||||
level.revive_machine_is_solo = 1;
|
level.revive_machine_is_solo = 1;
|
||||||
}
|
}
|
||||||
@ -1933,35 +1911,36 @@ vending_trigger_think()
|
|||||||
index = maps/mp/zombies/_zm_weapons::get_player_index( player );
|
index = maps/mp/zombies/_zm_weapons::get_player_index( player );
|
||||||
if ( player maps/mp/zombies/_zm_laststand::player_is_in_laststand() || isDefined( player.intermission ) && player.intermission )
|
if ( player maps/mp/zombies/_zm_laststand::player_is_in_laststand() || isDefined( player.intermission ) && player.intermission )
|
||||||
{
|
{
|
||||||
|
wait 0.1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( player in_revive_trigger() )
|
if ( player in_revive_trigger() )
|
||||||
{
|
{
|
||||||
break;
|
wait 0.1;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
else if ( !player maps/mp/zombies/_zm_magicbox::can_buy_weapon() )
|
if ( !player maps/mp/zombies/_zm_magicbox::can_buy_weapon() )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( player isthrowinggrenade() )
|
if ( player isthrowinggrenade() )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( player isswitchingweapons() )
|
if ( player isswitchingweapons() )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( player.is_drinking > 0 )
|
if ( player.is_drinking > 0 )
|
||||||
{
|
{
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( player hasperk( perk ) || player has_perk_paused( perk ) )
|
if ( player hasperk( perk ) || player has_perk_paused( perk ) )
|
||||||
{
|
{
|
||||||
cheat = 0;
|
cheat = 0;
|
||||||
/*
|
/*
|
||||||
@ -1976,18 +1955,18 @@ vending_trigger_think()
|
|||||||
{
|
{
|
||||||
self playsound( "deny" );
|
self playsound( "deny" );
|
||||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 1 );
|
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 1 );
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( isDefined( level.custom_perk_validation ) )
|
if ( isDefined( level.custom_perk_validation ) )
|
||||||
{
|
{
|
||||||
valid = self [[ level.custom_perk_validation ]]( player );
|
valid = self [[ level.custom_perk_validation ]]( player );
|
||||||
if ( !valid )
|
if ( !valid )
|
||||||
{
|
{
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else current_cost = cost;
|
current_cost = cost;
|
||||||
if ( player maps/mp/zombies/_zm_pers_upgrades_functions::is_pers_double_points_active() )
|
if ( player maps/mp/zombies/_zm_pers_upgrades_functions::is_pers_double_points_active() )
|
||||||
{
|
{
|
||||||
current_cost = player maps/mp/zombies/_zm_pers_upgrades_functions::pers_upgrade_double_points_cost( current_cost );
|
current_cost = player maps/mp/zombies/_zm_pers_upgrades_functions::pers_upgrade_double_points_cost( current_cost );
|
||||||
@ -1996,16 +1975,15 @@ vending_trigger_think()
|
|||||||
{
|
{
|
||||||
self playsound( "evt_perk_deny" );
|
self playsound( "evt_perk_deny" );
|
||||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 0 );
|
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "perk_deny", undefined, 0 );
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else if ( player.num_perks >= player get_player_perk_purchase_limit() )
|
|
||||||
|
if ( player.num_perks >= player get_player_perk_purchase_limit() )
|
||||||
{
|
{
|
||||||
self playsound( "evt_perk_deny" );
|
self playsound( "evt_perk_deny" );
|
||||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "sigh" );
|
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "sigh" );
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
sound = "evt_bottle_dispense";
|
sound = "evt_bottle_dispense";
|
||||||
playsoundatposition( sound, self.origin );
|
playsoundatposition( sound, self.origin );
|
||||||
player maps/mp/zombies/_zm_score::minus_to_player_score( current_cost, 1 );
|
player maps/mp/zombies/_zm_score::minus_to_player_score( current_cost, 1 );
|
||||||
@ -2013,11 +1991,9 @@ vending_trigger_think()
|
|||||||
self thread maps/mp/zombies/_zm_audio::play_jingle_or_stinger( self.script_label );
|
self thread maps/mp/zombies/_zm_audio::play_jingle_or_stinger( self.script_label );
|
||||||
self thread vending_trigger_post_think( player, perk );
|
self thread vending_trigger_post_think( player, perk );
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vending_trigger_post_think( player, perk )
|
vending_trigger_post_think( player, perk ) //something is broken here
|
||||||
{
|
{
|
||||||
player endon( "disconnect" );
|
player endon( "disconnect" );
|
||||||
player endon( "end_game" );
|
player endon( "end_game" );
|
||||||
@ -2585,7 +2561,7 @@ perk_give_bottle_begin( perk )
|
|||||||
return gun;
|
return gun;
|
||||||
}
|
}
|
||||||
|
|
||||||
perk_give_bottle_end( gun, perk )
|
perk_give_bottle_end( gun, perk ) //changed
|
||||||
{
|
{
|
||||||
self endon( "perk_abort_drinking" );
|
self endon( "perk_abort_drinking" );
|
||||||
/*
|
/*
|
||||||
@ -2675,7 +2651,8 @@ perk_give_bottle_end( gun, perk )
|
|||||||
self switchtoweapon( primaryweapons[ 0 ] );
|
self switchtoweapon( primaryweapons[ 0 ] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self waittill( "weapon_change_complete" );
|
self waittill( "weapon_change_complete" ); //event doesn't occur because there is no notifier bug
|
||||||
|
self decrement_is_drinking();
|
||||||
if ( !self maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( self.intermission ) && !self.intermission )
|
if ( !self maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( self.intermission ) && !self.intermission )
|
||||||
{
|
{
|
||||||
self decrement_is_drinking();
|
self decrement_is_drinking();
|
||||||
@ -3089,21 +3066,16 @@ perk_machine_removal( machine, replacement_model )
|
|||||||
perk_machine_spawn_init()
|
perk_machine_spawn_init()
|
||||||
{
|
{
|
||||||
match_string = "";
|
match_string = "";
|
||||||
|
|
||||||
location = level.scr_zm_map_start_location;
|
location = level.scr_zm_map_start_location;
|
||||||
if(location == "default" || location == "" && isdefined(level.default_start_location))
|
if ((location == "default" || location == "" ) && IsDefined(level.default_start_location))
|
||||||
{
|
{
|
||||||
location = level.default_start_location;
|
location = level.default_start_location;
|
||||||
}
|
}
|
||||||
|
|
||||||
match_string = level.scr_zm_ui_gametype + "_perks_" + location;
|
match_string = level.scr_zm_ui_gametype + "_perks_" + location;
|
||||||
pos = [];
|
pos = [];
|
||||||
if(isdefined(level.override_perk_targetname))
|
|
||||||
{
|
|
||||||
structs = getstructarray(level.override_perk_targetname, "targetname");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
structs = getstructarray("zm_perk_machine", "targetname");
|
structs = getstructarray("zm_perk_machine", "targetname");
|
||||||
}
|
|
||||||
_a3578 = structs;
|
_a3578 = structs;
|
||||||
_k3578 = getFirstArrayKey( _a3578 );
|
_k3578 = getFirstArrayKey( _a3578 );
|
||||||
while ( isDefined( _k3578 ) )
|
while ( isDefined( _k3578 ) )
|
||||||
@ -3124,62 +3096,62 @@ perk_machine_spawn_init()
|
|||||||
_k3583 = getNextArrayKey( _a3583, _k3583 );
|
_k3583 = getNextArrayKey( _a3583, _k3583 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else pos[ pos.size ] = struct;
|
else
|
||||||
|
{
|
||||||
|
pos[ pos.size ] = struct;
|
||||||
|
}
|
||||||
_k3578 = getNextArrayKey( _a3578, _k3578 );
|
_k3578 = getNextArrayKey( _a3578, _k3578 );
|
||||||
}
|
}
|
||||||
if(!isdefined(pos) || pos.size == 0)
|
|
||||||
|
if(!IsDefined(pos) || pos.size == 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
precachemodel("zm_collision_perks1");
|
if ( level.script == "zm_prison" && is_classic() )
|
||||||
for(i = 0; i < pos.size; i++)
|
{
|
||||||
|
posSizeOffset = pos.size - 4;
|
||||||
|
}
|
||||||
|
PreCacheModel("zm_collision_perks1");
|
||||||
|
//everything above the for loop works
|
||||||
|
//broken
|
||||||
|
|
||||||
|
for ( i = 0; i < posSizeOffset; i++ )
|
||||||
{
|
{
|
||||||
perk = pos[i].script_noteworthy;
|
perk = pos[i].script_noteworthy;
|
||||||
if(isdefined(perk) && isdefined(pos[i].model))
|
if(IsDefined(perk) && IsDefined(pos[i].model))
|
||||||
{
|
{
|
||||||
use_trigger = spawn("trigger_radius_use", pos[i].origin + VectorScale( 0, 0, 1, 30), 0, 40, 70);
|
use_trigger = Spawn( "trigger_radius_use", pos[i].origin + (0, 0, 30), 0, 40, 70 );
|
||||||
use_trigger.targetname = "zombie_vending";
|
use_trigger.targetname = "zombie_vending";
|
||||||
use_trigger.script_noteworthy = perk;
|
use_trigger.script_noteworthy = perk;
|
||||||
use_trigger triggerignoreteam();
|
use_trigger TriggerIgnoreTeam();
|
||||||
perk_machine = spawn("script_model", pos[i].origin);
|
//use_trigger thread debug_spot();
|
||||||
|
|
||||||
|
perk_machine = Spawn("script_model", pos[i].origin);
|
||||||
perk_machine.angles = pos[i].angles;
|
perk_machine.angles = pos[i].angles;
|
||||||
perk_machine setmodel(pos[i].model);
|
perk_machine SetModel(pos[i].model);
|
||||||
if(isdefined(level._no_vending_machine_bump_trigs) && level._no_vending_machine_bump_trigs)
|
|
||||||
{
|
bump_trigger = Spawn( "trigger_radius", pos[i].origin, 0, 35, 64);
|
||||||
bump_trigger = undefined;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
bump_trigger = spawn("trigger_radius", pos[i].origin, 0, 35, 64);
|
|
||||||
bump_trigger.script_activated = 1;
|
bump_trigger.script_activated = 1;
|
||||||
bump_trigger.script_sound = "zmb_perks_bump_bottle";
|
bump_trigger.script_sound = "zmb_perks_bump_bottle";
|
||||||
bump_trigger.targetname = "audio_bump_trigger";
|
bump_trigger.targetname = "audio_bump_trigger";
|
||||||
if(perk != "specialty_weapupgrade")
|
|
||||||
|
if( perk != "specialty_weapupgrade" )
|
||||||
{
|
{
|
||||||
bump_trigger thread thread_bump_trigger();
|
bump_trigger thread thread_bump_trigger();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
collision = spawn("script_model", pos[i].origin, 1);
|
collision = Spawn("script_model", pos[i].origin, 1);
|
||||||
collision.angles = pos[i].angles;
|
collision.angles = pos[i].angles;
|
||||||
collision setmodel("zm_collision_perks1");
|
collision SetModel("zm_collision_perks1");
|
||||||
collision.script_noteworthy = "clip";
|
collision.script_noteworthy = "clip";
|
||||||
collision disconnectpaths();
|
collision DisconnectPaths();
|
||||||
|
|
||||||
|
// Connect all of the pieces for easy access.
|
||||||
use_trigger.clip = collision;
|
use_trigger.clip = collision;
|
||||||
use_trigger.machine = perk_machine;
|
use_trigger.machine = perk_machine;
|
||||||
use_trigger.bump = bump_trigger;
|
use_trigger.bump = bump_trigger;
|
||||||
if(isdefined(pos[i].blocker_model))
|
|
||||||
{
|
switch( perk )
|
||||||
use_trigger.blocker_model = pos[i].blocker_model;
|
|
||||||
}
|
|
||||||
if(isdefined(pos[i].script_int))
|
|
||||||
{
|
|
||||||
perk_machine.script_int = pos[i].script_int;
|
|
||||||
}
|
|
||||||
if(isdefined(pos[i].turn_on_notify))
|
|
||||||
{
|
|
||||||
perk_machine.turn_on_notify = pos[i].turn_on_notify;
|
|
||||||
}
|
|
||||||
switch(perk)
|
|
||||||
{
|
{
|
||||||
case "specialty_quickrevive":
|
case "specialty_quickrevive":
|
||||||
case "specialty_quickrevive_upgrade":
|
case "specialty_quickrevive_upgrade":
|
||||||
@ -3189,7 +3161,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_revive";
|
use_trigger.target = "vending_revive";
|
||||||
perk_machine.script_string = "revive_perk";
|
perk_machine.script_string = "revive_perk";
|
||||||
perk_machine.targetname = "vending_revive";
|
perk_machine.targetname = "vending_revive";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "revive_perk";
|
bump_trigger.script_string = "revive_perk";
|
||||||
}
|
}
|
||||||
@ -3202,7 +3174,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_sleight";
|
use_trigger.target = "vending_sleight";
|
||||||
perk_machine.script_string = "speedcola_perk";
|
perk_machine.script_string = "speedcola_perk";
|
||||||
perk_machine.targetname = "vending_sleight";
|
perk_machine.targetname = "vending_sleight";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "speedcola_perk";
|
bump_trigger.script_string = "speedcola_perk";
|
||||||
}
|
}
|
||||||
@ -3215,7 +3187,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_marathon";
|
use_trigger.target = "vending_marathon";
|
||||||
perk_machine.script_string = "marathon_perk";
|
perk_machine.script_string = "marathon_perk";
|
||||||
perk_machine.targetname = "vending_marathon";
|
perk_machine.targetname = "vending_marathon";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "marathon_perk";
|
bump_trigger.script_string = "marathon_perk";
|
||||||
}
|
}
|
||||||
@ -3229,7 +3201,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_jugg";
|
use_trigger.target = "vending_jugg";
|
||||||
perk_machine.script_string = "jugg_perk";
|
perk_machine.script_string = "jugg_perk";
|
||||||
perk_machine.targetname = "vending_jugg";
|
perk_machine.targetname = "vending_jugg";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "jugg_perk";
|
bump_trigger.script_string = "jugg_perk";
|
||||||
}
|
}
|
||||||
@ -3242,7 +3214,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_tombstone";
|
use_trigger.target = "vending_tombstone";
|
||||||
perk_machine.script_string = "tombstone_perk";
|
perk_machine.script_string = "tombstone_perk";
|
||||||
perk_machine.targetname = "vending_tombstone";
|
perk_machine.targetname = "vending_tombstone";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "tombstone_perk";
|
bump_trigger.script_string = "tombstone_perk";
|
||||||
}
|
}
|
||||||
@ -3255,7 +3227,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_doubletap";
|
use_trigger.target = "vending_doubletap";
|
||||||
perk_machine.script_string = "tap_perk";
|
perk_machine.script_string = "tap_perk";
|
||||||
perk_machine.targetname = "vending_doubletap";
|
perk_machine.targetname = "vending_doubletap";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "tap_perk";
|
bump_trigger.script_string = "tap_perk";
|
||||||
}
|
}
|
||||||
@ -3268,7 +3240,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_chugabud";
|
use_trigger.target = "vending_chugabud";
|
||||||
perk_machine.script_string = "tap_perk";
|
perk_machine.script_string = "tap_perk";
|
||||||
perk_machine.targetname = "vending_chugabud";
|
perk_machine.targetname = "vending_chugabud";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "tap_perk";
|
bump_trigger.script_string = "tap_perk";
|
||||||
}
|
}
|
||||||
@ -3281,7 +3253,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_additionalprimaryweapon";
|
use_trigger.target = "vending_additionalprimaryweapon";
|
||||||
perk_machine.script_string = "tap_perk";
|
perk_machine.script_string = "tap_perk";
|
||||||
perk_machine.targetname = "vending_additionalprimaryweapon";
|
perk_machine.targetname = "vending_additionalprimaryweapon";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "tap_perk";
|
bump_trigger.script_string = "tap_perk";
|
||||||
}
|
}
|
||||||
@ -3292,16 +3264,16 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.script_label = "mus_perks_packa_sting";
|
use_trigger.script_label = "mus_perks_packa_sting";
|
||||||
use_trigger.longjinglewait = 1;
|
use_trigger.longjinglewait = 1;
|
||||||
perk_machine.targetname = "vending_packapunch";
|
perk_machine.targetname = "vending_packapunch";
|
||||||
flag_pos = getstruct(pos[i].target, "targetname");
|
flag_pos = getstruct( pos[ i ].target, "targetname" );
|
||||||
if(isdefined(flag_pos))
|
if ( isDefined( flag_pos ) )
|
||||||
{
|
{
|
||||||
perk_machine_flag = spawn("script_model", flag_pos.origin);
|
perk_machine_flag = spawn( "script_model", flag_pos.origin );
|
||||||
perk_machine_flag.angles = flag_pos.angles;
|
perk_machine_flag.angles = flag_pos.angles;
|
||||||
perk_machine_flag setmodel(flag_pos.model);
|
perk_machine_flag setmodel( flag_pos.model );
|
||||||
perk_machine_flag.targetname = "pack_flag";
|
perk_machine_flag.targetname = "pack_flag";
|
||||||
perk_machine.target = "pack_flag";
|
perk_machine.target = "pack_flag";
|
||||||
}
|
}
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "perks_rattle";
|
bump_trigger.script_string = "perks_rattle";
|
||||||
}
|
}
|
||||||
@ -3314,7 +3286,7 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_deadshot";
|
use_trigger.target = "vending_deadshot";
|
||||||
perk_machine.script_string = "deadshot_vending";
|
perk_machine.script_string = "deadshot_vending";
|
||||||
perk_machine.targetname = "vending_deadshot_model";
|
perk_machine.targetname = "vending_deadshot_model";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "deadshot_vending";
|
bump_trigger.script_string = "deadshot_vending";
|
||||||
}
|
}
|
||||||
@ -3326,18 +3298,18 @@ perk_machine_spawn_init()
|
|||||||
use_trigger.target = "vending_sleight";
|
use_trigger.target = "vending_sleight";
|
||||||
perk_machine.script_string = "speedcola_perk";
|
perk_machine.script_string = "speedcola_perk";
|
||||||
perk_machine.targetname = "vending_sleight";
|
perk_machine.targetname = "vending_sleight";
|
||||||
if(isdefined(bump_trigger))
|
if ( isDefined( bump_trigger ) )
|
||||||
{
|
{
|
||||||
bump_trigger.script_string = "speedcola_perk";
|
bump_trigger.script_string = "speedcola_perk";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(isdefined(level._custom_perks[perk]) && isdefined(level._custom_perks[perk].perk_machine_set_kvps))
|
if(isdefined(level._custom_perks[perk]) && isdefined(level._custom_perks[perk].perk_machine_set_kvps))
|
||||||
{
|
{
|
||||||
[[level._custom_perks[perk].perk_machine_set_kvps]](use_trigger, perk_machine, bump_trigger, collision);
|
[[level._custom_perks[perk].perk_machine_set_kvps]](use_trigger, perk_machine, bump_trigger, collision);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get_perk_machine_start_state( perk )
|
get_perk_machine_start_state( perk )
|
||||||
@ -3400,17 +3372,15 @@ perks_register_clientfield()
|
|||||||
{
|
{
|
||||||
registerclientfield( "toplayer", "perk_chugabud", 1000, 1, "int" );
|
registerclientfield( "toplayer", "perk_chugabud", 1000, 1, "int" );
|
||||||
}
|
}
|
||||||
while ( isDefined( level._custom_perks ) )
|
if(isdefined(level._custom_perks))
|
||||||
{
|
{
|
||||||
a_keys = getarraykeys( level._custom_perks );
|
a_keys = getarraykeys(level._custom_perks);
|
||||||
i = 0;
|
for(i = 0; i < a_keys.size; i++)
|
||||||
while ( i < a_keys.size )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( level._custom_perks[ a_keys[ i ] ].clientfield_register ) )
|
if(isdefined(level._custom_perks[ a_keys[ i ] ].clientfield_register))
|
||||||
{
|
{
|
||||||
level [[ level._custom_perks[ a_keys[ i ] ].clientfield_register ]]();
|
level [[level._custom_perks[ a_keys[ i ] ].clientfield_register]]();
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3674,7 +3644,7 @@ disable_quickrevive( machine_clip )
|
|||||||
}
|
}
|
||||||
level.quick_revive_machine unlink();
|
level.quick_revive_machine unlink();
|
||||||
}
|
}
|
||||||
level.quick_revive_machine moveto( move_org + vectorScale( ( 0, -1, 0 ), 40 ), 3 );
|
level.quick_revive_machine moveto( move_org + vectorScale( ( 0, 0, 1 ), 40 ), 3 );
|
||||||
direction = level.quick_revive_machine.origin;
|
direction = level.quick_revive_machine.origin;
|
||||||
direction = ( direction[ 1 ], direction[ 0 ], 0 );
|
direction = ( direction[ 1 ], direction[ 0 ], 0 );
|
||||||
if ( direction[ 1 ] < 0 || direction[ 0 ] > 0 && direction[ 1 ] > 0 )
|
if ( direction[ 1 ] < 0 || direction[ 0 ] > 0 && direction[ 1 ] > 0 )
|
||||||
@ -3809,7 +3779,7 @@ players_are_in_perk_area( perk_machine )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
perk_hostmigration()
|
perk_hostmigration() //changed level._custom_perks
|
||||||
{
|
{
|
||||||
level endon( "end_game" );
|
level endon( "end_game" );
|
||||||
level notify( "perk_hostmigration" );
|
level notify( "perk_hostmigration" );
|
||||||
@ -3934,23 +3904,21 @@ perk_hostmigration()
|
|||||||
}
|
}
|
||||||
_k4393 = getNextArrayKey( _a4393, _k4393 );
|
_k4393 = getNextArrayKey( _a4393, _k4393 );
|
||||||
}
|
}
|
||||||
while ( level._custom_perks.size > 0 )
|
if(level._custom_perks.size > 0)
|
||||||
{
|
{
|
||||||
a_keys = getarraykeys( level._custom_perks );
|
a_keys = getarraykeys(level._custom_perks);
|
||||||
i = 0;
|
for(i = 0; i < a_keys.size; i++)
|
||||||
while ( i < a_keys.size )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( level._custom_perks[ a_keys[ i ] ].host_migration_func ) )
|
if(isdefined(level._custom_perks[ a_keys[ i ] ].host_migration_func))
|
||||||
{
|
{
|
||||||
level thread [[ level._custom_perks[ a_keys[ i ] ].host_migration_func ]]();
|
level thread [[level._custom_perks[ a_keys[ i ] ].host_migration_func]]();
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get_perk_array( ignore_chugabud )
|
get_perk_array( ignore_chugabud ) //changed code relating to level._custom_perks
|
||||||
{
|
{
|
||||||
perk_array = [];
|
perk_array = [];
|
||||||
if ( self hasperk( "specialty_armorvest" ) )
|
if ( self hasperk( "specialty_armorvest" ) )
|
||||||
@ -3992,17 +3960,15 @@ get_perk_array( ignore_chugabud )
|
|||||||
perk_array[ perk_array.size ] = "specialty_finalstand";
|
perk_array[ perk_array.size ] = "specialty_finalstand";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while ( level._custom_perks.size > 0 )
|
if(level._custom_perks.size > 0)
|
||||||
{
|
{
|
||||||
a_keys = getarraykeys( level._custom_perks );
|
a_keys = getarraykeys(level._custom_perks);
|
||||||
i = 0;
|
for(i = 0; i < a_keys.size; i++)
|
||||||
while ( i < a_keys.size )
|
|
||||||
{
|
{
|
||||||
if ( self hasperk( a_keys[ i ] ) )
|
if(self hasperk(a_keys[i]))
|
||||||
{
|
{
|
||||||
perk_array[ perk_array.size ] = a_keys[ i ];
|
perk_array[perk_array.size] = a_keys[i];
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return perk_array;
|
return perk_array;
|
||||||
@ -4161,3 +4127,8 @@ _register_undefined_perk( str_perk )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
init() //checked 100% parity
|
init() //checked 100% parity
|
||||||
{
|
{
|
||||||
level thread onPlayerConnect(); //this is new code added to define player
|
|
||||||
level._random_zombie_perk_cost = 1500;
|
level._random_zombie_perk_cost = 1500;
|
||||||
level thread precache();
|
level thread precache();
|
||||||
level thread init_machines();
|
level thread init_machines();
|
||||||
@ -30,15 +29,6 @@ init() //checked 100% parity
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerConnect()
|
|
||||||
{
|
|
||||||
for(;;)
|
|
||||||
{
|
|
||||||
level waittill("connected", player);
|
|
||||||
level.players_wunderfizz = player;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
init_machines()
|
init_machines()
|
||||||
{
|
{
|
||||||
machines = getentarray("random_perk_machine", "targetname");
|
machines = getentarray("random_perk_machine", "targetname");
|
||||||
@ -306,7 +296,6 @@ conditional_power_indicators() //checked 100% parity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wunderfizz_unitrigger_think( player ) //checked 100% parity
|
wunderfizz_unitrigger_think( player ) //checked 100% parity
|
||||||
{
|
{
|
||||||
self endon( "kill_trigger" );
|
self endon( "kill_trigger" );
|
||||||
@ -314,6 +303,7 @@ wunderfizz_unitrigger_think( player ) //checked 100% parity
|
|||||||
{
|
{
|
||||||
self waittill( "trigger", player );
|
self waittill( "trigger", player );
|
||||||
self.stub.trigger_target notify( "trigger" );
|
self.stub.trigger_target notify( "trigger" );
|
||||||
|
level.players_wunderfizz = player; //better way to define player
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,8 +328,6 @@ machine_think() //checked 80% parity
|
|||||||
{
|
{
|
||||||
self waittill("trigger", level.players_wunderfizz);
|
self waittill("trigger", level.players_wunderfizz);
|
||||||
flag_clear("machine_can_reset");
|
flag_clear("machine_can_reset");
|
||||||
//level notify("pmmove");
|
|
||||||
//broken
|
|
||||||
player = level.players_wunderfizz;
|
player = level.players_wunderfizz;
|
||||||
if(player.score < level._random_zombie_perk_cost)
|
if(player.score < level._random_zombie_perk_cost)
|
||||||
{
|
{
|
||||||
@ -347,7 +335,6 @@ machine_think() //checked 80% parity
|
|||||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog("general", "perk_deny", undefined, 0);
|
player maps/mp/zombies/_zm_audio::create_and_play_dialog("general", "perk_deny", undefined, 0);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//working
|
|
||||||
if(self.num_time_used >= self.num_til_moved)
|
if(self.num_time_used >= self.num_til_moved)
|
||||||
{
|
{
|
||||||
level notify("pmmove");
|
level notify("pmmove");
|
||||||
@ -359,13 +346,11 @@ machine_think() //checked 80% parity
|
|||||||
self hidepart("j_ball");
|
self hidepart("j_ball");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//working
|
|
||||||
self.machine_user = player;
|
self.machine_user = player;
|
||||||
self.num_time_used++;
|
self.num_time_used++;
|
||||||
player maps/mp/zombies/_zm_stats::increment_client_stat("use_perk_random");
|
player maps/mp/zombies/_zm_stats::increment_client_stat("use_perk_random");
|
||||||
player maps/mp/zombies/_zm_stats::increment_player_stat("use_perk_random");
|
player maps/mp/zombies/_zm_stats::increment_player_stat("use_perk_random");
|
||||||
|
|
||||||
//broken
|
|
||||||
player maps/mp/zombies/_zm_score::minus_to_player_score(level._random_zombie_perk_cost);
|
player maps/mp/zombies/_zm_score::minus_to_player_score(level._random_zombie_perk_cost);
|
||||||
|
|
||||||
|
|
||||||
@ -377,10 +362,8 @@ machine_think() //checked 80% parity
|
|||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
//working
|
|
||||||
thread maps/mp/zombies/_zm_unitrigger::unregister_unitrigger(self.unitrigger_stub);
|
thread maps/mp/zombies/_zm_unitrigger::unregister_unitrigger(self.unitrigger_stub);
|
||||||
|
|
||||||
//broken
|
|
||||||
random_perk = get_weighted_random_perk(player);
|
random_perk = get_weighted_random_perk(player);
|
||||||
|
|
||||||
self setclientfield("perk_bottle_cycle_state", 1);
|
self setclientfield("perk_bottle_cycle_state", 1);
|
||||||
@ -415,7 +398,7 @@ machine_think() //checked 80% parity
|
|||||||
}
|
}
|
||||||
self.grab_perk_hint = 1;
|
self.grab_perk_hint = 1;
|
||||||
thread maps/mp/zombies/_zm_unitrigger::register_static_unitrigger(self.unitrigger_stub, ::wunderfizz_unitrigger_think);
|
thread maps/mp/zombies/_zm_unitrigger::register_static_unitrigger(self.unitrigger_stub, ::wunderfizz_unitrigger_think);
|
||||||
//broken
|
|
||||||
self thread grab_check(player, random_perk);
|
self thread grab_check(player, random_perk);
|
||||||
|
|
||||||
self thread time_out_check();
|
self thread time_out_check();
|
||||||
@ -484,7 +467,6 @@ grab_check( player, random_perk ) //checked 100% parity
|
|||||||
player do_player_general_vox("wunderfizz", "perk_wonder", undefined, 100);
|
player do_player_general_vox("wunderfizz", "perk_wonder", undefined, 100);
|
||||||
player.has_drunk_wunderfizz = 1;
|
player.has_drunk_wunderfizz = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
monitor_when_player_acquires_perk() //checked 100% parity
|
monitor_when_player_acquires_perk() //checked 100% parity
|
||||||
@ -699,3 +681,5 @@ machine_sounds() //checked 100% parity
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user