Document more functions.

This commit is contained in:
JezuzLizard 2024-02-22 20:43:44 -08:00
parent defe9a65a4
commit ccf7afa193
15 changed files with 108 additions and 77 deletions

View File

@ -3,7 +3,7 @@
main() main()
{ {
replaceFunc( maps\mp\teams\_teams::set_player_model, ::set_player_model_override ); pluto_sys::replacefunc( maps\mp\teams\_teams::set_player_model, ::set_player_model_override );
} }
set_player_model_override( team, weapon ) set_player_model_override( team, weapon )

View File

@ -665,14 +665,14 @@ avogadro_exit( from )
{ {
if ( from == "bus" ) if ( from == "bus" )
{ {
self playsound( "zmb_avogadro_death_short" ); self sys::playsound( "zmb_avogadro_death_short" );
playfx( level._effect["avogadro_ascend_aerial"], self.origin ); playfx( level._effect["avogadro_ascend_aerial"], self.origin );
self sys::animscripted( self.origin, self.angles, "zm_bus_win" ); self sys::animscripted( self.origin, self.angles, "zm_bus_win" );
maps\mp\animscripts\zm_shared::donotetracks( "bus_win_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "bus_win_anim" );
} }
else if ( from == "chamber" ) else if ( from == "chamber" )
{ {
self playsound( "zmb_avogadro_death_short" ); self sys::playsound( "zmb_avogadro_death_short" );
playfx( level._effect["avogadro_ascend"], self.origin ); playfx( level._effect["avogadro_ascend"], self.origin );
self sys::animscripted( self.origin, self.angles, "zm_chamber_out" ); self sys::animscripted( self.origin, self.angles, "zm_chamber_out" );
wait 0.4; wait 0.4;
@ -681,7 +681,7 @@ avogadro_exit( from )
} }
else else
{ {
self playsound( "zmb_avogadro_death" ); self sys::playsound( "zmb_avogadro_death" );
playfx( level._effect["avogadro_ascend"], self.origin ); playfx( level._effect["avogadro_ascend"], self.origin );
self sys::animscripted( self.origin, self.angles, "zm_exit" ); self sys::animscripted( self.origin, self.angles, "zm_exit" );
maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" );
@ -689,7 +689,7 @@ avogadro_exit( from )
} }
else else
{ {
self playsound( "zmb_avogadro_death" ); self sys::playsound( "zmb_avogadro_death" );
playfx( level._effect["avogadro_ascend"], self.origin ); playfx( level._effect["avogadro_ascend"], self.origin );
self sys::animscripted( self.origin, self.angles, "zm_exit" ); self sys::animscripted( self.origin, self.angles, "zm_exit" );
maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" );
@ -951,7 +951,7 @@ avogadro_teleport( dest_pos, dest_angles, lerp_time, tag_override )
playfxontag( level._effect["avogadro_phase_trail"], self.phase_fx, "tag_origin" ); playfxontag( level._effect["avogadro_phase_trail"], self.phase_fx, "tag_origin" );
playfx( level._effect["avogadro_phasing"], self.origin ); playfx( level._effect["avogadro_phasing"], self.origin );
self avogadro_reveal( 0.1 ); self avogadro_reveal( 0.1 );
self playsound( "zmb_avogadro_warp_out" ); self sys::playsound( "zmb_avogadro_warp_out" );
self.anchor.origin = self.origin; self.anchor.origin = self.origin;
self.anchor.angles = self.angles; self.anchor.angles = self.angles;
self sys::linkto( self.anchor ); self sys::linkto( self.anchor );
@ -975,7 +975,7 @@ avogadro_teleport( dest_pos, dest_angles, lerp_time, tag_override )
self.phase_fx delete(); self.phase_fx delete();
self avogadro_reveal( 0.1 ); self avogadro_reveal( 0.1 );
self playsound( "zmb_avogadro_warp_in" ); self sys::playsound( "zmb_avogadro_warp_in" );
self.is_teleport = 0; self.is_teleport = 0;
} }
@ -1058,7 +1058,7 @@ shoot_bolt( enemy )
bolt = sys::spawn( "script_model", source_pos ); bolt = sys::spawn( "script_model", source_pos );
bolt setmodel( "tag_origin" ); bolt setmodel( "tag_origin" );
wait 0.1; wait 0.1;
self playsound( "zmb_avogadro_attack" ); self sys::playsound( "zmb_avogadro_attack" );
fx = playfxontag( level._effect["avogadro_bolt"], bolt, "tag_origin" ); fx = playfxontag( level._effect["avogadro_bolt"], bolt, "tag_origin" );
bolt moveto( target_pos, 0.2 ); bolt moveto( target_pos, 0.2 );
bolt waittill( "movedone" ); bolt waittill( "movedone" );
@ -1194,7 +1194,7 @@ play_phase_anim()
playfxontag( level._effect["avogadro_phase_trail"], self.phase_fx, "tag_origin" ); playfxontag( level._effect["avogadro_phase_trail"], self.phase_fx, "tag_origin" );
playfx( level._effect["avogadro_phasing"], self.origin ); playfx( level._effect["avogadro_phasing"], self.origin );
self avogadro_reveal( 0.1 ); self avogadro_reveal( 0.1 );
self playsound( "zmb_avogadro_warp_out" ); self sys::playsound( "zmb_avogadro_warp_out" );
self sys::orientmode( "face enemy" ); self sys::orientmode( "face enemy" );
self sys::setanimstatefromasd( self.phase_state, self.phase_substate ); self sys::setanimstatefromasd( self.phase_state, self.phase_substate );
maps\mp\animscripts\zm_shared::donotetracks( "teleport_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "teleport_anim" );
@ -1202,7 +1202,7 @@ play_phase_anim()
playfx( level._effect["avogadro_phasing"], self.origin ); playfx( level._effect["avogadro_phasing"], self.origin );
self avogadro_reveal( 0.1 ); self avogadro_reveal( 0.1 );
self sys::orientmode( "face default" ); self sys::orientmode( "face default" );
self playsound( "zmb_avogadro_warp_in" ); self sys::playsound( "zmb_avogadro_warp_in" );
self.phase_time = sys::gettime() + 2000; self.phase_time = sys::gettime() + 2000;
self notify( "phase_anim_done" ); self notify( "phase_anim_done" );
} }
@ -1224,7 +1224,7 @@ phase_failsafe()
playfx( level._effect["avogadro_phasing"], self.origin ); playfx( level._effect["avogadro_phasing"], self.origin );
self avogadro_reveal( 0.1 ); self avogadro_reveal( 0.1 );
self sys::orientmode( "face default" ); self sys::orientmode( "face default" );
self playsound( "zmb_avogadro_warp_in" ); self sys::playsound( "zmb_avogadro_warp_in" );
self.phase_time = sys::gettime() + 2000; self.phase_time = sys::gettime() + 2000;
self notify( "phase_anim_done" ); self notify( "phase_anim_done" );
} }
@ -1265,7 +1265,7 @@ avogadro_pain( einflictor )
{ {
self endon( "melee_pain" ); self endon( "melee_pain" );
self.in_pain = 1; self.in_pain = 1;
self playsound( "zmb_avogadro_pain" ); self sys::playsound( "zmb_avogadro_pain" );
self thread avogadro_pain_watcher(); self thread avogadro_pain_watcher();
substate = 0; substate = 0;
origin = self.origin; origin = self.origin;

View File

@ -535,7 +535,7 @@ brutus_spawn_zone_locked( zone_name )
if ( isdefined( ai ) ) if ( isdefined( ai ) )
{ {
ai playsound( "zmb_ai_brutus_spawn_2d" ); ai sys::playsound( "zmb_ai_brutus_spawn_2d" );
return ai; return ai;
} }
} }
@ -551,7 +551,7 @@ brutus_spawn_in_zone( zone_name, zone_locked )
if ( isdefined( ai ) ) if ( isdefined( ai ) )
{ {
ai playsound( "zmb_ai_brutus_spawn_2d" ); ai sys::playsound( "zmb_ai_brutus_spawn_2d" );
return ai; return ai;
} }
} }
@ -718,7 +718,7 @@ play_ambient_brutus_vocals()
} }
else else
self playsound( "zmb_vocals_brutus_ambience" ); self sys::playsound( "zmb_vocals_brutus_ambience" );
} }
wait( randomfloatrange( 1, 1.5 ) ); wait( randomfloatrange( 1, 1.5 ) );
@ -970,7 +970,7 @@ brutus_spawning_logic()
} }
if ( isdefined( ai ) ) if ( isdefined( ai ) )
ai playsound( "zmb_ai_brutus_spawn_2d" ); ai sys::playsound( "zmb_ai_brutus_spawn_2d" );
} }
} }
@ -1763,7 +1763,7 @@ brutus_fire_teargas_when_possible()
wait 0.05; wait 0.05;
self.not_interruptable = 1; self.not_interruptable = 1;
self playsound( "vox_brutus_enraged" ); self sys::playsound( "vox_brutus_enraged" );
self sys::animscripted( self.origin, self.angles, "zm_teargas_attack" ); self sys::animscripted( self.origin, self.angles, "zm_teargas_attack" );
self thread maps\mp\animscripts\zm_shared::donotetracks( "teargas_anim" ); self thread maps\mp\animscripts\zm_shared::donotetracks( "teargas_anim" );
self waittillmatch( "teargas_anim", "grenade_drop" ); self waittillmatch( "teargas_anim", "grenade_drop" );
@ -1806,7 +1806,7 @@ brutus_remove_helmet( vdir )
{ {
self.has_helmet = 0; self.has_helmet = 0;
self detach( "c_zom_cellbreaker_helmet" ); self detach( "c_zom_cellbreaker_helmet" );
self playsound( "evt_brutus_helmet" ); self sys::playsound( "evt_brutus_helmet" );
launch_pos = self.origin + vectorscale( ( 0, 0, 1 ), 85.0 ); launch_pos = self.origin + vectorscale( ( 0, 0, 1 ), 85.0 );
createdynentandlaunch( "c_zom_cellbreaker_helmet", launch_pos, self.angles, launch_pos, vdir ); createdynentandlaunch( "c_zom_cellbreaker_helmet", launch_pos, self.angles, launch_pos, vdir );
@ -1818,7 +1818,7 @@ brutus_remove_helmet( vdir )
return; return;
self.not_interruptable = 1; self.not_interruptable = 1;
self playsound( "vox_brutus_exert" ); self sys::playsound( "vox_brutus_exert" );
self sys::animscripted( self.origin, self.angles, "zm_pain" ); self sys::animscripted( self.origin, self.angles, "zm_pain" );
self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" );
self.not_interruptable = 0; self.not_interruptable = 0;
@ -1890,7 +1890,7 @@ magic_box_lock()
return; return;
magic_box.zbarrier set_magic_box_zbarrier_state( "locking" ); magic_box.zbarrier set_magic_box_zbarrier_state( "locking" );
self playsound( "zmb_ai_brutus_clang" ); self sys::playsound( "zmb_ai_brutus_clang" );
magic_box.locked_cost = get_scaling_lock_cost( "magic_box", magic_box ); magic_box.locked_cost = get_scaling_lock_cost( "magic_box", magic_box );
level.lockdown_track["magic_box"] = 1; level.lockdown_track["magic_box"] = 1;
level notify( "brutus_locked_object" ); level notify( "brutus_locked_object" );
@ -1917,7 +1917,7 @@ perk_machine_lock()
perk_machine.lock_fx = offset_fx_struct( int_struct, perk_machine.lock_fx ); perk_machine.lock_fx = offset_fx_struct( int_struct, perk_machine.lock_fx );
perk_machine.lock_fx setmodel( "tag_origin" ); perk_machine.lock_fx setmodel( "tag_origin" );
playfxontag( lock_fx, perk_machine.lock_fx, "tag_origin" ); playfxontag( lock_fx, perk_machine.lock_fx, "tag_origin" );
perk_machine.lock_fx playsound( "zmb_ai_brutus_clang" ); perk_machine.lock_fx sys::playsound( "zmb_ai_brutus_clang" );
perk_machine.is_locked = 1; perk_machine.is_locked = 1;
perk_machine.locked_cost = get_scaling_lock_cost( "perk_machine", perk_machine ); perk_machine.locked_cost = get_scaling_lock_cost( "perk_machine", perk_machine );
perk_machine sethintstring( &"ZOMBIE_LOCKED_COST", perk_machine.locked_cost ); perk_machine sethintstring( &"ZOMBIE_LOCKED_COST", perk_machine.locked_cost );
@ -1941,7 +1941,7 @@ craftable_table_lock()
craftable_table.lock_fx = offset_fx_struct( int_struct, craftable_table.lock_fx ); craftable_table.lock_fx = offset_fx_struct( int_struct, craftable_table.lock_fx );
craftable_table.lock_fx setmodel( "tag_origin" ); craftable_table.lock_fx setmodel( "tag_origin" );
playfxontag( level._effect["brutus_lockdown_lg"], craftable_table.lock_fx, "tag_origin" ); playfxontag( level._effect["brutus_lockdown_lg"], craftable_table.lock_fx, "tag_origin" );
craftable_table.lock_fx playsound( "zmb_ai_brutus_clang" ); craftable_table.lock_fx sys::playsound( "zmb_ai_brutus_clang" );
craftable_table.is_locked = 1; craftable_table.is_locked = 1;
craftable_table.locked_cost = get_scaling_lock_cost( "craftable_table", craftable_table ); craftable_table.locked_cost = get_scaling_lock_cost( "craftable_table", craftable_table );
craftable_table.hint_string = get_lock_hint_string( craftable_table.locked_cost ); craftable_table.hint_string = get_lock_hint_string( craftable_table.locked_cost );
@ -1974,7 +1974,7 @@ trap_smash()
else if ( trap.targetname == "tower_trap_activate_trigger" ) else if ( trap.targetname == "tower_trap_activate_trigger" )
trap notify( "tower_trap_off" ); trap notify( "tower_trap_off" );
trap playsound( "zmb_ai_brutus_clang" ); trap sys::playsound( "zmb_ai_brutus_clang" );
self.priority_item = undefined; self.priority_item = undefined;
} }
@ -1991,7 +1991,7 @@ plane_ramp_lock()
plane_ramp.lock_fx.angles = plane_ramp.angles; plane_ramp.lock_fx.angles = plane_ramp.angles;
plane_ramp.lock_fx = offset_fx_struct( int_struct, plane_ramp.lock_fx ); plane_ramp.lock_fx = offset_fx_struct( int_struct, plane_ramp.lock_fx );
plane_ramp.lock_fx setmodel( "tag_origin" ); plane_ramp.lock_fx setmodel( "tag_origin" );
plane_ramp.lock_fx playsound( "zmb_ai_brutus_clang" ); plane_ramp.lock_fx sys::playsound( "zmb_ai_brutus_clang" );
playfxontag( level._effect["brutus_lockdown"], plane_ramp.lock_fx, "tag_origin" ); playfxontag( level._effect["brutus_lockdown"], plane_ramp.lock_fx, "tag_origin" );
plane_ramp.is_locked = 1; plane_ramp.is_locked = 1;
plane_ramp.locked_cost = get_scaling_lock_cost( "plane_ramp", plane_ramp ); plane_ramp.locked_cost = get_scaling_lock_cost( "plane_ramp", plane_ramp );
@ -2007,10 +2007,10 @@ plane_ramp_lock()
blocker_smash() blocker_smash()
{ {
self endon( "death" ); self endon( "death" );
self playsound( "vox_brutus_enraged" ); self sys::playsound( "vox_brutus_enraged" );
self playsound( "zmb_ai_brutus_window_teardown" ); self sys::playsound( "zmb_ai_brutus_window_teardown" );
blocker = self.priority_item; blocker = self.priority_item;
self playsound( "zmb_ai_brutus_clang" ); self sys::playsound( "zmb_ai_brutus_clang" );
if ( !isdefined( blocker ) ) if ( !isdefined( blocker ) )
return; return;
@ -2181,7 +2181,7 @@ brutus_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon
if ( isdefined( weapon ) && weapon == "bouncing_tomahawk_zm" && isdefined( inflictor ) ) if ( isdefined( weapon ) && weapon == "bouncing_tomahawk_zm" && isdefined( inflictor ) )
{ {
self playsound( "wpn_tomahawk_imp_zombie" ); self sys::playsound( "wpn_tomahawk_imp_zombie" );
if ( self.has_helmet ) if ( self.has_helmet )
{ {
@ -2282,7 +2282,7 @@ brutus_nuke_override()
self endon( "death" ); self endon( "death" );
wait( randomfloatrange( 0.1, 0.7 ) ); wait( randomfloatrange( 0.1, 0.7 ) );
self thread maps\mp\animscripts\zm_death::flame_death_fx(); self thread maps\mp\animscripts\zm_death::flame_death_fx();
self playsound( "evt_nuked" ); self sys::playsound( "evt_nuked" );
self dodamage( level.brutus_health * 0.25, self.origin ); self dodamage( level.brutus_health * 0.25, self.origin );
} }

View File

@ -524,7 +524,7 @@ dog_death()
self delete(); self delete();
} }
else else
self playsound( "zmb_hellhound_vocals_death" ); self sys::playsound( "zmb_hellhound_vocals_death" );
} }
dog_explode_fx( origin ) dog_explode_fx( origin )
@ -555,7 +555,7 @@ dog_behind_audio()
self thread stop_dog_sound_on_death(); self thread stop_dog_sound_on_death();
self endon( "death" ); self endon( "death" );
self waittill_any( "dog_running", "dog_combat" ); self waittill_any( "dog_running", "dog_combat" );
self playsound( "zmb_hellhound_vocals_close" ); self sys::playsound( "zmb_hellhound_vocals_close" );
wait 3; wait 3;
while ( true ) while ( true )
@ -570,7 +570,7 @@ dog_behind_audio()
{ {
if ( abs( dogangle ) > 90 && distance2d( self.origin, players[i].origin ) > 100 ) if ( abs( dogangle ) > 90 && distance2d( self.origin, players[i].origin ) > 100 )
{ {
self playsound( "zmb_hellhound_vocals_close" ); self sys::playsound( "zmb_hellhound_vocals_close" );
wait 3; wait 3;
} }
} }
@ -724,7 +724,7 @@ dog_stalk_audio()
while ( true ) while ( true )
{ {
self playsound( "zmb_hellhound_vocals_amb" ); self sys::playsound( "zmb_hellhound_vocals_amb" );
wait( randomfloatrange( 3, 6 ) ); wait( randomfloatrange( 3, 6 ) );
} }
} }

View File

@ -800,7 +800,7 @@ ghost_death_func()
level.ghost_round_last_ghost_origin = self.origin; level.ghost_round_last_ghost_origin = self.origin;
self stoploopsound( 1 ); self stoploopsound( 1 );
self playsound( "zmb_ai_ghost_death" ); self sys::playsound( "zmb_ai_ghost_death" );
self setclientfield( "ghost_impact_fx", 1 ); self setclientfield( "ghost_impact_fx", 1 );
self setclientfield( "ghost_fx", 1 ); self setclientfield( "ghost_fx", 1 );
self thread prepare_to_die(); self thread prepare_to_die();
@ -2017,7 +2017,7 @@ sndghostroundmus()
level.sndroundwait = 1; level.sndroundwait = 1;
ent thread sndghostroundmus_end(); ent thread sndghostroundmus_end();
ent endon( "sndGhostRoundEnd" ); ent endon( "sndGhostRoundEnd" );
ent playsound( "mus_ghost_round_start" ); ent sys::playsound( "mus_ghost_round_start" );
wait 11; wait 11;
ent playloopsound( "mus_ghost_round_loop", 3 ); ent playloopsound( "mus_ghost_round_loop", 3 );
} }

View File

@ -154,7 +154,7 @@ leaper_init()
self forceteleport( spot.origin, spot.angles ); self forceteleport( spot.origin, spot.angles );
} }
self playsound( "zmb_vocals_leaper_spawn" ); self sys::playsound( "zmb_vocals_leaper_spawn" );
self set_zombie_run_cycle( "run" ); self set_zombie_run_cycle( "run" );
self.state = "init"; self.state = "init";
self thread leaper_think(); self thread leaper_think();
@ -200,7 +200,7 @@ play_ambient_leaper_vocals()
} }
else else
self playsound( "zmb_vocals_leaper_ambience" ); self sys::playsound( "zmb_vocals_leaper_ambience" );
} }
wait( randomfloatrange( 1, 1.5 ) ); wait( randomfloatrange( 1, 1.5 ) );
@ -212,7 +212,7 @@ leaper_death()
self endon( "leaper_cleanup" ); self endon( "leaper_cleanup" );
self waittill( "death" ); self waittill( "death" );
self leaper_stop_trail_fx(); self leaper_stop_trail_fx();
self playsound( "zmb_vocals_leaper_death" ); self sys::playsound( "zmb_vocals_leaper_death" );
playfx( level._effect["leaper_death"], self.origin ); playfx( level._effect["leaper_death"], self.origin );
if ( get_current_zombie_count() == 0 && level.zombie_total == 0 ) if ( get_current_zombie_count() == 0 && level.zombie_total == 0 )

View File

@ -246,13 +246,13 @@ traversal_booster_fx_watcher()
if ( notetrack == "booster_on" ) if ( notetrack == "booster_on" )
{ {
self.fx_field = self.fx_field | 128; self.fx_field = self.fx_field | 128;
self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); self.sndloopent sys::playsound( "zmb_ai_mechz_rocket_start" );
self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 );
} }
else if ( notetrack == "booster_off" ) else if ( notetrack == "booster_off" )
{ {
self.fx_field = self.fx_field & ~128; self.fx_field = self.fx_field & ~128;
self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); self.sndloopent sys::playsound( "zmb_ai_mechz_rocket_stop" );
self.sndloopent stoploopsound( 1 ); self.sndloopent stoploopsound( 1 );
} }
if ( level.script == "zm_tomb" ) if ( level.script == "zm_tomb" )
@ -281,13 +281,13 @@ booster_fx_watcher()
if ( notetrack == "booster_on" ) if ( notetrack == "booster_on" )
{ {
self.fx_field = self.fx_field | 128; self.fx_field = self.fx_field | 128;
self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); self.sndloopent sys::playsound( "zmb_ai_mechz_rocket_start" );
self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 );
} }
else if ( notetrack == "booster_off" ) else if ( notetrack == "booster_off" )
{ {
self.fx_field = self.fx_field & ~128; self.fx_field = self.fx_field & ~128;
self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); self.sndloopent sys::playsound( "zmb_ai_mechz_rocket_stop" );
self.sndloopent stoploopsound( 1 ); self.sndloopent stoploopsound( 1 );
} }
else if ( notetrack == "impact" ) else if ( notetrack == "impact" )
@ -382,7 +382,7 @@ play_ambient_mechz_vocals()
} }
else else
self playsound( "zmb_ai_mechz_vox_ambient" ); self sys::playsound( "zmb_ai_mechz_vox_ambient" );
} }
wait( randomfloatrange( 3, 6 ) ); wait( randomfloatrange( 3, 6 ) );
@ -679,7 +679,7 @@ mechz_spawn()
self thread mechz_death(); self thread mechz_death();
self forceteleport( spawn_pos.origin, spawn_pos.angles ); self forceteleport( spawn_pos.origin, spawn_pos.angles );
self playsound( "zmb_ai_mechz_incoming_alarm" ); self sys::playsound( "zmb_ai_mechz_incoming_alarm" );
if ( !isdefined( spawn_pos.angles ) ) if ( !isdefined( spawn_pos.angles ) )
spawn_pos.angles = ( 0, 0, 0 ); spawn_pos.angles = ( 0, 0, 0 );
@ -1580,7 +1580,7 @@ mechz_launch_armor_piece()
} }
if ( sndmechzisnetworksafe( "destruction" ) ) if ( sndmechzisnetworksafe( "destruction" ) )
self playsound( "zmb_ai_mechz_destruction" ); self sys::playsound( "zmb_ai_mechz_destruction" );
self.next_armor_piece++; self.next_armor_piece++;
} }
@ -1700,10 +1700,10 @@ mechz_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon,
self detach( "c_zom_mech_faceplate", "J_Helmet" ); self detach( "c_zom_mech_faceplate", "J_Helmet" );
if ( sndmechzisnetworksafe( "destruction" ) ) if ( sndmechzisnetworksafe( "destruction" ) )
self playsound( "zmb_ai_mechz_destruction" ); self sys::playsound( "zmb_ai_mechz_destruction" );
if ( sndmechzisnetworksafe( "angry" ) ) if ( sndmechzisnetworksafe( "angry" ) )
self playsound( "zmb_ai_mechz_vox_angry" ); self sys::playsound( "zmb_ai_mechz_vox_angry" );
self.fx_field = self.fx_field | 1024; self.fx_field = self.fx_field | 1024;
self.fx_field = self.fx_field & ~2048; self.fx_field = self.fx_field & ~2048;
@ -1737,7 +1737,7 @@ mechz_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon,
cap_model thread mechz_delayed_item_delete(); cap_model thread mechz_delayed_item_delete();
if ( sndmechzisnetworksafe( "destruction" ) ) if ( sndmechzisnetworksafe( "destruction" ) )
self playsound( "zmb_ai_mechz_destruction" ); self sys::playsound( "zmb_ai_mechz_destruction" );
if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) ) if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) )
{ {
@ -1752,7 +1752,7 @@ mechz_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon,
self thread mechz_stun( level.mechz_powerplant_stun_time ); self thread mechz_stun( level.mechz_powerplant_stun_time );
if ( sndmechzisnetworksafe( "destruction" ) ) if ( sndmechzisnetworksafe( "destruction" ) )
self playsound( "zmb_ai_mechz_destruction" ); self sys::playsound( "zmb_ai_mechz_destruction" );
} }
/# /#
@ -1784,7 +1784,7 @@ mechz_nuke_override()
{ {
self endon( "death" ); self endon( "death" );
wait( randomfloatrange( 0.1, 0.7 ) ); wait( randomfloatrange( 0.1, 0.7 ) );
self playsound( "evt_nuked" ); self sys::playsound( "evt_nuked" );
self dodamage( self.health * 0.25, self.origin ); self dodamage( self.health * 0.25, self.origin );
} }

View File

@ -190,7 +190,7 @@ claw_grapple()
v_enemy_origin = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 ); v_enemy_origin = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 );
n_dist = distance( v_claw_origin, v_enemy_origin ); n_dist = distance( v_claw_origin, v_enemy_origin );
n_time = n_dist / 1200; n_time = n_dist / 1200;
self playsound( "zmb_ai_mechz_claw_fire" ); self sys::playsound( "zmb_ai_mechz_claw_fire" );
self.m_claw moveto( v_enemy_origin, n_time ); self.m_claw moveto( v_enemy_origin, n_time );
self.m_claw thread check_for_claw_move_complete(); self.m_claw thread check_for_claw_move_complete();
self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_out", 0.1 ); self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_out", 0.1 );
@ -237,7 +237,7 @@ claw_grapple()
} }
self.e_grabbed playersys::linktodelta( self.m_claw, "tag_attach_player" ); self.e_grabbed playersys::linktodelta( self.m_claw, "tag_attach_player" );
self.e_grabbed setplayerangles( vectortoangles( self.origin - self.e_grabbed.origin ) ); self.e_grabbed setplayerangles( vectortoangles( self.origin - self.e_grabbed.origin ) );
self.e_grabbed playsound( "zmb_ai_mechz_claw_grab" ); self.e_grabbed sys::playsound( "zmb_ai_mechz_claw_grab" );
self.e_grabbed setstance( "stand" ); self.e_grabbed setstance( "stand" );
self.e_grabbed allowcrouch( 0 ); self.e_grabbed allowcrouch( 0 );
self.e_grabbed allowprone( 0 ); self.e_grabbed allowprone( 0 );
@ -294,11 +294,11 @@ claw_grapple()
self.m_claw waittill( "movedone" ); self.m_claw waittill( "movedone" );
v_claw_origin = self sys::gettagorigin( "tag_claw" ); v_claw_origin = self sys::gettagorigin( "tag_claw" );
v_claw_angles = self sys::gettagangles( "tag_claw" ); v_claw_angles = self sys::gettagangles( "tag_claw" );
self.m_claw playsound( "zmb_ai_mechz_claw_back" ); self.m_claw sys::playsound( "zmb_ai_mechz_claw_back" );
self.m_claw stoploopsound( 1 ); self.m_claw stoploopsound( 1 );
if ( maps\mp\zombies\_zm_ai_mechz::sndmechzisnetworksafe( "angry" ) ) if ( maps\mp\zombies\_zm_ai_mechz::sndmechzisnetworksafe( "angry" ) )
self playsound( "zmb_ai_mechz_vox_angry" ); self sys::playsound( "zmb_ai_mechz_vox_angry" );
self.m_claw.origin = v_claw_origin; self.m_claw.origin = v_claw_origin;
self.m_claw.angles = v_claw_angles; self.m_claw.angles = v_claw_angles;
@ -626,7 +626,7 @@ mechz_claw_cleanup()
self.m_claw waittill( "movedone" ); self.m_claw waittill( "movedone" );
v_claw_origin = self sys::gettagorigin( "tag_claw" ); v_claw_origin = self sys::gettagorigin( "tag_claw" );
v_claw_angles = self sys::gettagangles( "tag_claw" ); v_claw_angles = self sys::gettagangles( "tag_claw" );
self.m_claw playsound( "zmb_ai_mechz_claw_back" ); self.m_claw sys::playsound( "zmb_ai_mechz_claw_back" );
self.m_claw stoploopsound( 1 ); self.m_claw stoploopsound( 1 );
self.m_claw.origin = v_claw_origin; self.m_claw.origin = v_claw_origin;
self.m_claw.angles = v_claw_angles; self.m_claw.angles = v_claw_angles;

View File

@ -331,7 +331,7 @@ zombie_pathing_home()
self.no_powerups = 1; self.no_powerups = 1;
self sys::setfreecameralockonallowed( 0 ); self sys::setfreecameralockonallowed( 0 );
self sys::animscripted( self.origin, self.angles, "zm_burrow" ); self sys::animscripted( self.origin, self.angles, "zm_burrow" );
self playsound( "zmb_screecher_dig" ); self sys::playsound( "zmb_screecher_dig" );
maps\mp\animscripts\zm_shared::donotetracks( "burrow_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "burrow_anim" );
self delete(); self delete();
} }
@ -415,7 +415,7 @@ screecher_prespawn()
self maps\mp\zombies\_zm_spawner::zombie_complete_emerging_into_playable_area(); self maps\mp\zombies\_zm_spawner::zombie_complete_emerging_into_playable_area();
self sys::setfreecameralockonallowed( 0 ); self sys::setfreecameralockonallowed( 0 );
self.startinglocation = self.origin; self.startinglocation = self.origin;
self playsound( "zmb_vocals_screecher_spawn" ); self sys::playsound( "zmb_vocals_screecher_spawn" );
self thread play_screecher_fx(); self thread play_screecher_fx();
self thread play_screecher_damaged_yelps(); self thread play_screecher_damaged_yelps();
self thread screecher_rise(); self thread screecher_rise();
@ -456,7 +456,7 @@ play_screecher_damaged_yelps()
self waittill( "damage", damage, attacker, dir, point, mod ); self waittill( "damage", damage, attacker, dir, point, mod );
if ( isdefined( attacker ) && isplayer( attacker ) ) if ( isdefined( attacker ) && isplayer( attacker ) )
self playsound( "zmb_vocals_screecher_pain" ); self sys::playsound( "zmb_vocals_screecher_pain" );
} }
} }
@ -561,7 +561,7 @@ screecher_attack()
self notify( "stop_find_flesh" ); self notify( "stop_find_flesh" );
self notify( "zombie_acquire_enemy" ); self notify( "zombie_acquire_enemy" );
self sys::animmode( "nogravity" ); self sys::animmode( "nogravity" );
self playsound( "zmb_vocals_screecher_jump" ); self sys::playsound( "zmb_vocals_screecher_jump" );
if ( isdefined( self.loopsoundent ) ) if ( isdefined( self.loopsoundent ) )
{ {
@ -773,7 +773,7 @@ screecher_attacking()
self.attack_delay = self.attack_delay_base + randomint( self.attack_delay_offset ); self.attack_delay = self.attack_delay_base + randomint( self.attack_delay_offset );
self.attack_time = sys::gettime() + self.attack_delay; self.attack_time = sys::gettime() + self.attack_delay;
self thread claw_fx( player, self.attack_delay * 0.001 ); self thread claw_fx( player, self.attack_delay * 0.001 );
self playsound( "zmb_vocals_screecher_attack" ); self sys::playsound( "zmb_vocals_screecher_attack" );
player playsoundtoplayer( "zmb_screecher_scratch", player ); player playsoundtoplayer( "zmb_screecher_scratch", player );
player thread do_player_general_vox( "general", "screecher_attack" ); player thread do_player_general_vox( "general", "screecher_attack" );
players = sys::getplayers(); players = sys::getplayers();
@ -809,7 +809,7 @@ screecher_runaway()
self.no_powerups = 1; self.no_powerups = 1;
self sys::setfreecameralockonallowed( 0 ); self sys::setfreecameralockonallowed( 0 );
self sys::animscripted( self.origin, self.angles, "zm_burrow" ); self sys::animscripted( self.origin, self.angles, "zm_burrow" );
self playsound( "zmb_screecher_dig" ); self sys::playsound( "zmb_screecher_dig" );
maps\mp\animscripts\zm_shared::donotetracks( "burrow_anim" ); maps\mp\animscripts\zm_shared::donotetracks( "burrow_anim" );
self delete(); self delete();
} }
@ -951,7 +951,7 @@ screecher_cleanup()
if ( isdefined( player ) ) if ( isdefined( player ) )
{ {
player playsound( "zmb_vocals_screecher_death" ); player sys::playsound( "zmb_vocals_screecher_death" );
player setmovespeedscale( 1 ); player setmovespeedscale( 1 );
maps\mp\_visionset_mgr::vsmgr_deactivate( "overlay", "zm_ai_screecher_blur", player ); maps\mp\_visionset_mgr::vsmgr_deactivate( "overlay", "zm_ai_screecher_blur", player );
@ -1110,7 +1110,7 @@ screecher_melee_damage( player )
self.player_score = self.player_score + extra_score; self.player_score = self.player_score + extra_score;
} }
self playsound( "zmb_vocals_screecher_pain" ); self sys::playsound( "zmb_vocals_screecher_pain" );
if ( level.zombie_vars[player.team]["zombie_insta_kill"] ) if ( level.zombie_vars[player.team]["zombie_insta_kill"] )
self.player_score = 30; self.player_score = 30;

View File

@ -2,12 +2,12 @@
/@ /@
[DESCRIPTION]: Returns a function pointer based on <path> and <func_name>; [DESCRIPTION]: Returns a function pointer based on <path> and <func_name>;
Does not trigger compilation or resolving of the script, therefore if the script isn't referenced by an include or far call at least once it will fail Does not trigger compilation or resolving of the script, therefore if the script isn't referenced by an include or far call by any other script at least once it will fail
to find the function and return undefined.; to find the function and return undefined.;
[CALL_TYPE]: function; [CALL_TYPE]: function;
[USAGE]: func = getfunction( <path>, <func_name> ); [USAGE]: func = getfunction( <path>, <func_name> );
[PARAMS]: ARG1:<string> ARG2:<string>; [PARAMS]: ARG1:<string> ARG2:<string>;
[PARAMS_NOTES]: Path must use forward slashes to denote the path; [PARAMS_NOTES]: Path must use forward slashes.;
[RETURNS]: <function_pointer> or <undefined>; [RETURNS]: <function_pointer> or <undefined>;
@/ @/
getfunction( path, func_name ) getfunction( path, func_name )
@ -23,9 +23,9 @@ getfunction( path, func_name )
[PARAMS_NOTES]: NONE; [PARAMS_NOTES]: NONE;
[RETURNS]: <string> or <undefined>; [RETURNS]: <string> or <undefined>;
@/ @/
getfunction( path, func_name ) getfunctionname( path, func_name )
{ {
return getfunction( path, func_name ); return getfunctionname( path, func_name );
} }
/@ /@
@ -63,7 +63,7 @@ getdetour( func )
[USAGE]: self getlinkednodes(); [USAGE]: self getlinkednodes();
[PARAMS]: CALLER:<node>; [PARAMS]: CALLER:<node>;
[PARAMS_NOTES]: NONE; [PARAMS_NOTES]: NONE;
[RETURNS]: <array>; [RETURNS]: <number_indexed_array>;
@/ @/
getlinkednodes() getlinkednodes()
{ {
@ -113,7 +113,7 @@ cmdexec( cmd_string )
// The following are bot specifc builtins // The following are bot specifc builtins
/@ /@
[BOT_BUTTON_TYPES]: [BOT_BUTTON_TYPES] =
{ {
"attack", "attack",
"sprint", "sprint",
@ -147,7 +147,7 @@ cmdexec( cmd_string )
"actionslot 3", "actionslot 3",
"actionslot 4" "actionslot 4"
}; };
[BOT_BUTTON_VALUES]: [BOT_BUTTON_VALUES] =
{ {
"enable", "enable",
"disable" "disable"

View File

@ -12,8 +12,8 @@
main() main()
{ {
replaceFunc( maps\mp\_visionset_mgr::init, ::visionset_mgr_init_override ); pluto_sys::replacefunc( maps\mp\_visionset_mgr::init, ::visionset_mgr_init_override );
replaceFunc( maps\mp\animscripts\traverse\zm_shared::dotraverse, ::dotraverse_override ); pluto_sys::replacefunc( maps\mp\animscripts\traverse\zm_shared::dotraverse, ::dotraverse_override );
replace_single_function( "maps/mp/zm_nuked_perks", "perk_machine_knockdown_zombie", ::perk_machine_knockdown_zombie_override ); replace_single_function( "maps/mp/zm_nuked_perks", "perk_machine_knockdown_zombie", ::perk_machine_knockdown_zombie_override );
replace_single_function( "maps/mp/zombies/_zm_weap_slowgun", "can_be_paralyzed", ::can_be_paralyzed_override ); replace_single_function( "maps/mp/zombies/_zm_weap_slowgun", "can_be_paralyzed", ::can_be_paralyzed_override );
@ -317,7 +317,7 @@ replace_single_function( path, func_name, func_override )
if ( isDefined( func ) ) if ( isDefined( func ) )
{ {
replaceFunc( func, func_override ); pluto_sys::replacefunc( func, func_override );
} }
} }

View File

@ -8,8 +8,8 @@
main() main()
{ {
replaceFunc( maps\mp\zm_highrise_classic::squashed_death_init, ::squashed_death_init_override ); pluto_sys::replacefunc( maps\mp\zm_highrise_classic::squashed_death_init, ::squashed_death_init_override );
replaceFunc( maps\mp\zm_highrise::elevator_traverse_watcher, ::elevator_traverse_watcher_override ); pluto_sys::replacefunc( maps\mp\zm_highrise::elevator_traverse_watcher, ::elevator_traverse_watcher_override );
} }
squashed_death_init_override( kill_if_falling ) squashed_death_init_override( kill_if_falling )

View File

@ -4,7 +4,7 @@
main() main()
{ {
replaceFunc( maps\mp\zm_transit_power::killzombiesinpowerstation, ::killzombiesinpowerstation_override ); pluto_sys::replacefunc( maps\mp\zm_transit_power::killzombiesinpowerstation, ::killzombiesinpowerstation_override );
} }
killzombiesinpowerstation_override() killzombiesinpowerstation_override()

View File

@ -440,3 +440,33 @@ animscripted( origin, angles, statename, substate_value, mode )
self animscripted( origin, angles, statename, substate_value, mode ); self animscripted( origin, angles, statename, substate_value, mode );
} }
} }
/@
[DESCRIPTION]: Spawns a temp entity at CALLER's location which plays <sound_name>.
If sound is invalid sound will simply fail to play with no error.;
[CALL_TYPE]: method;
[USAGE]: self playsound( <sound_name> );
[PARAMS]: CALLER:<entity> ARG1:<string>;
[PARAMS_NOTES]: NONE;
[RETURNS]: NONE;
@/
playsound( sound_alias )
{
self playsound( sound_alias );
}
/@
[DESCRIPTION]: Spawns a temp entity at CALLER's location which plays <sound_name>.
If sound is invalid sound will simply fail to play with no error.;
[CALL_TYPE]: method;
[USAGE]: playback_time = playsound( <sound_alias> );
[PARAMS]: ARG1:<string>;
[PARAMS_NOTES]: NONE;
[RETURNS]: <int>;
[RETURNS_NOTES]: Returns -1 if it fails to hash <sound_alias> or doesn't find <sound_alias> in the loaded sound banks.;
@/
soundgetplaybacktime( sound_alias )
{
return soundgetplaybacktime( sound_alias )
}

View File

@ -67,6 +67,7 @@ script,scripts/zm/clientfield_alt_sys.csc
script,scripts/zm/clientfield_alt_sys.gsc script,scripts/zm/clientfield_alt_sys.gsc
script,sys.gsc script,sys.gsc
script,pluto_sys.gsc
// Map specific scripts // Map specific scripts
script,scripts/zm/zm_prison/zm_ai_pack_mod_zm_prison_main.gsc script,scripts/zm/zm_prison/zm_ai_pack_mod_zm_prison_main.gsc