Actor BlazeSpawn : PlayerPawn
{
	Mass 700
	Scale 0.8
	Health 150
	Gravity 0.0
	Player.SoundClass "Blazespawn"
	Player.DisplayName "Blazespawn"
	Player.ScoreIcon "BLAZST"
	Player.StartItem "BlazeSpawnWeapon", 1
	Player.StartItem "CombustionAmmo", 10
	Player.StartItem "ComBustionAmmo2", 7
	Player.StartItem "SpecialAbility", 1
	Player.StartItem "SuicideAmmo", 1
	Player.StartItem "IsGhoul", 1
	Player.ColorRange 112, 127
	Player.Maxhealth 150
	Player.ViewHeight 50
	bloodcolor "DarkRed"
	Species "Ghoul"
	Mass 300
	Damagefactor "IlluNukeKABUUM", 0.6
	Damagefactor "PistolBullets", 1.1
	Damagefactor "CalebRevolver", 1.1
	Damagefactor "ChexWarriorPistol", 1.1
	Damagefactor "IlluPewpewRifle", 1.2
	Damagefactor "AntiAirBolt", 1.4
	Damagefactor "RevyRifleBullet", 1.2
	Damagefactor "KarStiglitz", 1.1
	Damagefactor "railgun", 1.1
	Damagefactor "CodenameBeam", 1.1
	damagefactor "CryoXBow", 1.3
    damagefactor "Ghosttrap", 0.3
	Damagefactor "plasma", 0.9
	Damagefactor "ice", 0.8
	Damagefactor "ice2", 0.8
	Damagefactor "AltIce2", 0.8
	Damagefactor "fire2", 1.1
	Damagefactor "RenegadeFire", 1.1
	Damagefactor "AltFire2", 1.1
	DamageFactor "Grenade", 0.7
	DamageFactor "CalebDynamite", 0.7
	DamageFactor "normal", 0.7
    DamageFactor "ChexWarrior", 0.7
	Damagefactor "minion", 0.0
	Damagefactor "Sentinel", 1.1
	Damagefactor "SamDeagle", 1.1
	Damagefactor "Mechpewpews", 1.1
	Damagefactor "BlueFire", 0.0
	Damagefactor "ZombieIce", 0.0
    Damagefactor "ZombiePoison", 0.0
	Damagefactor "ZombieSlaps", 0.0
	Damagefactor "Tenebra", 0.0
	Damagefactor "Judgement", 0.0
	Damagefactor "ThrottlePews", 0.7
	Player.ForwardMove 1.0
	Player.SideMove 0.7
	LimitedToTeam 1
	+NOSKIN
	+NOICEDEATH
	+QUICKTORETALIATE
	States
	{
	Spawn:
		WICK A 0 A_Changeflag("shootable",true)
	    WICK A 0 SetPlayerProperty(0,0,4)
	    WICK A 0 SetPlayerProperty(0,1,3)
		WICK A 0 A_GiveInventory("ComBustionAmmo",1)
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		WICK A 20
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		Goto Spawn
	See:
		WICK E 0 A_JumpIfHealthLower(75,"INeedHealingSee")
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
        WICK E 8
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		WICK F 8
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		WICK E 0 A_GiveInventory("ComBustionAmmo",1)
		Goto See
	INeedHealingSee:
		WICK E 0 A_GiveInventory("ComBustionAmmo",1)
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
        WICK E 8
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK E 0 A_SpawnItemEx("GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		WICK E 0 A_SpawnItemEx("64GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		WICK F 8
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK F 0 A_SpawnItemEx("GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		WICK F 0 A_SpawnItemEx("64GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		Goto See
	Dancing:
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK A 0 Setplayerproperty(0,1,4)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		WICK AAAAAAAAAAAAAAAA 1
		WICK A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		WICK A 1 Setplayerproperty(0,0,4)
		WICK A 0 A_TakeInventory("AriaInfluence",10)
		Goto See
	Missile:
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
        WICK IJ 2
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
		WICK KL 2
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
	Goto See
	Melee:
		WICT D 1
	Goto Missile
	Pain:
	WICK M 0 Setplayerproperty(0,0,4)
	TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
	WICK M 2 A_Pain
	TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
	WICK M 2
    WICK M 0 A_SetPitch(pitch - 1.6)
	WICK M 0 A_SetAngle(angle + (random(-30,30)/10))
	Goto See
	Pain.Vivi:
	TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
	WICK M 2 A_Pain
	WICK M 2
	TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
	WICK M 0 A_SetPitch(pitch - 3.0)
	WICK M 0 A_SetAngle(angle + (random(-50,50)/10))
	Goto See
	Death.LoWangVampiric:
	TNT1 A 0 A_GiveToTarget("SWLoWangBloody",1)
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",20)
	Goto Death
	Pain.ViviMine:
	WICK M 0 ThrustThingZ(0,70,0,0)
	Goto Pain
	Death.SkarletPistolDrain:
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death
	Death.SkarletVampiric:
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",60)
	Goto Death
	Death.DoomChainSaw:
	TNT1 A 0 A_GiveToTarget("cell",50)
	TNT1 A 0 A_GiveToTarget("RocketAmmo",5)
	TNT1 A 0 A_GiveToTarget("clip1",50)
	TNT1 A 0 A_GiveToTarget("Shell",10)
	Goto Death
	Death.D64Pistol:
	TNT1 A 0 A_GiveToTarget("D64UnmakerUpgrades",1)
	TNT1 A 0 A_GiveToTarget("Cell",75)
	TNT1 A 0 A_GiveToTarget("D64KilledCount",1)
	Goto DeathAnimAlt
	Death.Plasma:
	TNT1 A 0 A_GiveToTarget("CyborgFuel",25)
	Goto DeathAnim
	Death.Telefrag:
	Goto Death.UnmakerLaser
	Pain.GwenPlasma2:
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		WICK M 0 Setplayerproperty(0,0,4)
		WICK M 0 A_Pain
		WICK M 20 Setplayerproperty(0,1,0)
		WICK M 2 Setplayerproperty(0,0,0)
		Goto See
	GwenGoddessDeath:
		TNT1 A 0 SetPlayerProperty(0,1,4)
		TNT1 A 0 A_SetTranslucent (1.0, 0)
		TNT1 A 0 A_SpawnItemEx("GwenTimeImplosionRing")
		TNT1 A 0 A_Playsound("Gwen/DivineExplosionSound",6,1,0,ATTN_NONE)
		WICK M 24 SetPlayerProperty(0,1,4)
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingDamageFX")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingDamage")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRing")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingX")
		TNT1 A 0 A_SpawnItemEx("GwenThunderFX")
		TNT1 A 0 A_SpawnItemEx("GwenGoddessStateEXP")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("KNThunderFX_Smoke", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 A 0 DamageThing(100000)
		Goto Death
	Death:
	DeathAnim:
	TNT1 A 0 A_GiveToTarget("KillBeep",1)
	TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
	WICT F 0 A_GiveToTarget("KilledMe",1)
	WICT F 0 A_GiveToTarget("KilledBlazeSpawn",1)
	WICT F 0 A_Gravity
	WICT F 0
    WICK N 5 A_PlayerScream
	WICK N 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICK N 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICK OP 5 
	WICK P 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICK P 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICK P 0 A_SpawnItemEX("WickedTorso",0,0,48,0,0,0,0,16)
    WICT A 5 A_NoBlocking
	WICT A 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICT A 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICT BCDEF 5 
    WICT G -1 A_SetFloorClip 
		Stop
	DeathAnimAlt:
	TNT1 A 0 A_GiveToTarget("KillIndicator",1)
	TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
	WICT F 0 A_GiveToTarget("KilledMe",1)
	WICT F 0 A_GiveToTarget("KilledBlazeSpawn",1)
	WICT F 0 A_Gravity
	WICT F 0
    WICK N 5 A_PlayerScream
	WICK N 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICK N 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICK OP 5 
	WICK P 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICK P 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICK P 0 A_SpawnItemEX("WickedTorso",0,0,48,0,0,0,0,16)
    WICT A 5 A_NoBlocking
	WICT A 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	WICT A 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
    WICT BCDEF 5 
    WICT G -1 A_SetFloorClip 
		Stop
	Death.ChexWarrior:
		WICK M 0 A_GiveToTarget("KillIndicator",1)
		WICK M 0 A_TakeInventory("KilledCount",999)
		WICK M 0 A_GiveToTarget("KilledMe",1)
		WICK M 0 A_GiveToTarget("KilledBlazeSpawn",1)
		WICK M 0 A_SpawnItemEx("ChexCereal",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		WICK M 0 A_GiveToTarget("ChexArmorBonus",25)
		WICK M 0 A_GiveToTarget("ChexBoop",1)
		WICK M 0 A_Stop
		WICK M 0 A_NoGravity
		WICK M 0 A_ChangeFlag("DONTGIB",1)
		WICK M 0 A_PlaySoundEx("Teleport/Chex",7)
		WICK M 0 A_PlaySoundEx("BlazeSpawn/Pain", "Body")
		WICK M 3 A_SpawnItem("BigZorch")
		WICK M 3 A_SetTranslucent(0.9,0)
		WICK M 0 A_Scream
		WICK M 3 A_SetTranslucent(0.8,0)
		WICK M 0 A_NoBlocking
		WICK M 3 A_SetTranslucent(0.7,0)
		WICK M 3 A_SetTranslucent(0.6,0)
		WICK M 3 A_SetTranslucent(0.5,0)
		WICK M 3 A_SetTranslucent(0.4,0)
		WICK M 3 A_SetTranslucent(0.3,0)
		WICK M 3 A_SetTranslucent(0.2,0)
		WICK M 3 A_SetTranslucent(0.1,0) 
		TNT1 A 1 A_SetTranslucent(1,0)
		TNT1 A -1
		Stop
	Death.CarolineDamage:
		NULL A 0 A_SpawnItemEx("CarolineHeart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		Goto Death.UnmakerLaser
	Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
	Death.MapGibber2:
	Death.UnmakerLaser:
		TNT1 A 0 A_GiveToTarget("KillBeep",1)
		TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
		TNT1 A 0 A_TakeInventory("KilledCount",999)
		TNT1 A 0 A_GiveToTarget("KilledMe",1)
		TNT1 A 0 A_GiveToTarget("KilledBlazeSpawn",1)
		TNT1 A 1
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Gravity
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		NULL A 1 A_SpawnItemEx("SoulGIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A -1
		Stop
	Death.MarineShotgun:
	WICT E 0 A_GiveToTarget("grenadeammo",1)
	WICT E 0 A_GiveToTarget("shell",3)
	WICT E 0 A_GiveToTarget("clip1",20)
	Goto DeathAnim
	Death.Marinemachinegun:
	WICT E 0 A_GiveToTarget("grenadeammo",1)
	WICT E 0 A_GiveToTarget("shell",3)
	WICT E 0 A_GiveToTarget("clip1",20)
	Goto Deathanim
	Death.Marinepistol:
	WICT E 0 A_GiveToTarget("grenadeammo",1)
	WICT E 0 A_GiveToTarget("shell",3)
	WICT E 0 A_GiveToTarget("clip1",20)
	Goto Deathanim
	Death.Grenade:
		WICT E 0 A_GiveToTarget("KilledG",1)
		Goto DeathAnim
	Death.CrapPlasma:
		WICT E 0 A_GiveToTarget("Unlock9",1)
		Goto DeathAnim
	Death.Ice2:
		WICT A 0 A_GiveToTarget("KilledIce2",1)
		Goto DeathAnim
	Death.Fire2:
		WICT A 0 A_GiveToTarget("KilledFire2",1)
		Goto DeathAnim
	Death.Railgun:
		WICT A 0 A_GiveToTarget("KilledLightning",1)
		Goto DeathAnim
	Death.GhostTrap:
		WICT A 0 A_GiveToTarget("KilledG",1)
		Goto DeathAnim
	Death.AltFire2:
		WICT A 0 A_GiveToTarget("KilledAltFire2",1)
		Goto Death.Fire2
	Death.AltIce2:
		WICT A 0 A_GiveToTarget("KilledAltIce2",1)
		Goto Death.Ice2
	Death.AltGrenade:
		WICT A 0 A_GiveToTarget("KilledAltG",1)
		Goto Death.Grenade
	Death.Fire3:
		WICT A 0 A_GiveToTarget("KilledFire3",1)
		Goto DeathAnim
	Death.Ice3:
		WICT A 0 A_GiveToTarget("KilledIce3",1)
		Goto DeathAnim
	Death.Grenade2:
		WICT A 0 A_GiveToTarget("KilledG2",1)
		Goto DeathAnim
	Pain.Drainer:
		WICT A 0 A_GiveToTarget("Health",10)
		Goto Spawn
	Death.ChexWarriorPistol:
	Death.ChexWarriorChainsaw:
	Goto Death.ChexWarrior
	Death.RenegadeBullets:
	Death.RenegadeFire:
	Death.ArtilleryDamage:
		TNT1 A 0 A_GiveToTarget("RenegadeKillItem",1)
		Goto DeathAnimAlt
	Death.CalebDynamite:
		TNT1 A 0 A_GiveToTarget("KilledG",1)
	Death.CalebShotgun:
	Death.CalebRevolver:
		TNT1 A 0 A_GiveToTarget("Health",20)
		TNT1 A 0 A_SpawnItemEx("CalebHeart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		TNT1 A 0 A_GiveToTarget("CalebHeartbeat",1)
		Goto DeathAnimAlt
	Pain.EngineerSaw:
	Pain.Ghosttrap:
	Pain.GBFire:
	Pain.Misty:
	Pain.GBSaw:
	Pain.GBString:
	Pain.GBNuke:
	Pain.Ice2:
	Pain.Ice:
	Pain.ElecStorm:
	Pain.AltFire2:
	Pain.AltIce2:
	Pain.Fire2:
	Pain.Doggo:
	Pain.LaraArrow:
	Pain.Wind2:
	Pain.Grenade:
	Pain.Grenade2:
	Pain.TemplarLightningRain:
	Pain.CarolineDamage:
	Pain.ChexWarrior:
	Pain.InariPlasma:
	Pain.Plasma:
	Pain.FlameProtect:
	Pain.DutchShotgun:
	Pain.KarenExplo:
	Pain.Sentinel:
	Pain.Divine:
	Pain.GwenPlasma3:
	Pain.MacheteSlicerino:
	Pain.AntiAirbolt:
	Pain.MechPewPews:
	Pain.RainbowNado:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
	}
}

Actor WickedTorso
{
  Mass 1000000
  Radius 1
  Height 1
  +IsMonster
  +Corpse
  +DONTBLAST
  
  States
  {
  Spawn:
    TNT1 A 0 // Without this, the sound below will never be played
    WICK Q 5 A_PlaySound("monster/tenpn1")
    WICK R 5
    Wait
  Crash:
    WICK S 1 A_SetFloorClip
    WICK S 4 A_PlaySound("monster/tenpn2")
    WICK TUV 5
    WICK W -1
    Stop
  }
}

Actor WickedTorsoRes
{   
  Radius 24
  Height 24
  +NoGravity
  +NoBlockMap
  +NoClip
  
  States
  {
  Spawn:
    WICK WVUTSRQ 5
    Stop     
  }
}

Actor ComBustionAmmo : Ammo
{
  Inventory.PickupMessage ""
  Inventory.Amount 10
  Inventory.MaxAmount 10
  Ammo.BackpackAmount 1
  Ammo.BackpackMaxAmount 1
  States
  {
  Spawn:
    TNT1 A 8 Bright
    Loop
  }
}

Actor ComBustionAmmo2 : Ammo
{
  Inventory.PickupMessage ""
  Inventory.Amount 10
  Inventory.MaxAmount 10
  Ammo.BackpackAmount 1
  Ammo.BackpackMaxAmount 1
  States
  {
  Spawn:
    TNT1 A 8 Bright
    Loop
  }
}

Actor SuicideAmmo : Ammo
{
  Inventory.PickupMessage ""
  Inventory.Amount 1
  Inventory.MaxAmount 1
  Ammo.BackpackAmount 1
  Ammo.BackpackMaxAmount 1
  States
  {
  Spawn:
    TNT1 A 8 Bright
    Loop
  }
}

Actor BlazeSpawnWeapon : Weapon
{
	Weapon.SelectionOrder 350
	Weapon.SlotNumber 1
	Weapon.Kickback 3000
	Weapon.YAdjust 0
	Weapon.Ammotype "ComBustionAmmo"
	Weapon.Ammouse 10
	Weapon.Ammotype2 "CombustionAmmo2"
	Weapon.Ammouse2 10
	Obituary "%o was blown to bits by %k."
	+WEAPON.DONTBOB
	+WEAPON.NOAUTOAIM
	+INVENTORY.UNDROPPABLE
	States
	{
	Spawn:
		TNT1 A 0
		Stop
	Ready:
		TNT1 A 50 A_WeaponReady 
		PLZM A 0 A_JumpIfInventory("CyborgDashCheck",1,"SuicideActivate")
		Loop 
	Ready2:
		TNT1 A 50 A_WeaponReady
		wait
	Deselect:
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Lower 
		TNT1 A 1 A_Lower
		loop
	Select:
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		TNT1 A 1 A_Raise
		Goto Select
	Fire:
		TNT1 A 0 A_PlayWeaponSound("SPRKFM1") 
		TNT1 A 0 A_GiveInventory("ComBustionAmmo2",1)
		TNT1 A 0 A_FireCustomMissile("CombustionPellet2", 0, 1, 0, 20)
		TNT1 A 0 A_FireCustomMissile("CombustionPellet", 0, 0, 0, 20)
		TNT1 A 3 
		TNT1 A 3 
		TNT1 A 3 
		TNT1 A 3 
		Goto Ready
	AltFire:
		TNT1 A 1 A_Playsound("LGHTCRG",1,1,0,ATTN_NONE) 
		TNT1 A 60
		TNT1 A 0 A_FireCustomMissile("MagichandLightingThunderShot", 0, 1, 0, 20)
		TNT1 A 3
		TNT1 A 3 
		TNT1 A 3 
		TNT1 A 3 
		TNT1 A 3  
	goto Ready
	SuicideActivate:
	TNT1 A 0 A_TakeInventory("CyborgDashCheck",999)
	TNT1 A 0 A_JumpIfInventory("SuicideAmmo",1,"KABUUM")
	Goto Ready
	KABUUM:
	TNT1 A 40 A_Playsound("DSPLUTEX",1,1,0,ATTN_NONE)
	TNT1 A 40 A_Playsound("DSPLUTEX",1,1,0,ATTN_NONE)
	TNT1 A 40 A_Playsound("DSPLUTEX",1,1,0,ATTN_NONE)
	TNT1 A 0 A_Playsound("SPRKBM1",1,1,0,ATTN_NONE)
	TNT1 A 1 A_FireCustomMissile("CombustionPellet3", 0, 0, 0)
	TNT1 A 0 Radius_Quake(16,12,0,25,0)
	TNT1 A 1 Damagething(9999)
	Goto Ready
	}
}

ACTOR CombustionPellet : FastProjectile
{
   Speed 150
   Damage (CallACS("DistanceDamageProjectile",750,3000,14,100))
   Height 3
   Radius 3
   DeathSound "SPRKBM1"
   DamageType "Jitter"
   Obituary "%o was blown to bits by %k."
   Projectile
   +SEEKERMISSILE
   States
   {
   Spawn:
      SPPJ A 10 BRIGHT A_SpawnItemEx("CombustionAttackTrail", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 A_Playsound("SPRKXM1",1,1,0,ATTN_NONE)
      loop
   XDeath:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
   Death:
		TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
	    TNT1 A 0 A_Stop
		TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
		TNT1 A 0 A_JumpIfTargetInLOS("SplashBeep",360,JLOSF_PROJECTILE,231)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
   SplashBeep:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
   DeathCont:
        TNT1 A 0 A_Playsound("SPRKBM1",1,1)
        TNT1 AA 0 A_SpawnItemEx("SuperMissileExplosionLarge",0,0,0,0,0,0,0,160)
        TNT1 A 0 A_SpawnItemEx("MSuperMissileExplosionVeryLarge",0,0,0,0,0,0,0,160)
		TNT1 A 1 A_Explode(20,184)
      Stop 
   } 
} 

ACTOR CombustionPellet2 : FastProjectile
{
   Speed 150
   Damage (0)
   Height 3
   Radius 3
   DeathSound "SPRKBM1"
   DamageType "Jitter"
   Obituary "%o was blown to bits by %k."
   Projectile
   
   States
   {
   Spawn:
      TNT1 A 0 A_SpawnItemEx("Combustionwavex")
      TNT1 A 1 Bright A_SpawnItemEx("BlazeSpawnFiringTrail",0,0,1,0,0,0,0,160)
	  TNT1 A 0 A_SpawnItemEx("BlazeSpawnFiringTrail",0,0,1,random(-50,50)/100.00,random(-50,50)/100.00,random(-50,50)/100.00,0,160)
      loop
   Death:
      TNT1 A 0
      Stop 
   } 
} 

ACTOR CombustionPellet4
{
   Speed 150
   Damage (CallACS("DistanceDamageProjectile",750,3000,14,90))
   Height 3
   Radius 3
   DeathSound "SPRKBM1"
   DamageType "Jitter"
   Obituary "%o was blown to bits by %k."
   Projectile
   States
   {
   Spawn:
      SPPJ A 10 BRIGHT A_SpawnItemEx("CombustionAttackTrail", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 A_Playsound("Blazespawn/MapPop",1,1,0,ATTN_NONE)
      loop
   Death:
        TNT1 A 0 A_Playsound("SPRKBM1",1,1)
        TNT1 AA 0 A_SpawnItemEx("SuperMissileExplosionLarge",0,0,0,0,0,0,0,160)
        TNT1 A 0 A_SpawnItemEx("MSuperMissileExplosionVeryLarge",0,0,0,0,0,0,0,160)
		TNT1 A 1 A_Explode(15,164)
      Stop 
   } 
} 

actor BlazeSpawnFiringTrail
{
    RenderStyle Add
    Alpha 0.9
    Scale 0.15
    +NOINTERACTION
	+CLIENTSIDEONLY
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 
        TMK1 AB 1 BRIGHT
        TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4")
        TNT1 A 1
        stop
    Spawn1:
        TMK1 ABCDEFGHIJKLMNOPQR 1
        stop
    Spawn2:
        TMK2 ABCDEFGHIJKLMNOPQR 1
        stop
    Spawn3:
        TMK3 ABCDEFGHIJKLMNOP 1
        stop
    Spawn4:
        TMK4 ABCDEFGHIJKLMNOP 1
        stop
    Nope:
        TNT1 A 1
        stop
    }
}

actor CombustionAttackTrail
{
    Radius 1
    Height 1
    Speed 0
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.6
    +NOCLIP
	+NOGRAVITY
	+CLIENTSIDEONLY
    States
    {
    Spawn:
     SPPJ A 1 Bright A_Fadeout(0.1)
	 SSPJ A 1 A_SpawnItemEx("CombustionWave")
     loop 
    }
}

ACTOR CombustionWave
{
- SOLID
//+NOBLOCKMAP
+NOGRAVITY
+NOBLOOD
+NODAMAGE
+CLIENTSIDEONLY
+GHOST
Health 5
translation "112:127=80:95"
height 10
radius 10
mass 99999999999
scale 0.8
renderstyle translucent
alpha 0.8
States
{
Spawn:
PR2E A 0
PR2E ABCDEFGHIJKLMNO 2 bright A_FadeOut(0.04)
Stop
}
}

ACTOR CombustionWaveX
{
- SOLID
//+NOBLOCKMAP
+NOGRAVITY
+NOBLOOD
+CLIENTSIDEONLY
+NODAMAGE
+GHOST
Health 5
translation "112:127=80:95"
height 1
radius 1
mass 99999999999
scale 0.4
renderstyle translucent
alpha 0.8
States
{
Spawn:
PR2E A 0
PR2E ABCDEFGHIJKLMNO 2 bright A_FadeOut(0.04)
Stop
}
}

actor MSuperMissileExplosionVeryLarge
{
    RenderStyle Add
    Alpha 0.9
    Scale 2.3
	+CLIENTSIDEONLY
    +NOINTERACTION
    States
    {
    Spawn:
        TNT1 A 0 Radius_Quake(10,12,0,25,0)
        FBLS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 BRIGHT A_SpawnItemEx("MissileTrailLarge",random(-100,100)/100.00,random(-100,100)/100.00,random(-100,100)/100.00,random(-200,200)/100.00,random(-200,200)/100.00,random(-200,200)/100.00,random(-180,180),160,64)
        FBL2 ABCDEFGHIJ 1 BRIGHT
        stop
    }
}

ACTOR CombustionPellet3 
{
   Speed 64
   Damage (9001)
   Height 3
   Radius 3
   DeathSound "SPRKBM1"
   DamageType "Jitter"
   Obituary "%o was blown to bits by %k."
   Projectile
   States
   {
   Spawn:
	  TNT1 A 0
      Goto Death
   Death:
        TNT1 AA 0 A_SpawnItemEx("SuperMissileExplosionLarge",0,0,0,0,0,0,0,160)
        TNT1 A 0 A_SpawnItemEx("MSuperMissileExplosionVeryLarge",0,0,0,0,0,0,0,160)
		TNT1 A 1 A_Explode(5000,230)
      Stop 
   } 
} 

Actor ThunderFX // 3004
{
	+NoInteraction
	
	States
	{
	Spawn:
		TNT1 A 0
		goto Death
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("ThunderFX_LightObject", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("ThunderFX_Flare", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("ThunderFX_Flare", 0, 0, 512, 0, 0, 0, 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("ThunderFX_Bolt", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("ThunderFX_Smoke", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 A 0 A_PlaySoundEx("DSTHUNDA", "Body", 0, 2)
		TNT1 A 30 Radius_Quake(9, 30, 0, 15, 0)
		Stop
	}
}
Actor ThunderFX_LightObject
{
	+NoInteraction
	+CLIENTSIDEONLY
	RenderStyle None
	scale 2.0
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 B 5//1
		TNT1 A 3
		TNT1 B 4//2
		TNT1 CDEFGHIJKL 1//FadeOut
		Stop
	}
}
//Flare
Actor ThunderFX_Flare
{
	+NoInteraction
	+CLIENTSIDEONLY
	RenderStyle Add
	scale 2.0
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Flash1", "Flash2", "Flash3", "Flash4")
	Flash1:
		BFLR A 1
		BFLR A 1 Bright A_FadeOut(0.05)
		Wait
	Flash2:
		BFLR B 1
		BFLR B 1 Bright A_FadeOut(0.05)
		Wait
	Flash3:
		BFLR C 1
		BFLR C 1 Bright A_FadeOut(0.05)
		Wait
	Flash4:
		BFLR D 1
		BFLR D 1 Bright A_FadeOut(0.05)
		Wait
	}
}
//ThunderBolt
Actor ThunderFX_Bolt
{
	+NoInteraction
	+CLIENTSIDEONLY
	RenderStyle Add
	scale 2.0
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Flash1", "Flash2", "Flash3")
	Flash1:
		THUN A 1
		THUN A 1 Bright A_FadeOut(0.04)
		Wait
	Flash2:
		THUN B 1
		THUN B 1 Bright A_FadeOut(0.04)
		Wait
	Flash3:
		THUN C 1
		THUN C 1 Bright A_FadeOut(0.04)
		Wait
	}
}
//Sparks
Actor ThunderFX_Spark
{
	+Missile
	-NoGravity
	+CLIENTSIDEONLY
	Gravity 0.1
	Radius 4
	Height 8
	RenderStyle Add
	Scale 0.0125
	States
	{ 
	Spawn:
		BFLR A 1 Bright
		Wait
	}
}
//Smoke
Actor ThunderFX_Smoke
{
	+NoInteraction
	+CLIENTSIDEONLY
	Alpha 0.9
	scale 2.0
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Cloud1", "Cloud2", "Cloud3", "Cloud4")
	Cloud1:
		SMOG A 1 A_FadeOut(0.0125)
		Wait
	Cloud2:
		SMOG B 1 A_FadeOut(0.0125)
		Wait
	Cloud3:
		SMOG C 1 A_FadeOut(0.0125)
		Wait
	Cloud4:
		SMOG D 1 A_FadeOut(0.0125)
		Wait
	}
}



ACTOR MagichandLightingThunderShot : fastprojectile//normal fire
{
	PROJECTILE
	Damage 0
	Radius 8 
	Height 8 
	obituary "%k forecasted %o's local weather."
	Speed 1000
	Scale  1.0
	+NOGRAVITY 
	+friendly
	States
	{
		Spawn:
			TNT1 A 1
			loop
		Death:
			TNT1 A 0 A_SpawnItem("MagichandLightingThunderFX")
			TNT1 A 1 A_SpawnItemEx("MagichandLightingThunderFXDamage", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
			Stop
	}
}

Actor MagichandLightingThunderFXDamage
{
	Projectile
	Damagetype "Jitter"
	obituary "%k forecasted %o's local weather."
	Speed 0
	Damage (0)
	+SEEKERMISSILE
	States
	{
	Spawn:
		TNT1 A 0
		goto Death
	XDeath:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
	Death:
		TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
		TNT1 A 0 A_JumpIfTargetInLOS("SplashBeep",360,JLOSF_PROJECTILE,195)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
	SplashBeep:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 0 A_Jump(256,"DeathCont")
		Goto DeathCont
	DeathCont:
		TNT1 A 1 A_Explode(100, 138, 0)
		Stop
	}
}

Actor MagichandLightingThunderFX : ThunderFX
{
	Damagetype "Jitter"
	obituary "%k forecasted %o's local weather."
	States
	{
	Spawn:
		TNT1 A 0
		goto Death
	}
}