//
//    3DGE ATTACKS.DDF -redefine or add new attacks.
//    For documentation, see http://edge.sourceforge.net/
//    DDF Version 7
//

<ATTACKS>

#VERSION 2.10

//------------------ Player Attacks ------------------

[PLAYER_PUNCH]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=2;
DAMAGE.MAX=20;
DAMAGE.OBITUARY="OB_Punch";
ATTACK_HEIGHT=32;
ATTACKRANGE=96;
ACCURACY_ANGLE=0;
ACCURACY_SLOPE=0;
BERSERK_MULTIPLY=10;
ATTACK_SPECIAL=FACE_TARGET,FORCE_AIM,SILENT_TO_MONSTERS;
ENGAGED_SOUND=PUNCH;
PUFF=PUFF;

[PLAYER_SAW]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=2;
DAMAGE.MAX=20;
DAMAGE.OBITUARY="OB_Saw";
ATTACK_HEIGHT=28;
X_OFFSET=4;
ACCURACY_ANGLE=12;
ACCURACY_SLOPE=6;
ENGAGED_SOUND=SAWHIT;
ATTACK_SPECIAL=FACE_TARGET,FORCE_AIM;
ATTACKRANGE=96;
PUFF=PUFF;

[PLAYER_PISTOL]
ATTACKTYPE=SHOT;
SHOTCOUNT=1;
DAMAGE.VAL=5;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Pistol";
ATTACK_HEIGHT=32;
ACCURACY_ANGLE=3;
ACCURACY_SLOPE=1.5;
ATTACKRANGE=2048;

[PLAYER_SHOTGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=7;
DAMAGE.VAL=5;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Shotgun";
ATTACK_HEIGHT=32;
ACCURACY_ANGLE=6;
ACCURACY_SLOPE=0;
ENGAGED_SOUND=SHOTGN;
ATTACKRANGE=2048;
PUFF=PUFF;

[PLAYER_SHOTGUN2]
ATTACKTYPE=SHOT;
SHOTCOUNT=20;
DAMAGE.VAL=5;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Shotgun";
ATTACK_HEIGHT=32;
ACCURACY_ANGLE=12;
ACCURACY_SLOPE=6;
ENGAGED_SOUND=DSHTGN;
ATTACKRANGE=2048;
PUFF=PUFF;

[PLAYER_CHAINGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=1;
DAMAGE.VAL=5;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Chaingun";
ATTACK_HEIGHT=32;
ACCURACY_ANGLE=6;
ACCURACY_SLOPE=3;
ATTACKRANGE=2048;
ENGAGED_SOUND=CHGUN;
PUFF=PUFF;

[PLAYER_MISSILE]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=11;
SPEED=20;
DAMAGE.VAL=20;
DAMAGE.MAX=160;
DAMAGE.OBITUARY="OB_Missile";
ATTACKRANGE=2048;
ATTACK_SPECIAL=KILL_FAILED_SPAWN;
PROJECTILE_SPECIAL=NOBLOCKMAP,DROPOFF,NOGRAVITY,MISSILE,NOSHADOW;
ATTACK_HEIGHT=32;
EXPLODE_DAMAGE.VAL=128;
EXPLODE_DAMAGE.OBITUARY="OB_EXPLODE";
LAUNCH_SOUND=RLAUNC;
DLIGHT.TYPE=MODULATE;
DLIGHT.RADIUS=150;
DLIGHT.COLOUR=#e9af5e;
DLIGHT.LEAKY=TRUE;

STATES(IDLE)=MISL:A:10:BRIGHT:NOTHING;

STATES(DEATH)=MISL:B:0:BRIGHT:DLIGHT_SET(500),
              MISL:B:0:BRIGHT:DLIGHT_colour(#e66464),
              MISL:B:0:BRIGHT:DLIGHT_FADE(0),
              MISL:B:0:BRIGHT:TRANS_FADE(0%),
              MISL:B:0:BRIGHT:KILLSOUND,
              MISL:B:0:BRIGHT:PLAYSOUND(BAREXP),
              MISL:B:8:BRIGHT:EXPLOSIONDAMAGE,
              MISL:C:6:BRIGHT:NOTHING,
              MISL:D:4:BRIGHT:NOTHING,
              #REMOVE;

[PLAYER_PLASMA]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=13;
DAMAGE.VAL=5;
DAMAGE.MAX=40;
DAMAGE.OBITUARY="OB_Plasma";
ATTACK_HEIGHT=32;
SPEED=25;
KEEP_FIRING_CHANCE=3.92%;
ATTACKRANGE=2048;
ATTACK_SPECIAL=KILL_FAILED_SPAWN;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY,NOSHADOW;
LAUNCH_SOUND=PLASMA;
TRANSLUCENCY=55%;
DLIGHT.TYPE=MODULATE;
DLIGHT.RADIUS=230;
DLIGHT.INTENSITY=100;
DLIGHT.COLOUR=#4080FF;

STATES(IDLE)=PLSS:A:6:LIT88:NOTHING,
             PLSS:B:6:LIT88:NOTHING;

STATES(DEATH)=PLSE:A:0:LIT88:DLIGHT_FADE(0),
              PLSE:A:0:LIT88:TRANS_FADE(0%),
              PLSE:A:0:LIT88:KILLSOUND,
              PLSE:A:4:LIT88:PLAYSOUND(FIRXPL),
              PLSE:B:4:LIT88:NOTHING,
              PLSE:C:4:LIT88:NOTHING,
              PLSE:D:4:LIT88:NOTHING,
              PLSE:E:4:LIT88:NOTHING,
              #REMOVE;

[BFG9000_SPRAY]
ATTACKTYPE=SPRAY;
HEIGHT=16;
RADIUS=20;
TRANSLUCENCY=50%;
DAMAGE.VAL=15;
DAMAGE.MAX=120;
DAMAGE.OBITUARY="OB_BFG";
ATTACKRANGE=2048;
PROJECTILE_SPECIAL=NOGRAVITY,NOSHADOW;
DLIGHT.TYPE=Linear;
DLIGHT.RADIUS=220;
DLIGHT.COLOUR=#00CC00;

STATES(SPAWN)=BFE2:A:0:BRIGHT:DLIGHT_FADE(0),
              BFE2:A:0:BRIGHT:TRANS_FADE(0%),
              BFE2:A:8:BRIGHT:NOTHING,
              BFE2:B:8:BRIGHT:NOTHING,
              BFE2:C:8:BRIGHT:NOTHING,
              BFE2:D:8:BRIGHT:NOTHING,
              #REMOVE;

[PLAYER_BFG9000]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=13;
SPEED=25;
DAMAGE.VAL=100;
DAMAGE.MAX=800;
DAMAGE.OBITUARY="OB_BFG";
ATTACK_HEIGHT=32;
ATTACKRANGE=2048;
TRANSLUCENCY=66%;
SPARE_ATTACK=BFG9000_SPRAY;
ATTACK_SPECIAL=KILL_FAILED_SPAWN;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY,NOSHADOW;
DLIGHT.TYPE=ADD;
DLIGHT.RADIUS=150;
DLIGHT.COLOUR=#008800;

STATES(IDLE)=BFS1:A:4:BRIGHT:NOTHING,
             BFS1:B:4:BRIGHT:NOTHING;

STATES(DEATH)=BFE1:A:0:BRIGHT:DLIGHT_SET(500),
              BFE1:A:0:BRIGHT:DLIGHT_FADE(0),
              BFE1:A:0:BRIGHT:TRANS_FADE(0%),
              BFE1:A:0:BRIGHT:KILLSOUND,
              BFE1:A:8:BRIGHT:PLAYSOUND(RXPLOD),
              BFE1:B:8:BRIGHT:NOTHING,
              BFE1:C:8:BRIGHT:SPARE_ATTACK,
              BFE1:D:8:BRIGHT:NOTHING,
              BFE1:E:8:BRIGHT:NOTHING,
              BFE1:F:8:BRIGHT:NOTHING,
              #REMOVE;


//------------------ Monster Attacks ------------------

[FORMER_HUMAN_PISTOL]
ATTACKTYPE=SHOT;
SHOTCOUNT=1;
DAMAGE.VAL=3;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Zombie";
ACCURACY_ANGLE=22;
ACCURACY_SLOPE=12;
ENGAGED_SOUND=PISTOL;
ATTACK_SPECIAL=FACE_TARGET;
PUFF=PUFF;

[FORMER_HUMAN_SHOTGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=3;
DAMAGE.VAL=3;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_ShotgunGuy";
ACCURACY_ANGLE=14;
ACCURACY_SLOPE=0;
ENGAGED_SOUND=SHOTGN;
KEEP_FIRING_CHANCE=3.92%;
ATTACK_SPECIAL=FACE_TARGET;
PUFF=PUFF;

[FORMER_HUMAN_CHAINGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=1;
DAMAGE.VAL=3;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_ChaingunGuy";
ACCURACY_ANGLE=22;
ACCURACY_SLOPE=12;
ENGAGED_SOUND=SHOTGN;
KEEP_FIRING_CHANCE=15.68%;
ATTACK_SPECIAL=FACE_TARGET;
PUFF=PUFF;

[IMP_CLOSECOMBAT]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=3;
DAMAGE.MAX=24;
DAMAGE.OBITUARY="OB_ImpClaw";
ENGAGED_SOUND=CLAW;
ATTACKRANGE=64;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;

[IMP_FIREBALL]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=3;
DAMAGE.MAX=24;
DAMAGE.OBITUARY="OB_Imp";
ATTACK_HEIGHT=32;
SPEED=10;
FAST=2;
ATTACK_SPECIAL=FACE_TARGET;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
LAUNCH_SOUND=FIRSHT;
TRANSLUCENCY=65%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=200;
DLIGHT.COLOUR=#b83c1c;

STATES(IDLE)=BAL1:A:4:BRIGHT:NOTHING,
             BAL1:B:4:BRIGHT:NOTHING;

STATES(DEATH)=BAL1:C:0:BRIGHT:DLIGHT_SET(400),
              BAL1:C:0:BRIGHT:DLIGHT_FADE(0),
              BAL1:C:0:BRIGHT:TRANS_FADE(0%),
              BAL1:C:0:BRIGHT:KILLSOUND,
              BAL1:C:6:BRIGHT:PLAYSOUND(FIRXPL),
              BAL1:D:6:BRIGHT:NOTHING,
              BAL1:E:6:BRIGHT:NOTHING,
              #REMOVE;

[DEMON_CLOSECOMBAT]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=4;
DAMAGE.MAX=40;
DAMAGE.OBITUARY="OB_Demon";
ATTACKRANGE=64;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;

[DOG_BITE]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=4;
DAMAGE.MAX=40;
DAMAGE.OBITUARY="OB_Dog";
ATTACKRANGE=64;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;

[SKULL_ASSAULT]
ATTACKTYPE=SKULLFLY;
DAMAGE.VAL=3;
DAMAGE.MAX=24;
DAMAGE.OBITUARY="OB_Skull";
ASSAULT_SPEED=20;
ATTEMPT_SOUND=SKLATK;
ATTACK_SPECIAL=FACE_TARGET;

[CACO_CLOSECOMBAT]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=10;
DAMAGE.MAX=60;
DAMAGE.OBITUARY="OB_CacoBite";
ATTACKRANGE=64;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;

[CACO_FIREBALL]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=5;
DAMAGE.MAX=40;
DAMAGE.OBITUARY="OB_Cacodemon";
ATTACK_HEIGHT=32;
LAUNCH_SOUND=FIRSHT;
SPEED=10;
FAST=2;
ATTACK_SPECIAL=FACE_TARGET;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
TRANSLUCENCY=75%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=200;
DLIGHT.COLOUR=#e9369d;

STATES(IDLE)=BAL2:A:4:BRIGHT:NOTHING,
             BAL2:B:4:BRIGHT:NOTHING;

STATES(DEATH)=BAL2:C:0:BRIGHT:DLIGHT_SET(300),
              BAL2:C:0:BRIGHT:DLIGHT_FADE(0),
              BAL2:C:0:BRIGHT:TRANS_FADE(0%),
              BAL2:C:0:BRIGHT:KILLSOUND,
              BAL2:C:6:BRIGHT:PLAYSOUND(FIRXPL),
              BAL2:D:6:BRIGHT:NOTHING,
              BAL2:E:6:BRIGHT:NOTHING,
              #REMOVE;

[REVENANT_CLOSECOMBAT]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=6;
DAMAGE.MAX=60;
DAMAGE.OBITUARY="OB_RevPunch";
ATTEMPT_SOUND=SKESWG;
ENGAGED_SOUND=SKEPCH;
ATTACKRANGE=64;

[REVENANT_MISSILE]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=11;
DAMAGE.VAL=10;
DAMAGE.MAX=80;
DAMAGE.OBITUARY="OB_Revenant";
ATTACK_HEIGHT=48;
SPEED=10;
NO_TRACE_CHANCE=50%;
TRACE_ANGLE=16.8;
TOO_CLOSE_RANGE=196;
ATTACK_SPECIAL=FACE_TARGET,SMOKING_TRACER;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY,NOSHADOW;
LAUNCH_SOUND=SKEATK;
PUFF=SMOKE;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=200;
DLIGHT.COLOUR=#e98c5e;

STATES(IDLE)=FATB:A:2:BRIGHT:RANDOM_TRACER,
             FATB:B:2:BRIGHT:NOTHING;

STATES(DEATH)=FBXP:A:0:BRIGHT:DLIGHT_FADE(0),
              FBXP:A:0:BRIGHT:TRANS_FADE(0%),
              FBXP:A:0:BRIGHT:KILLSOUND,
              FBXP:A:8:BRIGHT:PLAYSOUND(BAREXP),
              FBXP:B:6:BRIGHT:NOTHING,
              FBXP:C:4:BRIGHT:NOTHING,
              #REMOVE;

[BARON_CLOSECOMBAT]
ATTACKTYPE=CLOSECOMBAT;
DAMAGE.VAL=10;
DAMAGE.MAX=80;
DAMAGE.OBITUARY="OB_BaronClaw";
ENGAGED_SOUND=CLAW;
ATTACKRANGE=64;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;

[BARON_FIREBALL]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=8;
DAMAGE.MAX=64;
DAMAGE.OBITUARY="OB_Baron";
ATTACK_HEIGHT=32;
SPEED=15;
FAST=1.33333;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
LAUNCH_SOUND=FIRSHT;
ATTACK_SPECIAL=FACE_TARGET;
TRANSLUCENCY=65%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=150;
DLIGHT.COLOUR=#5cd55c;

STATES(IDLE)=BAL7:A:4:BRIGHT:NOTHING,
             BAL7:B:4:BRIGHT:NOTHING;

STATES(DEATH)=BAL7:C:0:BRIGHT:DLIGHT_SET(800),
              BAL7:C:0:BRIGHT:DLIGHT_FADE(0),
              BAL7:C:0:BRIGHT:TRANS_FADE(0%),
              BAL7:C:0:BRIGHT:KILLSOUND,
              BAL7:C:7:BRIGHT:PLAYSOUND(FIRXPL),
              BAL7:D:7:BRIGHT:NOTHING,
              BAL7:E:7:BRIGHT:NOTHING,
              #REMOVE;

[ELEMENTAL_SPAWNER]
ATTACKTYPE=SPAWNER;
ATTACK_HEIGHT=8;
ATTACK_SPECIAL=PRESTEP_SPAWN;
SPAWNED_OBJECT=LOST_SOUL;
SPAWN_OBJECT_STATE=MISSILE:2;
SPAWN_LIMIT=21;
ATTACK_SPECIAL=FACE_TARGET;

[ELEMENTAL_DEATHSPAWN]
ATTACKTYPE=TRIPLE_SPAWNER;
ATTACK_HEIGHT=8;
ATTACK_SPECIAL=PRESTEP_SPAWN,FACE_TARGET;
SPAWNED_OBJECT=LOST_SOUL;
SPAWN_OBJECT_STATE=MISSILE:2;

[MANCUBUS_FIREBALL]
ATTACKTYPE=FIXED_SPREADER;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=8;
DAMAGE.MAX=64;
DAMAGE.OBITUARY="OB_Mancubus";
ATTACK_HEIGHT=32;
SPEED=20;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY,NOSHADOW;
ATTEMPT_SOUND=MANATK;
LAUNCH_SOUND=FIRSHT;
DEATH_SOUND=FIRXPL;
TRANSLUCENCY=80%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=333;
DLIGHT.COLOUR=#b8601c;

STATES(IDLE)=MANF:A:4:BRIGHT:dlight_set(340),
             MANF:B:4:BRIGHT:dlight_set(320);

STATES(DEATH)=MISL:B:0:BRIGHT:DLIGHT_SET(500),
              MISL:B:0:BRIGHT:DLIGHT_FADE(0),
              MISL:B:0:BRIGHT:TRANS_FADE(0%),
              MISL:B:0:BRIGHT:KILLSOUND,
              MISL:B:8:BRIGHT:PLAYSOUND(FIRXPL),
              MISL:C:6:BRIGHT:NOTHING,
              MISL:D:4:BRIGHT:NOTHING,
              #REMOVE;

[ARACHNOTRON_PLASMA]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=13;
DAMAGE.VAL=5;
DAMAGE.MAX=40;
DAMAGE.OBITUARY="OB_Arachnotron";
ATTACK_HEIGHT=16;
SPEED=25;
KEEP_FIRING_CHANCE=3.92%;
LAUNCH_SOUND=PLASMA;
ATTACK_SPECIAL=FACE_TARGET;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY,NOSHADOW;
TRANSLUCENCY=45%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=200;
DLIGHT.COLOUR=#92eb2d;

STATES(IDLE)=APLS:A:5:BRIGHT:NOTHING,
             APLS:B:5:BRIGHT:NOTHING;

STATES(DEATH)=APBX:A:0:BRIGHT:DLIGHT_SET(400),
              APBX:A:0:BRIGHT:DLIGHT_FADE(0),
              APBX:A:5:BRIGHT:KILLSOUND,
              APBX:A:5:BRIGHT:PLAYSOUND(FIRXPL),
              APBX:A:5:BRIGHT:TRANS_FADE(0%),
              APBX:B:5:BRIGHT:NOTHING,
              APBX:C:5:BRIGHT:NOTHING,
              APBX:D:5:BRIGHT:NOTHING,
              APBX:E:5:BRIGHT:NOTHING,
              #REMOVE;

[ARCHVILE_FIRE]
ATTACKTYPE=TRACKER;
ATTACKRANGE=1024;
RADIUS=20;
HEIGHT=16;
DAMAGE.VAL=20;
DAMAGE.OBITUARY="OB_Archvile";
EXPLODE_DAMAGE.VAL=70;
ATTEMPT_SOUND=VILATK;
ENGAGED_SOUND=BAREXP;
LAUNCH_SOUND=FLAMST;
ACTIVE_SOUND=FLAME;
ATTACK_SPECIAL=NEED_SIGHT,FACE_TARGET;
TRANSLUCENCY=80%;
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=400;
DLIGHT.COLOUR=#ffc640;

STATES(SPAWN)=FIRE:A:2:BRIGHT:DLIGHT_FADE(0),
              FIRE:A:2:BRIGHT:TRANS_FADE(0%),
              FIRE:A:2:BRIGHT:TRACKERSTART,
              FIRE:B:2:BRIGHT:TRACKERFOLLOW,
              FIRE:A:2:BRIGHT:TRACKERFOLLOW,
              FIRE:B:2:BRIGHT:TRACKERFOLLOW,
              FIRE:C:2:BRIGHT:TRACKERACTIVE,
              FIRE:B:2:BRIGHT:TRACKERFOLLOW,
              FIRE:C:2:BRIGHT:TRACKERFOLLOW,
              FIRE:B:2:BRIGHT:TRACKERFOLLOW,
              FIRE:C:2:BRIGHT:TRACKERFOLLOW,
              FIRE:D:2:BRIGHT:TRACKERFOLLOW,
              FIRE:C:2:BRIGHT:TRACKERFOLLOW,
              FIRE:D:2:BRIGHT:TRACKERFOLLOW,
              FIRE:C:2:BRIGHT:TRACKERFOLLOW,
              FIRE:D:2:BRIGHT:TRACKERFOLLOW,
              FIRE:E:2:BRIGHT:TRACKERFOLLOW,
              FIRE:D:2:BRIGHT:TRACKERFOLLOW,
              FIRE:E:2:BRIGHT:TRACKERFOLLOW,
              FIRE:D:2:BRIGHT:TRACKERFOLLOW,
              FIRE:E:2:BRIGHT:TRACKERACTIVE,
              FIRE:F:2:BRIGHT:TRACKERFOLLOW,
              FIRE:E:2:BRIGHT:TRACKERFOLLOW,
              FIRE:F:2:BRIGHT:TRACKERFOLLOW,
              FIRE:E:2:BRIGHT:TRACKERFOLLOW,
              FIRE:F:2:BRIGHT:TRACKERFOLLOW,
              FIRE:G:2:BRIGHT:TRACKERFOLLOW,
              FIRE:H:2:BRIGHT:TRACKERFOLLOW,
              FIRE:G:2:BRIGHT:TRACKERFOLLOW,
              FIRE:H:2:BRIGHT:TRACKERFOLLOW,
              FIRE:G:2:BRIGHT:TRACKERFOLLOW,
              FIRE:H:2:BRIGHT:TRACKERFOLLOW,
              #REMOVE;

[WOLFENSTEIN_CHAINGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=1;
DAMAGE.VAL=3;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_WolfSS";
ACCURACY_ANGLE=22;
ACCURACY_SLOPE=12;
ENGAGED_SOUND=SHOTGN;
KEEP_FIRING_CHANCE=15.68%;
ATTACK_SPECIAL=FACE_TARGET;
PUFF=PUFF;

[MASTERMIND_CHAINGUN]
ATTACKTYPE=SHOT;
SHOTCOUNT=3;
DAMAGE.VAL=3;
DAMAGE.MAX=15;
DAMAGE.OBITUARY="OB_Mastermind";
ACCURACY_ANGLE=14;
ACCURACY_SLOPE=0;
ENGAGED_SOUND=SHOTGN;
KEEP_FIRING_CHANCE=3.92%;
ATTACK_SPECIAL=FACE_TARGET;
PUFF=PUFF;

[CYBERDEMON_MISSILE]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=11;
DAMAGE.VAL=20;
DAMAGE.MAX=160;
DAMAGE.OBITUARY="OB_Cyberdemon";
SPEED=20;
ACCURACY_ANGLE=0;
ACCURACY_SLOPE=0;
ATTACK_HEIGHT=44;
X_OFFSET=20;
EXPLODE_DAMAGE.VAL=128;
EXPLODE_DAMAGE.OBITUARY="OB_Cyberdemon";
ATTACK_SPECIAL=FACE_TARGET;
PROJECTILE_SPECIAL=NOBLOCKMAP,DROPOFF,NOGRAVITY,MISSILE,NOSHADOW;
LAUNCH_SOUND=RLAUNC;
DLIGHT.TYPE=quadratic;
DLIGHT.INTENSITY=100;
DLIGHT.COLOUR=#f97f4e;

STATES(IDLE)=MISL:A:1:BRIGHT:NOTHING;

STATES(DEATH)=MISL:B:0:BRIGHT:DLIGHT_SET(200),
              MISL:B:0:BRIGHT:DLIGHT_colour(#e95536),
              MISL:B:0:BRIGHT:DLIGHT_FADE(0),
              MISL:B:0:BRIGHT:TRANS_FADE(0%),
              MISL:B:0:BRIGHT:KILLSOUND,
              MISL:B:0:BRIGHT:PLAYSOUND(BAREXP),
              MISL:B:8:BRIGHT:EXPLOSIONDAMAGE,
              MISL:C:6:BRIGHT:NOTHING,
              MISL:D:4:BRIGHT:NOTHING,
              #REMOVE;


// ------------------ Boss Brain Stuff ------------------

[BRAIN_CUBE]
ATTACKTYPE=SHOOTTOSPOT;
RADIUS=6;
HEIGHT=8;
SPAWNHEALTH=1000;
DAMAGE.VAL=8;
DAMAGE.MAX=64;
ATTACK_HEIGHT=16;
SPEED=9;
MASS=100;
REACTIONTIME=8T;
PROJECTILE_SPECIAL=NOBLOCKMAP,NOCLIP,MISSILE,DROPOFF,NOGRAVITY,BOSSMAN;
LAUNCH_SOUND=BOSPIT;
ACTIVE_SOUND=BOSCUB;
DEATH_SOUND=TELEPT?;  // FIRXPL
DLIGHT.TYPE=QUADRATIC;
DLIGHT.INTENSITY=0;
DLIGHT.COLOUR=#b13c02;

STATES(IDLE)=BOSF:A:3:BRIGHT:CUBETRACER,
             BOSF:B:3:BRIGHT:NOTHING,
             BOSF:C:3:BRIGHT:CUBETRACER,
             BOSF:D:3:BRIGHT:MAKEACTIVESOUND;

STATES(DEATH)=FIRE:A:0:BRIGHT:DLIGHT_SET(1000),
              FIRE:A:0:BRIGHT:DLIGHT_FADE(0),
              FIRE:A:4:BRIGHT:TRANS_FADE(10%),
              FIRE:B:4:BRIGHT:NOTHING,
              FIRE:C:4:BRIGHT:NOTHING,
              FIRE:D:4:BRIGHT:NOTHING,
              FIRE:E:4:BRIGHT:NOTHING,
              FIRE:F:4:BRIGHT:NOTHING,
              FIRE:G:4:BRIGHT:NOTHING,
              FIRE:H:4:BRIGHT:CUBESPAWN,
              #REMOVE;


// ------------------ Experimental Stuff ------------------

[TRACER_MISSILE_L]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=11;
DAMAGE.VAL=10;
DAMAGE.MAX=80;
ATTACK_HEIGHT=50;
X_OFFSET=-16;
SPEED=10;
NO_TRACE_CHANCE=1.56%;
TOO_CLOSE_RANGE=196;
ATTACK_SPECIAL=SMOKING_TRACER;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
LAUNCH_SOUND=SKEATK;
DEATH_SOUND=BAREXP;
PUFF=SMOKE;

STATES(IDLE)=FATB:A:2:BRIGHT:TRACER,
             FATB:B:2:BRIGHT:TRACER;

STATES(DEATH)=FBXP:A:8:BRIGHT:TRANS_FADE(10%),
              FBXP:B:6:BRIGHT:NOTHING,
              FBXP:C:4:BRIGHT:NOTHING,
              #REMOVE;

[TRACER_MISSILE_R]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=11;
DAMAGE.VAL=10;
DAMAGE.MAX=80;
X_OFFSET=16;
ATTACK_HEIGHT=50;
SPEED=10;
NO_TRACE_CHANCE=1.56%;
TOO_CLOSE_RANGE=196;
ATTACK_SPECIAL=SMOKING_TRACER;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
LAUNCH_SOUND=SKEATK;
DEATH_SOUND=BAREXP;
PUFF=SMOKE;

STATES(IDLE)=FATB:A:2:BRIGHT:TRACER,
             FATB:B:2:BRIGHT:TRACER;

STATES(DEATH)=FBXP:A:8:BRIGHT:TRANS_FADE(10%),
              FBXP:B:6:BRIGHT:NOTHING,
              FBXP:C:4:BRIGHT:NOTHING,
              #REMOVE;

[IMP_SPAWNER]
ATTACKTYPE=SPAWNER;
ATTACK_HEIGHT=0;
SPAWNED_OBJECT=IMP;
SPAWN_OBJECT_STATE=CHASE:1;
ENGAGED_SOUND=TELEPT?;

[MANCUBUS_FIREBALL_L]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=8;
DAMAGE.MAX=64;
DAMAGE.OBITUARY="OB_Mancubus";
ATTACK_HEIGHT=24;
X_OFFSET=-24;
SPEED=20;
ACCURACY_ANGLE=17;
ACCURACY_SLOPE=9;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
ATTEMPT_SOUND=MANATK;
LAUNCH_SOUND=FIRSHT;
TRANSLUCENCY=80%;

STATES(IDLE)=MANF:A:4:BRIGHT:NOTHING,
             MANF:B:4:BRIGHT:NOTHING;

STATES(DEATH)=MISL:B:0:BRIGHT:TRANS_FADE(10%),
              MISL:B:0:BRIGHT:KILLSOUND,
              MISL:B:8:BRIGHT:PLAYSOUND(FIRXPL),
              MISL:C:6:BRIGHT:NOTHING,
              MISL:D:4:BRIGHT:NOTHING,
              #REMOVE;

[MANCUBUS_FIREBALL_R]
ATTACKTYPE=PROJECTILE;
HEIGHT=8;
RADIUS=6;
DAMAGE.VAL=8;
DAMAGE.MAX=64;
DAMAGE.OBITUARY="OB_Mancubus";
ATTACK_HEIGHT=24;
X_OFFSET=24;
SPEED=20;
ACCURACY_ANGLE=17;
ACCURACY_SLOPE=9;
PROJECTILE_SPECIAL=NOBLOCKMAP,MISSILE,DROPOFF,NOGRAVITY;
ATTEMPT_SOUND=MANATK;
LAUNCH_SOUND=FIRSHT;
TRANSLUCENCY=80%;

STATES(IDLE)=MANF:A:4:BRIGHT:NOTHING,
             MANF:B:4:BRIGHT:NOTHING;

STATES(DEATH)=MISL:B:0:BRIGHT:TRANS_FADE(10%),
              MISL:B:0:BRIGHT:KILLSOUND,
              MISL:B:8:BRIGHT:PLAYSOUND(FIRXPL),
              MISL:C:6:BRIGHT:NOTHING,
              MISL:D:4:BRIGHT:NOTHING,
              #REMOVE;

