actor ChaoticDoctorOctagonapusBLARGH : Cacodemon~
{
//Creator: Kazumi/Shiro/Derpzumi
//Origin: Nexus Infinity
//Sprite: WOOP/CALI/CAXD
//Title: "Cacodemon"
//Changes: Attacks replaced with laser. Shoots Maga-Reimu's laser on occasion.
painchance "BLARGH", 0
damagefactor "BLARGH", 0.0
Obituary "%o got shooped into oblivion by a Cacodemon!"
Tag "Cacodemon"
var int user_shotcount;
States
{
  Missile:
	CALI A 0 A_PlaySound("caco/shoop",6,1.0,0,ATTN_NONE)
	CALI BCBABCBABCBABCBABCBABCBABCBABCBA 1 A_FaceTarget
	CALI BCBAAAA 2 A_FaceTarget
	goto Shoop
  Shoop:
	WOOP A 0 A_SetUserVar("user_shotcount", 0)
	//WOOP A 0 A_GiveInventory("Firing", 1)
	WOOP A 0 Radius_Quake (12, 40, 0, 256, 0)
	TNT1 A 0 A_Jump(32,"MagaShoop")
	goto ShoopLoop
  ShoopLoop:
	WOOP A 0 A_SetUserVar("user_shotcount", user_shotcount+1)
	TNT1 A 0 A_Stop
	WOOP A 1 bright A_CustomRailgun(5,0,NONE,NONE,RGF_SILENT,1,0,"Shiro_CacoShooperParticle",0,0,1400,0,2,1,"Shiro_CacoShooperTrail",-4)
//	WOOP A 1 bright A_CustomMissile("Shiro_ChaoticCacodemonShoop",32,0)
	WOOP A 0 A_FaceTarget
	WOOP A 0  A_JumpIf(user_shotcount < 35, "ShoopLoop")
	goto See
  MagaShoop:
	TNT1 A 0 A_PlaySound("MReimu/Cast1",5,0.5,0)
  MagaShoopingTime:
	WOOP A 0 A_SetUserVar("user_shotcount", user_shotcount+1)
	WOOP A 1 bright A_CustomMissile("Shiro_WhatTheFuckCacoShooper",32,0)
	WOOP A 0 A_FaceTarget
	WOOP A 0 A_JumpIf(user_shotcount < 35, "MagaShoopingTime")
	goto See
  Melee:
	TNT1 A 0
	goto Missile
  Pain:
	TNT1 A 0 A_StopSound(6)
	CALI E 6 A_Pain
	CALI F 6
    Goto See
  Death:
	TNT1 A 0 A_StopSound(6)
    CALI G 7 A_Scream
    CALI H 7 A_NoBlocking
	CALI I 6
	CALI J 5
	CALI K 4
	CALI L -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	CAXD A 4 
	CAXD B 3 A_PlaySound("Gore/Splat")
	CAXD C 3 A_SpawnItemEx("CacoGibbedGenerator",0,0,0,0,0,0,0,128,0)
	CAXD D 3 A_NoBlocking
	CAXD EFGHI 3
	CAXD J -1
	Stop
	}
}

actor Shiro_CacoShooperTrail
{
	Radius 5
	Height 5
	RenderStyle Add
	Alpha 0.8
	Scale 3
	seesound ""
	Damagetype "BLARGH"
	Obituary "%o got shooped into oblivion by a Cacodemon!"
	+THRUSPECIES
	+NOGRAVITY
	+NOCLIP
	+NODAMAGETHRUST
	+FORCERADIUSDMG
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		PLSS A 1 BRIGHT A_Explode(1, 46)
		PLSS B 1 BRIGHT
		stop
	Death: //Just for safety
		TNT1 A 1 
		stop
	}
}
ACTOR Shiro_CacoShooperParticle
{
	+THRUSPECIES
	+NOGRAVITY
	+NOCLIP
	+NODAMAGETHRUST
	+FORCERADIUSDMG
	Damagetype "BLARGH"
	States
	{
	Spawn:
		TNT1 A 0
		PLSE ABCDE 4 A_Explode(4,180,0,False,60)
		Stop
	}
}

Actor Shiro_WhatTheFuckCacoShooper : FastProjectile
{
  Speed 100
  Radius 13
  Height 8
  Damage (4)
  SeeSound ""
  Scale 2.0
  +THRUSPECIES
  +NODAMAGETHRUST
  +EXTREMEDEATH
  +RIPPER
  +FORCERADIUSDMG
  +BLOODLESSIMPACT
  Damagetype "BLARGH"
  MissileType "MReimuLaserTrailSpawner"
  MissileHeight 8
	Obituary "%o got shooped into oblivion by a Cacodemon stealing Maga-Reimu's laser!"
  States
  {
    Spawn:
	  TNT1 A 0
	  TNT1 A 4 A_SpawnItemEx("MReimuLaserTrailDamager")
	  Loop
    Death:
      TNT1 A 0
	  TNT1 A 0 Radius_Quake(6,6,0,12,0)
	  TNT1 A 0 A_Explode(64,120,0,False,60)
	  TNT1 A 0 A_SpawnItemEx("MReimuLaserFlare")
	  TNT1 A 1
      Stop
  }
}