All pastes #765066 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-07 19:50 UTC
rendered paste body
#define TA			// This is a TA script

#include "sfxtype.h"
#include "exptype.h"

piece  flare, base, turret, barrel, sleeve, groundplane;

static-var  Static_Var_2, Static_Var_3, gun_1, Static_Var_5,
            Static_Var_6, Static_Var_7, Static_Var_8, Static_Var_9;

// Signal definitions
#define SIG_AIM				2


SmokeUnit(healthpercent, sleeptime, smoketype)
{
	while( get BUILD_PERCENT_LEFT )
	{
		sleep 400;
	}
	while( TRUE )
	{
		healthpercent = get HEALTH;
		if( healthpercent < 66 )
		{
			smoketype = 256 | 2;
			if( Rand( 1, 66 ) < healthpercent )
			{
				smoketype = 256 | 1;
			}
			emit-sfx smoketype from flare;
		}
		sleeptime = healthpercent * 50;
		if( sleeptime < 200 )
		{
			sleeptime = 200;
		}
		sleep sleeptime;
	}
}

MoveRate2()
{
	if( Rand( 1, 5 ) == 1 AND ( !Static_Var_5 ) )
	{
		Static_Var_5 = 1;
		turn base to x-axis <-15.000000> speed <10.000000>;
		turn groundplane to z-axis <240.000000> speed <120.000000>;
		wait-for-turn base around z-axis;
		turn base to x-axis <15.000000> speed <10.000000>;
		turn groundplane to z-axis <120.000000> speed <120.000000>;
		wait-for-turn base around z-axis;
		turn groundplane to z-axis <0.000000> speed <120.000000>;
		turn base to x-axis <0.000000> speed <10.000000>;
		wait-for-turn base around z-axis;
		turn groundplane to z-axis <240.000000> speed <120.000000>;
		turn base to x-axis <-15.000000> speed <10.000000>;
		wait-for-turn base around z-axis;
		turn base to x-axis <15.000000> speed <10.000000>;
		turn groundplane to z-axis <120.000000> speed <120.000000>;
		wait-for-turn base around z-axis;
		turn groundplane to z-axis <0.000000> speed <120.000000>;
		turn base to x-axis <0.000000> speed <10.000000>;
		move base to y-axis [0.000000] now;
		Static_Var_5 = 0;
	}
}

Create()
{
	Static_Var_5 = 0;
	hide flare;
	Static_Var_2 = 1;
	set ARMORED to 1;
	start-script SmokeUnit();
}

RestorePrimary()
{
	sleep 5000;
	turn turret to y-axis <-1.000000> speed <1.000000>;
	turn sleeve to x-axis <-1.000000> speed <1.000000>;
}

AimPrimary(heading, pitch)
{
	signal SIG_AIM;
	set-signal-mask SIG_AIM;
	turn turret to y-axis heading speed <1.000000>;
	turn sleeve to x-axis <-1.000000> - pitch speed <1.000000>;
	wait-for-turn turret around y-axis;
	wait-for-turn sleeve around x-axis;
	start-script RestorePrimary();
	return (1);
}

FirePrimary()
{
	show flare;	sleep 150;	hide flare;	return (0);
}

 

QueryPrimary(piecenum)
{
	piecenum = flare;
}

SweetSpot(piecenum)
{
	piecenum = base;
}

Killed(severity, corpsetype)
{
	hide flare;
	corpsetype = 3;
	explode base type FALL | EXPLODE_ON_HIT | SMOKE | BITMAP2;
}