const int JSKULL_LungeAngle = 1;

Actor JitterAngleAtLunge : Inventory { 
	inventory.maxamount 0x7FFFFFFF
}

Actor Jitterskull : PlayerPawn
{
	Health 150
	Mass 1500
	maxstepheight 128 //180
	scale 0.24
	limitedtoteam 1
	Player.jumpz 0
	Player.forwardmove 1.0
	Player.sidemove 1.0
	Player.Maxhealth 150
	Player.DisplayName "Jitterskull"
	Player.ColorRange 112, 127
	Player.soundclass "jskull"
	Player.startitem "JitterskullWeapon"
//	Player.Startitem "JitterskullHeal", 1
	Player.startitem "GhoulAmmo", 1
	Player.startitem "ArrowSingle", 35
	Player.StartItem "ClassID", 11 // 10
	Player.StartItem "GhoulTeam", 1
	Player.crouchsprite ""
	Player.scoreicon "JSKULLST"
	bloodtype "jitterchip"
	DamageFactor "HunterLightningRail", 0.9
	DamageFactor "HunterFireMagic", 0.75
	DamageFactor "HunterRegularMagic", 0.75
	DamageFactor "HunterSuperFireArrow", 0.8
	DamageFactor "HunterFireArrow", 0.8
	DamageFactor "HunterSuperIceArrow", 0.9
	DamageFactor "HunterSuperIceArrowTrail", 1.5
	DamageFactor "HunterSuperIceArrowTrail2", 0.4
	DamageFactor "GhostbusterIceFall", 0.6
	DamageFactor "WarlockBigFireball", 0.6
	DamageFactor "WarlockFireball", 0.6
	DamageFactor "WarlockMagmaSmall", 0.75
	DamageFactor "WarlockLightning", 0.75
	DamageFactor "WarlockIceShards", 1.5
	DamageFactor "PurpleMagic", 1.25
	DamageFactor "BigCurseBall", 1.25
	DamageFactor "GhostbusterBoneCannon", 0.5
	DamageFactor "FlaskT2", 0.0
	Species "Ghoul"
	+NOICEDEATH
	+FLOORHUGGER
	+NOSKIN
	+QUICKTORETALIATE
	States
	{
	Spawn:
		TNT1 A 0
		JSKL A 1
		Goto Spawn
	See:
		JSKL A 0 A_PlaysoundEx("skullact", "Body")
		JSKL ABCBABCABCABCABC 1
		JSKL A 1 A_Recoil(-255)
		JSKL A 0 A_Stop
		Goto Spawn
	Missile:
		JSKL A 1
		JSKL A 1 A_JumpIfInventory("Clip", 1, "Dive")
		JSKL A 0 A_PlaysoundEx("skullact", "Body")
		JSKL ABCBABCABCABCABCABCABC 1 ACS_ExecuteAlways(998,0)
		Goto Spawn
	NomNomNom:
		JSKL AAAAAA 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-96,96), 40)
		JSKL A 0 A_PlaySoundEx("skultaunt", 5)
		Goto Spawn
	Dive:
		JSKL D 16
		Goto Spawn
	Death:
	DeathAnim:
		JSKL A 0 A_GiveToTarget("KilledJitterskull", 1)
		JSKL A 0 A_GiveToTarget("TotalKillCount", 1)
		JSKL A 0 A_GiveToTarget("GhoulKillCount", 1)
		JSKL A 0 ACS_ExecuteAlways(724, 0)
		TNT1 A 0 A_GiveToTarget("LowHPKill", 1)
		JSKL A 0 A_GiveToTarget("CheckAchievements", 1)
		JSKL A 1 A_StopSoundEx("Voice")
		JSKL D 1 A_PlaySoundEx("skulldie", "Voice")
		JSKL D 1 A_NoBlocking
		JSKL D 0 A_Fall
		JSKL DDDDDDDDDDDDDDDDDDDD 1 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
		JSKL ZZZZZZZZZZZ 1 A_CustomMissile("ArchvileFirex2", 0, 0, random(0,360), 2,0)
		JSKL Z -1
		Stop
	 BladeDeath:
		SJIT A 0 A_GiveToTarget("KilledJitterskull", 1)
		SJIT A 0 A_GiveToTarget("TotalKillCount", 1)
		SJIT A 0 A_GiveToTarget("GhoulKillCount", 1)
		SJIT A 0 ACS_ExecuteAlways(724, 0)
		SJIT A 0 A_GiveToTarget("LowHPKill", 1)
		SJIT A 0 A_GiveToTarget("CheckAchievements", 1)
		JSKL A 1 A_StopSoundEx("Voice")
		JSKL D 1 A_PlaySoundEx("skulldie", "Voice")
		SJIT A 1 A_NoBlocking
		SJIT A 0 A_Fall
		SJIT A 0 A_SpawnItemEx("skullzhead", 0, 0, 10, 0, 0, random(15,18), 0, SXF_TRANSFERTRANSLATION, 0)
		SJIT AAAAAAAAAAAAAAAAAAAA 1 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
		SJIT AAAAAAAAAAA 1 A_CustomMissile("ArchvileFirex2", 0, 0, random(0,360), 2,0)
		JSKL Z -1
		Stop
    Death.MarineShotgun:
        JSKL A 0 A_GiveToTarget("MarineShotgunKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarinePistol:
        JSKL A 0 A_GiveToTarget("MarinePistolKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineMachineGun:
        JSKL A 0 A_GiveToTarget("MarineMachineGunKill", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineGrenade:
        JSKL A 0 A_GiveToTarget("MarineGrenadeKill", 1)
        JSKL A 0 A_GiveToTarget("MarineGrenadeMulti", 1)
		TNT1 A 0 A_GiveToTarget("AmmoSatchel2", 1)
        Goto DeathAnim
    Death.MarineSuicideGrenade:
        JSKL A 0 A_GiveToTarget("MarineSuicideGrenadeKill", 1)
        Goto DeathAnim
    Death.HunterFireArrow:
        JSKL A 0 A_GiveToTarget("HunterFireArrowKill", 1)
        JSKL A 0 A_GiveToTarget("HunterFireMulti", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterIceArrow:
        JSKL A 0 A_GiveToTarget("HunterIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterRegularArrow:
        JSKL A 0 A_GiveToTarget("HunterRegularArrowKill", 1)
        Goto DeathAnim
    Death.HunterLightningRail:
        JSKL A 0 A_GiveToTarget("HunterLightningRailKill", 1)
        JSKL A 0 A_GiveToTarget("HunterLightningMulti", 1)
        Goto DeathAnim
    Death.HunterFireMagic:
        JSKL A 0 A_GiveToTarget("HunterFireMagicKill", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterRegularMagic:
        JSKL A 0 A_GiveToTarget("HunterRegularMagicKill", 1)
        Goto DeathAnim
    Death.HunterIceSpike:
        JSKL A 0 A_GiveToTarget("HunterIceSpikeKill", 1)
        Goto DeathAnim
    Death.HunterLightningMagic:
        JSKL A 0 A_GiveToTarget("HunterLightningMagicKill", 1)
        Goto DeathAnim
    Death.HunterSuperFireArrow:
        JSKL A 0 A_GiveToTarget("HunterSuperFireArrowKill", 1)
		JSKL A 0 A_GiveToTarget("HunterFireMulti", 1)
		TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
        Goto DeathAnim
    Death.HunterSuperIceArrow:
        JSKL A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperIceArrowTrail:
        CHOK A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperIceArrowTrail2:
        CHOK A 0 A_GiveToTarget("HunterSuperIceArrowKill", 1)
        Goto DeathAnim			
    Death.HunterSuperRegularArrow:
        JSKL A 0 A_GiveToTarget("HunterSuperRegularArrowKill", 1)
        Goto DeathAnim
    Death.HunterSuperLightningRail:
        JSKL A 0 A_GiveToTarget("HunterSuperLightningRailKill", 1)
		JSKL A 0 A_GiveToTarget("HunterLightningMulti", 1)
        Goto DeathAnim
    Death.CyborgPlasma:
        JSKL A 0 A_GiveToTarget("CyborgPlasmaKill", 1)
		TNT1 A 0 A_GiveToTarget("CyborgTaunter", 1)
        Goto DeathAnim
    Death.CyborgCrapPlasma:
        JSKL A 0 A_GiveToTarget("CyborgCrapPlasmaKill", 1)
		TNT1 A 0 A_GiveToTarget("CyborgTaunter", 1)
        Goto DeathAnim
	Death.CyborgJetpackFire:
		TNT1 A 0 A_GiveToTarget("JetpackKill", 1)
		TNT1 A 0 A_GiveToTarget("CyborgFuel", 25)
		TNT1 A 0 A_GiveToTarget("CyborgTaunter", 1)
		Goto DeathAnim		
    Death.GhostbusterProton:
        JSKL A 0 A_GiveToTarget("GhostbusterProtonKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterTrap:
        JSKL A 0 A_GiveToTarget("GhostbusterTrapKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
	Death.GhostbusterHorror:
		SJAS A 0 A_GiveToTarget("GhostbusterHorrorKill", 1)
	    SJAS A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
		Goto DeathAnim
    Death.GhostbusterBlood:
        JSKL A 0 A_GiveToTarget("GhostbusterBloodKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterEcho:
        JSKL A 0 A_GiveToTarget("GhostbusterEchoKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterSoul:
        JSKL A 0 A_GiveToTarget("GhostbusterSoulKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterIceFall:
        JSKL A 0 A_GiveToTarget("GhostbusterIceFallKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
    Death.GhostbusterDefilerBall:
        JSKL A 0 A_GiveToTarget("GhostbusterDefilerBallKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
        Goto DeathAnim
	Death.GhostbusterBoneCannon:
		JSKL A 0 A_GiveToTarget("GhostbusterBoneKill", 1)
		JSKL A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
		Goto DeathAnim
	Death.GhostbusterExpander:
		SJAS A 0 A_GiveToTarget("GhostbusterExpanderKill", 1)
		SJAS A 0 A_GiveToTarget("GBJitterskullUpgrade", 1)
		JSKL A 0 A_GiveToTarget("KilledJitterskull", 1)
		JSKL A 0 A_GiveToTarget("TotalKillCount", 1)
		JSKL A 0 A_GiveToTarget("GhoulKillCount", 1)
		JSKL A 0 ACS_ExecuteAlways(724, 0)
		TNT1 A 0 A_GiveToTarget("LowHPKill", 1)
		JSKL A 0 A_GiveToTarget("CheckAchievements", 1)
		JSKL D 0 A_NoBlocking
		JSKL D 0 A_Fall		
		TNT1 A 0 A_PlaySound("Ghostbuster/Enlarge")
		TNT1 A 0 A_SpawnItem("ExpanderExplosion", 0, 32)
		TNT1 A 0 A_SpawnItemEx("JittEnlarge_1", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)		
		JSKL A 1
		BLAN A -1
		Stop
    Death.EngineerNail:
        JSKL A 0 A_GiveToTarget("EngineerNailKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto DeathAnim	
    Death.Pulverizer:
        TNT1 A 0 A_GiveToTarget("EngineerPulvKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto DeathAnim
	Death.SawBlade:
        TNT1 A 0 A_GiveToTarget("EngineerSawKill", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
        Goto BladeDeath		
	Death.SentryShoot:
		JSKL A 0 A_GiveToTarget("SentryBulletKills", 1)
		TNT1 A 0 A_GiveToTarget("WrenchAmmo", 20)
		Goto DeathAnim
    Death.WarlockFireball:
        JSKL A 0 A_GiveToTarget("WarlockFireballKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
		Goto DeathAnim
    Death.WarlockBigFireball:
        JSKL A 0 A_GiveToTarget("WarlockBigFireballKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        TNT1 A 0 A_SpawnItemEx("ImmolationEffect", 0, 0, 24)
		Goto DeathAnim
    Death.WarlockIceShards:
        JSKL A 0 A_GiveToTarget("WarlockIceShardsKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.WarlockLightning:
        JSKL A 0 A_GiveToTarget("WarlockLightningKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.WarlockMagmaSmall:
        JSKL A 0 A_GiveToTarget("WarlockMagmaSmallKill", 1)
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
	Death.BoneShield:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
		Goto DeathAnim
	Death.WarlockTeleport:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
		Goto DeathAnim		
	Death.PurpleMagic:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_GiveToTarget("PurpleMagicKill", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim	
    Death.Maledict:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_GiveToTarget("PurpleMagicKill", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim	
    Death.Maledict2:
		CHOK A 0 A_GiveToTarget("GhoulSouls", 1)
		CHOK A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim
    Death.ShadowBlast:
		TNT1 A 0 A_GiveToTarget("GhoulSouls", 1)
		TNT1 A 0 A_SpawnItemEx("GhoulSoul", 0, 0, -4, 0, 0, random(4,6), SXF_ABSOLUTEMOMENTUM)
        Goto DeathAnim			
	Death.CyborgPulseMale:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill1", 5)
		GoTo DeathAnim
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill2", 5)
		GoTo DeathAnim
		TNT1 A 0 A_Jump(192, 3)
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill3", 5)
		GoTo DeathAnim
		TNT1 AA 0 A_PlaySoundEx("MaleCyborgPulseKill4", 5)
	    GoTo DeathAnim
	Death.CyborgPulseFemale:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_PlaySoundEx("fcybtaunt", 5)
		Goto DeathAnim
	Death.CyborgPulseOther:
		TNT1 A 0 A_GiveToTarget("CyborgPulseKill", 1)
		TNT1 A 0 A_PlaySoundEx("cyblolcopy", 5)
		GoTo DeathAnim
	Death.PlaneShotgun:
		TNT1 A 0 A_GiveToTarget("PlaneShotKills", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto DeathAnim
		TNT1 A 0 A_GiveToTarget("PlaneDashKill", 1)
		Goto DeathAnim		
	Death.PlaneVortex:
		TNT1 A 0 A_GiveToTarget("PlaneVortexKills", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto DeathAnim
		TNT1 A 0 A_giveToTarget("PlaneDashKill", 1)
		Goto DeathAnim	
	Death.PlaneBlade:
		TNT1 A 0 A_GiveToTarget("PlaneBladeKill", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("PlaneWalkCheck", 1, 1)
		Goto BladeDeath
		TNT1 A 0 A_giveToTarget("PlaneDashKill", 1)
		Goto BladeDeath
	Death.FlaskT3:
		TNT1 A 0 A_GivetoTarget("Flask3HealBig", 1)
	Death.FlaskT1:
	Death.FlaskT2:
		TNT1 A 0 A_GiveToTarget("FlaskKill", 1)
		Goto DeathAnim
	Death.DeathDart:
		TNT1 A 0 A_GiveToTarget("DartKill", 1)
		Goto DeathAnim
	Death.HeartSeeker:
		TNT1 A 0 A_GiveToTarget("PelletKill", 1)
		Goto DeathAnim	
	Death.ProtectorMissile:
		TNT1 A 0 A_GiveToTarget("ProtMissileKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Death.ProtectorPlasma:
		TNT1 A 0 A_GiveToTarget("ProtPlasmaKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Death.ProtectorLightning:
		TNT1 A 0 A_GiveToTarget("ProtLightningKill", 1)
		TNT1 A 0 A_GiveToTarget("ProtLightningMulti", 1)
		TNT1 A 0 A_GiveToTarget("ProtectorArmorShard", 1)
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim		
	Death.ProtectorDash:
		TNT1 A 0 A_GiveToTarget("UpgradeCount", 1)
		Goto DeathAnim
	Pain.GhostbusterHorror:
		TNT1 A 0 A_GiveInventory("VisionDimEffect", 1)
		Goto Spawn
	}
}

Actor JitterAtLunge : Inventory { 
	Inventory.MaxAmount 0x7fffffff 
}

Actor JitterskullWeapon : Weapon
{
   Weapon.SelectionOrder 350
   Inventory.PickupSound ""
   Weapon.SlotNumber 1
   Inventory.PickupMessage ""
   Obituary "%o was crunched by %k" 
   +WEAPON.NOAUTOAIM
   Weapon.Kickback 0
   Weapon.YAdjust 0
   +INVENTORY.UNDROPPABLE
   inventory.icon "SKULLATT"
   States
   {
   Spawn:
      BPAK A 400
      Stop
   Ready:
      JTRM A 0 ACS_ExecuteAlways(999,0)
      JTRM A 1 A_WeaponReady
      Goto Ready+1
   Deselect:
	  JTRM A 1 A_Lower
      Loop
   Select:
      TNT1 A 0 ACS_ExecuteAlways(700, 0, WM_JITTER)
      JTRM A 1 A_Raise
      Goto Select
   Fire:
     TNT1 A 0 A_ChangeFlag("THRUACTORS", true)
     JTRM A 0 A_GiveInventory("Clip",1)
     TNT1 A 0 ACS_ExecuteAlways(958, 0, 0)
     JTRM A 0 A_Stop
 
     JTRM A 0 A_Playweaponsound("skullattack")
     JTRM A 0 SetPlayerProperty(0, 1, 0)
     JTRM A 0 A_FireCustomMissile("JitterskullRipperSpawnerFurther", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
/*//*/   TNT1 A 0 A_GiveInventory("JitterAngleAtLunge", ACS_ExecuteWithResult(915, 0, 0, 0))
     JTRM A 0 A_Recoil(-56)
     JTRM A 1
     TNT1 A 0 A_GiveInventory("JitterNomCount", 1)
     TNT1 A 0 A_GiveInventory("CheckAchievements", 1)
     
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 45) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     
     // Total delay until this call: 2 tics
     TNT1 A 0 A_ChangeFlag("THRUACTORS", false)
     
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 55) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 65) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 75) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 85) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 95) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 105) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 115) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 125) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 135) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     
     JTRM A 0 A_JumpIfInventory("Crunched",1,"BloodReturn")
     
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 125) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 115) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 105) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 95) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 85) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 75) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 65) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 55) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM A 1 offset (0, 45) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     
/*//*/   TNT1 A 0 A_TakeInventory("JitterAngleAtLunge", ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0))
     TNT1 A 0 ACS_ExecuteAlways(958, 0, 1)
     JTRM A 18 offset (0, 32) SetPlayerProperty(0, 0, 0)
     JTRM A 0 offset (0, 32)
     JTRM A 0 A_TakeInventory("Clip",9999)
     JTRM A 0 A_JumpIfInventory("Crunched",1,"BloodDelay")
     JTRM A 6 A_TakeInventory("Crunched",999)
     JTRM A 8
     goto Ready
     BloodReturn:
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 125) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 115) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 105) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 95) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 85) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 75) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 65) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 55) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
     JTRM B 1 offset (0, 45) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
     JTRM B 18 offset (0, 32) SetPlayerProperty(0, 0, 0)
     JTRM B 0 A_TakeInventory("Clip",9999)
     goto BloodDelay
	 BloodReturn:
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 125) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 115) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 105) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 95) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 85) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 75) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 65) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 55) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM A 0 A_FireCustomMissile("JitterMeleeAttackSpawner", 0)
	 JTRM B 1 offset (0, 45) A_FireCustomMissile("JitterskullRipperSpawner", 0, 0, 0, 0)
	 JTRM B 18 offset (0, 32) SetPlayerProperty(0, 0, 0)
	 JTRM B 0 A_TakeInventory("Clip",9999)
	 goto BloodDelay
	 BloodDelay:
	 /*//*/	 TNT1 A 0 A_TakeInventory("JitterAngleAtLunge", ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0))
	 JTRM A 0 A_TakeInventory("Crunched",999)
	 JTRM B 2 offset (0, 32) A_PlaySoundEx("skulleating","Voice")
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 2 offset (5, 37)
	 JTRM B 2 offset (10, 42)
	 JTRM B 2 offset (15, 47)
	 JTRM B 2 offset (10, 52)
	 JTRM B 2 offset (5, 57)
	 JTRM B 2 offset (0, 62)
	 JTRM B 2 offset (-5, 57)
	 JTRM B 2 offset (-10, 52)
	 JTRM B 2 offset (-15, 47)
	 JTRM B 2 offset (-10, 42)
	 JTRM B 2 offset (-5, 37)
	 JTRM B 2 offset (0, 32)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM C 2 offset (5, 37)
	 JTRM C 2 offset (10, 42)
	 JTRM C 2 offset (15, 47)
	 JTRM C 2 offset (10, 52)
	 JTRM C 2 offset (5, 57)
	 JTRM C 2 offset (0, 62)
	 JTRM C 2 offset (-5, 57)
	 JTRM C 2 offset (-10, 52)
	 JTRM C 2 offset (-15, 47)
	 JTRM C 2 offset (-10, 42)
	 JTRM C 2 offset (-5, 37)
	 JTRM C 2 offset (0, 32)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM D 2 offset (5, 37)
	 JTRM D 2 offset (10, 42)
	 JTRM D 2 offset (15, 47)
	 JTRM D 2 offset (10, 52)
	 JTRM D 2 offset (5, 57)
	 JTRM D 2 offset (0, 62)
	 JTRM D 2 offset (-5, 57)
	 JTRM D 2 offset (-10, 52)
	 JTRM D 2 offset (-15, 47)
	 JTRM D 2 offset (-10, 42)
	 JTRM D 2 offset (-5, 37)
	 JTRM D 2 offset (0, 32)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM B 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, random(-22,22), random(2,15), random(2,15), random(2,15), random(8,12), random(-8,8),40)
	 JTRM E 2 offset (5, 37)
	 JTRM E 2 offset (10, 42)
	 JTRM E 2 offset (15, 47)
	 JTRM E 2 offset (10, 52)
	 JTRM E 2 offset (5, 57)
	 JTRM E 2 offset (0, 62)
	 JTRM E 2 offset (-5, 57)
	 JTRM E 2 offset (-10, 52)
	 JTRM E 2 offset (-15, 47)
	 JTRM E 2 offset (-10, 42)
	 JTRM E 2 offset (-5, 37)
	 Goto Ready
	AltFire:
	 JTRM A 0 A_Stop
	 JTRM A 22
	 TNT1 A 0 A_GiveInventory("JitterWalkCount", 1)
	 TNT1 A 0 A_GiveInventory("CheckAchievements", 1)
	 JTRM A 0 A_ReFire
	 JTRM A 1 ACS_ExecuteAlways(999,0)
	 Goto Ready
   }
}
 
Actor JitterSkullRipperSpawner
{
    Projectile
    states
    {
        Spawn:
        Death:
            TNT1 A 0
        Spawn2:
            TNT1 A 0 A_SpawnItemEx("JitterskullRipper", 0, 0, 0, ACS_ExecuteWithResult(921, 0, 0, 0) / 65536, ACS_ExecuteWithResult(922, 0, 0, 0) / 65536, ACS_ExecuteWithResult(923, 0, 0, 0) / 65536, 0, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS)
            stop
    }
}
 
Actor JitterSkullRipperSpawnerFurther : JitterSkullRipperSpawner
{
    states
    {
        Spawn2:
            TNT1 A 0 A_SpawnItemEx("JitterskullRipper", 16, 0, 0, ACS_ExecuteWithResult(921, 0, 0, 0) / 65536, ACS_ExecuteWithResult(922, 0, 0, 0) / 65536, ACS_ExecuteWithResult(923, 0, 0, 0) / 65536, 0, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS)
            stop
    }
}
 
Actor JitterskullRipper
{
    PROJECTILE
    +RIPPER
    +DONTREFLECT
    +DONTBLAST
    +BLOODLESSIMPACT
    Speed 0
    Radius 24
    Height 42
    Obituary "%o was crunched by %k" 
    damagetype "JitterMelee"
    damage 20
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 2
 
        Stop
    }
}
 
Actor JitterMeleeAttackSpawner
{
    Projectile
    //Speed 30
    states
    {
        Spawn:
        Death:
            TNT1 A 0
            //TNT1 A 0 A_SetAngle((ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0) * 360 ) / 65536)
            //TNT1 A 0 ACS_ExecuteAlways(918, 0, 1, 0, angle)
            //TNT1 A 0 ACS_ExecuteAlways(918, 0, 1, 1, ACS_ExecuteWithResult(920, 0.25, 0, 0))
            //TNT1 A 0 A_SpawnItemEx("DoomImpBall", 24, 0, 0, (30*ACS_ExecuteWithResult(919, ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, (30*ACS_ExecuteWithResult(920, ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, 0, angle, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_ABSOLUTEANGLE | SXF_TRANSFERPITCH | SXF_TRANSFERPOINTERS)
            TNT1 A 0 A_SpawnItemEx("JitterMeleeAttack", 30, 0, 0, (30*ACS_ExecuteWithResult(920, ACS_ExecuteWithResult(918, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, (30*ACS_ExecuteWithResult(921, ACS_ExecuteWithResult(918, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, 0, angle, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_ABSOLUTEANGLE | SXF_TRANSFERPITCH /* not effective now*/ | SXF_TRANSFERPOINTERS)
            TNT1 A 0 A_SpawnItemEx("JitterMeleeAttack", 60, 0, 0, (30*ACS_ExecuteWithResult(920, ACS_ExecuteWithResult(918, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, (30*ACS_ExecuteWithResult(921, ACS_ExecuteWithResult(918, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, 0, angle, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_ABSOLUTEANGLE | SXF_TRANSFERPITCH /* not effective now*/ | SXF_TRANSFERPOINTERS)
            //TNT1 A 0 A_SpawnItemEx("JitterMeleeAttackWeak", 72, 0, 0, (30*ACS_ExecuteWithResult(919, ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, (30*ACS_ExecuteWithResult(920, ACS_ExecuteWithResult(917, 0, JSKULL_LungeAngle, 0), 0, 0)) / 65536, 0, angle, SXF_ABSOLUTEVELOCITY | SXF_NOCHECKPOSITION | SXF_ABSOLUTEANGLE | SXF_TRANSFERPITCH | SXF_TRANSFERPOINTERS)
            stop
    }
}
 
Actor JitterMeele_SuccessfulSpawn : Inventory { 
	inventory.maxamount 1
}
 
Actor JitterMeleeAttack
{
    Projectile
    Radius 24
    Height 48
    //Speed 30
    Damage (8)
    Obituary "%o was crunched by %k" 
    damagetype "JitterMelee"
    +FORCERADIUSDMG
    +NODAMAGETHRUST
 
    States
    {
        Spawn:
            TNT1 A 0
            TNT1 A 1 A_GiveInventory("JitterMeele_SuccessfulSpawn", 1)
            goto Death
        Death:
            TNT1 A 0 A_JumpIfInventory("JitterMeele_SuccessfulSpawn", 1, "Die")
            goto Spawn2
        Spawn2:
            TNT1 A 0 A_Explode(16, 24, 0)
            stop
        Die:
            TNT1 A 0
            stop
    }
}
 
Actor JitterMeleeAttackWeak : JitterMeleeAttack
{
    Damage (4)
    States
    {
        Spawn2:
            TNT1 A 0 A_Explode(8, 24, 0)
            Stop
    }
}

Actor SonicCooldown : Timer
{
	Powerup.Duration 48
}

Actor JitterskullHeal : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Inventory.Icon "CRESA0"
	+INVBAR
	+INVENTORY.UNDROPPABLE
	States
	{
	Spawn:
		TNT1 A 0
		Stop
	Use:
		TNT1 A 1 ACS_ExecuteAlways(743, 0)
		Fail
	}
}

actor skullzhead
{
	scale 0.24
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.5
    SeeSound ""
    Speed 5
    States
    {
    Spawn:
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1 
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1 
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT B 1 
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT C 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT D 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        SJIT E 1
		TNT1 A 0 A_CustomMissile("ArchvileFirex2", 2, 0, random(0,360), 2,0)
        goto death
    Death:
        Stop
    }
}