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 Translucent
  alpha 0.4
  Scale 1.5
  radius 0
  height 0
  +NOBLOCKMAP
  +NOGRAVITY
  Gravity 0.01
  +NOEXTREMEDEATH
  +FORCEXYBILLBOARD
DamageType Bullet
Decal "BulletDecalNew1"
+DONTSPLASH
-EXPLODEONWATER
	VSpeed 0
	Projectile
  states
  {
    Crash:
	Death:
	Xdeath:
  //Spawn:
    TNT1 A 0
    //TNT1 A 0 A_SpawnItem ("RicoChet", 0, -5)
	TNT1 A 0 A_SpawnItemEx ("RicoChet",0,0,-5,0,0,0,0,SXF_NOCHECKPOSITION,0)
    TNT1 AAAA 0
    //PUFF A 6
    //PUFF B 6
    //Intentional fall-through
  //Melee:
    //PUFF CD 6
	TNT1 A 1
	//stop
	Goto Super::Spawn
  }
}
*/
ACTOR HitPuff Replaces BulletPuff
{
  renderstyle Translucent
  alpha 0.4
  Scale 1.5
  radius 0
  height 0
  +NOBLOCKMAP
  +NOGRAVITY
  Gravity 0.01
  +NOEXTREMEDEATH
  +FORCEXYBILLBOARD
  +THRUACTORS
  +NOCLIP
DamageType Bullet
Decal "BulletDecalNew1"
+DONTSPLASH
-EXPLODEONWATER
  states
  {
  Spawn:
    TNT1 A 0
	TNT1 AAAAA 0 A_CustomMissile ("SparkX", 2, 0, random (0, 360), 2, random (0, 360))
    TNT1 A 0 A_SpawnItemEx ("RicoChet",0,0,-5,0,0,0,0,SXF_NOCHECKPOSITION,0)
    TNT1 AAAA 0
    TNT1 A 0 A_PlaySound("ricochet/hit")
	Stop
  Melee:
	TNT1 AAA 0 A_CustomMissile ("OldschoolRocketSmokeTrail2", 2, 0, random (0, 360), 2, random (0, 360))
	stop
  }
}

ACTOR HitPuffTracer : HitPuff
{
  states
  {
  Spawn:
    TNT1 A 0
    //TNT1 A 0 A_SpawnItem ("RicoChet", 0, -5)
	TNT1 A 0 A_SpawnItemEx ("RicoChet",0,0,-5,0,0,0,0,SXF_NOCHECKPOSITION,0)
    TNT1 AAAA 0
    //PUFF A 6
    //PUFF B 6
    //Intentional fall-through
  Melee:
    //PUFF CD 6
	TNT1 A 1
	stop
  }
}

actor shotpuff : HitPuff
{
DamageType SSG
}

actor Shotgunpuff : HitPuff
{
DamageType Shotgun
}

actor BD_Railgun_Puff2 : HitPuff
{
DamageType Railgun
}





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 ThrustThingZ(0,-5,0,1)
	//TNT1 A 1
	//TNT1 A 0 A_Explode(4, 15)
    TNT1 A 0 A_CheckFloor("SpawnFloor")
    TNT1 A 0 A_SpawnItem ("YellowFlareSmall", 0)
	TNT1 A 0 A_SpawnItemEx ("Detect_FloorBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("Detect_CeilBullet",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 ("HitSparkGroup", 2, 0, random (0, 360), 2, random (0, 360))
	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 
	TNT1 A 0 A_CustomMissile("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
	FX58 EFGHIJ 1 bright
    Stop
    TNT1 AAAAA 0
    FX57 ABCD 1 BRIGHT 
	TNT1 A 0 A_CustomMissile("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
	FX57 EFGHIJ 1 bright
    stop
	
	
	SpawnFloor:
	TNT1 A 0
	TNT1 A 0 Acs_executealways(373, 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 ("Detect_FloorBullet",0,0,5,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("Detect_CeilBullet",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("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
	FX58 EFGHIJ 1 bright
    Stop
    TNT1 AAAAA 0
    FX57 ABCD 1 BRIGHT 
	TNT1 A 0 A_CustomMissile("OldschoolRocketSmokeTrail2Bigger", 2, 0, random (0, 360), 2, random (0, 360))
	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)
	SPHW ABCDE 3
	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 A 0 A_SetScale(0.5, 0.5)
	SPHG ABCDE 3
	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 A 0 A_SetScale(0.5, 0.5)
	SPHR ABCDE 3
	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 ("BD_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 AA 0 A_CustomMissile ("DirtChunk3", 0, 0, random (0, 360), 2, random (30, 150))
	TNT1 AA 0 A_CustomMissile ("DirtChunk4", 0, 0, random (0, 360), 2, random (30, 150))
	TNT1 A 0 A_CustomMissile ("MudDustSmall", 4, 0, random (0, 360), 2, random (30, 150))
	TNT1 A 0 A_SpawnItem("DirtRicochet")
	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 ("BD_SandDustSmall", 4, 0, random (0, 360), 2, random (30, 150))
	Stop
	
	
	
	
  }
}



ACTOR DirtRicochet: RicoChet
{
  renderstyle Translucent
  alpha 0.8
  XScale 1.1
  YScale 1.1
  states
  {
  Spawn:
	TNT1 A 2
	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(1.1, 1.1)
	SDRT ABCDEF 2
	Stop
 Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(1.9, 1.9)
	SDRT ABCDEF 2
	Stop
  Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(1.4, 0.4)
	SDRT ABCDEF 2
	Stop
  Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-1.4, 1.1)
	SDRT ABCDEF 2
	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 ("Detect_FloorBullet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("Detect_CeilBullet",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_executealways(375, 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 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 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 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 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 ("BD_SandDustSmall", 42, 0, random (0, 360), 2, random (40, 150))
	Stop
  }
}



ACTOR SilentHitPuff: hitPuff
{
DamageType bullet
}

Actor MiniGunBulletPuff: HitPuff
{
DamageType Minigun
}

Actor MachineGunBulletPuff: HitPuff
{
DamageType Minigun
}

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:
XDeath:
Melee:
		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
 }
}




ACTOR BD_Plasma_Ball: FastProjectile
{
	Radius 10
	Height 2
	Speed 60
	Damage (random(31, 32))
    DamageType Plasma
	Decal "SmallerScorch"
	Projectile
	+RANDOMIZE
	+SPECTRAL
	//+SHOOTABLE
	-NOBLOCKMAP
	+NOBLOOD
	+NORADIUSDMG
	+THRUSPECIES
	+MTHRUSPECIES
	+FORCEXYBILLBOARD
	Species "Marines"
	damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0 damagefactor "Taunt", 0.0 damagefactor "KillMe", 0.0 damagefactor "Shrapnel", 0.0
	Health 5
	Scale 1.0
	
renderstyle ADD
alpha 0.99
Scale 0.14
	DeathSound "weapons/plasmax"
	//SeeSound "PLSM9"
    SeeSound "None"
	Obituary "$OB_MPPLASMARIFLE"
	States
	{

	Spawn:
        PBAL AB 1 BRIGHT
		Loop

Xdeath:
    //TNT1 A 0 A_SpawnItem ("BD_Plasma_Puff", 0)
    //TNT1 A 0 A_SpawnItem ("BD_Rail_Puff", 0)
	TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
	//TNT1 A 0 A_SpawnItem("BluePlasmaRife")
	TNT1 AAAAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 B 1 A_Explode(6,50,0)
	TNT1 B 4
	TNT2 AA 9 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
		
		Stop

	Death:
    //TNT1 A 0 A_SpawnItem ("BD_Plasma_Puff", 0)
    //TNT1 A 0 A_SpawnItem ("BD_Rail_Puff", 0)
	TNT1 B 1 A_Explode(6,50,1)
	TNT1 A 0 A_SpawnItemEx ("DetectFloorCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx ("DetectCeilCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAAAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 B 4	
    TNT2 AAAAAAAAA 9 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
		Stop
	}
}


ACTOR PlasmaBall75: BD_Plasma_Ball
{
	Damage (random(41, 42))
	SeeSound "PLSM9"
}
ACTOR PlasmaBall99: BD_Plasma_Ball
{
	Damage (random(61, 62))
	SeeSound "PLSM9"
}

ACTOR PlasmaBallDM: BD_Plasma_Ball //Replaces PlasmaBall
{
	Speed 50
	-THRUSPECIES
	-MTHRUSPECIES
	Species "None"
}

Actor EnemyPlasmaBall : PlasmaBall75 Replaces PlasmaBall2
{
Damage (random(10,15))
DamageType Plasma
Speed 22
+DONTHURTSPECIES
Species "Spider"
States
{

Death:
    //TNT1 A 0 A_SpawnItem ("BD_Plasma_Puff", 0)
    //TNT1 A 0 A_SpawnItem ("BD_Rail_Puff", 0)
	TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
	//TNT1 A 0 A_SpawnItem("BluePlasmaRife")
	TNT1 AAAAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 B 1 A_Explode(6,50,0)
	TNT1 B 4
	TNT2 AA 9 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
	Stop
	
XDeath:
	TNT1 A 0
	TNT1 A 0 A_JumpIfCloser(200, "DeathNothing")
    //TNT1 A 0 A_SpawnItem ("BD_Plasma_Puff", 0)
    //TNT1 A 0 A_SpawnItem ("BD_Rail_Puff", 0)
	TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
	//TNT1 A 0 A_SpawnItem("BluePlasmaRife")
	TNT1 AAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 B 1 A_Explode(6,50,0)
	TNT1 B 4
	Stop

DeathNothing:
		//TNT1 A 0 A_SpawnItem ("BD_Plasma_Puff", 0)
    //TNT1 A 0 A_SpawnItem ("BD_Rail_Puff", 0)
	TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 B 0 A_Explode(6,50,0)
	TNT1 B 0
	Stop
}
}
