Actor ShadowWalk : WoC_Skill {}
Actor ShadowWalkDamage1 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage1"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage2 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage2"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage3 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage3"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage4 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage4"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage5 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage5"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage6 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage6"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage7 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage7"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage8 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage8"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage9 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage9"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamage10 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage10"
	Powerup.Duration 35
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerShadowWalkDamage1 : PowerDamage
{
	Damagefactor "Normal", 1.6
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage2 : PowerDamage
{
	Damagefactor "Normal", 1.7
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage3 : PowerDamage
{
	Damagefactor "Normal", 1.8
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage4 : PowerDamage
{
	Damagefactor "Normal", 1.9
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage5 : PowerDamage
{
	Damagefactor "Normal",2
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage6 : PowerDamage
{
	Damagefactor "Normal", 2.1
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage7 : PowerDamage
{
	Damagefactor "Normal", 2.2
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage8 : PowerDamage
{
	Damagefactor "Normal", 2.3
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage9 : PowerDamage
{
	Damagefactor "Normal", 2.4
	Powerup.Duration 35
}

Actor PowerShadowWalkDamage10 : PowerDamage
{
	Damagefactor "Normal", 2.50
	Powerup.Duration 35
}

Actor ShadowWalkDamageShade1 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage1"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade2 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage2"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade3 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage3"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade4 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage4"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade5 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage5"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade6 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage6"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade7 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage7"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade8 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage8"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade9 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage9"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkDamageShade10 : PowerupGiver
{
	Powerup.Type "ShadowWalkDamage10"
	Powerup.Duration 105
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility1 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -12
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility2 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -14
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility3 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -16
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility4 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -18
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility5 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -20
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility6 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -22
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility7 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -24
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility8 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -26
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility9 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -28
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowWalkInvisibility10 : PowerupGiver
{
	Powerup.Type "ShadowWalkInvisibility"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerShadowWalkInvisibility : PowerInvisibility
{
	Powerup.Mode "None"
	Powerup.Strength 95
	Powerup.Duration -30
	Inventory.Icon "SHDSICON"
	+GHOST
	+CANTSEEK
}

Actor PreShadowWalkInvisibility : PowerupGiver
{
	Powerup.Type "PreShadowWalkInvisibility"
	Powerup.Duration -10
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerPreShadowWalkInvisibility : PowerInvisibility
{
	Powerup.Duration -10
	Powerup.Mode "None"
	Powerup.Strength 60
	Inventory.Icon "SHD2ICON"
	+GHOST
	+CANTSEEK
}

Actor ShadowWalkFlagClear : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_JumpIfInventory("PowerNewGhost",1,"CancelItem")
		TNT1 A 0 A_JumpIfInventory("PowerAssassinIncantBuff",1,"CancelItem")
		TNT1 A 0 A_ChangeFlag("Shadow", 0)
		TNT1 A 0 A_ChangeFlag("Ghost", 0)
		TNT1 A 0 A_ChangeFlag("CantSeek", 0)
		Stop
	CancelItem:
		TNT1 A 0
		Stop
	}
}

Actor ShadowWalkClearTarget : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_RadiusGive("ShadowWalkClearTargetEffect", 8000, RGF_MONSTERS, 1)
		Stop
	}
}

Actor ShadowWalkClearTargetEffect : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_CheckFlag("BOSS", 4)
		TNT1 A 0 A_JumpIfInventory("StatusImmune",1,3)
		TNT1 A 0 A_JumpIfInTargetInventory("PowerPreShadowWalkInvisibility",1,"Clearing")
		TNT1 A 0 A_JumpIfInTargetInventory("PowerShadowWalkInvisibility",1,"Clearing")
		Stop
		TNT1 A 0
		Stop
	Clearing:
		TNT1 A 0 A_ClearTarget
		Stop
	}
}

Actor ShadowWalkAttackCheck : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_JumpIfInventory("ImAnAssassin",1,1)
		Stop
		TNT1 A 0 A_JumpIfInventory("PowerShadowWalkInvisibility",1,"ShadowWalkDamage")
		Goto ClearStealth
	ClearStealth:
		TNT1 A 0 A_TakeInventory("PowerPreShadowWalkInvisibility",1)
		TNT1 A 0 A_TakeInventory("PowerShadowWalkInvisibility",1)
		TNT1 A 0 SetPlayerProperty(0,0,1)
		//TNT1 A 0 A_ChangeFlag("Shadow",0)
		Stop
	ShadowWalkDamage:
		TNT1 A 0 A_JumpIfInventory("IsShade",1,"ShadeShadowWalkDamage")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",10,"Damage10")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",9,"Damage9")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",8,"Damage8")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",7,"Damage7")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",6,"Damage6")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",5,"Damage5")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",4,"Damage4")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",3,"Damage3")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",2,"Damage2")
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage1",1)
		Goto ClearStealth
	Damage2:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage2",1)
		Goto ClearStealth
	Damage3:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage3",1)
		Goto ClearStealth
	Damage4:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage4",1)
		Goto ClearStealth
	Damage5:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage5",1)
		Goto ClearStealth
	Damage6:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage6",1)
		Goto ClearStealth
	Damage7:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage7",1)
		Goto ClearStealth
	Damage8:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage8",1)
		Goto ClearStealth
	Damage9:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage9",1)
		Goto ClearStealth
	Damage10:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamage10",1)
		Goto ClearStealth
		
	ShadeShadowWalkDamage:
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",10,"DamageShade10")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",9,"DamageShade9")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",8,"DamageShade8")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",7,"DamageShade7")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",6,"DamageShade6")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",5,"DamageShade5")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",4,"DamageShade4")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",3,"DamageShade3")
		TNT1 A 0 A_JumpIfInventory("ShadowWalk",2,"DamageShade2")
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade1",1)
		Goto ClearStealth
	DamageShade2:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade2",1)
		Goto ClearStealth
	DamageShade3:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade3",1)
		Goto ClearStealth
	DamageShade4:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade4",1)
		Goto ClearStealth
	DamageShade5:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade5",1)
		Goto ClearStealth
	DamageShade6:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade6",1)
		Goto ClearStealth
	DamageShade7:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade7",1)
		Goto ClearStealth
	DamageShade8:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade8",1)
		Goto ClearStealth
	DamageShade9:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade9",1)
		Goto ClearStealth
	DamageShade10:
		TNT1 A 0 A_GiveInventory("ShadowWalkDamageShade10",1)
		Goto ClearStealth
	}
}

Actor ShadowWalkPainCheck : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_TakeInventory("PowerPreShadowWalkInvisibility",1)
		TNT1 A 0 A_TakeInventory("PowerShadowWalkInvisibility",1)
		TNT1 A 0 SetPlayerProperty(0,0,1)
		//TNT1 A 0 A_ChangeFlag("Shadow",0)
		Stop
	}
}

Actor DaggerMastery : WoC_Skill {}
Actor DaggerToss : WoC_Skill {}

Actor UseDaggerToss : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_FireCustomMissile("DaggerTossed", 0, 0)
		TNT1 A 0 A_JumpIfInventory("IsWhisperknife",1,"Whisperknife")
		Stop
	Whisperknife:
		TNT1 A 0 A_GiveInventory("FlechetteStormItem")
		Stop
	}
}

Actor DaggerTossed : FastProjectile
{
	Radius 4
	Height 4
	Speed 60
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(80,100), AGILITY, ABIL_DAGGERTOSS, WOCTARGET))
	Damagetype "Physical"
	Projectile
	+BLOODSPLATTER
	+WINDTHRUST
	+THRUGHOST
	+MTHRUSPECIES 
	+DONTBLAST
	+HITTRACER
	Decal "BulletChip"
	obituary "%k taught %o what its like to play with knives."
	SeeSound "AssassinImpaleFire"
	Deathsound "AssassinImpaleHit"
	States
	{
	Spawn:
		KNF1 A 5
		loop
	Death:
		KNF1 A 0 A_JumpIfInTargetInventory("IsWhisperknife",1,"Whisperknife")
		KNF1 A 3
		stop
	Whisperknife:
		KNF1 A 0 ACS_NamedExecuteWithResult("WOC DAMAGE OVER TIME", ACS_ExecuteWithResult(WOC_DECORATE,STATS,WOCTID,WOCTRACER), ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,25), AGILITY, ABIL_DAGGERTOSS, WOCTARGET), 10, PHYSICALDOT)
		KNF1 A 3 A_GiveInventory("WhisperknifeDebuff",1,AAPTR_TRACER)
		stop
	}
}

Actor WhisperknifeDebuff : PowerupGiver
{
	Powerup.Type "WhisperknifeDebuff"
	Powerup.Duration -15
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerWhisperknifeDebuff : PowerProtection
{
	Damagefactor "Normal", 1.25
	Powerup.Duration -15
}

Actor NightClone : WoC_Skill {}

Actor NightCloneTracker : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type NightCloneTracker
	Powerup.Duration 0x7FFFFFFD
}

Actor PowerNightCloneTracker : Powerup
{
	Powerup.Duration 0x7FFFFFFD
	Inventory.Icon "NCLNICON"
}

Actor NightClone2Tracker : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type NightClone2Tracker
	Powerup.Duration 0x7FFFFFFD
}

Actor PowerNightClone2Tracker : Powerup
{
	Powerup.Duration 0x7FFFFFFD
	Inventory.Icon "NCLNICON"
}

Actor UseNightClone : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_SpawnItemEx("AssassinClone", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, SXF_NOCHECKPOSITION|SXF_TRANSFERSCALE|SXF_SETMASTER, 0, PET1TID+ACS_ExecuteWithResult(WOC_DECORATE,STATS,PLAYERNUM))
		Stop
	}
}

Actor UseNightClone2 : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_SpawnItemEx("AssassinClone2", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, SXF_NOCHECKPOSITION|SXF_TRANSFERSCALE|SXF_SETMASTER, 0, PET2TID+ACS_ExecuteWithResult(WOC_DECORATE,STATS,PLAYERNUM))
		Stop
	}
}

Actor AssassinClone : WoC_FriendlyMon
{
	renderstyle Stencil
	StencilColor Black
	Alpha 0.6
	Health 400
	+NOPAIN
	Speed 25
	Height 64
	Radius 16
	Monster
	+FLOORCLIP
	+DONTMORPH
	+FRIENDLY
	-COUNTKILL
	-ACTIVATEMCROSS
	-NOTELEPORT
	+DONTBLAST
	Species "Player"
	+THRUSPECIES
	-SOLID
	+NOBLOCKMONST
	+GHOST
	+NEVERFAST
	+DONTHARMSPECIES
	+NOICEDEATH
	+SHADOW
	meleerange 96
	RadiusDamageFactor 0.25
	Damagetype "Shadow"
	DamageFactor "Shadow", 0.5
	DamageFactor "ShadowTime", 0.5
	DamageFactor "Holy", 2.0
	DamageFactor "HolyTime", 2.0
	Scale 1.14
	States
	{
	Spawn:
		ASSN A 0
		ASSN A 0 ACS_NamedExecuteAlways("WOC NIGHT CLONE SCRIPT")
		ASSN A 0 A_PlaySound("AssassinCloneSpawn")
		ASSN A 0 ACS_ExecuteAlways(900,0,0,0,0)
	Idle:
		ASSN A 10 A_Look
		Goto See
	Giveup:
		ASSN A 0 A_ClearTarget
		Goto See
	See: 
		ASSN A 0 A_JumpIfTargetinLOS(2, 140)
		ASSN A 0 A_Jump(50, "Giveup")
		ASSN ABCD 3 A_FastChase
		Loop
	Missile:
		ASSN EE 4 A_FaceTarget
		ASSN F 0 A_SpawnItemEx("PetAlert")
		ASSN FF 0 A_CustomMissile("NightCloneBolt", 32, 0, frandom(-1,1), CMF_OFFSETPITCH, frandom(-0.7,0.7))
		ASSN F 13 A_CustomMissile("NightCloneBolt", 32, 0, frandom(-1,1), CMF_OFFSETPITCH, frandom(-0.7,0.7))
		Goto See
	Melee:
		ASSN E 6 A_FaceTarget
		ASSN F 7 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,35), CHARISMA, ABIL_NIGHTCLONE, ACTIVATOR), "AssassinDaggerHitThing", "none", 1)
		Goto See
	Pain:
		ASSN O 4
		ASSN O 4 A_Pain
		Goto Spawn
	Death:
		"----" A 3 A_FadeOut
		Wait
	}
}

Actor AssassinClone2 : AssassinClone
{
	States
	{
	Spawn:
		ASSN A 0
		ASSN A 0 ACS_NamedExecuteAlways("WOC NIGHT CLONE SCRIPT",0,1)
		ASSN A 0 A_PlaySound("AssassinCloneSpawn")
		ASSN A 0 ACS_ExecuteAlways(900,0,0,0,0)
	Idle:
		ASSN A 10 A_Look
		Goto See
	}
}

ACTOR NightCloneBolt : FastProjectile
{
	PROJECTILE
	+DONTBLAST
	+MTHRUSPECIES
	Radius 4
	Height 4
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(15,30), CHARISMA, ABIL_NIGHTCLONE, WOCTARGET))
	Speed 130
	Damagetype "Shadow"
	DeathSound "AssassinCrossbowHit"
	Renderstyle Stencil
	StencilColor Black
	Alpha 0.6
	States
	{
	Spawn:
		ARWI A 1 A_SpawnItemEx("NightCloneBoltTrail", -(MomX/1.2), -(MomY/1.2), (MomZ/1.2*-1), (MomX/1.5), (MomY/1.5), (MomZ/1.5), 0, 138)
		Loop
	Death:
	Crash:
		NAIL D 2 Bright
		NAIL EFGHI 2 Bright A_Fadeout(0.125)
		stop
	XDeath:
		TNT1 A 1
		Stop
	}
}

Actor NightCloneBoltTrail
{
	Radius 4
	Height 4
	-SOLID
	+NOBLOCKMAP
	Renderstyle Stencil
	StencilColor Black
	Alpha 0.5
	+PAINLESS
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOTELEPORT
	+NOINTERACTION
	States
	{
	Spawn:
		ARWI A 1 A_FadeOut(0.1)
		Loop
	}
}

Actor ShadowNeedles : WoC_Skill {}

Actor UseShadowNeedles : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_JumpIfInventory("ShadowNeedles",7,"Rank7")
		TNT1 A 0 A_JumpIfInventory("ShadowNeedles",4,"Rank4")
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 0, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 10, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -10, 0, 0, 0, 0)
		Stop
	Rank4:
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 0, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 5, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 10, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -5, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -10, 0, 0, 0, 0)
		Stop
	Rank7:
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 0, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 10, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 15, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -10, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -15, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", 5, 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShadowNeedle", -5, 0, 0, 0, 0)
		Stop
	}
}

ACTOR ShadowNeedle
{
	Radius 4
	Height 4
	Speed 35
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(5,10), INTELLECT, ABIL_SHADOWNEEDLES, WOCTARGET))
	Projectile
	+SEEKERMISSILE
	+BLOODSPLATTER
	+HITMASTER
	+DONTBLAST
	+MTHRUSPECIES
	RenderStyle Add
	SeeSound "AssassinShadowNeedles"
	States
	{
	Spawn:
		SNED HIJ 3 Bright
	Looper:
		SNED HIJ 3 Bright A_SeekerMissile(30, 30, SMF_LOOK|SMF_PRECISE)
		Loop
	Death:
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",10,"Debuff10")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",9,"Debuff9")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",8,"Debuff8")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",7,"Debuff7")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",6,"Debuff6")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",5,"Debuff5")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",4,"Debuff4")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",3,"Debuff3")
		SNED D 0 Bright A_JumpIfInTargetInventory("ShadowNeedles",2,"Debuff2")
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff1", 1, AAPTR_MASTER)
	DeathAnim:
		SNED D 0 Bright ACS_NamedExecuteWithResult("WOC DAMAGE OVER TIME", ACS_ExecuteWithResult(WOC_DECORATE,STATS,WOCTID,WOCMASTER), ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(10,20)), 4, SHADOWDOT)
		SNED DEFG 3 Bright
		Stop
	Debuff2:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff2", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff3:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff3", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff4:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff4", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff5:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff5", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff6:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff6", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff7:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff7", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff8:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff8", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff9:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff9", 1, AAPTR_MASTER)
		Goto DeathAnim
	Debuff10:
		SNED D 0 Bright A_GiveInventory("ShadowNeedlesDebuff10", 1, AAPTR_MASTER)
		Goto DeathAnim
	}
}

Actor ShadowNeedlesDebuff1 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff1"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff2 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff2"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff3 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff3"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff4 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff4"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff5 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff5"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff6 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff6"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff7 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff7"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff8 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff8"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff9 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff9"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor ShadowNeedlesDebuff10 : PowerupGiver
{
	Powerup.Type "ShadowNeedlesDebuff10"
	Powerup.Duration -30
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerShadowNeedlesDebuff1 : PowerProtection
{
	Damagefactor "Shadow", 1.2
	Damagefactor "ShadowTime", 1.2
	Damagefactor "ShadowPlayer", 1.2
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff2 : PowerProtection
{
	Damagefactor "Shadow", 1.25
	Damagefactor "ShadowTime", 1.25
	Damagefactor "ShadowPlayer", 1.25
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff3 : PowerProtection
{
	Damagefactor "Shadow", 1.3
	Damagefactor "ShadowTime", 1.3
	Damagefactor "ShadowPlayer", 1.3
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff4 : PowerProtection
{
	Damagefactor "Shadow", 1.35
	Damagefactor "ShadowTime", 1.35
	Damagefactor "ShadowPlayer", 1.35
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff5 : PowerProtection
{
	Damagefactor "Shadow", 1.4
	Damagefactor "ShadowTime", 1.4
	Damagefactor "ShadowPlayer", 1.4
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff6 : PowerProtection
{
	Damagefactor "Shadow", 1.45
	Damagefactor "ShadowTime", 1.45
	Damagefactor "ShadowPlayer", 1.45
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff7 : PowerProtection
{
	Damagefactor "Shadow", 1.5
	Damagefactor "ShadowTime", 1.5
	Damagefactor "ShadowPlayer", 1.5
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff8 : PowerProtection
{
	Damagefactor "Shadow", 1.55
	Damagefactor "ShadowTime", 1.55
	Damagefactor "ShadowPlayer", 1.55
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff9 : PowerProtection
{
	Damagefactor "Shadow", 1.6
	Damagefactor "ShadowTime", 1.6
	Damagefactor "ShadowPlayer", 1.6
	Powerup.Duration -30
}

Actor PowerShadowNeedlesDebuff10 : PowerProtection
{
	Damagefactor "Shadow", 1.65
	Damagefactor "ShadowTime", 1.65
	Damagefactor "ShadowPlayer", 1.65
	Powerup.Duration -30
}

Actor Kick : WoC_Skill {}

Actor IsKicking : WoC_Boolean {}

Actor KickPuff : NewPunchPuff
{
	+FORCEPAIN
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 0 A_RadiusThrust(ACS_NamedExecuteWithResult("WOC Player Scale", 7500, STRENGTH, ABIL_KICK, ACTIVATOR), 20,RTF_NOIMPACTDAMAGE,20)
		FHFX S 1
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	}
}

Actor DeftStrikes : WoC_Skill {}


Actor Caltrops : WoC_Skill {}

Actor UseCaltrops : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_FireCustomMissile("CaltropTrapToss", 0, 0, 0, 0, 1)
		TNT1 A 0 A_JumpIfInventory("IsWhisperknife",1,"WhisperKnife")
		Stop
	WhisperKnife:
		TNT1 A 0 A_GiveInventory("FlechetteStormItem")
		Stop
	}
}

ACTOR CaltropTrapToss
{
	Speed 28
	Radius 12
	Height 6
	Projectile
	+MTHRUSPECIES +NODAMAGETHRUST +DONTBLAST
	-NOGRAVITY
	+WINDTHRUST
	+THRUGHOST
	SeeSound "AssassinCaltropsThrow"
	DeathSound "AssassinCaltropsLand"
	States
	{
	Spawn:
		CALT AB 3
		Loop
	Death:
		TNT1 A 1 A_SpawnItemEx("CaltropTrap")
		Stop
	}
}

Actor CaltropTrap
{
	Height 6
	Radius 12
	+NODAMAGETHRUST
	PROJECTILE
	+RIPPER
	+DONTSPLASH
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(1,2), AGILITY, ABIL_CALTROPS, WOCTARGET))
	+BLOODLESSIMPACT
	-NOGRAVITY
	+NOEXPLODEFLOOR
	+PAINLESS
	+DONTBLAST
	+THRUGHOST
	+WINDTHRUST
	+MTHRUSPECIES
	var int user_timer;
	States
	{
	Spawn:
		CALT C 0
		CALT C 0
		CALT C 0 A_JumpIf(user_timer>=15*35/5, "Bai")
		CALT C 0 A_SetUserVar(user_timer, user_timer+1)
		CALT C 5 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 8, AGILITY, ABIL_CALTROPS, WOCTARGET),12,0,0,12)
		Loop
	BAI:
		CALT C 3 A_FadeOut
		Loop
	}
}

actor CaltropDamage
{
	Radius 2
	Height 2
	PROJECTILE
	+NODAMAGETHRUST
	+NOCLIP
	+NOEXTREMEDEATH
	+FORCERADIUSDMG
	+PAINLESS
	+DONTSPLASH
	+DONTBLAST
	+MTHRUSPECIES
	Damagetype "Physical"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 3, AGILITY, ABIL_CALTROPS, WOCTARGET),8,0,0,8)
		TNT1 A 1 A_AlertMonsters
		Stop
	}
}

Actor Fade : WoC_Skill {}

Actor FadeOn : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_SetTranslucent(0.3,0)
		TNT1 A 0 A_GiveInventory("FadeSpeed")
		Stop
	}
}

Actor FadeRemoved : CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_SetTranslucent(1,0)
		TNT1 A 0 A_TakeInventory("PowerFade")
		Stop
	}
}

Actor FadeRemovedAlpha: CustomInventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetTranslucent(1,0)
		TNT1 A 0 A_TakeInventory("PowerFade")
		Stop
	}
}

Actor FadeSpeed : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type "Fade"
}

Actor PowerFade : PowerSpeed
{
	Speed 4
	Powerup.Duration -60
	Inventory.Icon "FADEICON"
}

Actor Blackout : WoC_Skill {}

Actor UseBlackout : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		//TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_RailAttack(0,0,0,"","",RGF_SILENT|RGF_NOPIERCING,999,"BlackoutSmoke",0,0,0,0,30,15,"BlackoutSmoke")
		TNT1 A 0 A_FireBullets(0,0,1,0,"BlackoutBulletPuff",0)
		TNT1 A 0 A_PlaySound("AssassinDarknessBlast")
		Stop
	}
}

Actor BlackoutBulletPuff
{
	Mass 5
	+NOBLOCKMAP
	+NOGRAVITY
	+ALWAYSPUFF
	+PUFFONACTORS
	+BLOODLESSIMPACT
	+MTHRUSPECIES
	+PUFFGETSOWNER
	ActiveSound "AssassinDarknessBlast"
	SeeSound "AssassinDarknessBlast"
	AttackSound "AssassinDarknessBlast"
	States
	{
	Spawn:
		TNT1 CCCCCCCCCCC 0 bright A_SpawnItemEx("BlackoutBoom", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		TNT1 CCCCCCCCCCC 0 bright A_SpawnItemEx("BlackoutBoom", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		TNT1 CCCCCCCCCCC 0 bright A_SpawnItemEx("BlackoutBoom", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		TNT1 CCCCCCCCCCC 0 bright A_SpawnItemEx("BlackoutBoom", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		TNT1 AAAAAA 3 A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 30, INTELLECT, ABIL_BLACKOUT, WOCTARGET),128,0,0,128)
		Stop
	}
}

actor BlackoutBoom
{
  radius 0
  height 1
  speed 0
  damage 0
  renderstyle Add
  alpha 0.75
  PROJECTILE
  -RANDOMIZE
  Scale 0.5
  +DONTSPLASH
   +NOINTERACTION
  +CLIENTSIDEONLY
  +NOCLIP
  +RIPPER
  +BLOODLESSIMPACT
  +PAINLESS
  states
  {
  Spawn:
    TNT1 A 0 
    TNT1 A 0 A_CustomMissile("BlackoutSmokeExplode",0,0,frandom(-180,180),2,frandom(-180,180))
    TNT1 A 2 A_CustomMissile("BlackoutSmokeExplode",0,0,frandom(-180,180),2,frandom(-180,180))
    stop
  Death:
    TNT1 A 3 
    stop
  }
}

Actor BlackoutSmoke
{
  Radius 2
  Height 2
  +DONTSPLASH
   +NOINTERACTION
  -SOLID
  +NOCLIP
  +CLIENTSIDEONLY
  PROJECTILE
  RenderStyle Translucent
  Alpha 0.5
  Scale 0.5
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump (256, "Blot1", "Blot2", "Blot3", "Blot4")
  Blot1:
    BLOT A 2 
    BLOT B 2 A_SetTranslucent (0.4, 0)
    BLOT C 2 A_SetTranslucent (0.3, 0)
    BLOT D 2 A_SetTranslucent (0.2, 0)
    BLOT E 2 A_SetTranslucent (0.1, 0)
    stop
  Blot2:
    BLOT F 2 
    BLOT G 2 A_SetTranslucent (0.4, 0)
    BLOT H 2 A_SetTranslucent (0.3, 0)
    BLOT I 2 A_SetTranslucent (0.2, 0)
    BLOT J 2 A_SetTranslucent (0.1, 0)
    stop
  Blot3:
    BLOT K 2 
    BLOT L 2 A_SetTranslucent (0.4, 0)
    BLOT M 2 A_SetTranslucent (0.3, 0)
    BLOT N 2 A_SetTranslucent (0.2, 0)
    BLOT O 2 A_SetTranslucent (0.1, 0)
    stop
  Blot4:
    BLOT P 2 
    BLOT Q 2 A_SetTranslucent (0.4, 0)
    BLOT R 2 A_SetTranslucent (0.3, 0)
    BLOT S 2 A_SetTranslucent (0.2, 0)
    BLOT T 2 A_SetTranslucent (0.1, 0)
    stop
  }
}

Actor BlackoutSmokeExplode
{
  Radius 2
  Height 2
  +DONTSPLASH
   +NOINTERACTION
  -SOLID
  +NOCLIP
  +CLIENTSIDEONLY
  Speed 7
  PROJECTILE
  RenderStyle Translucent
  Alpha 0.5
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump (256, "Blot1", "Blot2", "Blot3", "Blot4")
  Blot1:
    BLOT A 4 
    BLOT B 4 A_SetTranslucent (0.4, 0)
    BLOT C 4 A_SetTranslucent (0.3, 0)
    BLOT D 4 A_SetTranslucent (0.2, 0)
    BLOT E 4 A_SetTranslucent (0.1, 0)
    stop
  Blot2:
    BLOT F 4 
    BLOT G 4 A_SetTranslucent (0.4, 0)
    BLOT H 4 A_SetTranslucent (0.3, 0)
    BLOT I 4 A_SetTranslucent (0.2, 0)
    BLOT J 4 A_SetTranslucent (0.1, 0)
    stop
  Blot3:
    BLOT K 4 
    BLOT L 4 A_SetTranslucent (0.4, 0)
    BLOT M 4 A_SetTranslucent (0.3, 0)
    BLOT N 4 A_SetTranslucent (0.2, 0)
    BLOT O 4 A_SetTranslucent (0.1, 0)
    stop
  Blot4:
    BLOT P 4 
    BLOT Q 4 A_SetTranslucent (0.4, 0)
    BLOT R 4 A_SetTranslucent (0.3, 0)
    BLOT S 4 A_SetTranslucent (0.2, 0)
    BLOT T 4 A_SetTranslucent (0.1, 0)
    stop
  }
}

Actor Impale : WoC_Skill {}

Actor IsImpaling : WoC_Boolean {}

Actor ImpalingPuff : BulletPuff
{
	+PUFFONACTORS
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Damagetype "Physical"
	AttackSound "AssassinDaggerHitWall"
	SeeSound "AssassinDaggerHitThingImpale"
	States
	{
	Spawn:
		PUFH A 0
		PUFH A 1 A_AlertMonsters(96)
		PUFH A 1 A_GiveToTarget("ScreenPitch2")
		PUFH AA 1 A_GiveToTarget("ScreenPitch1Back")
		PUFH B 4
		PUFH CD 4
		Stop
	Crash:
		PUFH A 1
		PUFH A 0 //A_AlertMonsters(128)
		PUFH A 1 A_GiveToTarget("ScreenPitch2")
		PUFH AA 1 A_GiveToTarget("ScreenPitch1Back")
		PUFH B 4
		PUFH CD 4
		Stop
	Melee:
		PUFH C 0
		PUFH C 0 A_StopSound
		PUFH C 1 A_AlertMonsters(96)
		PUFH C 1 A_GiveToTarget("ScreenPitch2")
		PUFH CC 1 A_GiveToTarget("ScreenPitch1Back")
		PUFH D 4
		Stop
	}
}

Actor ImpalingCritPuff
{
	RenderStyle Add
	Scale 0.6
	VSpeed 0
	+NOBLOCKMAP
	+NOGRAVITY
	+PUFFONACTORS
	+PUFFGETSOWNER
	+MTHRUSPECIES
	+THRUGHOST
	Damagetype "Physical"
	SeeSound "ability/criticalhit"
	States
	{
	Spawn:
	Melee:
	Crash:
		CRIT ABCDEF 4 Bright
		Stop
	}
}

Actor KillingSpree : WoC_Skill {}
actor KillingSpreeCounter : WoC_Stat {}
Actor KillingSpreeTracker : PowerupGiver
{
	Powerup.Type "KillingSpreeTracker"
	Powerup.Duration -4
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

actor PowerKillingSpreeTracker : Powerup { Powerup.Duration -4 }

Actor Glaives : WoC_Skill {}

Actor UseGlaives : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_PlaySound("AssassinGlaivesThrow")
		TNT1 A 0 A_JumpIfInventory("IsWhisperknife",1,"Whisperknife")
		TNT1 A 0 A_FireCustomMissile("Glaive",-9,0,8)
		TNT1 A 0 A_FireCustomMissile("Glaive",0,0,8)
		TNT1 A 0 A_FireCustomMissile("Glaive",9,0,8)
		Stop
	Whisperknife:
		TNT1 A 0 A_GiveInventory("FlechetteStormItem")
		TNT1 A 0 A_FireCustomMissile("GlaiveW",-9,0,8)
		TNT1 A 0 A_FireCustomMissile("GlaiveW",0,0,8)
		TNT1 A 0 A_FireCustomMissile("GlaiveW",9,0,8)
		Stop
	}
}

Actor Glaive
{
	PROJECTILE
	Radius 6
	Height 4
	scale 0.5
	damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET))
	+DONTSPLASH
	+DOOMBOUNCE
	+RIPPER
	+DONTBLAST
	+NOTARGETSWITCH
	+SKYEXPLODE
	+THRUGHOST
	-ALLOWBOUNCEONACTORS
	-BOUNCEONACTORS
	+WINDTHRUST
	+MTHRUSPECIES
	+NODAMAGETHRUST
	meleerange 12
	reactiontime 48
	//+FLOAT
	damagetype "Physical"
	Obituary "%o was sliced and diced by %k."
	speed 30
	FloatSpeed 16
	bouncefactor 1.0
	wallbouncefactor 1.0
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("AssassinGlaiveSpin")
		ASTR AAAA 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		ASTR BBBB 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		ASTR CCCC 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		ASTR DDDD 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_PlaySound("AssassinGlaiveSpin")
		ASTR AAAA 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_CustomMissile("ReturnGlaive",0,0,0,0)
		stop
	Death:
		TNT1 A 1
		stop
	}
}

Actor GlaiveW : Glaive
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("AssassinGlaiveSpin")
		ASTR AAAA 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		ASTR BBBB 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		ASTR CCCC 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		ASTR DDDD 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_PlaySound("AssassinGlaiveSpin")
		ASTR AAAA 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_CustomMissile("ReturnGlaiveW",0,0,0,0)
		stop
	Death:
		TNT1 A 1
		stop
	}
}

actor ReturnGlaive : Glaive
{
	radius 0
	height 0
	damagetype "Physical"
	Obituary "%o was sliced and diced by %k."
	//damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(15,20), AGILITY, ABIL_GLAIVES, WOCTARGET))
	+DONTSPLASH
	+NOINTERACTION
	//+SEEKERMISSILE
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)
	Looper:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 //A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET),10,0,0,10)
		TNT1 A 0 A_Countdown
		Loop
	}
}

actor GlaiveDamager
{
	PROJECTILE
	damagetype "Physical"
	Obituary "%o was sliced and diced by %k."
	+MTHRUSPECIES
	+THRUGHOST
	+RIPPER
	+DONTBLAST
	+NODAMAGETHRUST
	damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,15), AGILITY, ABIL_GLAIVES, WOCTARGET))
	Speed 1
	radius 6
	height 4
	Renderstyle translucent
	Scale 0.5
	Alpha 0.333
	States
	{
	Spawn:
		ASTR A 1
		stop
	}
}

actor ReturnGlaiveW : ReturnGlaive
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)
	Looper:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR B 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR C 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR D 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(32,"Death")
		TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_PRECISE)
		TNT1 A 0 A_SpawnItemEx("GlaiveDamager",0,0,0,momx,0,momz)
		ASTR A 1 A_SpawnItemEx("WhisperknifeGlaiveDOT",0,0,0,momx,0,momz)
		TNT1 A 0 A_Countdown
		Loop
	}
}

actor WhisperknifeGlaiveDOT
{
	PROJECTILE
	damagetype "Physical"
	Obituary "%o was sliced and diced by %k."
	+MTHRUSPECIES
	+THRUGHOST
	+DONTBLAST
	+NODAMAGETHRUST
	+HITTRACER
	damage 0
	Speed 1
	radius 6
	height 4
	Renderstyle None
	Scale 0.5
	Alpha 0.333
	States
	{
	Spawn:
		ASTR A 1
		Stop
	Death:
		ASTR A 2 ACS_NamedExecuteWithResult("WOC DAMAGE OVER TIME", ACS_ExecuteWithResult(WOC_DECORATE,STATS,WOCTID,WOCTRACER), ACS_NamedExecuteWithResult("WOC Player Scale", 5, AGILITY, ABIL_GLAIVES, WOCTARGET), 10, PHYSICALDOT)
		Stop
	}
}

Actor LungingStrike : WoC_Skill {}

Actor IsLunging : WoC_Boolean {}

Actor LungeEffects
{
	Speed 0
	Radius 8
	Height 4
	Alpha 0.6
	PROJECTILE
	+RIPPER
	+NODAMAGETHRUST
	+FORCEPAIN
	+DONTBLAST
	+FORCERADIUSDMG
	ReactionTime 5
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 30, STRENGTH, ABIL_LUNGINGSTRIKE, WOCTARGET),32,0,0,32) //A_SpawnItemEx ("StompDust",0,0,0,0,0,1,0,0,0)
		Stop
	Death:
		TNT1 S 1
		Stop
	}
}

Actor MurderousIntent : WoC_Skill {}

ACTOR MurderousIntentFear1 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -6
}

ACTOR MurderousIntentFear2 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -7
}

ACTOR MurderousIntentFear3 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -8
}

ACTOR MurderousIntentFear4 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -9
}

ACTOR MurderousIntentFear5 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -10
}

ACTOR MurderousIntentFear6 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -11
}

ACTOR MurderousIntentFear7 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -12
}

ACTOR MurderousIntentFear8 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -13
}

ACTOR MurderousIntentFear9 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -14
}

ACTOR MurderousIntentFear10 : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type MurderousIntent
	Powerup.Duration -15
}

ACTOR PowerMurderousIntent : PowerFrightener
{
	Powerup.Duration -60
	Inventory.Icon "MURDICON"
}

Actor FanOfKnives : WoC_Skill {}

Actor UseFanOfKnives : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("ShadowWalkAttackCheck")
		TNT1 A 0 A_PlaySound("AssassinFanOfKnives")
		
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 0, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 16, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 32, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 48, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 64, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 80, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 96, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 112, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 128, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 144, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 160, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", 176, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -16, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -32, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -48, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -64, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -80, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -96, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -112, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -128, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -144, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -160, 0, 0, 0, 1)
		TNT1 A 0 A_FireCustomMissile("FanOfKnife", -176, 0, 0, 0, 1)
		TNT1 A 0 A_JumpIfInventory("IsWhisperknife",1,"Whisperknife")
		Stop
	Whisperknife:
		TNT1 A 0 A_GiveInventory("FlechetteStormItem")
		Stop
	}
}

Actor FanOfKnife
{
	Radius 4
	Height 4
	Speed 35
	Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(17,37), AGILITY, ABIL_FANOFKNIVES, WOCTARGET))
	Damagetype "Physical"
	Projectile
	-NOGRAVITY
	+BLOODSPLATTER
	+WINDTHRUST
	+THRUGHOST
	+MTHRUSPECIES 
	+DONTBLAST
	+HITTRACER
	Decal "BulletChip"
	Gravity .3
	obituary "%k taught %o what its like to play with knives."
	Deathsound "thro/knife"
	States
	{
	Spawn:
		TKNF A -1
		loop
	Death:
		TKNF A 0 A_JumpIfInTargetInventory("IsWhisperknife",1,"Whisperknife")
		TKNF A 3
		stop
	Whisperknife:
		TKNF A 3 ACS_NamedExecuteWithResult("WOC DAMAGE OVER TIME", ACS_ExecuteWithResult(WOC_DECORATE,STATS,WOCTID,WOCTRACER), ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(4,9), AGILITY, ABIL_FANOFKNIVES, WOCTARGET), 10, PHYSICALDOT)
		stop
	}
}

Actor NightfallDamage : PowerupGiver
{
	Powerup.Type "SNightfallDamage"
	Powerup.Duration -100
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerSNightFallDamage : PowerDamage
{
	Damagefactor "Shadow", 1.5
	Damagefactor "ShadowPlayer", 1.5
	Damagefactor "ShadowTime", 1.5
	Powerup.Duration -100
	Inventory.Icon "NITFICON"
}

Actor FlechetteStorm : WoC_Stat { Inventory.MaxAmount 5 }

Actor FlechetteStormTimer : PowerupGiver
{
	Powerup.Type "FlechetteStormTimer"
	Powerup.Duration -5
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerFlechetteStormTimer : Powerup
{
	Powerup.Duration -5
}

Actor FlechetteStormItem : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("PowerFlechetteStormTimer")
		TNT1 A 0 A_GiveInventory("FlechetteStorm", 1)
		Stop
	}
}
