// Decorate code for Mirabel
Actor Mirabel : PlayerPawn
{
+NOSKIN
+NOICEDEATH
+NODAMAGETHRUST
+QUICKTORETALIATE
+GHOST  
    Health 150
	Player.Maxhealth 200
    Radius 16
    Height 56
    Mass 700
	scale 0.9
    PainChance 128
	PainChance "CreepStun", 256
	PainChance "RavagerBall", 256
    Player.ColorRange 112, 127
	Player.Weaponslot 1, MirabelMachRifle
	Player.Startitem "MirabelMachRifle"
	Player.Startitem "MirabelAmmo1", 100
	Player.Startitem "MirabelAmmo2", 100
	Player.Startitem "MirabelRainAmmo", 2
	Player.StartItem "SpecialAbility", 1
    Player.DisplayName "Mirabel"
	Player.ScoreIcon "MIRAST"
    Player.StartItem "IsHuman", 1
    Player.StartItem "Screamer", 0
    Player.ForwardMove 0.9, 0.9
    Player.SideMove 0.9, 0.9
	Damagefactor "AntiAirbolt", 0.0
	Damagefactor "Wendigo", 0.9
	Damagefactor "Jitter", 0.6
	Damagefactor "HarvesterAlt", 0.6
	Damagefactor "MorphRipperGib", 0.6
	Damagefactor "DarkVortex", 0.6
	Damagefactor "ImpostorJitter", 0.6
	Damagefactor "PuppetStrings", 0.6
	Damagefactor "LichIce", 0.6
	Damagefactor "LichLightning", 0.6
	Damagefactor "AsylumCannonBall", 0.6
	Damagefactor "Harvester", 0.6
	Damagefactor "Justicar", 1.2
	Damagefactor "Normal", 1.0
	Damagefactor "GraveStalkerLure", 1.6
	Damagefactor "Yureiball", 0.6
	Damagefactor "InariPlasma", 1.1
	Damagefactor "Sentinel", 0.0
	Damagefactor "Hellzone", 0.7
	Damagefactor "MechPewPews", 0.0
	Damagefactor "MacheteSlicerino", 0.0
    Damagefactor "GasterSmokeHurt", 0.0
	Damagefactor "StrifeSuit", 0.0
    Player.SoundClass "Mirabel"
    LimitedToTeam 0
    States
    {
 Spawn:
		GARD A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
		GARD A 9 Setplayerproperty(0,0,0)
		GARD A 0 A_JumpIfInventory("MirabelAmmo1", 100, "Spawn")
		GARD A 0 ACS_ExecuteAlways(996,0)
		GARD A 0 A_GiveInventory("MirabelAmmo1", 5)	
		GARD A 1
		Loop
 See:
   GARD A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
   GARD A 0 A_JumpIfHealthlower(100,"INeedHealingSee")
   GARD A 4
   GARD B 4 A_SpawnItemEx ("MirabelStomp", 0, 0, 0, 0, 0, -20, 0,0, 0)
   GARD C 4
   GARD D 4 A_SpawnItemEx ("MirabelStomp", 0, 0, 0, 0, 0, -20, 0,0, 0)
   Goto Spawn
 INeedHealingSee:
   GARD A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
   GARD A 0 A_SpawnItemEx("INeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
   GARD A 4
   GARD B 4 A_SpawnItemEx ("MirabelStomp", 0, 0, 0, 0, 0, -20, 0,0, 0)
   GARD C 4
   GARD D 4 A_SpawnItemEx ("MirabelStomp", 0, 0, 0, 0, 0, -20, 0,0, 0)
   Goto Spawn
 Missile:
   GARD E 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
   GARD FE 2 Bright
   Goto Spawn
 Melee:
   GARD F 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
   GARD F 6 Bright
   Goto Spawn
	Pain.TeleOtherPlant:
	TNT1 A 0 A_GiveInventory("TeleOtherPlanted",1)
	Goto Pain
	Pain.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSend")
	Goto Pain
	TeleOtherSend:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	GARD G 1 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	Goto Pain
	Death.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSplode")
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	GARD G 1 A_PlaySound("Gibbage/XSplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	TeleOtherSplode:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	GARD G 1 A_PlaySound("Gibbage/XSplat")
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Pain.Choke:
	TNT1 A 0 A_GiveToTarget("Health",2)
	TNT1 A 0 A_GiveToTarget("ChokeCharging",1)
	Goto Pain
  Pain.JusticarSpike:
	TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	TNT1 A 0 A_GiveToTarget("Health",2)
  Pain:
	GARD G 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	GARD G 0 A_GiveInventory("MirabelRainAmmo", 1)
	GARD G 0 A_Print("Plasma rain available! (Max. 2 stocked)")
    GARD G 4 A_Pain
    Goto Spawn
	Pain.LoonaClawing:
	TNT1 A 0 A_GiveToTarget("Health",6)
	GARD G 20 Setplayerproperty(0,1,0)
	GARD G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",5)
	GARD G 20 Setplayerproperty(0,1,0)
	GARD G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",8)
	GARD G 20 Setplayerproperty(0,1,0)
	GARD G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Death.LoonaClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Pain.GloomWatcherLure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto pain
	Death.GloomWatcherlure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto Death.Jitter
	GloomDeath:
	TNT1 A 1 Damagething(99999,18)
	Goto Death
	Death.Fleshbent:
	TNT1 A 0 A_GiveToTarget("TentacleAmmo",2)
	TNT1 A 0 A_GiveToTarget("Soulscepter1",15)
	TNT1 A 0 A_GiveToTarget("Soulscepter2",50)
	Goto Death.Jitter
	Pain.BastetClawing:
		TNT1 A 0 A_GiveToTarget("Health",4)
		Goto Pain
	Pain.BastetClawingLightSFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",3)
		Goto Pain
	Pain.BastetClawingHeavySFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",6)
		Goto Pain
	Pain.Sickle:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	Pain.Wendigo:
		TNT1 A 0 A_PlaySound("RAVEN1",CHAN_5)
		Goto Pain
	Pain.Justicar:
	TNT1 A 0 A_custommissile("Justicarattack",14,0,random(0,360))
	TNT1 A 0 A_GiveToTarget("Health",1)
	TNT1 A 0 A_GiveToTarget("JusticarSecondaryAmmo",1)
	Goto pain
  Pain.Creepstun:
    GARD G 0 A_Pain
	GARD G 0 A_GiveToTarget("health",5)
	GARD G 40 Setplayerproperty(0,1,0)
	GARD G 2 Setplayerproperty(0,0,0)
	Goto Spawn
  Death.Creeper:
	GARD A 0 A_PlaySoundEx("creeperattack", "Body")
	GARD A 0 A_SpawnItemEx("CreeperPopUp",0,0,10)
	TNT1 A 0 A_GiveToTarget("GhoulAmmo",1)
	GARD A 0 A_GiveToTarget("Creeperheal",1)
    GARD A 0 ACS_ExecuteAlways(997,0,1)
	goto DeathAnimAlt
  Death.Creepstun:
	GARD A 0 A_GiveToTarget("Unlock13",1)
	GARD A 0 A_GiveToTarget("CreepGotya",1)
	goto DeathAnimAlt
  Death.SjasScream:
  Death.FrostbiteWind:
  Death.EmtalicSaw:
  Death.LichFire:
    GARD A 0 A_GiveToTarget("KilledJ",1)
    Goto DeathAnim
  Death:
  DeathAnim:
	GARD A 0 A_GiveToTarget("KillBeep",1)
	GARD A 0 A_GiveInventory("ItemDeath",1)
	GARD A 0 A_TakeInventory("KilledCount",999)
    GARD A 0 A_GiveToTarget("KilledMe",1)
    GARD A 0 A_GiveToTarget("KilledMirabel",1)
    GARD H 8
    GARD I 8 A_PlayerScream
    GARD J 8 A_NoBlocking
    GARD KLM 8
    GARD N -1
    Stop
  DeathAnimAlt:
	GARD A 0 A_GiveToTarget("KillIndicator",1)
	GARD A 0 A_GiveInventory("ItemDeath",1)
	GARD A 0 A_TakeInventory("KilledCount",999)
    GARD A 0 A_GiveToTarget("KilledMe",1)
    GARD A 0 A_GiveToTarget("KilledMirabel",1)
    GARD H 8
    GARD I 8 A_PlayerScream
    GARD J 8 A_NoBlocking
    GARD KLM 8
    GARD N -1
    Stop
	Death.GhoulChainSaw:
	TNT1 A 0 A_GiveToTarget("Health",50)
	TNT1 A 0 A_GiveToTarget("BearTarpsAmmo",1)
	TNT1 A 0 A_GiveToTarget("SawyerRageammo",10)
	TNT1 A 0 A_GiveToTarget("DUMMY_SawyerBloodyChainsaw", 1)
	Goto Death.Jitter
	Death.BastetClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.Choke:
		TNT1 A 0 A_GiveToTarget("Health",25)
		TNT1 A 0 A_GiveToTarget("ChokeCharging",40)
	Goto Death.Jitter
	Death.JusticarSpike:
		TNT1 A 0 A_GiveToTarget("Health",15)
	Goto Death.Jitter
	Death.Sinistar:
		TNT1 A 0 A_GiveToTarget("SiniPrimary",1)
	Goto Death.Jitter
  Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
  Death.MapGibber2:
  Death.Jitter:
	GARD A 0 A_GiveToTarget("KillBeep",1)
	GARD A 0 A_GiveInventory("ItemDeath",1)
    GARD A 0 A_GiveToTarget("Crunched",1)
	GARD A 0 A_GiveToTarget("KilledMe",1)
	GARD A 0 A_GiveToTarget("KilledMirabel",1)
	GARD G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("CYBGIBBER", 0, 0, 0, 0, 0, 0, 0, 161, 0)
	NULL A 1 A_SpawnItemEx("GrenadeExplosion", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Death.JitterAlt:
	GARD A 0 A_GiveToTarget("KillIndicator",1)
	GARD A 0 A_GiveInventory("ItemDeath",1)
    GARD A 0 A_GiveToTarget("Crunched",1)
	GARD A 0 A_GiveToTarget("KilledMe",1)
	GARD A 0 A_GiveToTarget("KilledMirabel",1)
	GARD G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("CYBGIBBER", 0, 0, 0, 0, 0, 0, 0, 161, 0)
	NULL A 1 A_SpawnItemEx("GrenadeExplosion", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	Death.Harvester:
		TNT1 A 0 A_GiveToTarget("SoulHarvesterFragment",1)
		TNT1 A 0 A_GiveToTarget("KilledJ",1)
		Goto Death.Jitter
	Death.HarvesterRock:
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto DeathAnim
	Death.HarvesterAlt:
		TNT1 A 0 A_GiveToTarget("Crunched2",1)
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto Death.Jitter
  Death.Ravager:
		GARD A 0 A_GiveToTarget("KilledR",1)
		GARD A 0 A_GiveToTarget("Health",100)
		GARD A 0 ACS_ExecuteAlways(997,0,2)
		GARD A 0 A_PlaySoundEx("RavagerAttack","Body")
		GARD A 0 A_SpawnItemEx("RavagerHit",0,0,32)
		Goto DeathAnimAlt
	Death.RavagerBall:
		GARD A 0 A_GiveToTarget("RavagerGotYa",1)
		GARD A 0 A_GiveToTarget("KilledJ",1)
		Goto DeathAnimAlt
	Death.Yurei:
		GARD A 0 A_GiveToTarget("KilledY",1)
		GARD A 0 A_PlaySoundEx("YureiKill1","Body",0,1)
		GARD A 0 ACS_ExecuteAlways(997,0,3)
		Goto DeathAnimAlt
	Death.YureiBall:
		GARD A 0 A_GiveToTarget("Health",10)
		GARD A 0 A_SpawnItemEx("BallFire")
		Goto Death.SjasScream
	Death.UboaRawrScream:
		Goto DeathAnimAlt
	Death.Misty:
	Death.Whiteface:
		GARD A 0 A_GiveToTarget("KillBeep",1)
		GARD A 0 A_GiveInventory("ItemDeath",1)
		GARD A 0 A_GiveToTarget("KilledMe",1)
		GARD A 0 A_GiveToTarget("KilledM",1)
		GARD HHHH 2 A_FadeOut(0.1)
		GARD A 0 A_PlayerScream
		GARD IIIIJJ 2 A_FadeOut(0.1)
		GARD A 0 A_NoBlocking
		NULL A -1
		Stop
	Death.Clowny:
		GARD A 0 ACS_ExecuteAlways(997,0,4)
		GARD A 0 A_GiveToTarget("KilledC",1)
		GARD A 0 A_GiveToTarget("ClownyAmmo",5)
		Goto DeathAnim
	Death.Mohoph:
		TNT1 A 0 A_GiveToTarget("MorphAmmo", 1)
		GARD A 0 A_GiveToTarget("TransMirabel",1)
		GARD A 0 A_PlaySoundEx("MohophKill","Body")
		GARD A 0 ACS_ExecuteAlways(997,0,5)
		Goto DeathAnim
	Death.EmtalicWeak:
		GARD A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto DeathAnim
	Death.Emtalic:
		GARD A 0  A_PlaySoundEx("RamSuccess","Body")
		Goto Death.Jitter
	Death.I1:
		GARD A 0 A_SpawnItemEx("Heart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		GARD A 0 A_GiveToTarget("KilledI1",1)
		Goto DeathAnim
	Death.I2:
		GARD A 0 A_GiveToTarget("KillBeep",1)
		GARD A 0 A_GiveInventory("ItemDeath",1)
		GARD A 0 A_GiveToTarget("KilledMe",1)
		GARD A 0 A_GiveToTarget("KilledI2",1)
		GARD A 0 A_GiveToTarget("Clip",1)
		GARD G 0 SetPlayerProperty(0,1,4)
		GARD G 0 A_Stop
		GARD GGGGGGGGGGGGGG 5 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		NULL A 0 A_PlayerScream
		NULL A 0 ACS_ExecuteAlways(997,0,6)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
		NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A 1 A_SpawnItemEx("SkullGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("ChestGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("ArmGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("HandGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("CoccyxGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("LegGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AAAAAA 1 A_SpawnItemEx("BoneGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A -1 A_NoBlocking
		Stop
	Death.I3:
		GARD A 0 A_GiveToTarget("KillBeep",1)
		GARD A 0 A_GiveInventory("ItemDeath",1)
		GARD A 0 A_GiveToTarget("KilledMe",1)
		GARD A 0 A_GiveToTarget("KilledI3",1)
		GARD HHHHHHHH 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		GARD I 0 A_PlayerScream
		GARD IIIIIIII 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		GARD J 0 A_NoBlocking
		GARD JJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMM 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		GARD NNNNNNN 3 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		GARD N -1
		Stop
	Death.I4:
		GARD A 0 A_GiveToTarget("KilledI4",1)
		Goto DeathAnim
	Death.I5:
		GARD A 0 A_GiveToTarget("KilledI5",1)
		Goto DeathAnim
	Pain.RavagerBall:
		GARD A 0 ACS_ExecuteAlways(920,0)
		Goto Pain
	Pain.YureiBall:
		GARD A 0 A_GiveToTarget("Health",10)
		GARD A 0 A_SpawnItemEx("BallFire")
		Goto Pain
	Pain.Emtalic:
		GARD A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Pain.EmtalicWeak:
		GARD A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Death.Tenebra:
		TNT1 A 0 A_GiveToTarget("Health",20)
		Goto DeathAnim
	Death.TenebraRail:
	Death.Telefrag:
	Death.Grenade:
	Death.Termissiles:
	Death.ChaosExpl12:
	Death.KarenExplo:
	Death.IlluNukeKABUUM:
	Death.CalebDynamite:
	Death.Wendigo:
	Death.MorphRipperGib:
	Death.DarkVortex:
	Death.ImpostorJitter:
	Death.PuppetStrings:
	Death.LichIce:
	Death.LichLightning:
	Death.AsylumCannonBall:
		Goto Death.Jitter
	Death.TrueDivine:
		TNT1 A 0 A_PlaySoundEx("SoulSnatchStinger",CHAN_AUTO,0,1)
		TNT1 A 0 A_SpawnItemEx("SoulSnatch")
		Goto Death.JitterAlt
	Death.Judgement:
		TNT1 A 0 A_SpawnItemEx("StellarisThunderFX")
		Goto Death.JitterAlt
	Death.VoltMelee:
	Death.AmperRail:
		TNT1 A 0 A_GiveToTarget("VoltRingAmmo",2)
		TNT1 A 0 A_GiveToTarget("AmperSpeedTokenCheck",1)
		Goto Death.Jitter
	Pain.FrostbiteWind:
	Pain.Ravager:
	Pain.Juglava:
	Pain.HarvesterRock:
	Pain.EmtalicSaw:
	Pain.MorphRipper:
	Pain.MorphRipperGib:
	Pain.I1:
	Pain.I3:
	Pain.ZombiePoison:
	Pain.Asylum:
	Pain.AsylumCannonBall:
	Pain.FleshlingMissile:
	Pain.DarkVortex:
	Pain.ImpostorJitter:
	Pain.BlueFire:
	Pain.PuppetStrings:
	Pain.LichFire:
	Pain.LichIce:
	Pain.LichLightning:
	Pain.Whiteface:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
	}
}

Actor MirabelStomp : CyborgStomp
{
	DeathSound "MirabelStep"
}

Actor MirabelAmmo1 : Ammo
{
	Ammo.BackPackAmount 100
	Ammo.BackPackMaxAmount 100
	Inventory.Amount 100
	Inventory.MaxAmount 100
	Inventory.Icon "CELLA0"
	+INVENTORY.IGNORESKILL
	States
	{
	Spawn:
		TNT1 A -1
		Stop
	}
}

Actor MirabelAmmo2 : Ammo
{
	Ammo.BackPackAmount 100
	Ammo.BackPackMaxAmount 100
	Inventory.Amount 100
	Inventory.MaxAmount 100
	Inventory.Icon "FX00A0"
	States
	{
	Spawn:
		TNT1 A 1
		Stop
	}
}

actor MirabelRainAmmo : CustomInventory
{
  inventory.amount 2
  inventory.maxamount 2
  +INVENTORY.IGNORESKILL
  +INVBAR
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Use:
	TNT1 A 0 A_GiveInventory("CyborgDashcheck",1)
	Fail
  }
}

actor MirabelMachRifle : Weapon
{
  Weapon.SelectionOrder 100
  Weapon.AmmoType1 "MirabelAmmo1"
  Weapon.AmmoUse1 1
  Weapon.AmmoGive 50
  Weapon.AmmoType2 "MirabelAmmo2"
  Weapon.AmmoUse2 0
  Weapon.SlotNumber 6
  Inventory.icon "TNT1A0"
  //Weapon.BobStyle Alpha
  Inventory.PickupMessage "MirabelPlasmaRifle"
  +NOAUTOFIRE
  +WEAPON.ALT_AMMO_OPTIONAL
  States
  {
      Ready:
    LTGH A 10 A_WeaponReady
	LTGH A 0 A_GiveInventory("MirabelAmmo2",1)
	LTGH A 0 A_JumpIfInventory("CyborgDashCheck",1,"MirabelRainThingy")
    Loop
  Deselect:
    LTGH A 1 A_Lower
	//TNT1 AA 0 A_Lower
    Loop
  Select:
    LTGH A 1 A_Raise
	//TNT1 AA 0 A_Raise
    Loop
  Fire:
	LTGH C 0 bright A_FireCustomMissile("MirabelPlasma",random(-1,1),1,10,-5)
	LTGH C 0 A_PlayWeaponSound("Machrifle/Fire")
	LTGH C 1 bright Offset (6,40)
	LTGH D 1 bright Offset (6,40)
	LTGH E 1 Offset (4,36)
	LTGH C 0 A_refire
	goto FireFinish
	firefinish:
	LTGH A 0 A_PlaySound("Weapons/PlasmaPostFire", CHAN_ITEM) 
	LTGH E 1 Offset (2,36)
    LTGH A 1 Offset (2,40)
    LTGH A 1 Offset (4,44)
    LTGH A 1 Offset (6,48)
    LTGH A 1 Offset (4,44)
    LTGH A 1 Offset (2,40)
    LTGH A 1 Offset (0,36)
	Goto Ready
	   AltFire:
	   LTGH F 0 A_JumpIfInventory("MirabelAmmo2",50,"AltFire2")
	   Goto Ready
	   AltFire2:
	   LTGH F 0 A_TakeInventory("MirabelAmmo2",50)
	   LTGH F 0 A_Playsound("Mirabel/EncourageFiring",CHAN_VOICE)
	   LTGH F 0 A_Playsound("MachRifle/ReadyUp",CHAN_ITEM)
	   LTGH FGHI 2 
	   LTGH I 0 A_Playweaponsound("MachRifle/Charging")
	   LTGH JKJKJKJKJKJK 5
	   LTGH K 0 A_Playweaponsound("MachRifle/Altfire")
	   LTBR F 0 A_FireCustommissile("MirabelWave",0,1)
	   LTGH I 1 Offset (0,36)
	   LTGH I 1 Offset (2,40)
       LTGH H 1 Offset (4,44) A_Playsound("MachRifle/ReadyUp",CHAN_ITEM)
	   LTGH H 1 Offset (6,48)
       LTGH G 1 Offset (4,44)
	   LTGH G 1 bright
		Goto Ready
		MirabelRainThingy:
		LTGH A 0 A_TakeInventory("CyborgDashCheck",999)
		LTGH A 0 A_JumpIfInventory("MirabelRainAmmo",1,"MirabelRainThingyspawn")
		Goto Ready
		MirabelRainThingyspawn:
		LTGH A 0 A_Playsound("RAINACT")
		LTGH A 0 A_SpawnItemEx("MirabelRainBall",10,2,20,0,0,20)
		LTGH A 0 A_SpawnItemEx("MirabelRainBall",10,2,20,0,0,20)
		LTGH A 0 A_TakeInventory("MirabelRainAmmo",1)
		Goto Ready
  }
}

actor MirabelPlasma : fastprojectile // edited from Doom's standard plasmaball actor
{
  Radius 13
  Height 8
  Speed 150
  Damage (6)
  Decal DoomImpScorch
  Projectile
  +RANDOMIZE
  +HITTRACER
  MissileHeight 8
  MissileType "PlasmaProjectileFx"
  RenderStyle Add
  alpha 0.90
  Scale 0.07
  DeathSound "MirabelPlasma/Death"
  Damagetype "MirabelPlasma"
  Obituary "%k gave an involuntary spectate to %o."
  States
  {
  Spawn:
        Q4GC A 1 BRIGHT A_SpawnItem("PlasmaFlare",-20,0)
		Q4GC A 0 A_SpawnItemEx("CyborgPlasmaTrailPews",random(-10,10),random(-10,10),random(-10,10),0,0,0)
		TNT1 A 0 A_SpawnItem("PlasmaBlur",0,0)
		Q4GC A 0 A_SpawnItemEx("CyborgPlasmaTrailPews",random(-10,10),random(-10,10),random(-10,10),0,0,0)
		Q4GC A 1 BRIGHT A_SpawnItem("PlasmaFlare",-20,0)
		TNT1 A 0 A_SpawnItem("PlasmaBlur",0,0)
		Loop
	XDeath:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
		TNT1 A 0 A_JumpIfInventory("IsGhoul",1,"Hit",AAPTR_TRACER)
		Goto Death
	Hit:
		TNT1 A 0 A_GiveToTarget("Health",1)
		Goto Death
	Death:
        TNT1 A 0
        TNT1 A 0 A_Stop
        TNT1 A 0 A_SpawnItemEx("IceBoltExplosion",0,0,0,0,0,0,0,32)
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("IceSpark",0,0,0,random(-200,200)/100.00,random(-200,200)/100.00,random(-200,400)/100.00,random(-180,180),160,0)
        TNT1 AAAAAAAAAAAAA 0 A_CustomMissile("IceTrailFlicker",0,0,Random(-200,200),3,Random(-200,200))
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MissileTrail",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,128)
        TNT1 A 0 A_SpawnItemEx("IceBoltPuff",0,0,0,0,0,0,0,160)
        TNT1 A 1
		Stop
  }
}

Actor Flare_General
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
renderstyle Add
radius 1
height 1
alpha 0.4
scale 0.4
}


Actor PlasmaFlare : Flare_General
{
alpha 0.4
scale 0.15
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		L2NB A 1 bright
		stop
		TNT1 A 0
		L2NB B 1 bright
		stop
	}
}


ACTOR PlasmaBlur
{
    Radius 1
    Height 1
	Alpha 0.7
	RenderStyle Add
	Scale 0.055
	Speed 8
	Gravity 0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
    States
    {
    Spawn:
        LENB AB 1 BRIGHT A_SpawnItem("BlueFlareSmall",0,0)
        Goto Death
	Death:
	    LENB AB 1 BRIGHT A_SpawnItem("BlueFlareSmall",0,0)
		Stop
    }
}

Actor BlueFlare : Flare_General
{
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		LENB A 2 bright
		stop
		TNT1 A 0
		LENB B 2 bright
		stop
	}
}

Actor BlueFlareSmall : BlueFlare
{
alpha 0.3
scale 0.15
}



Actor MirabelTrail
{
	RenderStyle Add
	Radius 1
	Height 1
	Speed  0
	Damage 0
	Scale 2.0
	+CORPSE
	+DONTSPLASH
	+NOGRAVITY
	-ACTIVATEPCROSS
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		CRTL ABCBC 3 Bright
		stop
	Death:
		TNT1 A 1 Bright
		TNT1 A 1 Bright
		Stop
	}
}

Actor PlasmaProjectileFx
{
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	+NOGRAVITY
	+CANNOTPUSH
	+NOTELEPORT
	+NODAMAGETHRUST
	Renderstyle Add
	Alpha 1
	Scale 0.15
	States
	{
	Spawn:
		Q4PL A 1 A_FadeOut(0.25)
		Wait
	}
}

actor MirabelWave : FastProjectile
{
  RenderStyle Add
  radius 8
  height 3
  speed 120
  damage 2
  Scale 2.0
  Damagetype "Vivi"
  obituary "%o was vaporized by %k's Mach Rifle"
  +RIPPER
  +FORCEXYBILLBOARD
  PROJECTILE
  +bloodlessimpact
  states
  {
  Spawn:
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",-5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	CRTL ABCBC 1 bright A_SpawnItemEX("MirabelTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",-5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	loop
  XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	Goto Death
  Death:
	CRTL A 0 A_SpawnItemEx("MirabelRainBall",10,2,20,0,0,20)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",-5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",5,0)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	CRTL A 0 A_SpawnItemEx("ShosannaBlindStuff",0,-5)
	TNT1 AAA 1
	stop
  }
}

Actor MirabelRainBall
{
	Mass 5
	RenderStyle Translucent
	PROJECTILE
	+RIPPER
	+NOBLOCKMAP
	+NOGRAVITY
	+SKYEXPLODE
	States
	{
	Spawn:
		TNT1 A 1 bright
		Loop
	Death:
		TNT1 AAA 2 bright
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 2 A_SpawnItemEx("MirabelRainSpawner", random(-150,150), random(-150,150), 9999,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
	}
}

Actor MirabelRainSpawner
{
	PROJECTILE
	+SKYEXPLODE
	-SOLID
	+NOGRAVITY
	+CEILINGHUGGER
	Radius 1
	Height 8
	Speed 0
	States
	{
	Spawn:
	Death:
		TNT1 AAAAAAAAAA 7 A_SpawnItemEx("MirabelRain",0,10,0,0,0,-22)
		Stop
	}
}

Actor MirabelRain
{
	Height 5
	Radius 10
	BounceFactor 0.3
	BounceCount 4
	Speed 46
	ReactionTime 30
	Damage (3)
	DamageType "MechPewPews"
	Scale 1.0
	DeathSound "MirabelRainFall"
	Obituary "%o forgot to bring his umbrella."
	PROJECTILE
	+BLOODLESSIMPACT
	+NOBLOCKMAP
	+SEEKERMISSILE
	-NOGRAVITY
	States
	{
	Spawn:
		FX22 A 5 bright
		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,71)
		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:
		FX22 BC 5 bright A_Explode(3,50,0)
		FX22 DEF 5 bright A_Explode(3,50,0)
		Stop
	}
}
