Actor Lexicon_BOUR_Fist : Weapon
{
	Weapon.SelectionOrder 3700
	Weapon.Kickback 100
	Obituary "$OB_MPFIST"
	Tag "$TAG_FIST"
	Weapon.SlotNumber 1
	Weapon.SlotPriority 0
	+WEAPON.WIMPY_WEAPON
	+WEAPON.MELEEWEAPON
	+WEAPON.ALLOW_WITH_RESPAWN_INVUL
	+WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		LZ00 C 1 A_WeaponReady
		Loop
	Deselect:
		LZ00 C 1 A_Lower
		Loop
	Select:
		LZ00 C 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("PowerStrength", 1, "BerserkFire")
		LZ00 D 1 
		LZ00 E 1 A_CustomPunch(2*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 F 1 
		LZ00 E 2 
		LZ00 DC 2 A_Light0
		LZ00 G 1 A_CustomPunch(2*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 HH 0 A_CustomPunch(2*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 H 1 A_CustomPunch(2*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 G 2 
		LZ00 C 2 A_ReFire
		LZ00 C 1 A_WeaponReady
		goto Ready
	BerserkFire:
		LZ00 D 1 
		LZ00 E 1 A_CustomPunch(20*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 F 1 
		LZ00 E 2 
		LZ00 DC 2 A_Light0
		LZ00 G 1 A_CustomPunch(20*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 HH 0 A_CustomPunch(20*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 H 1 A_CustomPunch(20*random(1,10),TRUE,0,"Lexicon_BOUR_PunchPuff")
		LZ00 G 2 
		LZ00 C 2 A_ReFire
		LZ00 C 1 A_WeaponReady
		goto Ready
	}
}

Actor Lexicon_BOUR_PunchPuff : BulletPuff
{
	+PUFFONACTORS
	States
	{
	XDeath:
		TNT1 A 0 A_PlaySound("BOUR/DSPUNCH")
		Stop
	}
}

Actor Lexicon_BOUR_Pistol : DoomWeapon
{
	Weapon.SelectionOrder 1900
	Weapon.AmmoUse 1
	Weapon.AmmoGive 20
	Weapon.AmmoType "Clip"
	Weapon.SlotNumber 2
	Obituary "$OB_MPPISTOL"
	+WEAPON.WIMPY_WEAPON
	+WEAPON.ALLOW_WITH_RESPAWN_INVUL
	+WEAPON.CHEATNOTWEAPON
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	Tag "$BOUR_TAG_PISTOL"
	Radius 20
	Height 16
	States
	{
	Ready:
		LZ00 J 1 A_WeaponReady
		Loop
	Deselect:
		LZ00 J 1 A_Lower
		Loop
	Select:
		LZ00 J 1 A_Raise
		Loop
	Fire:
		LZ00 J 2 
		LZ00 K 3 A_FirePistol
		LZ00 L 2 
		LZ00 K 0 A_Light0
		Goto Ready
	Flash:
		LZ00 I 3 Bright A_Light1
		Goto LightDone
		LZ00 I 3 Bright A_Light1
		Goto LightDone
 	Spawn:
		PIST A -1
		Stop
	}
}

Actor Lexicon_BOUR_Chainsaw : Weapon
{
	Weapon.Kickback 0
	Weapon.SelectionOrder 2200
	Weapon.UpSound "weapons/sawup"
	Weapon.ReadySound "weapons/sawidle"
	Weapon.SlotNumber 1
	Weapon.SlotPriority 1
	Inventory.PickupMessage "$GOTCHAINSAW"
	Obituary "$OB_MPCHAINSAW"
	Tag "$TAG_CHAINSAW"
	+WEAPON.MELEEWEAPON		
	+WEAPON.ALLOW_WITH_RESPAWN_INVUL
	+WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		LZ00 PQ 4 A_WeaponReady
		Loop
	Deselect:
		LZ00 P 1 A_Lower
		Loop
	Select:
		LZ00 P 1 A_Raise
		Loop
	Fire:
		LZ00 NO 1 A_Saw
		LZ00 O 0 A_ReFire
		Goto Ready
	Spawn:
		CSAW A -1
		Stop
	}
}

Actor Lexicon_BOUR_Shotgun : DoomWeapon
{
	Weapon.SelectionOrder 1300
	Weapon.AmmoUse 1
	Weapon.AmmoGive 8
	Weapon.AmmoType "Shell"
	Weapon.SlotNumber 3
	Weapon.SlotPriority 0
	Inventory.PickupMessage "$GOTSHOTGUN"
	Obituary "$OB_MPSHOTGUN"
	Tag "$TAG_SHOTGUN"
	+WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		SHTG A 1 A_WeaponReady
		Loop
	Deselect:
		SHTG A 1 A_Lower
		Loop
	Select:
		SHTG A 1 A_Raise
		Loop
	Fire:
		SHTG A 3 
		SHTG A 4 A_FireShotgun
		SHTG BCD 4 
		SHTG CB 5 
		SHTG A 3 
		SHTG A 5 A_ReFire
		goto Ready
	Flash:
		SHTF A 2 Bright A_Light1
		SHTF B 3 Bright A_Light2
		Goto LightDone
	Spawn:
		SHOT A -1
		Stop
	}
}

Actor Lexicon_BOUR_Chaingun : DoomWeapon
{
	Weapon.SelectionOrder 700
	Weapon.AmmoUse 1
	Weapon.AmmoGive 20
	Weapon.AmmoType "Clip"
	Weapon.SlotNumber 4
	+WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTCHAINGUN"
	Obituary "$OB_MPCHAINGUN"
	Tag "$TAG_CHAINGUN"
	States
	{
	Ready:
		LZ00 R 1 A_WeaponReady
		Loop
	Deselect:
		LZ00 R 1 A_Lower
		Loop
	Select:
		LZ00 R 1 A_Raise
		Loop
	Fire:
		LZ00 R 0 A_FireBullets(5.6,0,1,5)
		LZ00 R 0 A_PlaySound("weapons/chngun",CHAN_WEAPON)
		LZ00 R 3 A_GunFlash
		LZ00 S 0 A_FireBullets(5.6,0,1,5)
		LZ00 S 0 A_PlaySound("weapons/chngun",CHAN_WEAPON)
		LZ00 S 3 A_GunFlash("Flash2")
		LZ00 S 0 A_ReFire
		Goto Ready
	Flash:
		LZ00 T 4 Bright A_Light1
		Goto LightDone
	Flash2:
		LZ00 U 4 Bright A_Light2
		Goto LightDone
	Spawn:
		LZ00 V -1
		Stop
	}
}

Actor Lexicon_BOUR_RocketLauncher : DoomWeapon
{
	Weapon.SelectionOrder 2500
	Weapon.AmmoUse 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "RocketAmmo"
	Weapon.SlotNumber 5
	+WEAPON.NOAUTOFIRE
	+WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTLAUNCHER"
	Tag "$TAG_ROCKETLAUNCHER"
	States
	{
	Ready:
		MISG A 1 A_WeaponReady
		Loop
	Deselect:
		MISG A 1 A_Lower
		Loop
	Select:
		MISG A 1 A_Raise
		Loop
	Fire:
		MISG B 8 A_GunFlash
		MISG B 12 A_FireMissile
		MISG B 0 A_ReFire
		Goto Ready
	Flash:
		MISF A 0 Bright A_Light1
		MISF B 4 Bright 
		MISF C 4 Bright A_Light1
		MISF D 4 Bright A_Light2
		Goto LightDone
	Spawn:
		LAUN A -1
		Stop
	}
}

Actor Lexicon_BOUR_Rocket : Rocket
{
	SeeSound "weapons/rocklf"
	DeathSound "BOUR/DSBAREXP"
	Speed 25
}

Actor Lexicon_BOUR_PlasmaRifle : DoomWeapon
{
	Weapon.SelectionOrder 100
	Weapon.AmmoUse 1
	Weapon.AmmoGive 40
	Weapon.AmmoType "Cell"
	Weapon.SlotNumber 6
	+WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTPLASMA"
	Tag "$TAG_PLASMARIFLE"
	States
	{
	Ready:
		PLSG A 1 A_WeaponReady
		Loop
	Deselect:
		PLSG A 1 A_Lower
		Loop
	Select:
		PLSG A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_GunFlash("Flash",GFF_NOEXTCHANGE)
		PLSG A 3 A_FireCustomMissile("Lexicon_BOUR_PlasmaBall")
		PLSG B 20 A_ReFire
		Goto Ready
	Flash:
		TNT1 A 0 A_Light1
		PLSF A 4 Bright A_Jump(128,1)
		Goto LightDone
		PLSF B 4 Bright
		Goto LightDone
	Spawn:
		PLAS A -1
		Stop
	}
}

Actor Lexicon_BOUR_PlasmaBall : PlasmaBall { SeeSound "BOUR/DSPLASMA" Speed 30 Radius 14 }

Actor Lexicon_BOUR_Stimpack : Stimpack
{
	States
	{
	Spawn:
		LZ00 Y -1
		Stop
	}
}

Actor Lexicon_BOUR_Medikit : Medikit
{
	States
	{
	Spawn:
		LZ00 W -1
		Stop
	}
}

Actor Lexicon_BOUR_Berserk : CustomInventory
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTBERSERK"
	Inventory.PickupSound "misc/p_pkup"
	States
	{
	Spawn:
		LZ00 X -1
		Stop
	Pickup:
		TNT1 A 0 A_GiveInventory("PowerStrength")
		TNT1 A 0 HealThing(100, 0)
		TNT1 A 0 A_SelectWeapon("Lexicon_BOUR_Fist")
		Stop
	}
}

Actor Lexicon_BOUR_GreenArmor : GreenArmor
{
	States
	{
	Spawn:
		ARM1 A 6 Bright 
		ARM1 B 7 
		loop
	}
}

Actor Lexicon_BOUR_BlueArmor : BlueArmor
{
	States
	{
	Spawn:
		ARM2 A 6 Bright 
		ARM2 B 7 
		loop
	}
}

Actor Lexicon_BOUR_Arachnotron : Arachnotron
{
	States
	{
	Missile:
		BSPI A 20 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		BSPI G 4 Bright A_CustomMissile("Lexicon_BOUR_ArachnotronPlasma")
		BSPI H 4 Bright
		BSPI H 1 Bright A_SpidRefire
		Goto Missile+1
	}
}

Actor Lexicon_BOUR_ArachnotronPlasma : ArachnotronPlasma { SeeSound "BOUR/DSPLASMA" }

Actor Lexicon_BOUR_Revenant : Revenant
{
	States
	{
	Missile:
		SKEL J 1 BRIGHT A_FaceTarget 
		SKEL J 9 BRIGHT A_FaceTarget
		TNT1 A 0 A_FaceTarget
		SKEL K 10 A_CustomMissile("Lexicon_BOUR_RevenantTracer", 48)
		SKEL K 10 A_FaceTarget
		Goto See
	}
}

Actor Lexicon_BOUR_RevenantTracer : RevenantTracer
{
	DeathSound "BOUR/DSBAREXP"
}

Actor Lexicon_BOUR_Cyberdemon : Cyberdemon
{
	States
	{
	Missile:
		CYBR E 6 A_FaceTarget
		CYBR F 12 A_CustomMissile("Lexicon_BOUR_Rocket")
		CYBR E 12 A_FaceTarget
		CYBR F 12 A_CustomMissile("Lexicon_BOUR_Rocket")
		CYBR E 12 A_FaceTarget
		CYBR F 12 A_CustomMissile("Lexicon_BOUR_Rocket")
		Goto See
	}
}

Actor Lexicon_BOUR_BossBrain : BossBrain
{
	Health 50
	Height 32
	DeathSound "BOUR/DSKEENPN"
	States
	{
	BrainExplode:
		MISL BC 10 Bright
		MISL D 10 A_BrainExplode
		Stop
	Spawn:
		BBRN A -1
		Stop
	Pain:
		BBRN B 40 A_BrainPain
		Goto Spawn
	Death:
		BBRN A 20
		BBRN AA 5 
		BBRN A -1 A_BrainDie
		Stop
	}
}

Actor Lexicon_BOUR_BossEye : BossEye
{
	DropItem "DoomImp", 255, 50
	DropItem "Demon", 255, 40
	DropItem "Spectre", 255, 30
	DropItem "PainElemental", 255, 10
	DropItem "Cacodemon", 255, 30
	DropItem "Archvile", 255, 2
	DropItem "LexiconActorSpawner3", 255, 10
	DropItem "LexiconActorSpawner4", 255, 20
	DropItem "Fatso", 255, 30
	DropItem "HellKnight", 255, 24
	DropItem "BaronOfHell", 255, 10
}

Actor Lexicon_BOUR_WolfensteinSS : WolfensteinSS
{
	Health 60
	PainChance 200
	Translation 2
	SeeSound "BOUR/DSSSSIT"
	DeathSound "BOUR/DSSSDTH"
	AttackSound "weapons/pistol"
	States
	{
	Spawn:
		POSS AB 10 A_Look
		loop
	See:
		POSS AABBCCDD 4 A_Chase
		loop
	Pain:
		POSS G 3
		POSS G 3 A_Pain
		goto See
	Missile:
		POSS E 10 A_FaceTarget
		POSS F 8 A_PosAttack
		POSS E 8
		goto See
	Death:
		POSS H 5
		POSS I 5 A_Scream
		POSS J 5 A_Fall
		POSS K 5
		POSS L -1
		stop
	XDeath:
		POSS M 5
		POSS N 5 A_XScream
		POSS O 5 A_Fall
		POSS PQRST 5
		POSS U -1
		stop
	Raise:
		POSS KJIH 5
		goto See
	}
}

Actor Lexicon_BOUR_ShotgunGuy : ShotgunGuy  { DropItem "Lexicon_BOUR_Shotgun" }
Actor Lexicon_BOUR_ChaingunGuy : ChaingunGuy  { DropItem "Lexicon_BOUR_Chaingun" }

Actor Lexicon_BOUR_ExplosiveBarrel : ExplosiveBarrel { DeathSound "BOUR/DSKEENPN" }
Actor Lexicon_BOUR_HangNoGuts : HangNoGuts { -SOLID }
Actor Lexicon_BOUR_HangBNoBrain : HangBNoBrain { -SOLID }
Actor Lexicon_BOUR_HangTSkull : HangTSkull { -SOLID }
Actor Lexicon_BOUR_HangTLookingDown : HangTLookingDown { -SOLID }
Actor Lexicon_BOUR_HangTLookingUp : HangTLookingUp { -SOLID }
Actor Lexicon_BOUR_HangTNoBrain : HangTNoBrain { -SOLID }