actor HHBulletPuffBlue : BulletPuff 
{
  spawnid 131
  renderstyle Translucent
  alpha 0.5
  +NOBLOCKMAP
  +NOGRAVITY
  -ALLOWPARTICLES
  damagetype "Bullet"
  +NOEXTREMEDEATH
  +PUFFONACTORS
  +PUFFGETSOWNER
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 //A_GiveToTarget("HitIndicator",1)
    PUFF A 0 A_SpawnItemEx("ImpactSmokePuff2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 A_SpawnItemEx("Ricochet", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 
    stop
  Crash:
    PUFF A 0 
    PUFF A 0 A_SpawnItemEx("ImpactSmokePuff2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 A_SpawnItemEx("Ricochet", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 
    stop
  }
}





actor ImpactSmokePuff2
{
  RenderStyle Add
  alpha 0.55
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.5
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 AAAAA 0 A_SpawnItemEx("ImpactSpark2A", 0, 0, 0, random(0,4), random(-2,2), random(-1,1), 0, 128, 64)
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn2:
    SMK2 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn3:
    SMK3 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn4:
    SMK4 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  }
}

actor ImpactSpark2A
{
  RenderStyle Add
  alpha 0.95
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.05
  +CLIENTSIDEONLY
  +NOINTERACTION
  -NOGRAVITY
  Gravity 1.2
  states
  {
  Spawn:
    SPRK A 0
    SPRK B 1 bright A_FadeOut(0.075)
    loop
  }
}

actor ImpactSpark22
{
  RenderStyle Add
  alpha 0.95
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.08
  +CLIENTSIDEONLY
  +NOINTERACTION
  -NOGRAVITY
  Gravity 1.2
  states
  {
  Spawn:
    SPRK A 0
    SPRK B 1 bright A_FadeOut(0.05)
    loop
  }
}

actor WeaponSmokePuff2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 28
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_SpawnItemEx("WeaponSmokePuff_Spawned2", 1, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_SpawnItemEx("MuzzleFlash2A", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    stop
  }
}

actor WeaponHyperBlasterSmokePuff2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 28
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_SpawnItemEx("WeaponHyperBlasterSmokePuff_Spawned2", 1, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_SpawnItemEx("MuzzleFlash2A", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    stop
  }
}

actor WeaponSmokePuffLong2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 28
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_SpawnItemEx("WeaponSmokePuffLong_Spawned2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    stop
  }
}

actor WeaponSmokePuffShotgun2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 28
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_SpawnItemEx("WeaponSmokePuffShotgun_Spawned2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    stop
  }
}

actor WeaponSmokePuff_Spawned2
{
  RenderStyle Add
  alpha 0.275
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 0
  Damage 0
  Scale 1.4325
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    //TNT1 AAA 0 A_SpawnItemEx("ImpactSpark2A", 0, 0, 0, random(3,3), random(-3,3), random(-3,3), 0, 128, 128)
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn2:
    SMK2 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn3:
    SMK3 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn4:
    SMK4 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  }
}

actor WeaponHyperBlasterSmokePuff_Spawned2
{
  RenderStyle Add
  alpha 0.275
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 0
  Damage 0
  Scale 1.4325
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 AAA 0 A_SpawnItemEx("ImpactSpark22", 0, 0, 0, random(3,3), random(-3,3), random(-3,3), 0, 128, 128)
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn2:
    SMK2 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn3:
    SMK3 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn4:
    SMK4 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  }
}


actor WeaponSmokePuffLong_Spawned2
{
  RenderStyle Add
  alpha 0.55
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 0
  Damage 0
  Scale 1.75
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn2:
    TNT1 A 0 A_Stop
    SMK2 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn3:
    TNT1 A 0 A_Stop
    SMK3 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn4:
    TNT1 A 0 A_Stop
    SMK4 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  }
}

actor WeaponSmokePuffShotgun_Spawned2
{
  RenderStyle Add
  alpha 0.75
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 0
  Damage 0
  Scale 2.0
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 AAA 0 A_SpawnItemEx("ImpactSpark2A", 0, 0, 0, random(3,3), random(-3,3), random(-3,3), 0, 128, 0)
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn2:
    TNT1 A 0 A_Stop
    SMK2 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn3:
    TNT1 A 0 A_Stop
    SMK3 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  Spawn4:
    TNT1 A 0 A_Stop
    SMK4 ABCDEFGHIJKLMNOP 4 bright A_FadeOut(0.05)
    stop
  }
}

actor FlightSmokePuff2
{
  RenderStyle Add
  alpha 0.95
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.5
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_Jump(156,"Spawn2","Spawn3","Spawn4")
    SMK1 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn2:
    SMK2 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn3:
    SMK3 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  Spawn4:
    SMK4 ABCDEFGHIJKLMNOP 2 bright A_FadeOut(0.05)
    stop
  }
}


actor WeaponSmokePuff_BigMuzzle2
{
  RenderStyle None
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 28
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_SpawnItemEx("WeaponSmokePuff_Spawned2", 1, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_SpawnItemEx("MuzzleFlash22", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    stop
  }
}

//That's DBThanatos Muzzleflash
//Majorcooke Modified the Sprites
actor MuzzleFlash2A
{
  RenderStyle Add
  //alpha 0.5
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.32 //15
  +CLIENTSIDEONLY
  +NOINTERACTION
  states
  {
  Spawn:
    MUZZ A 0 
    MUZZ M 0 bright A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
  Spawn1:
    MUZZ G 2 bright
    stop
  Spawn2:
    MUZZ H 2 bright 
    stop
  Spawn3:
    MUZZ I 2 bright 
    stop
  Spawn4:
    MUZZ J 2 bright 
    stop
  Spawn5:
    MUZZ K 2 bright 
    stop
  Spawn6:
    MUZZ L 2 bright 
    stop
  }
}

actor MuzzleFlash22 : MuzzleFlash2A
{
  Scale 0.44 //25
}


/*

That's my Original Muzzleflash
actor MuzzleFlash2A
{
  RenderStyle Add
  alpha 0.5
  -RANDOMIZE
  +NOCLIP
  PROJECTILE
  Speed 2
  Damage 0
  Scale 0.15
  +CLIENTSIDEONLY
  +NOINTERACTION
  states
  {
  Spawn:
    MUZZ A 0 
    MUZZ G 2 bright A_Jump(128,"Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
    stop
  Spawn2:
    MUZZ H 2 bright 
    stop
  Spawn3:
    MUZZ I 2 bright 
    stop
  Spawn4:
    MUZZ J 2 bright 
    stop
  Spawn5:
    MUZZ K 2 bright 
    stop
  Spawn6:
    MUZZ L 2 bright 
    stop
  }
}

actor MuzzleFlash22 : MuzzleFlash2A
{
  Scale 0.25
}
*/

actor LightningGunPuff : BulletPuff
{

  renderstyle Translucent
  alpha 0.5
  +NOBLOCKMAP
  +NOGRAVITY
  -ALLOWPARTICLES
  +NOEXTREMEDEATH
  +PUFFONACTORS
  +PUFFGETSOWNER
  states
  {
  Spawn:
    TNT1 AAAAAA 0 A_SpawnItemEx("ImpactSpark22", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 
    stop
  Crash:
    TNT1 AAAAA 0 A_SpawnItemEx("ImpactSpark22", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 4 
    stop
  }
}
