checked 4 zm_prison_patch scripts

Checked _sticky_grenade.gsc, zm_alcatraz_gamemodes.gsc, zm_alcatraz_gamemodes.gsc, and zm_alcatraz_standard.gsc.
This commit is contained in:
JezuzLizard 2020-05-31 21:07:46 -07:00
parent d2ac9b5e36
commit d59ccb7757
4 changed files with 91 additions and 162 deletions

View File

@ -1,12 +1,13 @@
//checked includes match cerberus output
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
init() init() //checked matches cerberus output
{ {
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_grn_os" );
loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" ); loadfx( "weapon/crossbow/fx_trail_crossbow_blink_red_os" );
} }
watch_bolt_detonation( owner ) watch_bolt_detonation( owner ) //checked matches cerberus output
{ {
} }

View File

@ -1,3 +1,6 @@
//checked includes changed to match cerberus output
#include maps/mp/zm_alcatraz_classic;
#include maps/mp/zm_alcatraz_grief_cellblock;
#include maps/mp/zm_prison; #include maps/mp/zm_prison;
#include maps/mp/gametypes_zm/_zm_gametype; #include maps/mp/gametypes_zm/_zm_gametype;
#include maps/mp/zombies/_zm_game_module; #include maps/mp/zombies/_zm_game_module;
@ -5,11 +8,11 @@
#include maps/mp/_utility; #include maps/mp/_utility;
#include common_scripts/utility; #include common_scripts/utility;
init() init() //checked matches cerberus output
{ {
level.custom_vending_precaching = ::maps/mp/zm_prison::custom_vending_precaching; level.custom_vending_precaching = maps/mp/zm_prison::custom_vending_precaching;
add_map_gamemode( "zclassic", ::maps/mp/zm_prison::zclassic_preinit, undefined, undefined ); add_map_gamemode( "zclassic", maps/mp/zm_prison::zclassic_preinit, undefined, undefined );
add_map_gamemode( "zgrief", ::maps/mp/zm_alcatraz_grief_cellblock::zgrief_preinit, undefined, undefined ); add_map_gamemode( "zgrief", maps/mp/zm_alcatraz_grief_cellblock::zgrief_preinit, undefined, undefined );
add_map_location_gamemode( "zclassic", "prison", ::maps/mp/zm_alcatraz_classic::precache, ::maps/mp/zm_alcatraz_classic::main ); add_map_location_gamemode( "zclassic", "prison", maps/mp/zm_alcatraz_classic::precache, maps/mp/zm_alcatraz_classic::main );
add_map_location_gamemode( "zgrief", "cellblock", ::maps/mp/zm_alcatraz_grief_cellblock::precache, ::maps/mp/zm_alcatraz_grief_cellblock::main ); add_map_location_gamemode( "zgrief", "cellblock", maps/mp/zm_alcatraz_grief_cellblock::precache, maps/mp/zm_alcatraz_grief_cellblock::main );
} }

View File

@ -1,7 +1,9 @@
//checked includes changed to match cerberus output
#include maps/mp/gametypes_zm/zmeat; #include maps/mp/gametypes_zm/zmeat;
#include maps/mp/zm_alcatraz_traps; #include maps/mp/zm_alcatraz_traps;
#include maps/mp/zombies/_zm_game_module; #include maps/mp/zombies/_zm_game_module;
#include maps/mp/zombies/_zm_blockers; #include maps/mp/zombies/_zm_blockers;
#include maps/mp/zombies/_zm_ai_brutus;
#include maps/mp/gametypes_zm/_zm_gametype; #include maps/mp/gametypes_zm/_zm_gametype;
#include maps/mp/zombies/_zm_magicbox; #include maps/mp/zombies/_zm_magicbox;
#include maps/mp/zombies/_zm_weapons; #include maps/mp/zombies/_zm_weapons;
@ -11,20 +13,18 @@
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
#using_animtree( "fxanim_props" ); precache() //checked matches cerberus output
precache()
{ {
} }
zgrief_preinit() zgrief_preinit() //checked matches cerberus output
{ {
registerclientfield( "toplayer", "meat_stink", 1, 1, "int" ); registerclientfield( "toplayer", "meat_stink", 1, 1, "int" );
level.givecustomloadout = ::maps/mp/zm_prison::givecustomloadout; level.givecustomloadout = maps/mp/zm_prison::givecustomloadout;
zgrief_init(); zgrief_init();
} }
zgrief_init() zgrief_init() //checked matches cerberus output
{ {
encounter_init(); encounter_init();
flag_wait( "start_zombie_round_logic" ); flag_wait( "start_zombie_round_logic" );
@ -34,7 +34,7 @@ zgrief_init()
} }
} }
encounter_init() encounter_init() //checked matches cerberus output
{ {
level._game_module_player_laststand_callback = ::alcatraz_grief_laststand_weapon_save; level._game_module_player_laststand_callback = ::alcatraz_grief_laststand_weapon_save;
level.precachecustomcharacters = ::precache_team_characters; level.precachecustomcharacters = ::precache_team_characters;
@ -42,20 +42,18 @@ encounter_init()
level.gamemode_post_spawn_logic = ::give_player_shiv; level.gamemode_post_spawn_logic = ::give_player_shiv;
} }
alcatraz_grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) alcatraz_grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration ) //checked changed to match cerberus output
{ {
if ( self hasperk( "specialty_additionalprimaryweapon" ) ) if ( self hasperk( "specialty_additionalprimaryweapon" ) )
{ {
primary_weapons_that_can_be_taken = []; primary_weapons_that_can_be_taken = [];
primaryweapons = self getweaponslistprimaries(); primaryweapons = self getweaponslistprimaries();
i = 0; for ( i = 0; i < primaryweapons.size; i++ )
while ( i < primaryweapons.size )
{ {
if ( maps/mp/zombies/_zm_weapons::is_weapon_included( primaryweapons[ i ] ) || maps/mp/zombies/_zm_weapons::is_weapon_upgraded( primaryweapons[ i ] ) ) if ( maps/mp/zombies/_zm_weapons::is_weapon_included( primaryweapons[ i ] ) || maps/mp/zombies/_zm_weapons::is_weapon_upgraded( primaryweapons[ i ] ) )
{ {
primary_weapons_that_can_be_taken[ primary_weapons_that_can_be_taken.size ] = primaryweapons[ i ]; primary_weapons_that_can_be_taken[ primary_weapons_that_can_be_taken.size ] = primaryweapons[ i ];
} }
i++;
} }
if ( primary_weapons_that_can_be_taken.size >= 3 ) if ( primary_weapons_that_can_be_taken.size >= 3 )
{ {
@ -78,12 +76,10 @@ alcatraz_grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdea
{ {
self.grief_savedweapon_tactical_clip = self getweaponammoclip( self.grief_savedweapon_tactical ); self.grief_savedweapon_tactical_clip = self getweaponammoclip( self.grief_savedweapon_tactical );
} }
i = 0; for ( i = 0; i < self.grief_savedweapon_weapons.size; i++ )
while ( i < self.grief_savedweapon_weapons.size )
{ {
self.grief_savedweapon_weaponsammo_clip[ i ] = self getweaponammoclip( self.grief_savedweapon_weapons[ i ] ); self.grief_savedweapon_weaponsammo_clip[ i ] = self getweaponammoclip( self.grief_savedweapon_weapons[ i ] );
self.grief_savedweapon_weaponsammo_stock[ i ] = self getweaponammostock( self.grief_savedweapon_weapons[ i ] ); self.grief_savedweapon_weaponsammo_stock[ i ] = self getweaponammostock( self.grief_savedweapon_weapons[ i ] );
i++;
} }
if ( isDefined( self.hasriotshield ) && self.hasriotshield ) if ( isDefined( self.hasriotshield ) && self.hasriotshield )
{ {
@ -96,7 +92,7 @@ alcatraz_grief_laststand_weapon_save( einflictor, attacker, idamage, smeansofdea
} }
} }
precache_team_characters() precache_team_characters() //checked matches cerberus output
{ {
precachemodel( "c_zom_player_grief_guard_fb" ); precachemodel( "c_zom_player_grief_guard_fb" );
precachemodel( "c_zom_oleary_shortsleeve_viewhands" ); precachemodel( "c_zom_oleary_shortsleeve_viewhands" );
@ -104,7 +100,7 @@ precache_team_characters()
precachemodel( "c_zom_grief_guard_viewhands" ); precachemodel( "c_zom_grief_guard_viewhands" );
} }
give_team_characters() give_team_characters() //checked matches cerberus output
{ {
self detachall(); self detachall();
self set_player_is_female( 0 ); self set_player_is_female( 0 );
@ -140,13 +136,13 @@ give_team_characters()
self setsprintcooldown( 0 ); self setsprintcooldown( 0 );
} }
give_player_shiv() give_player_shiv() //checked matches cerberus output
{ {
self takeweapon( "knife_zm" ); self takeweapon( "knife_zm" );
self giveweapon( "knife_zm_alcatraz" ); self giveweapon( "knife_zm_alcatraz" );
} }
grief_treasure_chest_init() grief_treasure_chest_init() //checked matches cerberus output
{ {
chest1 = getstruct( "start_chest", "script_noteworthy" ); chest1 = getstruct( "start_chest", "script_noteworthy" );
chest2 = getstruct( "cafe_chest", "script_noteworthy" ); chest2 = getstruct( "cafe_chest", "script_noteworthy" );
@ -157,7 +153,7 @@ grief_treasure_chest_init()
maps/mp/zombies/_zm_magicbox::treasure_chest_init( "start_chest" ); maps/mp/zombies/_zm_magicbox::treasure_chest_init( "start_chest" );
} }
main() main() //checked partially changed to match cerberus output changed at own discretion see info.md
{ {
maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "cellblock" ); maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "cellblock" );
grief_treasure_chest_init(); grief_treasure_chest_init();
@ -168,48 +164,39 @@ main()
level.enemy_location_override_func = ::enemy_location_override; level.enemy_location_override_func = ::enemy_location_override;
level._effect[ "butterflies" ] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_skull_elec" ); level._effect[ "butterflies" ] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_skull_elec" );
a_t_door_triggers = getentarray( "zombie_door", "targetname" ); a_t_door_triggers = getentarray( "zombie_door", "targetname" );
_a207 = a_t_door_triggers; triggers = a_t_door_triggers;
_k207 = getFirstArrayKey( _a207 ); i = 0;
while ( isDefined( _k207 ) ) while ( i < triggers.size )
{ {
trigger = _a207[ _k207 ]; if ( isDefined( triggers[ i ].script_flag ) )
if ( isDefined( trigger.script_flag ) )
{ {
if ( trigger.script_flag != "activate_cellblock_citadel" && trigger.script_flag != "activate_shower_room" || trigger.script_flag == "activate_cellblock_infirmary" && trigger.script_flag == "activate_infirmary" ) if ( triggers[ i ].script_flag == "activate_cellblock_citadel" || triggers[ i ].script_flag == "activate_shower_room" || triggers[ i ].script_flag == "activate_cellblock_infirmary" || triggers[ i ].script_flag == "activate_infirmary" )
{ {
trigger delete(); trigger delete();
break; i++;
continue;
} }
else if ( triggers[ i ].script_flag == "activate_cafeteria" || triggers[ i ].script_flag == "activate_cellblock_east" || triggers[ i ].script_flag == "activate_cellblock_west" || triggers[ i ].script_flag == "activate_cellblock_barber" || triggers[ i ].script_flag == "activate_cellblock_gondola" || triggers[ i ].script_flag == "activate_cellblock_east_west" || triggers[ i ].script_flag == "activate_warden_office" )
{ {
if ( trigger.script_flag != "activate_cafeteria" && trigger.script_flag != "activate_cellblock_east" && trigger.script_flag != "activate_cellblock_west" && trigger.script_flag != "activate_cellblock_barber" && trigger.script_flag != "activate_cellblock_gondola" || trigger.script_flag == "activate_cellblock_east_west" && trigger.script_flag == "activate_warden_office" ) i++;
{ continue;
break;
}
else while ( isDefined( trigger.target ) )
{
str_target = trigger.target;
a_door_and_clip = getentarray( str_target, "targetname" );
_a229 = a_door_and_clip;
_k229 = getFirstArrayKey( _a229 );
while ( isDefined( _k229 ) )
{
ent = _a229[ _k229 ];
ent delete();
_k229 = getNextArrayKey( _a229, _k229 );
}
}
trigger delete();
} }
if ( isDefined( triggers[ i ].target ) )
{
str_target = triggers[ i ].target;
a_door_and_clip = getentarray( str_target, "targetname" );
foreach ( ent in a_door_and_clip )
{
ent delete();
}
}
trigger delete();
} }
_k207 = getNextArrayKey( _a207, _k207 ); i++;
} }
a_t_doors = getentarray( "zombie_door", "targetname" ); a_t_doors = getentarray( "zombie_door", "targetname" );
_a244 = a_t_doors; foreach ( t_door in a_t_doors )
_k244 = getFirstArrayKey( _a244 );
while ( isDefined( _k244 ) )
{ {
t_door = _a244[ _k244 ];
if ( isDefined( t_door.script_flag ) ) if ( isDefined( t_door.script_flag ) )
{ {
if ( t_door.script_flag == "activate_cellblock_east_west" || t_door.script_flag == "activate_cellblock_barber" ) if ( t_door.script_flag == "activate_cellblock_east_west" || t_door.script_flag == "activate_cellblock_barber" )
@ -217,7 +204,6 @@ main()
t_door maps/mp/zombies/_zm_blockers::door_opened( self.zombie_cost ); t_door maps/mp/zombies/_zm_blockers::door_opened( self.zombie_cost );
} }
} }
_k244 = getNextArrayKey( _a244, _k244 );
} }
zbarriers = getzbarrierarray(); zbarriers = getzbarrierarray();
a_str_zones = []; a_str_zones = [];
@ -231,40 +217,31 @@ main()
a_str_zones[ 7 ] = "zone_cellblock_west_barber"; a_str_zones[ 7 ] = "zone_cellblock_west_barber";
a_str_zones[ 8 ] = "zone_cellblock_west"; a_str_zones[ 8 ] = "zone_cellblock_west";
a_str_zones[ 9 ] = "zone_cellblock_west_gondola"; a_str_zones[ 9 ] = "zone_cellblock_west_gondola";
_a269 = zbarriers; foreach ( barrier in zbarriers )
_k269 = getFirstArrayKey( _a269 );
while ( isDefined( _k269 ) )
{ {
barrier = _a269[ _k269 ]; if ( isDefined( barrier.script_noteworthy ) && barrier.script_noteworthy == "cafe_chest_zbarrier" || isDefined( barrier.script_noteworthy ) && barrier.script_noteworthy == "start_chest_zbarrier" )
if ( isDefined( barrier.script_noteworthy ) ) {
{
if ( barrier.script_noteworthy == "cafe_chest_zbarrier" || barrier.script_noteworthy == "start_chest_zbarrier" )
{
}
} }
else else
{ {
str_model = barrier.model; str_model = barrier.model;
b_delete_barrier = 1; b_delete_barrier = 1;
i = 0; if ( isdefined( barrier.script_string ) )
while ( i < a_str_zones.size )
{ {
if ( str_model == a_str_zones[ i ] ) for ( i = 0; i < a_str_zones.size; i++ )
{ {
b_delete_barrier = 0; if ( str_model == a_str_zones[ i ] )
break; {
} b_delete_barrier = 0;
else break;
{ }
i++;
} }
} }
if ( b_delete_barrier == 1 ) else if ( b_delete_barrier == 1 )
{ {
barrier delete(); barrier delete();
} }
} }
_k269 = getNextArrayKey( _a269, _k269 );
} }
t_temp = getent( "tower_trap_activate_trigger", "targetname" ); t_temp = getent( "tower_trap_activate_trigger", "targetname" );
t_temp delete(); t_temp delete();
@ -275,105 +252,65 @@ main()
e_brush = getent( "tower_shockbox_door", "targetname" ); e_brush = getent( "tower_shockbox_door", "targetname" );
e_brush delete(); e_brush delete();
a_t_travel_triggers = getentarray( "travel_trigger", "script_noteworthy" ); a_t_travel_triggers = getentarray( "travel_trigger", "script_noteworthy" );
_a312 = a_t_travel_triggers; foreach ( trigger in a_t_travel_triggers )
_k312 = getFirstArrayKey( _a312 );
while ( isDefined( _k312 ) )
{ {
trigger = _a312[ _k312 ];
trigger delete(); trigger delete();
_k312 = getNextArrayKey( _a312, _k312 );
} }
a_e_gondola_lights = getentarray( "gondola_state_light", "targetname" ); a_e_gondola_lights = getentarray( "gondola_state_light", "targetname" );
_a318 = a_e_gondola_lights; foreach ( light in a_e_gondola_lights )
_k318 = getFirstArrayKey( _a318 );
while ( isDefined( _k318 ) )
{ {
light = _a318[ _k318 ];
light delete(); light delete();
_k318 = getNextArrayKey( _a318, _k318 );
} }
a_e_gondola_landing_gates = getentarray( "gondola_landing_gates", "targetname" ); a_e_gondola_landing_gates = getentarray( "gondola_landing_gates", "targetname" );
_a324 = a_e_gondola_landing_gates; foreach ( model in a_e_gondola_landing_gates )
_k324 = getFirstArrayKey( _a324 );
while ( isDefined( _k324 ) )
{ {
model = _a324[ _k324 ];
model delete(); model delete();
_k324 = getNextArrayKey( _a324, _k324 );
} }
a_e_gondola_landing_doors = getentarray( "gondola_landing_doors", "targetname" ); a_e_gondola_landing_doors = getentarray( "gondola_landing_doors", "targetname" );
_a330 = a_e_gondola_landing_doors; foreach ( model in a_e_gondola_landing_doors )
_k330 = getFirstArrayKey( _a330 );
while ( isDefined( _k330 ) )
{ {
model = _a330[ _k330 ];
model delete(); model delete();
_k330 = getNextArrayKey( _a330, _k330 );
} }
a_e_gondola_gates = getentarray( "gondola_gates", "targetname" ); a_e_gondola_gates = getentarray( "gondola_gates", "targetname" );
_a336 = a_e_gondola_gates; foreach ( model in a_e_gondola_gates )
_k336 = getFirstArrayKey( _a336 );
while ( isDefined( _k336 ) )
{ {
model = _a336[ _k336 ];
model delete(); model delete();
_k336 = getNextArrayKey( _a336, _k336 );
} }
a_e_gondola_doors = getentarray( "gondola_doors", "targetname" ); a_e_gondola_doors = getentarray( "gondola_doors", "targetname" );
_a342 = a_e_gondola_doors; foreach ( model in a_e_gondola_doors )
_k342 = getFirstArrayKey( _a342 );
while ( isDefined( _k342 ) )
{ {
model = _a342[ _k342 ];
model delete(); model delete();
_k342 = getNextArrayKey( _a342, _k342 );
} }
m_gondola = getent( "zipline_gondola", "targetname" ); m_gondola = getent( "zipline_gondola", "targetname" );
m_gondola delete(); m_gondola delete();
t_ride_trigger = getent( "gondola_ride_trigger", "targetname" ); t_ride_trigger = getent( "gondola_ride_trigger", "targetname" );
t_ride_trigger delete(); t_ride_trigger delete();
a_classic_clips = getentarray( "classic_clips", "targetname" ); a_classic_clips = getentarray( "classic_clips", "targetname" );
_a355 = a_classic_clips; foreach ( clip in a_classic_clips )
_k355 = getFirstArrayKey( _a355 );
while ( isDefined( _k355 ) )
{ {
clip = _a355[ _k355 ];
clip connectpaths(); clip connectpaths();
clip delete(); clip delete();
_k355 = getNextArrayKey( _a355, _k355 );
} }
a_afterlife_props = getentarray( "afterlife_show", "targetname" ); a_afterlife_props = getentarray( "afterlife_show", "targetname" );
_a363 = a_afterlife_props; foreach ( m_prop in a_afterlife_props )
_k363 = getFirstArrayKey( _a363 );
while ( isDefined( _k363 ) )
{ {
m_prop = _a363[ _k363 ];
m_prop delete(); m_prop delete();
_k363 = getNextArrayKey( _a363, _k363 );
} }
spork_portal = getent( "afterlife_show_spork", "targetname" ); spork_portal = getent( "afterlife_show_spork", "targetname" );
spork_portal delete(); spork_portal delete();
a_audio = getentarray( "at_headphones", "script_noteworthy" ); a_audio = getentarray( "at_headphones", "script_noteworthy" );
_a373 = a_audio; foreach ( model in a_audio )
_k373 = getFirstArrayKey( _a373 );
while ( isDefined( _k373 ) )
{ {
model = _a373[ _k373 ];
model delete(); model delete();
_k373 = getNextArrayKey( _a373, _k373 );
} }
m_spoon_pickup = getent( "pickup_spoon", "targetname" ); m_spoon_pickup = getent( "pickup_spoon", "targetname" );
m_spoon_pickup delete(); m_spoon_pickup delete();
t_sq_bg = getent( "sq_bg_reward_pickup", "targetname" ); t_sq_bg = getent( "sq_bg_reward_pickup", "targetname" );
t_sq_bg delete(); t_sq_bg delete();
t_crafting_table = getentarray( "open_craftable_trigger", "targetname" ); t_crafting_table = getentarray( "open_craftable_trigger", "targetname" );
_a386 = t_crafting_table; foreach ( trigger in t_crafting_table )
_k386 = getFirstArrayKey( _a386 );
while ( isDefined( _k386 ) )
{ {
trigger = _a386[ _k386 ];
trigger delete(); trigger delete();
_k386 = getNextArrayKey( _a386, _k386 );
} }
t_warden_fence = getent( "warden_fence_damage", "targetname" ); t_warden_fence = getent( "warden_fence_damage", "targetname" );
t_warden_fence delete(); t_warden_fence delete();
@ -381,12 +318,10 @@ main()
m_plane_about_to_crash delete(); m_plane_about_to_crash delete();
m_plane_craftable = getent( "plane_craftable", "targetname" ); m_plane_craftable = getent( "plane_craftable", "targetname" );
m_plane_craftable delete(); m_plane_craftable delete();
i = 1; for ( i = 1; i <= 5; i++ )
while ( i <= 5 )
{ {
m_key_lock = getent( "masterkey_lock_" + i, "targetname" ); m_key_lock = getent( "masterkey_lock_" + i, "targetname" );
m_key_lock delete(); m_key_lock delete();
i++;
} }
m_shower_door = getent( "shower_key_door", "targetname" ); m_shower_door = getent( "shower_key_door", "targetname" );
m_shower_door delete(); m_shower_door delete();
@ -396,12 +331,10 @@ main()
m_nixie_door delete(); m_nixie_door delete();
m_nixie_brush = getent( "nixie_tube_weaponclip", "targetname" ); m_nixie_brush = getent( "nixie_tube_weaponclip", "targetname" );
m_nixie_brush delete(); m_nixie_brush delete();
i = 1; for ( i = 1; i <= 3; i++ )
while ( i <= 3 )
{ {
m_nixie_tube = getent( "nixie_tube_" + i, "targetname" ); m_nixie_tube = getent( "nixie_tube_" + i, "targetname" );
m_nixie_tube delete(); m_nixie_tube delete();
i++;
} }
t_elevator_door = getent( "nixie_elevator_door", "targetname" ); t_elevator_door = getent( "nixie_elevator_door", "targetname" );
t_elevator_door delete(); t_elevator_door delete();
@ -421,42 +354,30 @@ main()
m_infirmary_case delete(); m_infirmary_case delete();
fake_plane_part = getent( "fake_veh_t6_dlc_zombie_part_control", "targetname" ); fake_plane_part = getent( "fake_veh_t6_dlc_zombie_part_control", "targetname" );
fake_plane_part delete(); fake_plane_part delete();
i = 1; for ( i = 1; i <= 3; i++ )
while ( i <= 3 )
{ {
m_generator = getent( "generator_panel_" + i, "targetname" ); m_generator = getent( "generator_panel_" + i, "targetname" );
m_generator delete(); m_generator delete();
i++;
} }
a_m_generator_core = getentarray( "generator_core", "targetname" ); a_m_generator_core = getentarray( "generator_core", "targetname" );
_a462 = a_m_generator_core; foreach ( generator in a_m_generator_core )
_k462 = getFirstArrayKey( _a462 );
while ( isDefined( _k462 ) )
{ {
generator = _a462[ _k462 ];
generator delete(); generator delete();
_k462 = getNextArrayKey( _a462, _k462 );
} }
e_playerclip = getent( "electric_chair_playerclip", "targetname" ); e_playerclip = getent( "electric_chair_playerclip", "targetname" );
e_playerclip delete(); e_playerclip delete();
i = 1; for ( i = 1; i <= 4; i++ )
while ( i <= 4 )
{ {
t_use = getent( "trigger_electric_chair_" + i, "targetname" ); t_use = getent( "trigger_electric_chair_" + i, "targetname" );
t_use delete(); t_use delete();
m_chair = getent( "electric_chair_" + i, "targetname" ); m_chair = getent( "electric_chair_" + i, "targetname" );
m_chair delete(); m_chair delete();
i++;
} }
a_afterlife_interact = getentarray( "afterlife_interact", "targetname" ); a_afterlife_interact = getentarray( "afterlife_interact", "targetname" );
_a482 = a_afterlife_interact; foreach ( model in a_afterlife_interact )
_k482 = getFirstArrayKey( _a482 );
while ( isDefined( _k482 ) )
{ {
model = _a482[ _k482 ];
model turn_afterlife_interact_on(); model turn_afterlife_interact_on();
wait 0,1; wait 0.1;
_k482 = getNextArrayKey( _a482, _k482 );
} }
flag_wait( "initial_blackscreen_passed" ); flag_wait( "initial_blackscreen_passed" );
maps/mp/zombies/_zm_game_module::turn_power_on_and_open_doors(); maps/mp/zombies/_zm_game_module::turn_power_on_and_open_doors();
@ -480,17 +401,19 @@ main()
wait_network_frame(); wait_network_frame();
level notify( "Pack_A_Punch_on" ); level notify( "Pack_A_Punch_on" );
wait_network_frame(); wait_network_frame();
/*
/# /#
level thread maps/mp/gametypes_zm/zmeat::spawn_level_meat_manager(); level thread maps/mp/gametypes_zm/zmeat::spawn_level_meat_manager();
#/ #/
*/
} }
remove_zombie_hats_for_grief() remove_zombie_hats_for_grief() //checked matches cerberus output
{ {
self detach( "c_zom_guard_hat" ); self detach( "c_zom_guard_hat" );
} }
enemy_location_override( zombie, enemy ) enemy_location_override( zombie, enemy ) //checked matches cerberus output
{ {
location = enemy.origin; location = enemy.origin;
if ( is_true( self.reroute ) ) if ( is_true( self.reroute ) )
@ -503,7 +426,7 @@ enemy_location_override( zombie, enemy )
return location; return location;
} }
magicbox_face_spawn() magicbox_face_spawn() //checked matches cerberus output
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !is_gametype_active( "zgrief" ) ) if ( !is_gametype_active( "zgrief" ) )
@ -524,20 +447,20 @@ magicbox_face_spawn()
self.wth_elem.alpha = 1; self.wth_elem.alpha = 1;
self.wth_elem setshader( "zm_al_wth_zombie", 640, 480 ); self.wth_elem setshader( "zm_al_wth_zombie", 640, 480 );
self.wth_elem.hidewheninmenu = 1; self.wth_elem.hidewheninmenu = 1;
wait 0,25; wait 0.25;
self.wth_elem destroy(); self.wth_elem destroy();
} }
wait 0,05; wait 0.05;
} }
} }
turn_afterlife_interact_on() turn_afterlife_interact_on()
{ {
if ( self.script_string != "cell_1_powerup_activate" && self.script_string != "intro_powerup_activate" || self.script_string == "cell_2_powerup_activate" && self.script_string == "wires_shower_door" ) if ( self.script_string == "cell_1_powerup_activate" && self.script_string == "intro_powerup_activate" || self.script_string == "cell_2_powerup_activate" || self.script_string == "wires_shower_door" )
{ {
return; return;
} }
if ( self.script_string != "electric_cherry_on" || self.script_string == "sleight_on" && self.script_string == "wires_admin_door" ) if ( self.script_string == "electric_cherry_on" || self.script_string == "sleight_on" || self.script_string == "wires_admin_door" )
{ {
if ( !isDefined( level.shockbox_anim ) ) if ( !isDefined( level.shockbox_anim ) )
{ {
@ -556,3 +479,4 @@ turn_afterlife_interact_on()
self delete(); self delete();
} }
} }

View File

@ -1,3 +1,4 @@
//checked includes match cerberus output
#include maps/mp/zombies/_zm_magicbox; #include maps/mp/zombies/_zm_magicbox;
#include maps/mp/zombies/_zm_game_module; #include maps/mp/zombies/_zm_game_module;
#include maps/mp/gametypes_zm/_zm_gametype; #include maps/mp/gametypes_zm/_zm_gametype;
@ -5,11 +6,11 @@
#include common_scripts/utility; #include common_scripts/utility;
#include maps/mp/_utility; #include maps/mp/_utility;
precache() precache() //checked matches cerberus output
{ {
} }
main() main() //checked matches cerberus output
{ {
maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "working" ); maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "working" );
maps/mp/zombies/_zm_game_module::set_current_game_module( level.game_module_standard_index ); maps/mp/zombies/_zm_game_module::set_current_game_module( level.game_module_standard_index );
@ -18,7 +19,7 @@ main()
zm_treasure_chest_init(); zm_treasure_chest_init();
} }
zm_treasure_chest_init() zm_treasure_chest_init() //checked matches cerberus output
{ {
chest1 = getstruct( "start_chest", "script_noteworthy" ); chest1 = getstruct( "start_chest", "script_noteworthy" );
level.chests = []; level.chests = [];