object STNT
{
    frame TNTB { light TNTLITE }
}

flickerlight TNTLITE
{
    color 0.9 0.9 0.0
    size 15
    secondarySize 10
    offset 0 10 0
}

flickerlight BIGLITE
{
    color 0.9 0.9 0.0
    size 30
    secondarySize 20
    offset 0 10 0
}

pointlight PUFFLIGHT
{
    color 0.5 0.4 0
    size 48
}

Object Bullet_Puff
{
    frame PUF1 { light PUFFLIGHT }
}

Object Bullet_Puff2
{
    frame PUF1 { light PUFFLIGHT }
}

Object FatShot
{
    frame MANF { light BIGLITE }
}

Object PanzerMissile
{
    frame ROCC { light BIGLITE }
}

flickerlight BIGLITE2
{
    color 0.9 0.9 0.0
    size 5
    secondarySize 2
    offset 0 10 0
}

object LightGear
{
    frame ARM1 { light GRNLITE }
}

object HeavyGear
{
    frame ARM2 { light BLULITE }
}

flickerlight BLULITE
{
    color 0.0 0.0 0.9
    size 30
    secondarySize 20
    offset 0 10 0
}

flickerlight GRNLITE
{
    color 0.0 0.9 0.0
    size 30
    secondarySize 20
    offset 0 10 0
}

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

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

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

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

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