//Projectiles and Puffs
Actor FistImpact : fastprojectile 
{  
   PROJECTILE
   renderstyle "translucent"
   speed 45 //this what sets the distance between the fists apparantly
   damage (5)
   ALPHA 0.90
   +Bright
   +DONTBLAST
   +THRUSPECIES
   +NOEXTREMEDEATH
   +LOOKALLAROUND
   +BLOODSPLATTER
   +NOTIMEFREEZE
   +FORCEXYBILLBOARD
   Species "Player"
   damagetype "Melee"
   scale 0.75
   States
    {
   Spawn:
		TNT1 A 0 
		TNT1 A 1
		Stop
	Death: //If it hits a wall
        TNT1 A 0 A_Playsound("Stickguy/PUNCH",1)
		TNT1 A 1
		TNT1 A 0
		Stop
   XDeath: //If it hits an actor that bleeds
        TNT1 A 0 A_Playsound("Stickguy/PUNCH",1)
		TNT1 A 0 A_giveinventory("StickguySpeedboost",1,AAPTR_TARGET)
		TNT1 A 0 A_takeinventory("StickguyMeleeStack",20,0,AAPTR_TARGET) 		
        TNT1 A 1 A_Playsound("Stickguy/SpeedUp",6)
		stop
   Crash: //If it hits an actor that doesn't bleed
        TNT1 A 0
        TNT1 A 1
		TNT1 A 0
		TNT1 A 2
		Stop
	}
}
Actor ZerkFist : FistImpact 
{
   -NOEXTREMEDEATH
   damage (50) //formelly 300 reason is written in the fist impact part
   ALPHA 0.90
}
Actor StickImpact : FistImpact
{  
   -NOEXTREMEDEATH
   speed 50 //this what sets the distance between the fists apparantly
}
Actor ZerkStick : StickImpact 
{
   -NOEXTREMEDEATH
   damage (50) //formelly 300 reason is written in the fist impact part
   ALPHA 0.90
}

Actor BFGFist : FistImpact 
{
   -NOEXTREMEDEATH
   damage (400) //formelly 300 reason is written in the fist impact part
   ALPHA 0.90
   +FORCEPAIN
   Speed 70
   ProjectileKickBack 1001
   DECAL "STGBFGDECAL"
    States
    {
   Spawn:
		TNT1 A 0 
		TNT1 A 1
		Stop
	Death: //If it hits a wall
        TNT1 A 0 A_Playsound("Stickguy/PUNCH",1)
		TNT1 A 1
		TNT1 A 0
		Stop
   XDeath: //If it hits an actor that bleeds
        TNT1 A 0 A_Playsound("Stickguy/FinalAttack",1)
		TNT1 A 0 A_spawnitemEx("waveonion",4,0,24,1)
		TNT1 A 0 A_takefromtarget("Cell",15)
		TNT1 A 0 A_spawnitemEx("Bigwaveonion",12,0,24,2)
		TNT1 A 0 A_spawnitemEx("Biggerwaveonion",28,0,24,4)
		TNT1 A 0 A_giveinventory("StickguySpeedboost",1,AAPTR_TARGET)
		TNT1 A 0 A_takeinventory("StickguyKBConfirm",1,AAPTR_TARGET)
		TNT1 A 0 A_takeinventory("StickguyMeleeStack",20,0,AAPTR_TARGET) 		
        TNT1 A 1 A_Playsound("Stickguy/SpeedUp",6)
		stop
   Crash: //If it hits an actor that doesn't bleed
          TNT1 A 0 A_Playsound("Stickguy/FinalAttack",1)
		TNT1 A 0 A_spawnitemEx("waveonion",4,0,24,1)
		TNT1 A 0 A_spawnitemEx("Bigwaveonion",12,0,24,2)
		TNT1 A 0 A_spawnitemEx("Biggerwaveonion",28,0,24,4)
        TNT1 A 0 A_giveinventory("StickguySpeedboost",1,AAPTR_TARGET)
		TNT1 A 0 A_takeinventory("StickguyKBConfirm",1,AAPTR_TARGET)
		TNT1 A 0 A_takeinventory("StickguyMeleeStack",20,0,AAPTR_TARGET) 		
        TNT1 A 1 A_Playsound("Stickguy/SpeedUp",6)
		Stop
	}
}

//Projectile for burst
ACTOR SGBurstPuf
{
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +PUFFONACTORS
  +HITTRACER
  +HITTARGET
  Species "Player"
  RenderStyle Translucent
  Alpha 0.5
  VSpeed 1
  Mass 5
  States
  {
  Spawn:
    SGBP A 4 Bright
    SGBP B 4 a_giveinventory("Stickguyweaps", 1, AAPTR_TRACER)
    // Intentional fall-through
  Melee:
    SGBP CD 4
    Stop
  }
}
//Puffs for the other weapons
Actor Stickguypuffs
{
  +THRUSPECIES
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +PUFFONACTORS
  +HITTRACER
  +HITTARGET
  Species "Player"
  RenderStyle Translucent
  Alpha 0.5
  VSpeed 1
  Mass 5
  States
  {
  Spawn:
    PUFF A 4 Bright
    PUFF A 4 a_giveinventory("Stickguyweaps", 1, AAPTR_TRACER)
    // Intentional fall-through
  Melee:
    PUFF CD 4
    Stop
  }
}
//Puffs for the other weapons
Actor StickguyFrustrationPuffs : Stickguypuffs
{
	+PUFFGETSOWNER
	-HITTARGET
  States
  {
  Spawn:
    TNT1 A 4
	TNT1 A 0 A_giveInventory("Frustrationguard",1, AAPTR_TARGET)
	TNT1 A 0 A_Giveinventory("StickguyKBConfirm",1,AAPTR_TARGET)
    // Intentional fall-through
  Melee:
    TNT1 AA 4
    Stop
  }
}

ACTOR Sticknade
{
  Radius 8
  Height 8
  Speed 70
  Damage 20
  Projectile
  -NOGRAVITY
  +RANDOMIZE
  +Hittracer
  Species "Player"
  BounceType "Hexen"
  BounceCount 4
  Gravity 0.25
  SeeSound "Stickguy/REGB"
  BounceSound "Stickguy/REGB"
  Obituary "%o ate a %k's hot potato."
  States
  {
  Spawn:
    RGLP A 1
    Loop
  XDeath:
  Crash:
  Death:
	TNT1 A 0 A_changeflag("Nogravity",true)
  	TNT1 A 0 A_Playsound("weapons/rocklx")
	TNT1 A 0 a_giveinventory("Stickguyweaps", 1, AAPTR_TRACER)
    MISL B 8 Bright A_Explode(100)
    MISL C 6 Bright
    MISL D 4 Bright
    Stop
  }
}

ACTOR Poisonade : Sticknade
{
  Speed 50
  Damage 30
  States
  {
  Spawn:
    RGLP A 1
    Loop
  XDeath:
  Death:
	TNT1 A 0 A_Playsound("weapons/rocklx")
	TNT1 A 0 a_giveinventory("Stickguyweaps", 1, AAPTR_TRACER)
	TNT1 A 0 A_SpawnItemEX("Igotthepoison", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
    TNT1 A 18 Bright A_Explode	
    Stop
  }
}

Actor Igotthepoison
{
	Projectile
	Obituary "%o forgot his gas mask."
    Projectile
    RenderStyle Add
    Alpha 0.90
    +NoExplodeFloor
    +NoDamageThrust
	+forceradiusdmg
States
  {
 Spawn:
    GTXL ABCDABCDABCD 4 bright A_Explode(11, 128, 1)
    GTXM ABCDABCDABCD 4 bright A_Explode(11, 64, 1)
	GTXS ABCDABCDABCD 4 bright A_Explode(11, 32, 1)
  Death:
    TNT1 A 1
    Stop
}
}
Actor Redplasma
{
  Radius 13
  Height 8
  Speed 25
  Damage 5
  Projectile
  +RANDOMIZE
  
  Species "Player"
  RenderStyle Add
  Alpha 0.75
  SeeSound "Stickguy/RLAS"
  DeathSound "weapons/plasmax"
  Obituary "%o sure wanted a biss of %k's Plasmator plasma." // "%o was melted by %k's plasma gun."
  States
  {
  Spawn:
    RPLS AB 6 Bright
    Loop
  Death:
    RPLS ABCDE 4 Bright
    Stop
  }
}

Actor SpeedRedplasma
{
  Radius 13
  Height 8
  Speed 30
  Damage 3
  Projectile
  +RANDOMIZE
  
  Species "Player"
  RenderStyle Add
  Alpha 0.75
  SeeSound "Stickguy/RLAS"
  DeathSound "weapons/plasmax"
  Obituary "%o sure wanted a biss of %k's Plasmator plasma." // "%o was melted by %k's plasma gun."
  States
  {
  Spawn:
    RPLS AB 6 Bright
    Loop
  Death:
    RPLS ABCDE 4 Bright
    Stop
  }
}

Actor WaveOnion 
{
		+NOINTERACTION
		+NOBLOCKMAP
		Renderstyle "Add"
		Scale 0.2
		Alpha 0.5
	States
	{
	Spawn:
		WONO A 1 NoDelay Bright A_SetScale(scaleX * 1.1)
		WONO A 0 A_FadeOut(0.05)
		Loop
	}

}

Actor BigWaveOnion : WaveOnion 
{
		Scale 0.5
}
Actor BiggerWaveOnion : WaveOnion 
{
		Scale 0.7
}
