1 #using scripts\codescripts\struct;
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\filter_shared;
5 #using scripts\shared\postfx_shared;
6 #using scripts\shared\trigger_shared;
7 #using scripts\shared\util_shared;
8 #using scripts\shared\water_surface;
10 #using scripts\mp\_load;
11 #using scripts\mp\_util;
13 #insert scripts\shared\shared.gsh;
19 triggers = GetEntArray( localClientNum,
"waterfall",
"targetname" );
20 foreach( trigger
in triggers )
28 triggers = GetEntArray( localClientNum,
"waterfall_mist",
"targetname" );
29 foreach( trigger
in triggers )
37 localPlayer = GetLocalPlayer( localClientNum );
38 localPlayer.rainOpacity = 0.0;
43 level notify(
"setupWaterfallmist_waterfall_csc" + localclientnum );
44 level endon (
"setupWaterfallmist_waterfall_csc" + localclientnum );
49 trigger waittill(
"trigger", trigPlayer );
51 if ( !trigPlayer islocalplayer() )
56 localclientnum = trigPlayer getlocalclientnumber();
57 if ( isdefined( localclientnum ) )
59 localplayer = getlocalplayer( localclientnum );
63 localplayer = trigPlayer;
73 level notify(
"setupWaterfall_waterfall_csc" + localclientnum );
74 level endon (
"setupWaterfall_waterfall_csc" + localclientnum );
79 trigger waittill(
"trigger", trigPlayer );
81 if ( !trigPlayer islocalplayer() )
86 localclientnum = trigPlayer getlocalclientnumber();
87 if ( isdefined( localclientnum ) )
89 localplayer = getlocalplayer( localclientnum );
93 localplayer = trigPlayer;
103 localclientnum = localplayer.localclientnum;
106 playsound(0,
"amb_waterfall_hit", (0,0,0));
108 while ( trigger istouching( localplayer ) )
110 localplayer PlayRumbleOnEntity( localClientNum,
"waterfall_rumble" );
118 localClientNum = localplayer.localClientNum;
119 localplayer postfx::StopPostfxBundle();
120 if ( IsUnderwater( localClientNum ) ==
false )
128 localPlayer endon(
"entityshutdown" );
131 if ( !isdefined( localPlayer.rainOpacity ) )
132 localPlayer.rainOpacity = 0;
134 if ( localPlayer.rainOpacity == 0 )
140 while ( trigger istouching( localPlayer ) )
142 localClientNum = trigger.localClientNum;
143 if ( !isdefined( localClientNum ) )
145 localClientNum = localPlayer getlocalclientnumber();
147 if ( IsUnderwater( localClientNum ) )
153 localPlayer.rainOpacity += 0.003;
154 if ( localPlayer.rainOpacity > 1 )
156 localPlayer.rainOpacity = 1;
168 localPlayer endon(
"entityshutdown" );
171 if ( isdefined( localPlayer.rainOpacity ) )
173 while ( !( trigger istouching( localPlayer ) ) && localPlayer.rainOpacity > 0.0 )
175 localClientNum = trigger.localClientNum;
176 if ( IsUnderwater( localClientNum ) )
182 localPlayer.rainOpacity -= 0.005;
189 localPlayer.rainOpacity = 0;