#define TA // This is a TA script #include "sfxtype.h" #include "exptype.h" piece base, ground, turret, canon, barrelA, barrelB, barrelC, barrelD, flare; static-var gun_1; // 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 base; } sleeptime = healthpercent * 50; if( sleeptime < 200 ) { sleeptime = 200; } sleep sleeptime; } return (0); // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ } Create() { hide flare; gun_1 = base; start-script SmokeUnit(); } AimPrimary(heading, pitch) { //signal SIG_AIM; //set-signal-mask SIG_AIM; turn turret to y-axis heading speed <300.071429>; turn canon to x-axis <0.000000> - pitch speed <200.043956>; //wait-for-turn turret around y-axis; //wait-for-turn canon around x-axis; return (1); } FirePrimary() { ++gun_1; if( gun_1 == 4 ) { gun_1 = base; } } QueryPrimary(piecenum) { piecenum = flare; } AimFromPrimary(piecenum) { piecenum = turret; } SweetSpot(piecenum) { piecenum = base; } Killed(severity, corpsetype) { hide flare; if( severity <= 25 ) { corpsetype = 1; explode barrelA type BITMAPONLY | BITMAP1; explode barrelB type BITMAPONLY | BITMAP2; explode barrelC type BITMAPONLY | BITMAP2; explode barrelD type BITMAPONLY | BITMAP2; explode canon type BITMAPONLY | BITMAP3; explode base type BITMAPONLY | BITMAP2; explode ground type BITMAPONLY | BITMAP3; explode turret type BITMAPONLY | BITMAP5; explode flare type BITMAPONLY | BITMAP1; return (0); } if( severity <= 50 ) { corpsetype = 2; explode barrelA type FALL | EXPLODE_ON_HIT | BITMAP1; explode barrelB type FALL | EXPLODE_ON_HIT | BITMAP2; explode barrelC type FALL | EXPLODE_ON_HIT | BITMAP2; explode barrelD type FALL | EXPLODE_ON_HIT | BITMAP2; explode canon type FALL | EXPLODE_ON_HIT | BITMAP3; explode base type BITMAPONLY | BITMAP2; explode ground type FALL | EXPLODE_ON_HIT | BITMAP3; explode turret type FALL | EXPLODE_ON_HIT | BITMAP5; explode flare type FALL | EXPLODE_ON_HIT | BITMAP1; return (0); } corpsetype = 3; explode barrelA type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1; explode barrelB type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2; explode barrelC type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2; explode barrelD type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2; explode canon type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3; explode base type BITMAPONLY | BITMAP2; explode ground type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5; explode flare type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1; }