ACTOR GoldenFreddySpawner //Unused
{
  States
  {
  Spawn:
	TNT1 A 1
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("IsFreddySpawned") == 1,"Remove")
	TNT1 A 0 A_SpawnItemEx("GoldenFreddy",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 1
	Stop
  Remove:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("Cyberdemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    TNT1 A 1
    Stop
  }
}

Actor GoldenFreddy : GenericBoss
{ //Scripted (Can break the spooky spawn limit as well as the dice removing the enemy)
Health 0x7FFFFFFF
Mass 0x7FFFFFFF
Speed 3
Seesound ""
PainSound ""
Deathsound ""
Scale 0.08
-FLOAT
-SOLID
-NoGravity
-SHOOTABLE
+FLOORHUGGER
+NOINFIGHTING
+NOPAIN
States
 {
 Spawn:
   TNT1 A 0
   TNT1 A 0 A_PlaySound("goldenfreddy/ambient",5,3.0,1,0.5)
 SpawnLoop:
   TNT1 A 1 A_Look
   Loop
 See:
   TNT1 A 1 A_Chase
   Loop
 Missile:
   TNT1 A 0 A_StopSound(5)
   TNT1 A 0 A_SetTranslucent(0)
   TNT1 A 0 A_PlaySound("weaverbonnie/appear",7)
   GFSZ AAAAAAAAAAA 5 BRIGHT A_FadeIn(0.1)
   GFSZ A 70 BRIGHT
   TNT1 A 0 A_PlaySound("goldenfreddy/taunt",CHAN_VOICE,0.8,0,ATTN_NONE)
   GFSZ B 0 A_GiveToTarget("WeaverSpawnToken",1)
   GFSZ B 110 BRIGHT
   TNT1 A 0 A_PlaySound("weaverbonnie/appear",7)
   GFSZ BBBBBBBBBB 5 BRIGHT A_FadeOut(0.1,0)
   Stop
 }
}

ACTOR WeaverBonnieSpawner
{
  States
  {
  Spawn:
	TNT1 A 1
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("IsWeaverSpawned") == 1,"Remove")
	TNT1 A 0 A_SpawnItemEx("WeaverBonnie",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 1
	Stop
  Remove:
    TNT1 A 1
    Stop
  }
}

Actor WeaverBonnie //Nothing more innocent than a cute bunny hunting you down with a knife
{ //Scripted (Can break the spooky spawn limit as well as the dice removing the enemy)
//Creator: Fluffy
//Origin: Nexus Infinity
//Sprite: WBI0
//Title: "Weaver Bonnie"
Monster
Scale 0.22
Health 18000
Radius 14
Height 64
Mass 0x7FFFFFFF
Speed 3
MeleeRange 44
MeleeThreshold 150 //100
MaxTargetRange 1200
BloodColor "None"
BloodType "WeaverBitsSpawner"
Species "Hell"
Damagetype "Hell"
BloodColor "White"
Painchance 25
Damagefactor "Acid", 0.0
Damagefactor "Hell", 0.0
Damagefactor "Fire", 0.1
DamageFactor "Ice", 0.1
Damagefactor "Poison", 0.0
Damagefactor "PoisonCloud", 0.0
Damagefactor "Electric", 0.01
Damagefactor "Disintegrate", 0.25
Damagefactor "AdvancedImp", 0.2
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "PlayerDevTracer", 0.25
DamageFactor "Legendary", 0.4
//No Infighting
DamageFactor "Legendary1", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "LACGrenade", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "SatanGuard", 0.0
DamageFactor "CurseComet", 0.0
DamageFactor "DementedTerminator", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Commander", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Cyber10k", 0.0
DamageFactor "SS", 0.0
Seesound "weaverbonnie/see"
ActiveSound "weaverbonnie/active"
Attacksound ""
Painsound ""
Deathsound "weaverbonnie/death"
Obituary "%o went missing"
HitObituary "%o went missing"
Tag "\c[h2]????\c-"
var int user_music;
var int user_script;
var int user_leapdelay;
var int user_silent;
var int user_phase;
var int user_speed;
var int user_terror;
var int user_terrortoken;
+FLOORCLIP
+MISSILEMORE
+BOSS
+BOSSDEATH
+NOTIMEFREEZE
+NOFEAR
+DONTHARMSPECIES
+QUICKTORETALIATE
+NOICEDEATH
+NOTARGET
+NOINFIGHTING
//+LOOKALLAROUND
+NOBLOODDECALS
+GHOST
States
  {
  Spawn:
    TNT1 A 0 nodelay A_PlaySound("weaverbonnie/appear",6)
	TNT1 A 0 A_SetTranslucent(0)
	TNT1 A 0 A_JumpIf(user_script == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("WeaverScript",0)
	TNT1 A 0 A_SetUserVar("user_script",1)
	WBI0 AAAAAAAAAAA 3 A_FadeIn(0.1)
  Idle:
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalkingIdle")
	TNT1 A 0 A_SetUserVar("user_speed",0)
    TNT1 A 0 A_ChangeFlag(NOCLIP,1)
	TNT1 A 0 A_SetTranslucent(0.15)
	TNT1 A 0 A_PlaySound("phaseimp/teleport",7)
	TNT1 A 0 A_LookEx(LOF_FULLVOLSEESOUND,0,0,0,360,"See")
	WBI1 ABCDEF 1 A_Wander
	TNT1 A 0 A_LookEx(LOF_FULLVOLSEESOUND,0,0,0,360,"See")
	WBI1 GHIJKL 1 A_Wander
	TNT1 A 0 A_LookEx(LOF_FULLVOLSEESOUND,0,0,0,360,"See")
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	WBI1 MNOPQR 1 A_Wander
	TNT1 A 0 A_LookEx(LOF_FULLVOLSEESOUND,0,0,0,360,"See")
	WBI1 STUVWX 1 A_Wander
	TNT1 A 0 A_LookEx(LOF_FULLVOLSEESOUND,0,0,0,360,"See")
	WBI1 YZ 1 A_Wander
	WB11 ABCDEF 1 A_Wander
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	WB11 GHIJKLMN 1 A_Wander
    Goto Idle+5
  ReAppear:
    TNT1 A 0 A_Stop
    WBI1 B 0 A_SetShootable
	TNT1 A 0 A_PlaySound("weaverbonnie/appear",6)
    WBI1 BBBBBBBBBBB 1 A_FadeIn(0.1)
  See:
    TNT1 A 0 A_Changeflag(NOPAIN,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
    TNT1 A 0 A_ChangeFlag(NOCLIP,0)
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	TNT1 A 0 ACS_NamedExecuteAlways("WeaverSpeed",0,3)
  SeeLoop:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2044,2006)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Warp(AAPTR_DEFAULT,0,0,0,0,WARPF_TESTONLY,1)
	Goto PhaseWalk
    WBI3 AAABBBCCC 1 Bright A_Chase("MeleeMode","Missile")
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	WBI3 DDDEEEFFF 1 Bright A_Chase("MeleeMode","Missile")
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	WBI3 GGGHHHIII 1 Bright A_Chase("MeleeMode","Missile")
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	WBI3 JJJKKKLLL 1 Bright A_Chase("MeleeMode","Missile")
	TNT1 A 0 A_SpawnItemEx("HumanishStep2",0,0,2,0,0,-20)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0,0,0,0,0,160)
	TNT1 A 0 A_Jump(10,"TerrorBegin")
	TNT1 A 0 A_Jump(20,"PhaseWalk","Disappear")
	TNT1 A 0 A_Jump(80,"Teleport")
    Loop
  Teleport:
	WBI1 B 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 BBBBBBBBBB 1 Bright A_FadeOut(0.1,0)
	WBI1 A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	WBI1 B 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 BBBBBBBBBB 1 Bright A_FadeIn(0.1)
	WBI1 B 1 Bright A_SetShootable
	Goto See
  PhaseWalk:
    TNT1 A 0 A_SetUserVar("user_speed",0)
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	WBI1 B 2 A_FaceTarget
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto PhaseWalking
  PhaseWalking:
    WBI1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_ExtChase(0,0)
	WB11 ABCDEFGHIJKLMN 1 A_Chase
  PhaseWalking2:
    WBI1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_Chase
	WB11 ABCDEFGHIJKLMN 1 A_Chase
	TNT1 A 0 A_JumpIfCloser(270,"StopPhaseWalking")
	Loop
  StopPhaseWalking:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	WBI1 B 2 A_FaceTarget	
    Goto See
  StopPhaseWalkingIdle:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI1 B 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
    Goto Idle
  Missile:
    TNT1 A 0 A_SetUserVar("user_speed",0)
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	TNT1 A 0 A_Jump(15,"Disappear","TerrorBegin")
    TNT1 A 0 A_Jump(99,"Leap")
	Goto Teleport
  TerrorBegin:
    TNT1 A 0 A_JumpIf(user_terrortoken >= 4,"Disappear")
    TNT1 A 0 A_SetUserVar("user_terrortoken", user_terrortoken+1)
	TNT1 A 0 A_SetUserVar("user_speed",0)
    TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_SetUserVar("user_terror",0)
	TNT1 A 0 A_PlayWeaponSound("phaseimp/teleport")
	TNT1 A 0 A_Stop
	WBI1 B 1 BRIGHT A_UnSetShootable
	WBI1 BBBBBBBBBB 1 BRIGHT A_FadeOut(0.1,0)
	TNT1 A 0 A_PlaySound("weaverbonnie/terrormode",5,3.0,1,0.5)
	WBI1 B 2 BRIGHT
	TNT1 A 0 A_Jump(100,"TerrorSeekHalf")
  TerrorSeek:
	TNT1 A 0 A_JumpIf(user_terror >= 100, "TerrorChase")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+random(1,2))
	WBI1 BBBBBBBB 1 A_Wander
	Loop
  TerrorSeekHalf:
	TNT1 A 0 A_JumpIf(user_terror >= 60, "TerrorChase")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+random(1,2))
	WBI1 BBBBBBBB 1 A_Wander
	Loop
  TerrorChase:
	WBI1 BBBBBBBB 1 A_Chase("","",CHF_NOPLAYACTIVE|CHF_FASTCHASE)
	TNT1 A 0 A_JumpIfCloser(600,"TerrorAttack")
	Loop
  TerrorAttack: //Change
	TNT1 A 0 A_SetUserVar("user_terror",0)
	//TNT1 A 0 A_Changeflag(FLOAT,1)
	TNT1 A 0 A_StopSound(5)
	WBI5 A 1 Bright A_SetShootable
	WBI5 A 1 Bright A_FaceTarget
	WBI5 AAAAAAAAAA 1 BRIGHT A_FadeIn(0.1)
	WBI5 A 1 BRIGHT A_FaceTarget
  TerrorAttackLoop:
	TNT1 A 0 A_PlaySound("weaverbonnie/scream",7)
	TNT1 A 0 A_JumpIf(user_terror >= 40, "TerrorEnd2")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+1)
	WBI5 A 1 BRIGHT A_SkullAttack(25)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("WeaverAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_JumpIfCloser(100,"TerrorHit")
	Goto TerrorAttackLoop+1
  TerrorHit:
	TNT1 A 0 A_PlaySound("BFlan/Swing",CHAN_WEAPON)
	WBI5 ABCDEFGH 1 Bright
	TNT1 A 0 A_RadiusGive("VesselFuckery",120,RGF_PLAYERS|RGF_CORPSES)
	TNT1 A 0 A_VileAttack("BFlan/Slash",random(170,325),0,94,1,"NULL")
	WBI5 IJKLMNOPQRSTUVWXYZ 1 Bright
	WB15 ABCD 1 Bright
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
  TerrorEnd:
    TNT1 A 0 A_JumpIf(user_terrortoken >= 4,2)
    TNT1 A 0 A_Jump(128,"TerrorBegin")
	WB15 D 1 BRIGHT A_SetShootable
	WB15 DDDDDDDDDD 1 BRIGHT A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	WB15 D 2
	WB15 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_Wander
	WB15 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_Wander
    Goto ReAppear
  TerrorEnd2:
    TNT1 A 0 A_JumpIf(user_terrortoken >= 4,2)
    TNT1 A 0 A_Jump(128,"TerrorBegin")
	WBI5 A 1 BRIGHT A_SetShootable
	WBI5 AAAAAAAAAA 1 BRIGHT A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	WBI5 A 2
	WBI5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
	WBI5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
    Goto ReAppear
  MeleeMode:
    TNT1 A 0 A_SetUserVar("user_speed",0)
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
    TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_PlaySound("BFlan/Swing",CHAN_WEAPON)
    WBI5 ABCDEFGH 1 Bright
	TNT1 A 0 A_CustomBulletAttack(0,0,1,0,"BloodyFlandreLeech",94)
	TNT1 A 0 A_VileAttack("BFlan/Slash",random(170,325),0,94,1,"NULL")
	WBI5 IJKLMNOPQRSTUVWXYZ 1 Bright
	WB15 ABCD 1 Bright
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	Goto See
  Disappear:
    TNT1 A 0 A_Stop
	TNT1 A 0 A_SetUserVar("user_speed",0)
    TNT1 A 0 A_Changeflag(NOCLIP,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_PlayWeaponSound("phaseimp/teleport")
	TNT1 A 0 A_SetUserVar("user_silent",0)
	WBI1 B 1 A_UnSetShootable
	WBI1 BBBBBBBBBB 1 A_FadeOut(0.1,0)
	TNT1 A 0 A_Jump(100,"StaySilentHalf")
  StaySilent:
    TNT1 A 0 A_JumpIf(user_silent >= 1100,"SilentActivate")
	TNT1 A 0 A_SetUserVar("user_silent",user_silent+random(1,2))
    TNT1 A 1 A_Chase("","",CHF_NOPLAYACTIVE|CHF_FASTCHASE)
	TNT1 A 0 A_Jump(1,"StaySilentPlay","DropArmor")
	Loop
  StaySilentPlay:
	TNT1 A 0 A_PlaySound("weaverbonnie/run",7,1,0,0.5)
	Goto StaySilent
  DropArmor:
    TNT1 A 0 A_JumpIfTargetInLOS("StaySilent",70,JLOSF_TARGETLOS)
	TNT1 A 0 A_Stop
    WBI4 ABCDEFGH 1 A_FadeIn(0.1)
	WBI4 IJKLMNOPQRSTUV 1
	TNT1 A 0 A_SpawnItem("WBFakeArmorSpawner")
	WBI4 V 5
	WBI4 VVVVVVVV 1 A_FadeOut(0.1,0)
	Goto StaySilent
  StaySilentHalf:
    TNT1 A 0 A_JumpIf(user_silent >= 600,"SilentActivate")
	TNT1 A 0 A_SetUserVar("user_silent",user_silent+random(1,2))
    TNT1 A 1 A_Chase("","",CHF_NOPLAYACTIVE|CHF_FASTCHASE)
	TNT1 A 0 A_Jump(1,"StaySilentPlay2","DropArmor2")
	Loop
  StaySilentPlay2:
	TNT1 A 0 A_PlaySound("weaverbonnie/run",7,1,0,0.5)
	Goto StaySilentHalf
  DropArmor2:
    TNT1 A 0 A_JumpIfTargetInLOS("StaySilentHalf",70,JLOSF_TARGETLOS)
	TNT1 A 0 A_Stop
    WBI4 ABCDEFGH 1 A_FadeIn(0.1)
	WBI4 IJKLMNOPQRSTUV 1
	TNT1 A 0 A_SpawnItem("WBFakeArmorSpawner")
	WBI4 V 5
	WBI4 VVVVVVVV 1 A_FadeOut(0.1,0)
	Goto StaySilentHalf
  SilentActivate:
    TNT1 A 1 A_Chase("","",CHF_NOPLAYACTIVE|CHF_FASTCHASE)
	TNT1 A 0 A_JumpIfCloser(400,"ReAppear")
	Loop
  Leap:
    TNT1 A 0 A_JumpIfCloser(150,"MeleeMode")
    TNT1 A 0 A_Changeflag(NOPAIN,1)
	WBI6 A 5 Bright A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_leapdelay",0)
	TNT1 A 0 ThrustThing(angle*256/360, 17, 0, 0)
	TNT1 A 0 ThrustThingZ(0,random(30,37),0,1)
	TNT1 A 0 A_PlaySound("weaverbonnie/scream",CHAN_VOICE,1,0,0.5)
	WBI6 ABCD 1 Bright A_Recoil(-10)
	WBI6 EFGHIJKLMNOP 1 Bright A_CustomMissile("WeaverAttack",18,0,0,CMF_AIMDIRECTION)
  LeapCheck:
	TNT1 A 0 A_JumpIf(user_leapdelay >= 300,"LeapLand")
	TNT1 A 0 A_SetUserVar("user_leapdelay",user_leapdelay+1)
	TNT1 A 0 A_CustomMissile("WeaverAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	WBI6 Q 1 Bright A_CheckFloor("LeapLand")
	Loop
  LeapLand:
    //TNT1 A 0 A_Stop
	//TNT1 A 0 A_PlaySound("BFlan/Swing",CHAN_WEAPON)
	//TNT1 A 0 A_CustomBulletAttack(0,0,1,0,"BloodyFlandreLeech",80)
	TNT1 A 0 A_JumpIfCloser(200,"LeapHit")
	WBI6 RSTUVWXYZ 1 Bright
	WB16 ABCD 1 Bright
	WBI6 ZYXW 1 Bright
	WBI6 W 8 Bright
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto See
  LeapHit:
    TNT1 A 0 A_CustomBulletAttack(0,0,1,0,"BloodyFlandreLeech",80)
    TNT1 A 0 A_VileAttack("singenjitsu/melee",random(100,140),0,94,1,"NULL")
	WBI6 RSTUVWXYZ 1 Bright
	WB16 ABCD 1 Bright
	WBI6 ZYXW 1 Bright
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	WBI6 W 8 Bright
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto See
  Taunt:
	TNT1 AAA 0 A_StopSound
	TNT1 A 0 A_PlaySound("weaverbonnie/taunt",CHAN_VOICE,0.8,0,ATTN_NONE)
	TNT1 A 0 A_TakeInventory("MarineKilled",1)
	Goto See
  Pain:
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
    //TNT1 A 0 A_Changeflag(NODROPOFF,0)
    TNT1 A 0 A_ChangeFlag(NOCLIP,0)
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Pain
	TNT1 A 0 A_Jump(35,"Disappear","TerrorBegin")
	TNT1 A 0 A_Jump(45,"Teleport")
	TNT1 A 0 A_Jump(80,"Missile")
	Goto See
  Death:
    TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	WBI7 A 5 A_Scream
	WBI7 A 132 Bright A_SpawnItemEx("ZamasuimpDeathEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	WBI7 BCDEF 2 Bright
	WBI7 G 2 Bright A_Fall
	WBI7 HIJKLMNO 2 Bright
	WBI7 P 2 Bright A_SpawnItem("BodyCrash",0,0,0,0)
	WBI7 QRSTU 2 Bright
	WBI7 V 2 Bright A_SpawnItem("NemesisDeathBall")
	WBI7 WXY 2
	WBI7 "Y" 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	WBI7 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY 1 A_SpawnItem("NemesisCYNItemRandomizer")
	WBI7 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY 1 A_SpawnItem("NemesisCYNItemRandomizer")
	TNT1 A 0 A_SpawnItemEx("SignetOfNecromancy",0,0,8,random(0,8),random(0,8),2,random(0,360),0,200)
	TNT1 AAAA 0 A_SpawnItemEx("DiceOfReset",0,0,8,random(0,8),random(0,8),2,random(0,360),0,100)
	WBI7 "Y" 1 A_SpawnItem("PresentRuneSpawner")
	WBI7 "Y" -1
	Stop
  }
}

Actor WBSpring
{
Radius 1
Height 1
BounceCount 5
Scale 0.12
Bouncesound "EmtalicSlide"
+THRUACTORS
+NOBLOCKMAP
+BOUNCEONFLOORS
+MBFBOUNCER
+CLIENTSIDEONLY
States
{
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
   WBI2 ABCDEFGHIJKLMNOPQRSTU 2
  Continue:
   WBI2 ABCDEFGHIJKLMNOPQRSTU 2
   Loop
  Death:
   "####" "#" 1 A_FadeOut(0.01,0)
   Loop
   }
}

Actor WBSpringSpawner
{
+NOGRAVITY
States
{
  Spawn:
   TNT1 A 0
   TNT1 A 1 A_SpawnItemEx("WBSpring",0,0,Random(30,40),random(-5,5),random(-5,5),random(4,8),Random(0,360),0,200)
   Stop
   }
}

Actor WBSpringSpawner2
{
+NOGRAVITY
States
{
  Spawn:
   TNT1 A 1
   TNT1 AAAAAAA 0 A_SpawnItemEx("WBSpring",0,0,Random(30,40),random(-10,10),random(-10,10),random(4,8),Random(0,360),0,128)
   Stop
   }
}

ACTOR WeaverSpawnToken : LegendaryRuneItem { }
ACTOR WBFakeArmorGot : LegendaryRuneItem { }

//Fake Armors
Actor WBFakeArmorSpawner : RandomSpawner
{
+DROPPED
DropItem "FakePhaseArmor", 256, 1
DropItem "FakeCrystalArmor", 256, 1
DropItem "FakeLegendaryArmor", 256, 1
DropItem "FakeTrueLegendaryArmor", 256, 1
DropItem "FakeEnragedLegendaryArmor", 256, 1
DropItem "FakeHellfireArmor", 256, 1
DropItem "FakeVengefulNemesisArmor", 256, 1
DropItem "FakeNemesisArmor", 256, 1
}

Actor FakeArmorBase : CustomInventory
{
-COUNTITEM
+NOTIMEFREEZE
//+INVENTORY.QUIET
+INVENTORY.AUTOACTIVATE
+INVENTORY.NEVERRESPAWN
Inventory.PickupSound "weaverbonnie/armorpickup"
Inventory.PickupMessage "???????"
ReactionTime 35
States
{
  Pickup:
    TNT1 A 0
    TNT1 A 1 ACS_NamedExecuteAlways("WeaverFakeArmor",0)
    Stop
  Death:
    TNT1 A 1 A_SpawnItem("FakeVanish")
	Stop
   }
}

Actor FakePhaseArmor : FakeArmorBase
{
Scale 0.8
States
{
  Spawn:
	PSAR A 6 Bright 
	TNT1 A 0 A_SpawnItemEx("PSoulSPawner",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("PurplePowerLineSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeCrystalArmor : FakeArmorBase
{
Scale 1.2
States
{
  Spawn:
	TNT1 AA 0 A_SpawnItemEx("CrystalSparkleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	CRYS A 6 Bright A_SpawnItemEx("BluePowerLineSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AA 0 A_SpawnItemEx("BluePowerLineSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeLegendaryArmor : FakeArmorBase
{
Scale 1.2
States
{
  Spawn:
	TNT1 A 0 A_SpawnItemEx("ArmorParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20))
	LEGA AAAAA 2 Bright A_SpawnItemEx("LegArmorSpark",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_SpawnItemEx("ArmorParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20))
	LEGA BBBBB 2 Bright A_SpawnItemEx("LegArmorSpark",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeTrueLegendaryArmor : FakeArmorBase
{
Scale 1.2
States
{
  Spawn:
	TNT1 A 0 A_SpawnItemEx("ArmorParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20))
	ATLG AAAAA 2 Bright A_SpawnItemEx("TrueLegSpark",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_SpawnItemEx("ArmorParticleBlue",random(-12,12),random(-12,12),random(-12,12),random(-2,2),random(-2,2),random(-2,2),random(-20,20))
	ATLG BBBBB 2 Bright A_SpawnItemEx("TrueLegSpark",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeEnragedLegendaryArmor : FakeArmorBase
{
Scale 1.2
States
{
  Spawn:
	ELGA AAAAA 2 Bright A_SpawnItemEx("MadArmorSparkSpawner",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	ELGA AAAAA 2 Bright A_SpawnItemEx("MadArmorSparkSpawner",random(-12,12),random(-12,12),random(2,16),frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(0,2),0,0,64)
	TNT1 A 0 A_CountDown
	ELGA BBB 3 Bright A_SpawnItemEx("RHellionSmoke",random(-5,5),random(-5,5),random(0,5),frandom(-1,1),frandom(1,1),frandom(2,6))
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeHellfireArmor : FakeArmorBase
{
Scale 0.8
States
{
   Spawn:
	HFAR BCDEFGHI 2 Bright A_SpawnItemEx("GhostFire",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),0,128)
	TNT1 A 0 A_CountDown
	HFAR JKLMNOPQ 2 Bright A_SpawnItemEx("GhostFire",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),0,128)
	TNT1 A 0 A_CountDown
	HFAR QPONMLKJ 2 Bright A_SpawnItemEx("GhostFire",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),0,128)
	TNT1 A 0 A_CountDown
	HFAR IHGFEDCB 2 Bright A_SpawnItemEx("GhostFire",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),0,128)
	TNT1 A 0 A_CountDown
	Loop
    }
}

Actor FakeVengefulNemesisArmor : FakeArmorBase
{
Scale 1
States
{
	Spawn:
	 VARM AB 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 VARM CD 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 VARM EF 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 VARM FE 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 VARM DC 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 VARM BA 6 Bright A_SpawnItemEx("SNArmorFireSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	 TNT1 A 0 A_CountDown
	 Loop
     }
}

Actor FakeNemesisArmor : FakeArmorBase
{
Scale 0.9
States
{
  Spawn:
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA AAA 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA AAA 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA AAA 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA BBB 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA BBB 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_SpawnItemEx("NemesisArmorSoul",random(-15,15),random(-15,15),random(3,10),frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(0.5,2),random(0,360))
	UNNA BBB 1 Bright A_SpawnItemEx("NemesisArmorSmoke",frandom(-2,2),frandom(0,15),frandom(1,8),frandom(0,1),frandom(-1,0),frandom(0,0.2),random(0,360))
	TNT1 A 0 A_CountDown
	Loop
     }
}

ACTOR WeaverAttack
{
   Height 16
   Radius 16
   Speed 27
   Damage (15*Random(4,8))
   Species "Hell"
   SeeSound ""  
   DeathSound ""
   PROJECTILE
   Damagetype "Hell"
   +NOTIMEFREEZE
   States
   {
   Spawn:
	TNT1 A 4
    Stop
    }
}

ACTOR WeaverBitsSpawner : StoneBitsSpawner
{
-ALLOWPARTICLES
States
{
	Spawn:
		TNT1 A 0
		//TNT1 AAA 0 A_SpawnItemEx("RandomGearViseSpawner",0,0,8,random(-10,10),random(-10,10),FRandom(7,8),Random(0,360),SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEANGLE|SXF_ABSOLUTEMOMENTUM,128)
		TNT1 A 0 A_SpawnItemEx("RandomGearViseSpawner2",1,1,8,random(-15,15),random(-15,15),FRandom(7,8),Random(0,360),SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEANGLE|SXF_ABSOLUTEMOMENTUM,128)
		TNT1 A 0 A_PlaySound("weaverbonnie/pain")
	SpawnPuff:
		PUFF A 4
		PUFF ABCD 4
		Stop
	}
}