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

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

// Bullet puff
flickerlight BPUFF1
{
    color 0.5 0.5 0.0
    size 6
    secondarySize 8
    chance 0.8
}

flickerlight BPUFF2
{
    color 0.5 0.5 0.0
    size 3
    secondarySize 4
    chance 0.8
}

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

// Rocket
pointlight ROCKET
{
    color 1.0 0.7 0.0
    size 56
}

flickerlight ROCKET_X1
{
    color 1.0 0.7 0.0
    size 64
    secondarySize 72
    chance 0.3
}

flickerlight ROCKET_X2
{
    color 0.5 0.1 0.0
    size 80
    secondarySize 88
    chance 0.3
}

flickerlight ROCKET_X3
{
    color 0.3 0.0 0.0
    size 96
    secondarySize 104
    chance 0.3
}

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.0 0.1 1.0
    size 56
}

flickerlight PLASMA_X1
{
    color 0.2 0.2 1.0
    size 64
    secondarySize 72
    chance 0.4
}

flickerlight PLASMA_X2
{
    color 0.2 0.2 0.8
    size 80
    secondarySize 88
    chance 0.4
}

flickerlight PLASMA_X3
{
    color 0.1 0.1 0.5
    size 64
    secondarySize 72
    chance 0.4
}

flickerlight PLASMA_X4
{
    color 0.0 0.0 0.2
    size 8
    secondarySize 16
    chance 0.4
}

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

flickerlight PLASMA1_X1
{
    color 0.2 1.0 0.2
    size 64
    secondarySize 72
    chance 0.4
}

flickerlight PLASMA1_X2
{
    color 0.2 0.8 0.2
    size 80
    secondarySize 88
    chance 0.4
}

flickerlight PLASMA1_X3
{
    color 0.1 0.5 0.1
    size 64
    secondarySize 72
    chance 0.4
}

flickerlight PLASMA1_X4
{
    color 0.0 0.2 0.0
    size 8
    secondarySize 16
    chance 0.4
}

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

flickerlight PLASMA1_X1
{
    color 0.9 0.2 0.2
    size 64
    secondarySize 72
    chance 0.4
}

flickerlight PLASMA1_X2
{
    color 0.6 0.2 0.2
    size 80
    secondarySize 88
    chance 0.4
}

flickerlight PLASMA1_X3
{
    color 0.2 0.0 0.0
    size 8
    secondarySize 16
    chance 0.4
}

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.0 1.0 0.0
    size 80
}

flickerlight BFGBALL_X1
{
    color 0.2 1.0 0.2
    size 80
    secondarySize 88
    chance 0.3
}

flickerlight BFGBALL_X2
{
    color 0.3 1.0 0.3
    size 104
    secondarySize 112
    chance 0.3
}

flickerlight BFGBALL_X3
{
    color 0.5 1.0 0.5
    size 120
    secondarySize 128
    chance 0.3
}

flickerlight BFGBALL_X4
{
    color 0.2 0.7 0.2
    size 56
    secondarySize 64
    chance 0.3
}

flickerlight BFGBALL_X5
{
    color 0.1 0.3 0.1
    size 48
    secondarySize 56
    chance 0.3
}

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.5 0.0
    size 20
    secondarySize 21
    interval 0.5
    offset 0 36 0
	dontlightself 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.8
    size 56
    offset 0 44 0
}

object Column
{
    frame COLU { light LAMP }
}

// Short tech lamp
pulselight SMALLLAMP
{
    color 0.8 0.8 1.0
    size 56
    secondarySize 58
    interval 0.4
    offset 0 44 0
}

object TechLamp2
{
    frame TLP2 { light SMALLLAMP }
}

// Tall tech lamp
pulselight BIGLAMP
{
    color 0.8 0.8 1.0
    size 64
    secondarySize 66
    interval 0.4
    offset 0 72 0
}

object TechLamp
{
    frame TLMP { light BIGLAMP }
}

// Tall red torch
flickerlight2 BIGREDTORCH
{
    color 1.0 0.3 0.0
    size 64
    secondarySize 72
    interval 0.1
    offset 0 60 0
}

object RedTorch
{
    frame TRED { light BIGREDTORCH }
}

// Tall green torch
flickerlight2 BIGGREENTORCH
{
    color 0.0 1.0 0.0
    size 64
    secondarySize 72
    interval 0.1
    offset 0 60 0
}

object GreenTorch
{
    frame TGRN { light BIGGREENTORCH }
}

// Tall blue torch
flickerlight2 BIGBLUETORCH
{
    color 0.0 0.0 1.0
    size 64
    secondarySize 72
    interval 0.1
    offset 0 60 0
}

object BlueTorch
{
    frame TBLU { light BIGBLUETORCH }
}

// Small red torch
flickerlight2 SMALLREDTORCH
{
    color 1.0 0.3 0.0
    size 48
    secondarySize 54
    interval 0.1
    offset 0 35 0
}

object ShortRedTorch
{
    frame SMRT { light SMALLREDTORCH }
}

// Small green torch
flickerlight2 SMALLGREENTORCH
{
    color 0.0 1.0 0.0
    size 48
    secondarySize 54
    interval 0.1
    offset 0 35 0
}

object ShortGreenTorch
{
    frame SMGT { light SMALLGREENTORCH }
}

// Small blue torch
flickerlight2 SMALLBLUETORCH
{
    color 0.0 0.0 1.0
    size 48
    secondarySize 54
    interval 0.1
    offset 0 35 0
}

object ShortBlueTorch
{
    frame SMBT { light SMALLBLUETORCH }
}

// Burning barrel
flickerlight2 FIREBARREL
{
    color 1.0 0.9 0.0
    size 48
    secondarySize 54
    interval 0.1
    offset 0 32 0
}

object BurningBarrel
{
    frame FCAN { light FIREBARREL }
}

// Skulls w/candles
flickerlight2 SKULLCANDLES
{
    color 1.0 1.0 0.0
    size 32
    secondarySize 34
    interval 0.1
    offset 0 24 0
}

object HeadCandles
{
    frame POL3 { light SKULLCANDLES }
}

// Candle
pointlight CANDLE
{
    color 1.0 1.0 0.0
    size 16
    offset 0 16 0
}

object Candlestick
{
    frame CAND { light CANDLE }
}

// Candelabra
pointlight CANDELABRA
{
    color 1.0 1.0 0.0
    size 48
    offset 0 52 0
}

object Candelabra
{
    frame CBRA { light CANDELABRA }
}



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

// Soul Sphere
pulselight SOULSPHERE
{
    color 0.0 0.0 1.0
    size 40
    secondarySize 42
    interval 2.0
    offset 0 16 0
}

object SoulSphere
{
    frame SOUL { light SOULSPHERE }
}

// Invulnerability Sphere
pulselight INVULN
{
    color 0.0 1.0 0.0
    size 40
    secondarySize 42
    interval 2.0
    offset 0 16 0
}

object InvulnerabilitySphere
{
    frame PINV { light INVULN }
}

// Blur Sphere
pointlight BLURSPHERE1
{
    color 1.0 0.0 0.0
    size 40
    offset 0 16 0
}

pointlight BLURSPHERE2
{
    color 0.0 0.0 1.0
    size 32
    offset 0 16 0
}

pointlight BLURSPHERE3
{
    color 0.0 0.0 1.0
    size 24
    offset 0 16 0
}

pointlight BLURSPHERE4
{
    color 0.0 0.0 1.0
    size 16
    offset 0 16 0
}

pointlight BLURSPHERE5
{
    color 0.0 0.0 1.0
    size 8
    offset 0 16 0
}

object BlurSphere
{
    frame PINS { light BLURSPHERE1 }

    frame PINSA { light BLURSPHERE2 }
    frame PINSB { light BLURSPHERE3 }
    frame PINSC { light BLURSPHERE4 }
    frame PINSD { light BLURSPHERE5 }
}

// Health Potion
pulselight HEALTHPOTION
{
    color 0.0 0.0 0.6
    size 16
    secondarySize 18
    interval 2.0
}

object HealthBonus
{
    frame BON1 { light HEALTHPOTION }
}

// Armour Helmet
pulselight ARMORBONUS
{
    color 0.0 0.6 0.0
    size 16
    secondarySize 14
    interval 1.0
	dontlightself 1
}

object ArmorBonus
{
    frame BON2 { light ARMORBONUS }
}

// Blue Keys
object BlueCard
{
    frame BKEY { light HEALTHPOTION }
}

object BlueSkull
{
    frame BSKU { light HEALTHPOTION }
}

// Yellow Keys
pulselight YELLOWKEY
{
    color 0.6 0.6 0.0
    size 16
    secondarySize 18
    interval 2.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 16
    secondarySize 18
    interval 2.0
}

object RedCard
{
    frame RKEY { light REDKEY }
}

object RedSkull
{
    frame RSKU { light REDKEY }
}

// Green armour
pointlight GREENARMOR1
{
    color 0.0 0.6 0.0
    size 48
}

pointlight GREENARMOR2
{
    color 0.0 0.6 0.0
    size 32
}

object GreenArmor
{
    frame ARM1A { light GREENARMOR1 }
    frame ARM1B { light GREENARMOR2 }
}

// Blue armour
pointlight BLUEARMOR1
{
    color 0.0 0.0 0.6
    size 48
}

pointlight BLUEARMOR2
{
    color 0.0 0.0 0.6
    size 32
}

object BlueArmor
{
    frame ARM2A { light BLUEARMOR1 }
    frame ARM2B { light BLUEARMOR2 }
}



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

// Zombies
flickerlight2 ZOMBIEATK
{
    color 1.0 0.8 0.2
    size 48
    secondarySize 56
    interval 1
    offset 0 40 0
}

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 1.0 0.5 0.0
    size 64
}

// Doom imp fireball explosion
flickerlight IMPBALL_X1
{
    color 0.7 0.2 0.0
    size 80
    secondarySize 88
    chance 0.25
}

flickerlight IMPBALL_X2
{
    color 0.4 0.0 0.0
    size 96
    secondarySize 104
    chance 0.25
}

flickerlight IMPBALL_X3
{
    color 0.2 0.0 0.0
    size 112
    secondarySize 120
    chance 0.25
}

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 48
    offset 0 24 0
    subtractive 1
}

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

// Cacodemon fireball
flickerlight CACOBALL
{
    color 1.0 0.2 0.6
    size 56
    secondarySize 64
    chance 0.5
}

flickerlight CACOBALL_X1
{
    color 0.9 0.1 0.4
    size 72
    secondarySize 80
    chance 0.25
}

flickerlight CACOBALL_X2
{
    color 0.6 0.0 0.1
    size 88
    secondarySize 96
    chance 0.25
}

flickerlight CACOBALL_X3
{
    color 0.3 0.0 0.0
    size 104
    secondarySize 112
    chance 0.25
}

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

flickerlight BARONBALL_X1
{
    color 0.0 0.7 0.0
    size 80
    secondarySize 88
    chance 0.25
}

flickerlight BARONBALL_X2
{
    color 0.0 0.4 0.0
    size 96
    secondarySize 104
    chance 0.25
}

flickerlight BARONBALL_X3
{
    color 0.0 0.2 0.0
    size 112
    secondarySize 120
    chance 0.25
}

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
flickerlight LOSTSOUL
{
    color 1.0 0.3 0.0
    size 56
    secondarysize 64
    chance 0.1
}

flickerlight LOSTSOUL_X1
{
    color 0.8 0.3 0.0
    size 72
    secondarySize 80
    chance 0.25
}

flickerlight LOSTSOUL_X2
{
    color 0.6 0.2 0.0
    size 88
    secondarySize 96
    chance 0.25
}

flickerlight LOSTSOUL_X3
{
    color 0.4 0.1 0.0
    size 104
    secondarySize 112
    chance 0.25
}

flickerlight LOSTSOUL_X4
{
    color 0.2 0.0 0.0
    size 112
    secondarySize 120
    chance 0.25
}

object LostSoul
{
    frame SKULA { light LOSTSOUL    }
    frame SKULB { light LOSTSOUL    }
    frame SKULC { light LOSTSOUL    }
    frame SKULD { light LOSTSOUL    }
    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
object FatShot
{
    frame MANFA { light IMPBALL   }
    frame MANFB { light IMPBALL   }

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

// Arachnotron Fireball
pointlight ARACHPLAS
{
    color 0.6 1.0 0.0
    size 56
}

flickerlight ARACHPLAS_X1
{
    color 0.4 0.8 0.0
    size 72
    secondarySize 80
    chance 0.3
}

flickerlight ARACHPLAS_X2
{
    color 0.6 0.6 0.0
    size 88
    secondarySize 96
    chance 0.3
}

flickerlight ARACHPLAS_X3
{
    color 0.4 0.4 0.0
    size 48
    secondarySize 32
    chance 0.3
}

flickerlight ARACHPLAS_X4
{
    color 0.2 0.2 0.0
    size 24
    secondarySize 16
    chance 0.3
}

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.3 0.0
    size 48
}

flickerlight TRACER_X1
{
    color 1.0 0.2 0.0
    size 64
    secondarySize 72
    chance 0.25
}

flickerlight TRACER_X2
{
    color 0.6 0.0 0.0
    size 80
    secondarySize 88
    chance 0.25
}

flickerlight TRACER_X3
{
    color 0.3 0.0 0.0
    size 96
    secondarySize 104
    chance 0.25
}

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.0
    size 24
    secondarySize 32
    chance 0.3
    offset 0 8 0
}

flickerlight ARCHFIRE2
{
    color 1.0 1.0 0.0
    size 40
    secondarySize 48
    chance 0.3
    offset 0 24 0
}

flickerlight ARCHFIRE3
{
    color 1.0 1.0 0.0
    size 64
    secondarySize 72
    chance 0.3
    offset 0 32 0
}

flickerlight ARCHFIRE4
{
    color 0.8 0.8 0.0
    size 64
    secondarySize 72
    chance 0.3
    offset 0 40 0
}

flickerlight ARCHFIRE5
{
    color 0.8 0.8 0.0
    size 64
    secondarySize 72
    chance 0.3
    offset 0 48 0
}

flickerlight ARCHFIRE6
{
    color 0.6 0.6 0.0
    size 48
    secondarySize 56
    chance 0.3
    offset 0 64 0
}

flickerlight ARCHFIRE7
{
    color 0.4 0.4 0.0
    size 32
    secondarySize 40
    chance 0.3
    offset 0 72 0
}

flickerlight ARCHFIRE8
{
    color 0.2 0.2 0.0
    size 16
    secondarySize 24
    chance 0.3
    offset 0 80 0
}

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

// Arch-vile
flickerlight ARCHATK1
{
    color 1.0 1.0 0.0
    size 32
    secondarySize 48
    chance 0.3
    offset 0 80 0
}

flickerlight ARCHATK2
{
    color 1.0 1.0 0.0
    size 56
    secondarySize 64
    chance 0.3
    offset 0 80 0
}

flickerlight ARCHATK3
{
    color 1.0 1.0 0.0
    size 56
    secondarySize 64
    chance 0.3
    offset 0 64 0
}

flickerlight ARCHATK4
{
    color 1.0 1.0 0.0
    size 64
    secondarySize 72
    chance 0.3
    offset 0 48 0
}

flickerlight ARCHATK5
{
    color 1.0 1.0 0.0
    size 80
    secondarySize 88
    chance 0.3
    offset 0 40 0
}

flickerlight ARCHATK6
{
    color 0.7 0.7 0.0
    size 96
    secondarySize 104
    chance 0.3
    offset 0 40 0
}

flickerlight ARCHATK7
{
    color 0.3 0.3 0.0
    size 104
    secondarySize 112
    chance 0.3
    offset 0 40 0
}

pulselight ARCHRES
{
    color 0.6 0.0 0.0
    size 64
    secondarySize 70
    interval 0.5
    offset 0 36 0
}

object Archvile
{
    frame VILEH { light ARCHATK1 }
    frame VILEI { light ARCHATK2 }
    frame VILEJ { light ARCHATK3 }
    frame VILEK { light ARCHATK4 }
    frame VILEL { light ARCHATK4 }
    frame VILEM { light ARCHATK4 }
    frame VILEN { light ARCHATK5 }
    frame VILEO { light ARCHATK6 }
    frame VILEP { light ARCHATK7 }

    frame VILE[ { light ARCHRES }
    frame VILE\ { light ARCHRES }
    frame VILE] { light ARCHRES }
}

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

// Doom Teleport fog
flickerlight DTFOG1
{
    color 0.4 1.0 0.4
    size 56
    secondarySize 64
    chance 0.4
}

flickerlight DTFOG2
{
    color 0.4 1.0 0.4
    size 40
    secondarySize 48
    chance 0.4
}

flickerlight DTFOG3
{
    color 0.4 1.0 0.4
    size 24
    secondarySize 32
    chance 0.4
}

flickerlight DTFOG4
{
    color 0.4 1.0 0.4
    size 10
    secondarySize 16
    chance 0.4
}

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