
////////////////////////////////////////////////////////////////////////////////
/////////////////////////////SMOKE//////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

Actor SMOKEPUFF00
{
	Projectile
	speed 1
	renderstyle add
	+FORCEXYBILLBOARD
	+NOCLIP
	GRAVITY 0
	SCALE 0.75
	Alpha 0.4
	Var Int user_stickx;
	Var Int user_sticky;
	Var Int user_stickz;
	Var int user_weave[4];
	states
		{
	SPAWN:
	TNT1 A 0 A_SetUserArray(user_weave,0,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,1,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,2,Random(-2,2))
	TNT1 A 0 A_SetUserArray(user_weave,3,Random(-2,2))
	AVER:
	IEST A 0 BRIGHT a_facetarget
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
			IEST A 0 Bright A_SeekerMissile(12,12)
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
	TNT1 A 0 A_Jump(128,"AltSmoj")
	SMOK ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	SMOK XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
	STOP
	AltSmoj:
	IEST ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	IEST XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
	Stop
}
}

Actor smojepuff
{
	Projectile
	speed 1
	+FORCEXYBILLBOARD
	renderstyle add
	GRAVITY 0
	SCALE 0.75
	Var Int user_stickx;
	Var Int user_sticky;
	Var Int user_stickz;
	Var int user_weave[4];
	states
		{
	SPAWN:
	TNT1 A 0 A_SetUserArray(user_weave,0,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,1,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,2,Random(-2,2))
	TNT1 A 0 A_SetUserArray(user_weave,3,Random(-2,2))
	AVER:
	IEST A 0 BRIGHT a_facetarget
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
			IEST A 0 Bright A_SeekerMissile(12,12)
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
	TNT1 A 0 A_Jump(128,"AltSmoj")
	SMOK ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	SMOK XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
	STOP
	AltSmoj:
	IEST ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	IEST XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
}
}

Actor smojepuffbig :  smojepuff
{
	Projectile
	speed 1
	+FORCEXYBILLBOARD
	+noclip
	renderstyle add
	GRAVITY 0
	SCALE 1.75
}

Actor smojepuffLITE
{
	Projectile
	speed 4
	+FORCEXYBILLBOARD
	renderstyle add
	GRAVITY 0
	SCALE 0.25
	Var Int user_stickx;
	Var Int user_sticky;
	Var Int user_stickz;
	Var int user_weave[4];

	states
		{
	SPAWN:
	TNT1 A 0 A_SetUserArray(user_weave,0,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,1,Random(-1,1))
	TNT1 A 0 A_SetUserArray(user_weave,2,Random(-2,2))
	TNT1 A 0 A_SetUserArray(user_weave,3,Random(-2,2))
	
	AVER:
	IEST A 0 BRIGHT a_facetarget
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
			IEST A 0 Bright A_SeekerMissile(12,12)
			TNT1 AA 0 A_Weave(user_weave[0],user_weave[1],user_weave[2],user_weave[3])
	TNT1 A 0 A_Jump(128,"AltSmoj")
	SMOK ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	SMOK XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
	STOP
	AltSmoj:
	IEST ABCDEFGHIJKLMNOPQRSTUVWX 1 A_FADEOUT(0.03)
	IEST XXXXXXXXXXXXXXX 1 A_FADEOUT(0.03)
}
}


Actor BloodN : blood replaces blood
{
 -SOLID
 +NOBLOCKMAP
 +FORCEXYBILLBOARD
 +NOCLIP
}


ACTOR OilSpillage_Timer : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1000
}

ACTOR OilSpillage
{

//Thanks BAZOOKA
  Radius 13
  Height 8
  Projectile
  +RANDOMIZE
  +NOKILLSCRIPTS
  //RenderStyle Add
  //Alpha 0.75

	Health 1
	Speed 8
	Damage 0
	Mass 1000
	+SHOOTABLE
	-NOBLOCKMAP
	-NOGRAVITY
	+TELEPORT
	-MISSILE
	+NOBLOOD
	//RenderStyle "Normal"
	
	Obituary "%o was burnt to death"

States
{

	Spawn:
	TNT1 A 1 A_SpawnItem ("OilTrail")
	TNT1 A 0 A_CheckFloor ("SpawnOnFloor")
	Loop
  SpawnOnFloor:
    PATR D 1 A_ScaleVelocity(0)
    Loop
	
	Death:
	A111 B 0 A_ScaleVelocity (0)
   TNT1 A 0 //A_SpawnItemEx ("FireActor_Oil",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
   TNT1 A 0 A_NoBlocking //A_CustomMissile ("FireActor_Oil",0)
   Goto FireLoop
   
FireLoop:
TNT1 A 2
VIRE A 0 A_SpawnItemEx ("AVP2BulletPuff_Up2",random(-20,20),random(-20,20),3,0,0,1,0,SXF_NOCHECKPOSITION)
TNT1 A 1 BRIGHT A_Explode(15,10)

TNT1 A 0 A_GiveInventory ("OilSpillage_Timer",random(1,3))
TNT1 A 0 //A_CustomMissile ("FlameActor_Oil",2,random(-1,1),random(0,360)) //A_SpawnItemEx ("FlameActor_Oil",0,0,0,0,0,0,0,SXF_ISTARGET)
TNT1 A 0 A_JumpifInventory ("OilSpillage_Timer",35,"Removea")
Loop

Removea:
TNT1 A 1
Stop

   }
}


ACTOR OilSpillageFast : OilSpillage
{
+NOKILLSCRIPTS
Speed 25
}


ACTOR FireActor_Oil
{
Radius 3
Height 3
-SOLID
+NOGRAVITY
+NOBLOCKMAP
+NOCLIP
Speed 1
Projectile
States
{
Death:
Spawn:
TNT1 A 8 A_GiveInventory ("OilSpillage_Timer",random(1,10))
TNT1 A 1 A_CustomMissile ("FlameActor_Oil",0) //A_SpawnItemEx ("FlameActor_Oil",0,0,0,0,0,0,0,SXF_ISTARGET)
TNT1 A 1 A_JumpifInventory ("OilSpillage_Timer",15,"Removea")
Loop
Removea:
TNT1 A 1
Stop
}
}


ACTOR OilTrail
{
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
PATR CBA 2
Stop
}
}

ACTOR FlameActor_Oil
{
Speed 0
Projectile
+NOGRAVITY
Radius 3
Height 3
DontHurtShooter
-SOLID
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetScale (frandom(0.56,2.0),frandom(0.56,2.0))
TNT1 A 0 A_PlaySound ("misc/firemode",CHAN_5,0.1)
VIRE ABCDEFGH 3 BRIGHT A_Explode(scaley*5,scalex*50)
Stop
}
}







