ACTOR MeleePuff: BulletPuff
{
  renderstyle Translucent
  alpha 0.5
  Scale 1.5
DamageType Melee
  +NOBLOCKMAP
  +NOGRAVITY
  +NOEXTREMEDEATH
  +PUFFONACTORS
  +BLOODLESSIMPACT 
  +FORCEXYBILLBOARD
  +DONTSPLASH
  states
  {
  Spawn:
  Death:
  Melee:
  XDeath:
    PUFF A 0 A_PlaySound("player/cyborg/fist")
    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 A 10
    stop
 
  }
}

ACTOR FatalityPuff: MeleePuff
{
DamageType Fatality
Decal "Crack"
  states
  {
  Spawn:
  XDeath:
  Melee:
  Death:
    TNT1 A 0 A_PlaySound("player/cyborg/fist")
	EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 A 0
    stop
  }
}

ACTOR KickPuff: MeleePuff
{
DamageType Kick
  states
  {
  Spawn:
    PUFF A 0 A_PlaySound("player/cyborg/fist")
	TNT1 A 0 A_SpawnItemEx ("PLOFT2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    stop
  Death:
    PUFF A 0 A_PlaySound("player/cyborg/fist")
	TNT1 A 0 A_SpawnItemEx ("PLOFT2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    stop
  Melee:
    PUFF A 0 A_PlaySound("player/cyborg/fist")
	TNT1 A 0 A_SpawnItemEx ("PLOFT2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    stop
  XDeath:
    PUFF A 0 A_PlaySound("player/cyborg/fist")
	TNT1 A 0 A_SpawnItemEx ("PLOFT2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    stop
  }
}

ACTOR SuperKickPuff: KickPuff
{
DamageType Kick
-NOEXTREMEDEATH
+EXTREMEDEATH
Decal "Crack"
}

ACTOR SmashingPuff: MeleePuff
{
DamageType ExplosiveImpact
-NOEXTREMEDEATH
Decal "Crack"
  states
  {
  Spawn:
  XDeath:
  Melee:
  Death:
  TNT1 A 1
	TNT1 A 0 A_PlaySound("player/cyborg/fist")
	    EXPL A 0 Radius_Quake (4, 24, 0, 15, 0)
	    EXPL AAAAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 A 10
    stop
  }
}


ACTOR UberPunchPuff: SmashingPuff
{
DamageType SuperPunch
}

ACTOR FatalitySmashingPuff: SmashingPuff
{
DamageType Fatality
+NOEXTREMEDEATH
-EXTREMEDEATH
}

ACTOR HitPuff Replaces BulletPuff
{
	renderstyle Add
	alpha 0.3
	Scale 0.8
	radius 0
	height 0
	+NOBLOCKMAP
	+NOGRAVITY
	+NOEXTREMEDEATH
	+FORCEXYBILLBOARD
	+DONTSPLASH
	-EXPLODEONWATER
	Gravity 0.01
	DamageType Bullet
	Decal "BulletDecalNew1"
  states
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx ("RicoChet",0,0,-5,0,0,0,0,SXF_NOCHECKPOSITION,0)
  Melee:
	TNT1 A 1
	stop
	
  }
}


ACTOR HitPuffTracer : HitPuff
{
+NOGRAVITY
}

actor shotpuff : HitPuff
{
DamageType SSG
}


actor revopuff : HitPuff
{
DamageType explosiveimpact
}

actor Shotgunpuff : HitPuff
{
DamageType Shotgun
}


actor Shotgunpuff2 : HitPuff
{
DamageType Shotgun
+BLOODLESSIMPACT
}

actor RailgunPuff2: Hitpuff
{
DamageType Railgun
Radius 2
Height 2
}





actor WeakPuff : HitPuff
{
DamageType Minor
}

ACTOR RicoChet
{
  renderstyle Add
  alpha 1.0
  -COUNTKILL
  -SHOOTABLE
  +CLIENTSIDEONLY
  +BLOODLESSIMPACT 
  +FORCEXYBILLBOARD
  +THRUACTORS
  +NOGRAVITY
	Obituary "%o ate bullet shrapnel."
  //damagetype "Shrapnel"
  Scale 0.6
  Speed 0
  Radius 0
  Height 1
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_CheckFloor("SpawnFloor")
	TNT1 A 0 A_CustomMissile("HitpuffSmoke", 2, 0, random (0, 360), 2, random (80, 90))
    TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
	TNT1 A 0 A_SpawnItemEx ("DetectFloorBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("DetectCeilBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("UnderwaterHitPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	PUFF A 0 bright A_PlaySound("ricochet/hit")
    
	
	TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
    TNT1 A 0 A_Jump (132, 15)
    FX58 ABCD 1 BRIGHT 
	
	FX58 EFGHIJ 1 bright
    Stop
    TNT1 AAAAA 0
    FX57 ABCD 1 BRIGHT 
	TNT1 A 0 A_CustomMissile("HitpuffSmoke", 2, 0, random (0, 360), 2, random (80, 90))
	FX57 EFGHIJ 1 bright
    stop
	
	
	SpawnFloor:
	TNT1 A 0
	TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType", 0, 0, 0, 0)//Check if is under a liquid
	TNT1 A 2
	TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "SpawnWater")
	TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "SpawnNukage")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "SpawnSlime")
	TNT1 A 0 A_JumpIfInventory("IsOverBlood", 1, "SpawnBlood")
	TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "SpawnLava")
	TNT1 A 0 A_JumpIfInventory("IsOverGrass", 1, "SpawnDirt")
	TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "SpawnSand")
	
	TNT1 A 0 A_SpawnItemEx ("DetectFloorBullet",0,0,5,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("DetectCeilBullet",0,0,0,-5,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("UnderwaterHitPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	PUFF A 0 bright A_PlaySound("ricochet/hit")
	TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
	TNT1 A 0 A_SetScale(-0.6)
    TNT1 A 0 A_Jump (132, 15)
    FX58 ABCD 1 BRIGHT 
	TNT1 A 0 A_CustomMissile("HitpuffSmoke", 2, 0, random (0, 360), 2, random (80, 90))
	FX58 EFGHIJ 1 bright
    Stop
    TNT1 AAAAA 0
    FX57 ABCD 1 BRIGHT 
	TNT1 A 0 A_CustomMissile("HitpuffSmoke", 2, 0, random (0, 360), 2, random (80, 90))
	FX57 EFGHIJ 1 bright
    stop
	
	SpawnWater:
	TNT1 A 0
	TNT1 AAAAA 0 A_CustomMissile ("WaterParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	TNT1 AAAAA 0 A_CustomMissile ("WaterParticleXSuperFast", 24, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 0 A_SpawnItem("WaterSplashWaves")
	TNT1 A 0 A_SetScale(0.5, 0.5)
	TNT1 AAA 0 A_CustomMissile ("WaterRicochet", random (0, 2), 0, random (0, 360), 2, random (30, 90))
	Stop
	
	SpawnSlime:
	TNT1 A 0
	TNT1 AAAAA 0 A_CustomMissile ("SLimeParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	TNT1 AAAAA 0 A_CustomMissile ("SlimeParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 0 A_SpawnItem("SlimeSplashWaves")
	TNT1 A 0 A_SetScale(0.5, 0.5)
	SPHB ABCDE 3
	Stop
	
	
	SpawnNukage:
	TNT1 A 0
	TNT1 AAAAA 0 A_CustomMissile ("nukageParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	TNT1 AAAAA 0 A_CustomMissile ("nukageParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 0 A_SpawnItem("NukageSplashWaves")
	TNT1 AAA 0 A_CustomMissile ("NukageRicochet", random (0, 2), 0, random (0, 360), 2, random (30, 90))
	Stop
	
	SpawnBlood:
	TNT1 A 0
	TNT1 AAAAA 0 A_CustomMissile ("BloodParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	TNT1 AAAAA 0 A_CustomMissile ("BloodParticleXFAster", 24, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 0 A_SpawnItem("BloodSplashWaves")
	//TNT1 AAA 0 A_CustomMissile ("lavaRicochet", random (0, 2), 0, random (0, 360), 2, random (30, 90))
	Stop
	
	SpawnLava:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 12, 0, random (160, 210), 2, random (10, 90))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3", random (-5, 5), random (-5, 5))
	TNT1 AAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 10, 0, random (0, 180), 2, random (10, 90))
	TNT1 A 0 A_SetScale(0.5, 0.5)
	INFE ABCDEFGHIJKLMNOPQR 1 BRIGHT 
	INFE ST 1 BRIGHT A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 32, 0, random (160, 210), 2, random (10, 90))
	TNT1 AAA 4 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 14, 0, random (160, 210), 2, random (10, 90))
	Stop
	
	
	SpawnDirt:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("BrownCloudSmallLong", 0, 0, random (0, 360), 2, random (10, 150))
	TNT1 AAA 0 A_CustomMissile ("DirtRicochet", random (0, 2), 0, random (0, 360), 2, random (30, 90))
	Stop
	
	
	SpawnSand:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("SandCloudSmallLong", 0, 0, random (0, 360), 2, random (10, 90))
	TNT1 A 0 A_CustomMissile ("SandCloudSmall", 0, 0, random (0, 360), 2, random (10, 90))
	TNT1 A 0 A_CustomMissile ("SandDustSmall", 4, 0, random (0, 360), 2, random (30, 150))
	TNT1 AAA 0 A_CustomMissile ("DirtRicochet", random (0, 2), 0, random (0, 360), 2, random (30, 90))
	Stop
	
	
	
	
  }
}



ACTOR DirtRicochet: RicoChet
{
  renderstyle Translucent
  alpha 0.9
  Scale 0.5
  Speed 6
  states
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 //A_PlaySound("BHITDIR")
	TNT1 A 0 A_Jump(255, "spawn1", "Spawn2", "Spawn3", "Spawn4")
  Spawn1:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.7, 0.7)
	SDRT ABCDEFF 1 A_FadeOut(0.1)
	Stop
 Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.8, 0.8)
	SDRT ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.6, 0.6)
	SDRT ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.7, 0.7)
	SDRT ABCDEFF 1 A_FadeOut(0.1)
	Stop
	
  }
}




ACTOR WaterRicochet: DirtRicochet
{
  renderstyle Add
  -NOGRAVITY
  Gravity 0.5
  Speed 4
  states
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(255, "spawn1", "Spawn2", "Spawn3", "Spawn4")
  Spawn1:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.7, 0.7)
	SPHW AABCDEFF 1 A_FadeOut(0.1)
	Stop
 Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.8, 0.8)
	SPHW AABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.6, 0.6)
	SPHW AABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.7, 0.7)
	SPHW AABCDEFF 1 A_FadeOut(0.1)
	Stop
 Death:
	TNT1 A 0
	Stop
  }
}


ACTOR NukageRicochet: WaterRicochet
{
  renderstyle Add
  states
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("BHITDIR")
	TNT1 A 0 A_Jump(255, "spawn1", "Spawn2", "Spawn3", "Spawn4")
  Spawn1:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.7, 0.7)
	SPHG ABCDEFF 1 A_FadeOut(0.1)
	Stop
 Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.8, 0.8)
	SPHG ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.6, 0.6)
	SPHG ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.7, 0.7)
	SPHG ABCDEFF 1 A_FadeOut(0.1)
	Stop
  }
}


ACTOR BloodRicochet: WaterRicochet
{
  renderstyle Add
  states
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("BHITDIR")
	TNT1 A 0 A_Jump(255, "spawn1", "Spawn2", "Spawn3", "Spawn4")
  Spawn1:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.7, 0.7)
	SPHR ABCDEFF 1 A_FadeOut(0.1)
	Stop
 Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.8, 0.8)
	SPHR ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.6, 0.6)
	SPHR ABCDEFF 1 A_FadeOut(0.1)
	Stop
  Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.7, 0.7)
	SPHR ABCDEFF 1 A_FadeOut(0.1)
	Stop
  }
}

ACTOR GiantWaterRicochet: RicoChet
{
  renderstyle Translucent
  alpha 0.9
  XScale 3.0
  YScale 2.0
  states
  {
  Spawn:
	GSPL ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
	Stop
  }
}



ACTOR RicoChetMinor: RicoChet
{
  states
  {
  Spawn:
    TNT1 A 0
	//TNT1 A 0 ThrustThingZ(0,-5,0,1)
	//TNT1 A 1
	//TNT1 A 0 A_Explode(4, 15)
    TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
	TNT1 A 0 A_SpawnItemEx ("DetectFloorBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("DetectCeilBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("UnderwaterHitPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 AAA 0 A_CustomMissile ("SparkXNoModel", 2, 0, random (0, 360), 2, random (0, 360))
	PUFF A 0 bright A_PlaySound("ricochet/hit")
    TNT1 AA 0 A_CustomMissile ("OldschoolRocketSmokeTrail2", 2, 0, random (0, 360), 2, random (0, 360))

	TNT1 A 0 A_Jump(255, "Spawn1", "Spawn2", "Spawn3", "Spawn4")
    
	Spawn1:
	IPF2 AABB 1 bright A_SpawnItem ("YellowFlareSmall", 0)
    Stop
	
	Spawn2:
	IPF2 CCDD 1 bright A_SpawnItem ("YellowFlareSmall", 0)
    Stop
	
	Spawn3:
	IPF2 EEFF 1 bright A_SpawnItem ("YellowFlareSmall", 0)
    Stop
	
	Spawn4:
	IPF2 GGHH 1 bright A_SpawnItem ("YellowFlareSmall", 0)
    Stop
  }
}


ACTOR LargeMassWaterImpact
{
  +THRUACTORS
  +VULNERABLE
  Radius 1
  Height 1
  Mass 99999
  Health 99999
  states
  {
  Spawn:
  Death:
    TNT1 A 0
	TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType3", 0, 0, 0, 0)//Check if is under grass/dirt
	TNT1 A 2
	TNT1 A 0 A_JumpIfInventory("GoSpecial", 1, "SpawnLava")
    TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "SpawnWater")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "SpawnSlime")
	TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "SpawnNukage")
	TNT1 A 0 A_JumpIfInventory("IsOverBlood", 1, "SpawnBlood")
	TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "SpawnLava")
	TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "SpawnSand")
    Stop
	
  SpawnWater:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("bigspl1")
	TNT1 A 0 A_AlertMonsters(500, AMF_TARGETNONPLAYER)
	TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("WaterParticleXSuperFast", 12, 0, random (0, 360), 2, random (30, 90))
	TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("WaterParticleXFAster", 12, 0, random (0, 360), 2, random (30, 90))
	TNT1 A 20
	Stop
	
 SpawnSlime:	
	TNT1 A 0
	TNT1 A 0 A_PlaySound("bigspl1")
	TNT1 A 0 A_AlertMonsters(500, AMF_TARGETNONPLAYER)
	//TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("LiquidParticleX", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("SlimeParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	//TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("SlimeParticleXSuperFast", 14, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 20
	Stop	
	
 SpawnNukage:	
	TNT1 A 0
	TNT1 A 0 A_PlaySound("bigspl1")
	TNT1 A 0 A_AlertMonsters(500, AMF_TARGETNONPLAYER)
	//TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("LiquidParticleX", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("NukageParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	//TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("NukageParticleXSuperFast", 14, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 20
	Stop
	
	
  SpawnBlood:	
	TNT1 A 0
	TNT1 A 0 A_PlaySound("bigspl1")
	TNT1 A 0 A_AlertMonsters(500, AMF_TARGETNONPLAYER)
	//TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("LiquidParticleX", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("BloodParticleXFAster", 8, 0, random (0, 360), 2, random (30, 160))
	TNT1 A 20
	Stop	
	
	
 SpawnLava:	
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("FlyingLava1d", 0, 0, random (0, 360), 2, random (30, 80))
	TNT1 AAA 0 A_CustomMissile ("FlyingLava1c", 2, 0, random (0, 360), 2, random (30, 80))
	TNT1 AAA 0 A_CustomMissile ("FlyingLava2c", 2, 0, random (0, 360), 2, random (30, 80))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece", random (-15, 15), random (-15, 15))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece2", random (-35, 35), random (-35, 35))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3", random (-45, 45), random (-45, 35))
	TNT1 A 20
	Stop	
	
	
 SpawnSand:
	TNT1 AA 0 A_CustomMissile ("SandCloudSmallLong", 24, 0, random (0, 360), 2, random (30, 90))
	TNT1 A 0 A_CustomMissile ("SandCloudSmall", 0, 0, random (0, 360), 2, random (10, 90))
	TNT1 AAA 0 A_CustomMissile ("SandDustSmall", 42, 0, random (0, 360), 2, random (40, 150))
	TNT1 A 0 A_AlertMonsters(200, AMF_TARGETNONPLAYER)
	Stop
  }
}



ACTOR SilentHitPuff: hitPuff
{
DamageType bullet
}

Actor MiniGunBulletPuff: HitPuff
{
DamageType Minigun
}

Actor MachineGunBulletPuff: HitPuff
{
DamageType Minigun
}

Actor MechMinigunPuff: HitPuff
{
DamageType Extreme
-NOEXTREMEDEATH
}

Actor ExtremeBulletPuff: HitPuff
{
DamageType Saw
}

Actor ExtremeBulletPuff2: HitPuff
{
DamageType Cut
}

Actor ATBulletPuff: HitPuff
{
Scale 0.4
DamageType Blast
States
{
 Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySound ("smallexplode")
    TNT1 AAA 0 A_CustomMissile ("PlasmaSmoke", 0, 0, random (0, 360), 2, random (0, 360))
    EXSH A 3 BRIGHT
    stop
}
}

ACTOR SSawPuff: HitPuff
{
  renderstyle Translucent
scale 0.15
alpha 0.7
Radius 20
damagetype Saw
decal "SawHorizontal"
  +NOBLOCKMAP
  +NOGRAVITY
  +NOEXTREMEDEATH
  +FORCEXYBILLBOARD
  states
  {
Spawn:
Death:
Melee:	
XDeath:
		TNT1 A 0
		TNT1 AB 1 bright
		TNT1 A 0 A_Jump (128,3)
		TNT1 A 0 A_SpawnItem ("Sparks", 0)
		TNT1 AAAAAA 0 A_CustomMissile ("SparkX", 2, 0, random (0, 360), 2, random (30, 170))
		BPUF C 1 bright A_PlaySound("weapons/chainsaw/hitwall")
		BPUF D 1 bright
		Stop	


  }
}


ACTOR SSawPuff2: SSawPuff
{
damagetype Cut
}

ACTOR FakeSSawPuff: SSawPuff
{
+THRUGHOST
}


Actor PuffSmoke
{
+MISSILE
+NOBLOCKMAP
+NOGRAVITY
//Gravity 0.8
+DROPOFF
+NOTELEPORT
+FORCEXYBILLBOARD
+NOTDMATCH
+GHOST
+DONTSPLASH
+CLIENTSIDEONLY
radius 1
height 1
mass 1
//  Scale 0.02
//alpha 0.9
//damage 1
//renderstyle Add
  renderstyle Translucent
alpha 0.9
Scale 1.5
Speed 1
//damagetype Shrapnel
seesound "weapons/ricochet"
states
	{
	Spawn:
		TNT1 A 0
        PUFY ZZZCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_FadeOut(0.03)
//LENY AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_FadeOut(0.06)
		//LENY AAAAAA 1 bright
        //LENY AAA 1
		stop
	}
}

ACTOR Sparks: BulletPuff
{
  renderstyle Translucent
  alpha 0.8
  +NOBLOCKMAP
  +NOGRAVITY
  +CLIENTSIDEONLY
  Scale 0.5
  states
  {
  Spawn:
    TNT1 A 0
		//TNT1 AAAA 0 A_custommissile("RicochetBullet",0,0,random(0,360),2,random(-40,40))
    TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
    TNT1 A 0 A_Jump (132, 15)
    FX58 ABCDEFGHIJ 1 bright
    Stop
    TNT1 AAAAA 0
    FX57 ABCDEFGHIJ 1 bright
    stop
  }
}












actor PLOFT
{
	+NOTARGET
Radius 10
Height 10
DamageType MonsterKnocked
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
	+DEHEXPLOSION
	+ACTIVATEMCROSS
	-DONTSPLASH
States
{
Spawn:
		TNT1 A 1
		//TNT1 A 0 A_SpawnItem("FootstepStrong")
        TNT1 A 0 A_Explode(25,150, 0)
Stop
 }
}

actor PLOFT2
{
	+NOTARGET
Radius 10
Height 10
DamageType Kick
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+DEHEXPLOSION
+ACTIVATEMCROSS
DamageType MonsterKnocked
-DONTSPLASH
States
{
Spawn:
		TNT1 A 1
	   //TNT1 A 0 A_SpawnItem("FootstepStrong")
       // TNT1 A 0 A_Explode(20,30, 0)
Stop
 }
}


actor PLOFT3
{
	+NOTARGET
Radius 10
Height 10
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+DEHEXPLOSION
+ACTIVATEMCROSS
-DONTSPLASH
DamageType MonsterKnocked
States
{
Spawn:
		TNT1 A 1
		//TNT1 A 0 A_SpawnItem("FootstepStrong")
        TNT1 A 0 A_Explode(20,30, 0)
Stop
 }
}


actor PLOFT4
{
	+NOTARGET
Radius 10
Height 10
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+DEHEXPLOSION
+ACTIVATEMCROSS
-DONTSPLASH
DamageType Kick
States
{
Spawn:
		TNT1 A 0
		//TNT1 A 0 A_SpawnItem("FootstepStrong")
        TNT1 A 0 A_Explode(20,30, 0)
Stop
 }
}



actor PLOFT5
{
	+NOTARGET
Radius 10
Height 10
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+DEHEXPLOSION
+ACTIVATEMCROSS
-DONTSPLASH
DamageType Kick
States
{
Spawn:
TNT1 A 2
		TNT1 A 0 A_SpawnItem("FootstepStrong")
        TNT1 A 0 A_Explode(10,30, 0)
Stop
 }
}



