ACTOR "Advanced Necronomicon" : Weapon 
{
	Inventory.PickupSound "misc/w_pkup" 
	Weapon.PreferredSkin "AdvancedNecronomicon-Marine"
	Weapon.AmmoGive 150 
	Weapon.AmmoUse 25
	Weapon.AmmoType "DemonAmmo"
	Inventory.PickupSound "misc/w_pkup" 
	Inventory.PickupMessage "You got Velocirator's Advanced Necronomicon! Curse enemies with primary fire. After dying, they will raise as minions that can be recalled with secondary fire."
	+FLOATBOB
	+WEAPON.NOALERT
	+INVENTORY.UNDROPPABLE
	States
	{
	Spawn:
		NCRO A -1 
		Loop
	Ready: 
		NECR A 1 A_WeaponReady 
		Loop
	Deselect:
		NECR A 1 A_Lower 
		Loop
	Select: 
		NECR A 1 A_Raise 
		Loop
	Fire:
		NECR A 0 A_JumpIfNoAmmo("Ready")
		NECR A 18 A_Playsound("weapons/incant0")
		NECR B 8
		NECR C 7
		NECR D 2
		NECR E 7
		NECR E 12 A_FireCustomMissile("NecroGhost",0,1,0,0)
		NECR DCBA 4
		Goto Ready
	AltFire:
		NECR A 0 A_JumpIfInventory("DemonAmmo",5,"CastRight")
		Goto Ready
	CastRight:
		NECR A 10 A_Playsound("weapons/incant1")
		NECR B 8
		NECR C 7
		NECR D 2
		NECR E 5 ACS_ExecuteAlways(22331, 0, 5)//script takes away ammo (third argument)
		NECR D 4
		NECR C 4
		NECR B 4
		NECR A 4
		Goto Ready
	}
}

ACTOR NecroCasted : Inventory
{ Inventory.MaxAmount 2 }

ACTOR NecroGhost
{
	Speed 80
	Radius 10
	Height 10
	Damage (1)
	Species "Player"
	RenderStyle "Translucent"
	Alpha 0.75
	SeeSound "weapons/spirit1"
	ActiveSound "necghost/active"
	PROJECTILE
	+SEEKERMISSILE
	//+NOCLIP
	+FORCEPAIN
	+MTHRUSPECIES
	+BOUNCEONACTORS
	BounceType "Hexen"
	BounceFactor 0.1
    WallBounceFactor 0.1
    var int user_delay;
	States
	{
	Spawn:
        TNT1 A 0
	   	TNT1 A 0 A_JumpIf(user_delay >= 26,"Vanish")
        TNT1 A 0 A_SetUserVar("user_delay",user_delay+1)
		SPI2 A 0 A_LoopActiveSound
		SPI2 ABABABABAB 1 Bright A_SeekerMissile(25,35,SMF_LOOK)
		SPI2 B 0 Bright A_SpawnItemEx("NecroGhostEffect",0,0,0,0,0,0,0,0)
		SPI2 B 0 A_SetTranslucent(0)
		SPI2 B 5 Bright ACS_ExecuteAlways(22330,0)
		SPI2 B 1 Bright A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_NULL)
		Loop
	Vanish:
		TNT1 A 0 A_Stop
		SPI2 EFGHIJ 3
		Stop
	}
}

ACTOR NecroGhostEffect : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GHellionSmoke",random(48,-48),random(48,-48),random(12,64),0,0,random(1,3),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR CursedMark
{
	+FRIENDLY
	+FLOAT
	+NOGRAVITY
	+NOTARGET
	+NOCLIP
	+DORMANT
	+NOTRIGGER
	RenderStyle "Translucent"
	Alpha 0.8
	Radius 0
	Height 0
	Speed 0
	var int user_cursedTID;
	var int user_curseTimer;
	var int user_cursedState;
	var int user_cursedDefSpeed;
	States
	{
	Spawn:
		CMRK A 1 Bright ACS_ExecuteAlways(22332, 0, user_cursedTID,  user_curseTimer, user_cursedState)
		Loop
	Death:
		Stop
	}	
}

ACTOR FriendMark
{
	+FRIENDLY
	+FLOAT
	+NOGRAVITY
	+NOTARGET
	+NOCLIP
	+DORMANT
	+NOTRIGGER
	RenderStyle "Translucent"
	Alpha 0.9
	Radius 0
	Height 0
	Speed 0
	var int user_friendTID;
	States
	{
	Spawn:
		FMRK A 1 Bright ACS_ExecuteAlways(22334, 0, user_friendTID)
		Loop
	Death:
		Stop
	}
}

ACTOR NecroDMG
{
	+NOBLOCKMAP
	+NOCLIP
	+NOGRAVITY
	+DONTSPLASH
	RenderStyle Translucent
	DefaultAlpha
	States
	{
	Spawn:
		HFIR ABCDEFGH 3 Bright
		Stop
	}
}