Files
IL-GSC/BO1/PC/ZM/clientscripts/_zombiemode_dissolve.csc
2024-02-18 17:32:07 -05:00

42 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include clientscripts\_utility;
start_zombie_dissolve( localClientNum, colorIndex, durationMsec )
{
self thread run_dissolve_effect( localClientNum, colorIndex, durationMsec );
}
run_dissolve_effect( localClientNum, colorIndex, durationMsec )
{
self endon( "entityshutdown" );
durationMsec = durationMsec * 2.0;
self mapshaderconstant( localClientNum, 0, "scriptVector0" );
begin_time = GetRealTime();
while( 1 )
{
age = GetRealTime() - begin_time;
t = age / durationMsec;
if ( t > 1.0)
t = 1.0;
colorDissolve = t * 2.0;
if (colorDissolve > 1.0)
colorDissolve = 1.0;
alphaDissolve = (t - 0.5) * 2.0;
if (alphaDissolve < 0.0)
alphaDissolve = 0.0;
if (alphaDissolve > 1.0)
alphaDissolve = 1.0;
alphaDissolveMaskCompression = 4.0;
alphaDissolveAmount = (alphaDissolve - 0.5) * 2.0 * alphaDissolveMaskCompression;
colorDissolveAmount = (colorDissolve - 0.5) * 2.0;
colIndex = clamp( colorIndex, 0, 3 );
colIndex = 3;
if(!IsDefined(self))
{
return;
}
self setshaderconstant( localClientNum, 0, alphaDissolveMaskCompression, alphaDissolveAmount, colIndex * (1.0/127.0), colorDissolveAmount );
if (t== 1.0)
break;
realwait(0.05);
}
}