// ------------------------------------------------------
// ------------------ DOOM GAME LIGHTS ------------------
// ------------------------------------------------------

// ------------------
// -- Doom Weapons --
// ------------------

// Bullet puff
flickerlight BPUFF1
{
	color 0.5 0.5 0.0
	size 9
	secondarySize 12
	chance 0.8
	attenuate 1
}

flickerlight BPUFF2
{
	color 0.5 0.5 0.0
	size 4
	secondarySize 6
	chance 0.8
	attenuate 1
}

object BulletPuff
{
	frame PUFFA { light BPUFF1 }
	frame PUFFB { light BPUFF2 }
}

// Rocket
pointlight ROCKET
{
	color 1.0 1.0 0.0
	size 56
	attenuate 1
}

flickerlight ROCKET_X1
{
	color 1.0 1.0 0.5
	size 96
	secondarySize 108
	chance 0.3
	attenuate 1
}

flickerlight ROCKET_X2
{
	color 0.5 0.5 0.2
	size 120
	secondarySize 132
	chance 0.3
	attenuate 1
}

flickerlight ROCKET_X3
{
	color 0.3 0.3 0.1
	size 144
	secondarySize 156
	chance 0.3
	attenuate 1
}

object Rocket
{
	frame MISLA { light ROCKET    }

	frame MISLB { light ROCKET_X1 }
	frame MISLC { light ROCKET_X2 }
	frame MISLD { light ROCKET_X3 }
}

// Plasma
pointlight PLASMABALL
{
	color 0.5 0.5 1.0
	size 84
	attenuate 1
}

flickerlight PLASMA_X1
{
	color 0.5 0.5 1.0
	size 96
	secondarySize 108
	chance 0.4
	attenuate 1
}

flickerlight PLASMA_X2
{
	color 0.4 0.4 0.8
	size 120
	secondarySize 132
	chance 0.4
	attenuate 1
}

flickerlight PLASMA_X3
{
	color 0.25 0.25 0.5
	size 96
	secondarySize 108
	chance 0.4
	attenuate 1
}

flickerlight PLASMA_X4
{
	color 0.1 0.1 0.2
	size 12
	secondarySize 24
	chance 0.4
	attenuate 1
}

object PlasmaBall
{
	frame PLSSA { light PLASMABALL }
	frame PLSSB { light PLASMABALL }

	frame PLSEA { light PLASMA_X1 }
	frame PLSEB { light PLASMA_X2 }
	frame PLSEC { light PLASMA_X2 }
	frame PLSED { light PLASMA_X3 }
	frame PLSEE { light PLASMA_X4 }
}

// Beta Plasma 1
pointlight PLASMABALL1
{
	color 0.1 1.0 0.0
	size 84
	attenuate 1
}

flickerlight PLASMA1_X1
{
	color 0.2 1.0 0.2
	size 96
	secondarySize 108
	chance 0.4
	attenuate 1
}

flickerlight PLASMA1_X2
{
	color 0.2 0.8 0.2
	size 120
	secondarySize 132
	chance 0.4
	attenuate 1
}

flickerlight PLASMA1_X3
{
	color 0.1 0.5 0.1
	size 96
	secondarySize 108
	chance 0.4
	attenuate 1
}

flickerlight PLASMA1_X4
{
	color 0.0 0.2 0.0
	size 12
	secondarySize 24
	chance 0.4
	attenuate 1
}

object PlasmaBall1
{
	frame PLS1A { light PLASMABALL1 }
	frame PLS1B { light PLASMABALL1 }

	frame PLS1C { light PLASMA1_X1 }
	frame PLS1D { light PLASMA1_X2 }
	frame PLS1E { light PLASMA1_X2 }
	frame PLS1F { light PLASMA1_X3 }
	frame PLS1G { light PLASMA1_X4 }
}

// Beta Plasma 2
pointlight PLASMABALL2
{
	color 1.0 0.1 0.0
	size 84
	attenuate 1
}

flickerlight PLASMA1_X1
{
	color 0.9 0.2 0.2
	size 96
	secondarySize 108
	chance 0.4
	attenuate 1
}

flickerlight PLASMA1_X2
{
	color 0.6 0.2 0.2
	size 120
	secondarySize 132
	chance 0.4
	attenuate 1
}

flickerlight PLASMA1_X3
{
	color 0.2 0.0 0.0
	size 12
	secondarySize 24
	chance 0.4
	attenuate 1
}

object PlasmaBall2
{
	frame PLS2A { light PLASMABALL2 }
	frame PLS2B { light PLASMABALL2 }

	frame PLS2C { light PLASMA2_X1 }
	frame PLS2D { light PLASMA2_X2 }
	frame PLS2E { light PLASMA2_X3 }
}

// BFG
pointlight BFGBALL
{
	color 0.5 0.5 1.0
	size 120
	attenuate 1
}

flickerlight BFGBALL_X1
{
	color 0.5 0.5 1.0
	size 120
	secondarySize 132
	chance 0.3
	attenuate 1
}

flickerlight BFGBALL_X2
{
	color 0.6 0.6 1.0
	size 156
	secondarySize 168
	chance 0.3
	attenuate 1
}

flickerlight BFGBALL_X3
{
	color 0.7 0.7 1.0
	size 180
	secondarySize 192
	chance 0.3
	attenuate 1
}

flickerlight BFGBALL_X4
{
	color 0.4 0.4 0.7
	size 84
	secondarySize 96
	chance 0.3
	attenuate 1
}

flickerlight BFGBALL_X5
{
	color 0.1 0.1 0.3
	size 72
	secondarySize 84
	chance 0.3
	attenuate 1
}

object BFGBall
{
	frame BFS1A { light BFGBALL }
	frame BFS1B { light BFGBALL }

	frame BFE1A { light BFGBALL_X1 }
	frame BFE1B { light BFGBALL_X2 }
	frame BFE1C { light BFGBALL_X3 }
	frame BFE1D { light BFGBALL_X1 }
	frame BFE1E { light BFGBALL_X4 }
	frame BFE1F { light BFGBALL_X5 }
}


object BFGExtra
{
	frame BFE2A { light BFGBALL    }
	frame BFE2B { light BFGBALL_X1 }
	frame BFE2C { light BFGBALL_X4 }
	frame BFE2D { light BFGBALL_X5 }
}



// ----------------------
// -- Doom Decorations --
// ----------------------

// Barrel
pulselight BARREL
{
	color 0.0 0.3 0.0
	size 20
	secondarySize 21
	interval 0.5
	offset 0 36 0
	dontlightself 1
	attenuate 1
}

object ExplosiveBarrel
{
	frame BAR1  { light BARREL    }

	frame BEXPC { light ROCKET_X1 }
	frame BEXPD { light ROCKET_X2 }
	frame BEXPE { light ROCKET_X3 }
}

// Floor lamp
pointlight LAMP
{
	color 1.0 1.0 0.6
	size 84
	offset 0 44 0
	attenuate 1
}

object Column
{
	frame COLU { light LAMP }
}

// Short tech lamp
pulselight SMALLLAMP
{
	color 1.0 1.0 0.7
	size 84
	secondarySize 87
	interval 0.4
	offset 0 44 0
	attenuate 1
}

object TechLamp2
{
	frame TLP2 { light SMALLLAMP }
}

// Tall tech lamp
pointlight BIGLAMP1
{
	color 1.0 0.9 0.4
	size 100
	offset 0 72 0
	attenuate 1
}

pointlight BIGLAMP2
{
	color 0.97 0.87 0.37
	size 99
	offset 0 72 0
	attenuate 1
}

pointlight BIGLAMP3
{
	color 0.94 0.84 0.34
	size 98
	offset 0 72 0
	attenuate 1
}

object TechLamp
{
	frame TLMPA { light BIGLAMP1 }
	frame TLMPB { light BIGLAMP2 }
	frame TLMPC { light BIGLAMP3 }
	frame TLMPD { light BIGLAMP2 }
}

// Tall red torch
flickerlight2 BIGREDTORCH
{
	color 1.0 0.9 0.2
	size 90
	secondarySize 99
	interval 0.1
	offset 0 60 0
	attenuate 1
}

object RedTorch
{
	frame TRED { light BIGREDTORCH }
}

// Tall green torch
flickerlight2 BIGGREENTORCH
{
	color 0.3 1.0 0.3
	size 90
	secondarySize 99
	interval 0.1
	offset 0 60 0
	attenuate 1
}

object GreenTorch
{
	frame TGRN { light BIGGREENTORCH }
}

// Tall blue torch
flickerlight2 BIGBLUETORCH
{
	color 0.3 0.3 1.0
	size 90
	secondarySize 99
	interval 0.1
	offset 0 50 0
	attenuate 1
}

object BlueTorch
{
	frame TBLU { light BIGBLUETORCH }
}

// Small red torch
flickerlight2 SMALLREDTORCH
{
	color 1.0 0.5 0.2
	size 72
	secondarySize 81
	interval 0.1
	offset 0 35 0
	attenuate 1
}

object ShortRedTorch
{
	frame SMRT { light SMALLREDTORCH }
}

// Small green torch
flickerlight2 SMALLGREENTORCH
{
	color 0.3 1.0 0.3
	size 72
	secondarySize 81
	interval 0.1
	offset 0 35 0
	attenuate 1
}

object ShortGreenTorch
{
	frame SMGT { light SMALLGREENTORCH }
}

// Small blue torch
flickerlight2 SMALLBLUETORCH
{
	color 0.3 0.3 1.0
	size 72
	secondarySize 81
	interval 0.1
	offset 0 35 0
	attenuate 1
}

object ShortBlueTorch
{
	frame SMBT { light SMALLBLUETORCH }
}

// Burning barrel
flickerlight2 FIREBARREL
{
	color 1.0 0.9 0.4
	size 72
	secondarySize 81
	interval 0.1
	offset 0 32 0
	attenuate 1
}

object BurningBarrel
{
	frame FCAN { light FIREBARREL }
}

// Skulls w/candles
flickerlight2 SKULLCANDLES
{
	color 1.0 1.0 0.3
	size 48
	secondarySize 51
	interval 0.1
	offset 0 24 0
	attenuate 1
}

object HeadCandles
{
	frame POL3 { light SKULLCANDLES }
}

// Candle
pointlight CANDLE
{
	color 1.0 1.0 0.3
	size 24
	offset 0 16 0
	attenuate 1
}

object Candlestick
{
	frame CAND { light CANDLE }
}

// Floating Skull Rock
pulselight SKULLROCK
{
	color 0.5 0.4 0.1
	offset 0 5 0
	size 60
	secondarysize 40
	interval 0.6
	attenuate 1
}
object FloatingSkull
{
	frame FSKU { light SKULLROCK }
}

// ----------------
// -- Doom Items --
// ----------------

// Soul Sphere
pulselight SOULSPHERE
{
	color 1.0 1.0 0.3
	size 60
	secondarySize 63
	interval 2.0
	offset 0 16 0
	attenuate 1
}

object SoulSphere
{
	frame SOUL { light SOULSPHERE }
}

// Soul Sphere
pulselight MEGASPHERE
{
	color 1.0 0.8 0.4
	size 60
	secondarySize 63
	interval 2.0
	offset 0 16 0
	attenuate 1
}

object MegaSphere
{
	frame MEGA { light MEGASPHERE }
}

// Invulnerability Sphere
pulselight INVULN
{
	color 0.6 1.0 0.6
	size 60
	secondarySize 63
	interval 2.0
	offset 0 16 0
	attenuate 1
}

object InvulnerabilitySphere
{
	frame PINV { light INVULN }
}

// Blur Sphere
pulselight BLURSPHERE1
{
	color 0.6 0.6 0.6
	size 40
	secondarysize 35
	offset 0 16 0
		subtractive 1
	attenuate 1
		interval 0.3
}

object BlurSphere
{
	frame PINS { light BLURSPHERE1 }
}

// Armour Shield
pulselight ARMORBONUS
{
	color 0.3 0.1 0.1
	size 16
	secondarySize 20
	interval 1.0
	attenuate 1
	offset 0 10 0
}

object ArmorBonus
{
	frame BON2 { light ARMORBONUS }
}

// Blue Keys
pulselight BLUEKEY
{
	color 0.2 0.2 0.8
	size 15
	secondarySize 27
	interval 2.0
	attenuate 1
	offset 0 10 0
}
object BlueCard
{
	frame BKEY { light BLUEKEY }
}

object BlueSkull
{
	frame BSKU { light BLUEKEY }
}

// Yellow Keys
pulselight YELLOWKEY
{
	color 0.6 0.6 0.0
	size 15
	secondarySize 27
	interval 2.0
	attenuate 1
	offset 0 10 0
}

object YellowCard
{
	frame YKEY { light YELLOWKEY }
}

object YellowSkull
{
	frame YSKU { light YELLOWKEY }
}

// Red Keys
pulselight REDKEY
{
	color 0.6 0.0 0.0
	size 24
	secondarySize 27
	interval 2.0
	attenuate 1
	offset 0 10 0
}

object RedCard
{
	frame RKEY { light REDKEY }
}

object RedSkull
{
	frame RSKU { light REDKEY }
}


// Both armor pickups have a big red blinking light in the middle
pointlight GREENARMOR2
{
	color 0.1 0.2 0.0
	size 40
	attenuate 1
	offset 0 10 0
}
pointlight REDARMOR
{
	color 0.2 0.0 0.0
	size 40
	attenuate 1
	offset 0 10 0
}
pointlight ARMORLITE
{
	color 0.4 0.0 0.0
	size 10
	attenuate 1
	offset 0 20 0
}

object GreenArmor
{
	frame ARM1 { light GREENARMOR2 }
	frame ARM1B { light ARMORLITE }
}

object BlueArmor
{
	frame ARM2 { light REDARMOR }
	frame ARM2B { light ARMORLITE }
}


// ------------------
// -- Doom Enemies --
// ------------------

// Zombies
flickerlight2 ZOMBIEATK
{
	color 1.0 0.8 0.2
	size 72
	secondarySize 84
	interval 1
	offset 0 40 0
	attenuate 1
}

object ZombieMan
{
	frame POSSF { light ZOMBIEATK }
}

object ShotgunGuy
{
	frame SPOSF { light ZOMBIEATK }
}

object ChaingunGuy
{
	frame CPOSE { light ZOMBIEATK }
	frame CPOSF { light ZOMBIEATK }
}

object DoomPlayer
{
	frame PLAYF { light ZOMBIEATK }
}


// Doom Imp Fireball
pointlight IMPBALL
{
	color 0.8 0.7 0.4
	size 96
	attenuate 1
}

// Doom imp fireball explosion
flickerlight IMPBALL_X1
{
	color 0.9 0.7 0.25
	size 120
	secondarySize 132
	chance 0.25
	attenuate 1
}

flickerlight IMPBALL_X2
{
	color 0.5 0.4 0.1
	size 144
	secondarySize 156
	chance 0.25
	attenuate 1
}

flickerlight IMPBALL_X3
{
	color 0.3 0.2 0.0
	size 168
	secondarySize 180
	chance 0.25
	attenuate 1
}

object DoomImpBall
{
	frame BAL1A { light IMPBALL    }
	frame BAL1B { light IMPBALL    }

	frame BAL1C { light IMPBALL_X1 }
	frame BAL1D { light IMPBALL_X2 }
	frame BAL1E { light IMPBALL_X3 }
}

pointlight SPECTRE
{
	color 0.5 0.5 0.5
	size 72
	offset 0 24 0
	subtractive 1
	attenuate 1
}

/*
object Spectre
{
	frame SARG { light SPECTRE }
}
*/

// Cacodemon fireball
flickerlight CACOBALL
{
	color 1.0 0.5 0.8
	size 84
	secondarySize 96
	chance 0.5
	attenuate 1
}

flickerlight CACOBALL_X1
{
	color 0.7 0.4 0.9
	size 108
	secondarySize 120
	chance 0.25
	attenuate 1
}

flickerlight CACOBALL_X2
{
	color 0.5 0.3 0.6
	size 132
	secondarySize 144
	chance 0.25
	attenuate 1
}

flickerlight CACOBALL_X3
{
	color 0.1 0.1 0.3
	size 156
	secondarySize 168
	chance 0.25
	attenuate 1
}

object CacodemonBall
{
	frame BAL2A { light CACOBALL }
	frame BAL2B { light CACOBALL }

	frame BAL2C { light CACOBALL_X1 }
	frame BAL2D { light CACOBALL_X2 }
	frame BAL2E { light CACOBALL_X3 }
}

// Baron / Hell Knight fireball
pointlight BARONBALL
{
	color 0.0 1.0 0.0
	size 96
	attenuate 1
}

flickerlight BARONBALL_X1
{
	color 0.6 0.9 0.6
	size 120
	secondarySize 132
	chance 0.25
	attenuate 1
}

flickerlight BARONBALL_X2
{
	color 0.45 0.6 0.45
	size 144
	secondarySize 156
	chance 0.25
	attenuate 1
}

flickerlight BARONBALL_X3
{
	color 0.2 0.3 0.2
	size 168
	secondarySize 180
	chance 0.25
	attenuate 1
}

object BaronBall
{
	frame BAL7A { light BARONBALL    }
	frame BAL7B { light BARONBALL    }

	frame BAL7C { light BARONBALL_X1 }
	frame BAL7D { light BARONBALL_X2 }
	frame BAL7E { light BARONBALL_X3 }
}

// Lost Soul
pulselight LOSTSOUL
{
	color 0.4 0.4 0.2
	size 64
	secondarysize 44
	interval 0.9
	attenuate 1
}
flickerlight HATCHLING_ATK
{
	color 0.8 0.8 0.5
	size 84
	secondarysize 64
	chance 0.3
	attenuate 1
}

flickerlight LOSTSOUL_X1
{
	color 0.8 0.5 0.3
	size 108
	secondarySize 120
	chance 0.25
	attenuate 1
}

flickerlight LOSTSOUL_X2
{
	color 0.6 0.3 0.2
	size 132
	secondarySize 144
	chance 0.25
	attenuate 1
}

flickerlight LOSTSOUL_X3
{
	color 0.4 0.1 0.0
	size 156
	secondarySize 168
	chance 0.25
	attenuate 1
}

flickerlight LOSTSOUL_X4
{
	color 0.2 0.0 0.0
	size 168
	secondarySize 180
	chance 0.25
	attenuate 1
}

object LostSoul
{
	frame SKULA { light LOSTSOUL    }
	frame SKULB { light LOSTSOUL    }
	frame SKULC { light HATCHLING_ATK    }
	frame SKULD { light HATCHLING_ATK    }
	frame SKULE { light LOSTSOUL    }
	frame SKULF { light LOSTSOUL    }
	frame SKULG { light LOSTSOUL    }

	frame SKULH { light LOSTSOUL_X1 }
	frame SKULI { light LOSTSOUL_X2 }
	frame SKULJ { light LOSTSOUL_X3 }
	frame SKULK { light LOSTSOUL_X4 }
}

// Mancubus Fireball
pointlight MANCBALL
{
	color 0.8 0.4 0.4
	size 64
}


object FatShot
{
	frame MANFA { light MANCBALL   }
	frame MANFB { light MANCBALL   }

	frame MISLB { light ROCKET_X1 }
	frame MISLC { light ROCKET_X2 }
	frame MISLD { light ROCKET_X3 }
}

// Arachnotron Fireball
pointlight ARACHPLAS
{
	color 0.4 1.0 0.4
	size 84
	attenuate 1
}

flickerlight ARACHPLAS_X1
{
	color 0.3 0.8 0.3
	size 108
	secondarySize 120
	chance 0.3
	attenuate 1
}

flickerlight ARACHPLAS_X2
{
	color 0.3 0.6 0.3
	size 132
	secondarySize 144
	chance 0.3
	attenuate 1
}

flickerlight ARACHPLAS_X3
{
	color 0.2 0.4 0.2
	size 72
	secondarySize 48
	chance 0.3
	attenuate 1
}

flickerlight ARACHPLAS_X4
{
	color 0.1 0.2 0.1
	size 36
	secondarySize 24
	chance 0.3
	attenuate 1
}

object ArachnotronPlasma
{
	frame APLSA { light ARACHPLAS }
	frame APLSB { light ARACHPLAS }

	frame APBXA { light ARACHPLAS_X1 }
	frame APBXB { light ARACHPLAS_X2 }
	frame APBXC { light ARACHPLAS_X2 }
	frame APBXD { light ARACHPLAS_X3 }
	frame APBXE { light ARACHPLAS_X4 }
}

// Revenant tracer
pointlight TRACER
{
	color 1.0 0.5 0.3
	size 72
	attenuate 1
}

flickerlight TRACER_X1
{
	color 1.0 0.7 0.2
	size 96
	secondarySize 108
	chance 0.25
	attenuate 1
}

flickerlight TRACER_X2
{
	color 0.6 0.4 0.1
	size 120
	secondarySize 132
	chance 0.25
	attenuate 1
}

flickerlight TRACER_X3
{
	color 0.3 0.2 0.0
	size 144
	secondarySize 156
	chance 0.25
	attenuate 1
}

object RevenantTracer
{
	frame FATBA { light TRACER    }
	frame FATBB { light TRACER    }

	frame FBXPA { light TRACER_X1 }
	frame FBXPB { light TRACER_X2 }
	frame FBXPC { light TRACER_X3 }
}

// Arch Vile Fire
flickerlight ARCHFIRE1
{
	color 1.0 1.0 0.5
	size 36
	secondarySize 48
	chance 0.3
	offset 0 8 0
	attenuate 1
}

flickerlight ARCHFIRE2
{
	color 1.0 1.0 0.5
	size 60
	secondarySize 72
	chance 0.3
	offset 0 24 0
	attenuate 1
}

flickerlight ARCHFIRE3
{
	color 1.0 1.0 0.5
	size 96
	secondarySize 108
	chance 0.3
	offset 0 32 0
	attenuate 1
}

flickerlight ARCHFIRE4
{
	color 0.8 0.8 0.4
	size 96
	secondarySize 108
	chance 0.3
	offset 0 40 0
	attenuate 1
}

flickerlight ARCHFIRE5
{
	color 0.8 0.8 0.4
	size 96
	secondarySize 108
	chance 0.3
	offset 0 48 0
	attenuate 1
}

flickerlight ARCHFIRE6
{
	color 0.6 0.6 0.3
	size 72
	secondarySize 84
	chance 0.3
	offset 0 64 0
	attenuate 1
}

flickerlight ARCHFIRE7
{
	color 0.4 0.4 0.2
	size 48
	secondarySize 60
	chance 0.3
	offset 0 72 0
	attenuate 1
}

flickerlight ARCHFIRE8
{
	color 0.2 0.2 0.1
	size 24
	secondarySize 36
	chance 0.3
	offset 0 80 0
	attenuate 1
}

object ArchvileFire
{
	frame FIREA { light ARCHFIRE1 }
	frame FIREB { light ARCHFIRE2 }
	frame FIREC { light ARCHFIRE3 }
	frame FIRED { light ARCHFIRE4 }
	frame FIREE { light ARCHFIRE5 }
	frame FIREF { light ARCHFIRE6 }
	frame FIREG { light ARCHFIRE7 }
	frame FIREH { light ARCHFIRE8 }
}

// ------------------
// -- Doom Effects --
// ------------------

// Doom Teleport fog
flickerlight DTFOG1
{
	color 0.4 1.0 0.4
	size 84
	secondarySize 96
	chance 0.4
	attenuate 1
}

flickerlight DTFOG2
{
	color 0.4 1.0 0.4
	size 60
	secondarySize 72
	chance 0.4
	attenuate 1
}

flickerlight DTFOG3
{
	color 0.4 1.0 0.4
	size 36
	secondarySize 48
	chance 0.4
	attenuate 1
}

flickerlight DTFOG4
{
	color 0.4 1.0 0.4
	size 15
	secondarySize 24
	chance 0.4
	attenuate 1
}

object TeleportFog
{
	frame TFOGA { light DTFOG1 }
	frame TFOGB { light DTFOG2 }
	frame TFOGC { light DTFOG2 }
	frame TFOGD { light DTFOG2 }
	frame TFOGE { light DTFOG3 }
	frame TFOGF { light DTFOG4 }
	frame TFOGI { light DTFOG4 }
	frame TFOGJ { light DTFOG3 }
}
