1 #insert scripts\shared\shared.gsh;
2 #insert scripts\shared\version.gsh;
4 #using scripts\codescripts\struct;
5 #using scripts\shared\array_shared;
6 #using scripts\shared\callbacks_shared;
7 #using scripts\shared\clientfield_shared;
8 #using scripts\shared\system_shared;
9 #using scripts\shared\util_shared;
17 level.mpBoostResponse = [];
18 level.mpBoostResponse[
"assassin" ] =
"Spectre";
19 level.mpBoostResponse[
"grenadier" ] =
"Grenadier";
20 level.mpBoostResponse[
"outrider" ] =
"Outrider";
21 level.mpBoostResponse[
"prophet" ] =
"Technomancer";
22 level.mpBoostResponse[
"pyro" ] =
"Firebreak";
23 level.mpBoostResponse[
"reaper" ] =
"Reaper";
24 level.mpBoostResponse[
"ruin" ] =
"Mercenary";
25 level.mpBoostResponse[
"seraph" ] =
"Enforcer";
26 level.mpBoostResponse[
"trapper" ] =
"Trapper";
27 level.mpBoostResponse[
"blackjack" ] =
"Blackjack";
37 self thread
sniperVoNotify( localClientNum,
"playerbreathinsound",
"exertSniperHold" );
38 self thread
sniperVoNotify( localClientNum,
"playerbreathoutsound",
"exertSniperExhale" );
39 self thread
sniperVoNotify( localClientNum,
"playerbreathgaspsound",
"exertSniperGasp" );
44 self endon(
"entityshutdown");
47 self waittill ( notifyString );
49 if ( IsUnderwater( localClientNum ) )
56 if ( isdefined( dialogAlias ) )
58 self playsound (0, dialogAlias);
63 function set_boost_number( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
65 level.boostNumber = newVal;
68 function play_boost_vox( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
70 localPlayerTeam = GetLocalPlayerTeam( localClientNum );
71 entityNumber =
self GetEntityNumber();
74 self.team != localPlayerTeam ||
75 level._sndNextSnapshot !=
"mpl_prematch" ||
76 level.boostStartEntNum === entityNumber ||
77 level.boostResponseEntNum === entityNumber )
84 level.boostStartEntNum = entityNumber;
88 else if ( newVal == 2 )
90 level.boostResponseEntNum = entityNumber;
98 self endon(
"entityshutdown" );
99 self endon(
"death" );
103 playbackId =
self play_dialog(
"boostStart" + level.boostNumber, localClientNum );
105 if ( isdefined( playbackId ) && playbackId >= 0 )
107 while ( SoundPlaying( playbackId ) )
115 level.boostStartResponse =
"boostStartResp" + level.mpBoostResponse[
self GetMpDialogName() ] + level.boostNumber;
117 if ( isdefined( level.boostResponseEntNum ) )
119 responder = GetEntByNum( localClientNum, level.boostResponseEntNum );
121 if ( isdefined( responder ) )
130 self endon(
"entityshutdown" );
131 self endon(
"death" );
133 if ( !isdefined( level.boostStartResponse ) ||
134 self.team != GetLocalPlayerTeam( localClientNum ) )
139 self play_dialog( level.boostStartResponse, localClientNum );
144 if ( !isdefined( commanderName ) )
156 bundleName =
self GetMpDialogName();
158 if ( !isdefined( bundleName ) )
171 if ( !isdefined( dialogBundle ) || !isdefined( dialogKey ) )
176 dialogAlias = GetStructField( dialogBundle, dialogKey );
178 if ( !isdefined( dialogAlias ) )
183 voicePrefix = GetStructField( dialogBundle,
"voiceprefix" );
185 if ( isdefined( voicePrefix ) )
187 dialogAlias = voicePrefix + dialogAlias;
195 if ( !isdefined( dialogKey ) ||
196 !isdefined( localClientNum ) )
203 if ( !isdefined( dialogAlias ) )
209 soundPos = (
self.origin[0],
self.origin[1],
self.origin[2] + 60 );
211 if ( !IsSpectating( localClientNum ) )
213 return self PlaySound( undefined, dialogAlias, soundPos );
216 voiceBox =
Spawn( localClientNum,
self.origin,
"script_model" );
219 return voiceBox PlaySound( undefined, dialogAlias, soundPos );
228 if ( !isdefined(
self ) || !isdefined( voiceBox ) )
233 voiceBox.origin =
self.origin;