actor ShadowBladeBoss : MegaBuster 20022
{
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "%o was cut up by %k's Shadow Blade."
weapon.ammotype "CloakAmmo"
inventory.pickupsound "weapon/weaponup"
inventory.icon "Sha1Icon"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
SHAH A 0 ACS_ExecuteAlways(991,0,18)
SHAH A 0 A_JumpIfInventory("CloakAmmo",1,"CloakCheck")
SHAH A 0 A_SetTranslucent (1.0, 0) 
SHAH A 0 A_TakeInventory("CloakFlag",1)
SHAH A 0 A_JumpIfInventory("CloakAmmo",28,"ReadyFull")
SHAH A 10 A_WeaponReady(WRF_NOSECONDARY)
SHAH A 0 A_GiveInventory("CloakAmmo",1) 
Goto Ready+2
ReadyFull:
SHAH A 10 A_WeaponReady
Goto Ready+2
CloakCheck:
SHAH A 0 A_JumpIfInventory("CloakFlag",1,"Ready2")
goto Ready+2
Ready2:
SHAH A 0 A_TakeInventory("CloakAmmo",1)
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH A 1 A_WeaponReady
SHAH A 0 A_JumpIfInventory("CloakAmmo",1,"Ready2")
goto Ready+2
Deselect:
TNT1 A 0 A_SelectWeapon("ShadowBladerBoss")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SHAH A 1 A_Raise
Loop
Fire:
//SHAH A 0 A_JumpIfInventory("WepToggleFlag",1,"Fire2")
SHAH A 0 A_PlaySoundEx("weapon/shadow","Weapon")
SHAH A 0 A_SetTranslucent (1.0, 0) 
SHAH A 0 A_TakeInventory("CloakFlag",1)
SHAH A 0 A_FireCustomMissile("ShadowBlade",0,1,8,0)
SHAH BCDEFG 2
TNT1 A 4
SHAH HI 1
SHAH A 2
SHAH A 0 A_GiveInventory("CloakAmmo",1) 
SHAH A 0 A_Refire
goto Ready+2
Altfire:
SHAH A 0 A_JumpIfInventory("CloakAmmo",28,"Cloak")
SHAH A 2
SHAH A 0 
Goto noinvisplz
Noinvisplz:
/*SHAH A 1 A_SetTranslucent (0.1, 0) 
SHAH A 1 A_SetTranslucent (0.2, 0) 
SHAH A 1 A_SetTranslucent (0.3, 0) 
SHAH A 1 A_SetTranslucent (0.4, 0) 
SHAH A 1 A_SetTranslucent (0.5, 0) 
SHAH A 1 A_SetTranslucent (0.6, 0) 
SHAH A 1 A_SetTranslucent (0.7, 0) 
SHAH A 1 A_SetTranslucent (0.8, 0) 
SHAH A 1 A_SetTranslucent (0.9, 0)*/ 
SHAH A 1 A_SetTranslucent (1.0, 0)
SHAH A 0 A_TakeInventory("CloakFlag",1)
goto Ready+2
/*SlideSlide:
SLID C 0 A_JumpIfNoAmmo("NoAmmo")
SLID C 0 A_GiveInventory("ShadowSlide")
SLID C 0 A_PlaySoundEx("weapon/chargekick","Weapon")
SLID C 0 SetPlayerProperty(0,1,0)
SLID C 2 A_Recoil(-20)
SLID A 8 SetPlayerProperty(0,0,0)
SLID B 5
SLID C 5
SLID C 0 A_Refire*/
Cloak:
//SHAH A 0 A_JumpIfInventory("CloakFlag",1,"Ready2")
//SHAH A 0 A_GiveInventory("CloakFlag",1)
SHAH A 1 A_SetTranslucent (0.9, 0) 
SHAH A 1 A_SetTranslucent (0.8, 0) 
SHAH A 1 A_SetTranslucent (0.7, 0) 
SHAH A 1 A_SetTranslucent (0.6, 0) 
SHAH A 1 A_SetTranslucent (0.5, 0) 
SHAH A 1 A_SetTranslucent (0.4, 0) 
SHAH A 1 A_SetTranslucent (0.3, 0) 
SHAH A 1 A_SetTranslucent (0.2, 0) 
SHAH A 1 A_SetTranslucent (0.1, 0) 
SHAH A 1 A_SetTranslucent (0.0, 0) 
ICEB A 0 A_GiveInventory("CloakFlag",1)
goto Ready2
}
}

actor ShadowBladerBoss : ShadowBladeBoss
{
inventory.icon "Sha2Icon"
States
{
Ready:
SHAH J 0 ACS_ExecuteAlways(991,0,18)
SHAH A 0 A_JumpIfInventory("CloakAmmo",1,"CloakCheck")
SHAH J 0 A_SetTranslucent (1.0, 0) 
SHAH A 0 A_TakeInventory("CloakFlag",1)
SHAH J 0 A_JumpIfInventory("CloakAmmo",28,"ReadyFull")
SHAH J 10 A_WeaponReady(WRF_NOSECONDARY)
SHAH J 0 A_GiveInventory("CloakAmmo",1) 
Goto Ready+2
ReadyFull:
SHAH J 10 A_WeaponReady
Goto Ready+2
CloakCheck:
SHAH A 0 A_JumpIfInventory("CloakFlag",1,"Ready2")
goto Ready+2
Ready2:
SHAH A 0 A_TakeInventory("CloakAmmo",1)
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH J 0 A_SpawnItemEx("CloakVisualSpawner", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*/, 0)
SHAH J 1 A_WeaponReady
SHAH A 0 A_JumpIfInventory("CloakAmmo",1,"Ready2")
goto Ready+2
Deselect:
TNT1 A 0 A_SelectWeapon("ShadowBladeBoss")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SHAH J 1 A_Raise
Loop
Fire:
SHAH J 0 A_PlaySoundEx("weapon/shadow","Weapon")
SHAH J 0 A_SetTranslucent (1.0, 0) 
SHAH A 0 A_TakeInventory("CloakFlag",1)
SHAH J 0 A_FireCustomMissile("ShadowNoReturnBlade",0,1,8,0)
SHAH J 0 A_FireCustomMissile("ShadowNoReturnBlade",0,1,8,0,0,10)
SHAH BCDEFG 2
TNT1 A 4
SHAH HI 1
SHAH J 2
SHAH A 0 A_GiveInventory("CloakAmmo",1) 
SHAH A 0 A_Refire
Goto Ready+2
Altfire:
SHAH A 0 A_JumpIfInventory("CloakAmmo",28,"Cloak")
SHAH J 2
SHAH A 0 
Goto noinvisplz
Noinvisplz:
/*SHAH J 1 A_SetTranslucent (0.1, 0) 
SHAH J 1 A_SetTranslucent (0.2, 0) 
SHAH J 1 A_SetTranslucent (0.3, 0) 
SHAH J 1 A_SetTranslucent (0.4, 0) 
SHAH J 1 A_SetTranslucent (0.5, 0) 
SHAH J 1 A_SetTranslucent (0.6, 0) 
SHAH J 1 A_SetTranslucent (0.7, 0) 
SHAH J 1 A_SetTranslucent (0.8, 0) 
SHAH J 1 A_SetTranslucent (0.9, 0)*/ 
SHAH J 1 A_SetTranslucent (1.0, 0) 
SHAH A 0 A_TakeInventory("CloakFlag",1)
goto Ready+2
/*SlideSlide:
SLID C 0 A_JumpIfNoAmmo("NoAmmo")
SLID C 0 A_GiveInventory("ShadowSlide")
SLID C 0 A_PlaySoundEx("weapon/chargekick","Weapon")
SLID C 0 SetPlayerProperty(0,1,0)
SLID C 2 A_Recoil(-20)
SLID A 8 SetPlayerProperty(0,0,0)
SLID B 5
SLID C 5
SLID C 0 A_Refire*/
Cloak:
//SHAH A 0 A_JumpIfInventory("CloakFlag",1,"Ready2")
//SHAH A 0 A_GiveInventory("CloakFlag",1)
SHAH J 1 A_SetTranslucent (0.9, 0) 
SHAH J 1 A_SetTranslucent (0.8, 0) 
SHAH J 1 A_SetTranslucent (0.7, 0) 
SHAH J 1 A_SetTranslucent (0.6, 0) 
SHAH J 1 A_SetTranslucent (0.5, 0) 
SHAH J 1 A_SetTranslucent (0.4, 0) 
SHAH J 1 A_SetTranslucent (0.3, 0) 
SHAH J 1 A_SetTranslucent (0.2, 0) 
SHAH J 1 A_SetTranslucent (0.1, 0) 
SHAH J 1 A_SetTranslucent (0.0, 0)
ICEB A 0 A_GiveInventory("CloakFlag",1)
goto Ready2
}
}

actor ShadowNoReturnBlade : ShadowBladeC
{
damage (8)
States
{
Spawn:
SHAH MNMN 3
loop
}
}

actor CloakAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor CloakFlag : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

/*
actor WepToggleFlag : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Non-Boomer : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "ShadIcon"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
ALIE A 1
stop
Use:
TNT1 A 0 //A_PlaySoundEx("item/refill", "Item")
TNT1 A 0 A_GiveInventory("WepToggleFlag",1)
TNT1 A 0 A_GiveInventory("Boomer",1)
stop
}
}

actor Boomer : CustomInventory //not the sick kind of boomer
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "ShadIcon"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
ALIE A 1
stop
Use:
TNT1 A 0 //A_PlaySoundEx("item/refill", "Item")
TNT1 A 0 A_TakeInventory("WepToggleFlag",1)
TNT1 A 0 A_GiveInventory("Non-Boomer",1)
stop
}
}
*/

actor CloakVisualSpawner
{
scale 2.5
- SOLID
+NOGRAVITY
+NOINTERACTION
RenderStyle "Translucent"
Alpha 0.6
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==-1,"Spawn2")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Blue")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==1,"Red")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Orange")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Purple")
Spawn2:
TNT1 A 1
stop
Blue:
TNT1 A 0 A_SpawnItemEx("CloakVisualBlue", 0, 0, 60, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*//*|SXF_CLIENTSIDE*/, 0)
TNT1 A 1
stop
Red:
TNT1 A 0 A_SpawnItemEx("CloakVisualRed", 0, 0, 60, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*//*|SXF_CLIENTSIDE*/, 0)
TNT1 A 1
stop
Orange:
TNT1 A 0 A_SpawnItemEx("CloakVisualOrange", 0, 0, 60, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*//*|SXF_CLIENTSIDE*/, 0)
TNT1 A 1
stop
Purple:
TNT1 A 0 A_SpawnItemEx("CloakVisualPurple", 0, 0, 60, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM/*|SXF_TRANSFERTRANSLATION*//*|SXF_CLIENTSIDE*/, 0)
TNT1 A 1
stop
}
}

actor CloakVisualBlue : CloakVisualSpawner
{
//+CLIENTSIDEONLY
+NONETID
VisibleToTeam 0
states
{
Spawn:
SHAM J 0
SHAM J 1
stop
}
}

actor CloakVisualRed : CloakVisualBlue
{
Translation "198:198=178:178","192:192=16:16"
VisibleToTeam 1
}

actor CloakVisualOrange : CloakVisualBlue
{
Translation "198:198=218:218", "192:192=249:249"
VisibleToTeam 2
}

actor CloakVisualPurple : CloakVisualBlue
{
Translation "198:198=254:254", "192:192=231:231"
VisibleToTeam 3
}