actor Sabotall
{
Health 1
height 56
speed 0
+SOLID
-SHOOTABLE
+DONTBLAST
+ACTIVATEMCROSS
+ACTIVATEPCROSS
scale 2.5
States
{
Spawn:
SABO A 5 A_Recoil(-5)
SABO A 0 A_Stop
SABO B 5 A_Recoil(-5)
SABO B 0 A_Stop
SABO A 5 A_Recoil(-5)
SABO A 0 A_Stop
SABO C 5 A_Recoil(-5)
SABO C 0 A_Stop
SABO C 0 A_Jump(100,"Pausing")
loop
Pausing:
SABO D 0 A_Stop
SABO D 5
SABO EE 35
SABO D 5
Goto Spawn
Death:
TNT1 A 0 A_Stop
//TFOG A 3 A_PlaySound("misc/teleport")
//TFOG A 3 ACS_Execute(6,0)
//TFOG BC 2
stop
}
}

actor OilCanister 10631
{
//$Category MM8BDM-Interactive Props
+SOLID
+SHOOTABLE
+NOTAUTOAIMED
+NODAMAGETHRUST
+FORCEYBILLBOARD
+NOBLOOD
+DONTBLAST
+QUICKTORETALIATE
+DONTDRAIN
Obituary "$OB_OILBARRELCREDIT"
scale 2.5
height 80
Radius 16
Health 100
mass 99999
painchance 256
damagefactor "Ignition", 1.0
species "OilCanister"
States
{
Spawn:
OILP ABCD 8
loop
Pain.Ignition:
OILP A 0
OILP A 0 A_Die
OILP A 1
Goto Death
Pain:
OILP A 0 A_Stop
OILP A 1 A_SpawnItem("PainFX",0,24)
Goto Spawn
Death:
OILP A 0
OILP A 0 A_ChangeFlag("SHOOTABLE", 0)
OILP A 0 A_ChangeFlag("SOLID", 0)
OILP A 1 A_Stop
OILP A 0 A_SpawnItemEx("OilCanisterExplosion",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0
TNT1 A 170
Respawning:
TNT1 A 5 
TNT1 AAAAAAAAAA 1 A_LookEx(LOF_NOSOUNDCHECK,0,48,0,360,"Respawning")
Goto RespawnNow
RespawnNow:
TNT1 A 0 A_ClearTarget
TNT1 A 0 A_TakeInventory("CutterFlag", 999)
TFOG A 3 A_PlaySoundEx("misc/SpawnIn", body)
TFOG CB 2
TNT1 A 0 A_SpawnItemEx("OilCanister", 0, 0, 0, 0, 0, 0, 0)
TNT1 A 0 A_SpawnItemEx("OilCanisterRespawnDamager", 0, 0, 0)
stop
}
}

actor OilCanisterExplosion : BasicHazardExplosion
{
	damagetype "OilCanister"
	Obituary "$OB_OILBARRELCREDIT"
	SelfObituary "$OB_OILBARREL"
	States
	{
	Spawn:
		TNT1 E 0
		TNT1 E 0 A_PlaySoundEx("misc/mm3explosion", "Weapon")
		TNT1 E 0 A_SpawnItemEx("OilPitIgnite", 0, 0, -32)
		goto Explode
	Credit:
		TNT1 E 0 A_SpawnItemEx("OilCanisterExplodeFX")
		TNT1 A 35 ACS_NamedExecuteWithResult("core_propexplode", 20, 120, 120)
		stop
	NoCredit:
		TNT1 E 0 A_SpawnItemEx("OilCanisterExplodeFX")
		TNT1 A 35 A_Explode(20,120,XF_HURTSOURCE,0,120)
		stop
	}
}

actor OilCanisterExplodeFX : ExplosionEffect3
{
	var int user_NoTranslation;
}

actor HazardCredit_OilCanisterExplosion : BasicACSDamager
{
	DamageType "OilCanister"
	Obituary "$OB_OILBARRELCREDIT"
	SelfObituary "$OB_OILBARREL"
}

actor OilCanisterRespawnDamager
{
	PROJECTILE
	+FOILINVUL
	+THRUSPECIES
	species "OilCanister"
	Damage (0x7FFFFFFD)
	damagetype "OilCanisterRespawn"
	SelfObituary "$OB_OILBARRELRESPAWN"
    height 80
    Radius 16
	States
	{
	Spawn:
		TNT1 A 0
		//TNT1 A 0 A_Explode(200, 12, 0, 0, 12)
		TNT1 A 2
		stop
	}
}

actor OilFlame
{
//-SOLID
+MISSILE
+FORCEYBILLBOARD
-SHOOTABLE
+NOBLOOD
+DONTBLAST
+FLOORHUGGER
+DONTREFLECT
+BRIGHT
+HITMASTER
height 64
Radius 12
Damage (0)
damagetype "Fire"
Reactiontime 70
Scale 2.0
var int user_targettid;
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(!CallACS("core_checkservercvar", SVCVAR_HAZARD) || user_targettid == 0, "NoCredit")
TNT1 A 0 ACS_NamedExecuteWithResult("core_setpointer", AAPTR_TRACER, user_targettid)
SpawnLoop:
OILF AB 5 A_Countdown
loop
Death:
OILF A 0 
Stop
XDeath:
OILF A 0 ACS_NamedExecuteWithResult("core_damageowner", 10, AAPTR_MASTER, AAPTR_TRACER)
stop
NoCredit:
TNT1 A 0 A_SpawnItemEx("OilFlameNoCredit")
stop
}
}

actor HazardCredit_OilFlame : BasicACSDamager
{
	DamageType "Fire"
	Obituary "$OB_OILFLAMECREDIT"
}

actor OilFlameNoCredit : OilFlame
{
	Damage (10)
	-HITMASTER
	States
	{
	Spawn:
		OILF AB 5 A_Countdown
		loop
	Death:
		OILF A 0 
		Stop
	XDeath:
		OILF A 0
		stop
	}
}
