Actor DiscThrower 25713
{
//Creator: Titanium
//Origin: Nexus Infinity
//Sprite: Z0M1
//Title: "Disc Thrower"
Monster       // Zombieman Class
Health 200
Radius 20
Height 56
Speed 10
Mass 100
PainChance 50
MeleeRange 100
Species "Zombie"
DamageFactor "EMGEx", 0.0
Damagefactor "HTZombie", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "ZombieCannon", 0.0
Damagefactor "ZExplosiveBullets", 0.0
DamageFactor "ZombieRocket", 0.0
Damagefactor "ZGrenade", 0.0
Damagefactor "ZExplosiveBullets", 0.0
DropItem "StimKit" 180
DropItem "ArmorBooster" 180
DropItem "AmmoPack" 165
DropItem "HandGrenadeAmmo" 250 1
DropItem "HandGrenadeAmmo" 100 1
DropItem "HandGrenadeAmmo" 100 1
DropItem "HandGrenadeAmmo" 100 1
DropItem "Armorplate" 120 1
DropItem "Portablemedkit" 145 1
DropItem "MarineBeacon" 20 1
SeeSound "superzombie/sight"
PainSound "superzombie/pain"
DeathSound "superzombie/death"
ActiveSound "superzombie/active"
AttackSound ""
MaxStepHeight 32
MaxDropOffHeight 32
Obituary "%o got fetched by a Disc Thrower Zombie."
Tag "\c[r5]Disc Thrower\c-"
+FLOORCLIP
+MISSILEMORE
+MissileEvenMore
+QUICKTORETALIATE
States
{
  Spawn:
    Z0M1 A 10 A_Look
    Loop
  See:
    Z0M1 AABB 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Z0M1 CCDD 3 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
  Dodge:
	TNT1 A 0
	Z0M1 A 1 A_FaceTarget
	TNT1 A 0 ThrustThingZ(0,20,0,0)
	TNT1 A 0 A_Jump(256,"DodgeRight","DodgeLeft")
  DodgeLeft:
	TNT1 A 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto Grenades
  DodgeRight:
	TNT1 A 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto Grenades
  Missile:
	TNT1 A 0 A_Jump(100,"Dodge")
  Grenades:
	TNT1 A 0 A_JumpIfCloser(200,"Close")
	TNT1 A 0 A_JumpIfCloser(500,"Middle")
  Grenade:
	Z0M1 CE 12 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	Z0M1 E 1 A_CustomMissile("ZDisc",32,0,0,2,4)
	Goto See
  Middle:
	Z0M1 CE 10 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	Z0M1 E 1 A_CustomMissile("ZDisc2",32,0,0,2,1.4)
	Goto See
  Close:
	Z0M1 CE 7 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	Z0M1 E 1 A_CustomMissile("ZDisc3",32,0,0,2,1.2)
	Goto See
  Melee:
	Z0M1 CE 6 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	Z0M1 E 1 A_CustomMissile("ZDisc4",32,0,0,2,1)
	Goto See
  Pain:
    TNT1 A 0
    TNT1 A 0 A_Jump(128,"PainMissile")
    Z0M1 G 4
    Z0M1 G 4 A_Pain
    Goto See
  PainMissile: 
    Z0M1 G 4
    Z0M1 G 4 A_Pain
    Goto Missile
  Death:
    Z0D1 A 5
    Z0D1 B 5 A_ScreamAndUnBlock
	Z0D1 C 5 A_SpawnItem("BodyCrash",0,0,0,0)
    Z0D1 DEF 5
	Z0D1 G -1
  XDeath:
	Z0D2 A 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    Z0D2 B 3 A_XScream
	Z0D2 C 3 A_Fall
    Z0D2 DEFGH 3
    Z0D2 I -1 
    Stop	
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    Z0D1 FEDCBA 5
    Goto See	
	}
}

ACTOR ZDisc
{
Radius 8
Height 8
Damage 20
Speed 80
FastSpeed 120
Scale 0.7
Projectile
//SeeSound "leggreenade/bounce"
DeathSound "weapons/rocklx"
Gravity 1
ReactionTime 300
WallBounceFactor 0.52
BounceFactor 100
BounceCount 10
Decal "Scorch"
DamageType "Explosion"
Species "Zombie"
Damagetype "ZGrenade"
+DOOMBOUNCE
+NOTELEPORT
+RANDOMIZE
+CANBOUNCEWATER
+SKYEXPLODE
+FORCERADIUSDMG
+USEBOUNCESTATE
-NOGRAVITY
-GRENADETRAIL
-ROCKETTRAIL
States
{
  Spawn:
    FLYG C 1 A_CountDown
    FLYG D 1 A_CountDown
    Loop
  Bounce:
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_PlayWeaponSound("leggreenade/bounce")
    Goto Spawn
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 A 0 A_Explode
    TNT1 A 1 A_SpawnItem("RocketEx")
	Stop
  }
}

ACTOR ZDisc2 : ZDisc
{
Gravity 0.75
Speed 65
FastSpeed 90
ReactionTime 250
}

ACTOR ZDisc3 : ZDisc
{
Gravity 0.5
Speed 35
FastSpeed 50
ReactionTime 100
}

ACTOR ZDisc4 : ZDisc
{
Gravity 0.45
Speed 20
FastSpeed 40
ReactionTime 100
}