// ------------------------------------------------------
// ------------------ 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 }
}
