ACTOR Cyber_Weapon : DOOMWEAPON
{
	INVENTORY.RESTRICTEDTO CyberNinja
}


ACTOR CyberNinjaFists : DOOMWEAPON
{
    -FOILINVUL
	+Weapon.MeleeWeapon
	Weapon.AmmoUse 1
	Weapon.AmmoType "Stamina"
	Weapon.AmmoGive 100
	Weapon.Slotnumber 1
	Weapon.AmmoUse2 1
    Weapon.AmmoType2 "Stamina"
	tag "Ninjitsu"
	Obituary "%o was assasinated by %k's Ninjitsu"
	Inventory.PickupMessage "You've Learned Ninjitsu"
	Weapon.SelectionOrder  3700
	Weapon.KickBack 3
	states
	{
	   Ready:
	    TNT1 A 0 A_JUMPIFINVENTORY("FIRE_FIST_TOKEN",1,"FIRESTANCE")
		TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("KICK_TOKEN", 1, "NinjaKick") 
	///	TNT1 A 0 A_JUMPIFINVENTORY("Slam_Token", 1, "Slam")
		TNT1 A 0 A_JUMPIFINVENTORY("Star_Ready", 1, "NinjaStarReady")
		TNT1 A 0 A_JUMPIFINVENTORY("chain_Token", 1, "Chain_State")
	    TNT1 A 0 A_JUMPIFINVENTORY("Slide_1", 1, "Slide")
		CFST A 1 a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
        TNT1 A 0 A_CHECKFORRELOAD(7,"ready")
		tokenreset:
		TNT1 A 0 A_TAKEINVENTORY("Punch_Combo",5)
		TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 2)
		TNT1 A 0 A_TAKEINVENTORY("Kick_Token",1)
		TNT1 A 0 A_TAKEINVENTORY("KICK_COMBO",3)
///	TNT1 A 0 A_TAKEINVENTORY("Slam_Token", 1)
///   TNT1 A 0 A_TAKEINVENTORY("Slam_Attack_TOKEN",1)
		TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
	    TNT1 A 0 A_TAKEINVENTORY("Perry_ATTACK",3)
		goto Ready
	   Select:
		CFST A 1 A_RAISE
		LOOP
	   DeSelect:
		CFST A 1 A_Lower
		Loop 
	   AltFIre:
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   TNT1 A 0 A_GIVEINVENTORY("Block2",1)
	   BLOC ABC 3 A_JUMPIFINVENTORY("Perry_Attack",1,"perry")
	   ALTHOLD:
	   BLOC C 1
	   TNT1 A 0 A_TAKEINVENTORY("Stamina",1)
	   TNT1 A 0 A_GIVEINVENTORY("Player_Block_Token",1)
	   TNT1 A 0 A_GIVEINVENTORY("Block",1)
	   BLOC A 0 A_REFIRE
	   TNT1 A 0 A_TAKEINVENTORY("Block",1)
	   TNT1 A 0 A_TAKEINVENTORY("Block2",1)
	   BLOC CDE 2
	   GOTO READY
	   FistSwing:
	   TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"FIREFIST")
	    TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
		TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
	///    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
	    TNT1 A 0 A_JUMPIFINVENTORY("Left_Swing", 1, "LeftSwing")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Punch_combo", 2, "CHOP")
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		CFST ABCDEF 1
		CFST G 2 A_CustomPunch(35,0,0,"FistPuff",80)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_1")
		Goto FistDone_1
	   FistImpact_1:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_1:
		CFST EDCBA 1
		TNT1 A 0 A_GIVEINVENTORY("Left_Swing", 1)
		TNT1 A 0 A_REFIRE
		Goto Ready
	   LeftSwing:
	    TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"FIREFIST")
        TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
    	TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
///	    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
///	    TNT1 A 0 A_JUMPIFINVENTORY("Punch_combo", 2, "CHOP")
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		CFS2 ABCDEF 1
		CFS2 G 2 A_CustomPunch(35,0,0,"FistPuff",80) /// from 10 to 25
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_2")
		Goto FistDone_2
	   FistImpact_2:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_2:
		CFS2 FEDCBA 1
		TNT1 A 0 A_TAKEINVENTORY("Left_Swing",1)
		Goto Ready
		Chop:
		TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_combo", 3, "CHOP2")
		CHOP ABCDEF 1
		CHOP G 2 A_CustomPunch(45,1,0,"FistPuff")
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_Chop")
		goto ChopDone
	   FistImpact_Chop:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		ChopDone:
		CHOP HGFEDCBA 1
        TNT1 A 0 A_REFIRE
	    Goto Ready
		Chop2:
        TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
		CHO2 ABCDEF 1
		CHO2 G 2 A_CustomPunch(45,1,0,"KickPuff")
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_Chop2")
		goto ChopDone2
	   FistImpact_Chop2:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		ChopDone2:
		CHO2 GFEDCBA 1
		TNT1 A 0 A_TAKEINVENTORY("PUNCH_COMBO", 5)
		GOTO READY
/// gun removed into a pickup
	  Slide:
		 TNT1 A 0 A_JUMPIFINVENTORY("Stamina", 50, "Slide_Voided")
		 goto Slide_Voided
		SlideStart:
		TNT1 A 0 A_GIVEINVENTORY("SLIDE_PLAYER_TOKEN", 1)
	    CKI2 AB 2
		Sliding:
	    TNT1 A 0 A_ChangeVelocity(1,0,0, CVF_RELATIVE | CVF_RELATIVE )
	    TNT1 A 0 A_TAKEINVENTORY("STAMINA", 4)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "Slide_Impac")
		TNT1 A 0 A_PLAYSOUND("KICK/SLIDE")
	    TNT1 A 0 A_JumpIfNoAmmo("SlideDone")
		CKI2 C 1  A_CustomPunch(10,1,0,"KickPuff")
		TNT1 A 0 A_CHECKFORRELOAD(15,"Sliding")
		Goto SlideDone
	   Slide_Impac:
	///    TNT1 A 0 A_BLAST
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		Goto Ready
		SlideDone:
		 CKI2 BA 2
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 Goto Ready
		 Slide_Voided:
		  TNT1 A 0 A_CHECKFLOOR("SlideStart")
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 goto ready
       Fire_Slide:
		 TNT1 A 0 A_JUMPIFINVENTORY("Stamina", 50, "Slide_Voided2")
		 goto Slide_Voided2
		SlideStart2:
		TNT1 A 0 A_GIVEINVENTORY("SLIDE_PLAYER_TOKEN", 1)
	    CKI2 AB 2
		Sliding2:
	    TNT1 A 0 A_ChangeVelocity(2,0,0, CVF_RELATIVE | CVF_RELATIVE )
	    TNT1 A 0 A_TAKEINVENTORY("STAMINA", 4)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "Slide_Impac2")
		TNT1 A 0 A_PLAYSOUND("FIRE/SLIDE")
	    TNT1 A 0 A_JumpIfNoAmmo("SlideDone2")
		CKI2 D 1 bright  A_CustomPunch(250,1,0,"FIRE_Puff")
		TNT1 A 0 A_CHECKFORRELOAD(15,"Sliding2")
		Goto SlideDone2
	   Slide_Impac2:
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		 TNT1 A 0 A_TAKEINVENTORY("dragon_magic", 100)
		TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
		TNT1 AAA 0 A_FIRECUSTOMMISSILE("ELECTRICITY", RANDOM(-5,5),0)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	     CKI2 E 2
		Goto Ready
		SlideDone2:
		 CKI2 BA 2
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 Goto Ready
		 Slide_Voided2:
		 TNT1 A 0 A_CHECKFLOOR("SlideStart2")
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		 goto ready
	   UpperCut:
	    
	     UPCT AB 2
		 UPCT C 2
	   	TNT1 A 0  A_CustomPunch(35,1,0,"FistPuff")
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "Upp_Impac")
		Goto up_done
	   Upp_Impac:
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 100)
		TNT1 A 0 A_BLAST(BF_USEAMMO,155,255,20.0)
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		Goto Ready
		up_done:
		 UPCT C 2 
		 UPCT CBA 2
		 TNT1 A 0 A_REFIRE
		 GOTO READY
		NinjaKick:
	     TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"NINJA_FIRE_KICK")
		 TNT1 A 0 A_GIVEINVENTORY("ninjakicktoken2",1)
		 KIC2 A 2 
		 KIC2 C 2 
		Ninja_Kicking:
		 KIC2 C 0 A_TAKEINVENTORY("Ninja_KICKing_TOKEN",1)
		 KIC2 C 0 A_TAKEINVENTORY("FIRE_KICK_TOKEN",15)
		 KIC2 E 2 A_SETANGLE(ANGLE+3,SPF_INTERPOLATE)
		 KIC2 F 2 A_SETPITCH(PITCH+3,SPF_INTERPOLATE)
		 TNT1 A 0 A_ChangeVelocity(8,0,0, CVF_RELATIVE | CVF_RELATIVE )
		 KIC2 G 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		 KIC2 G 5 A_JUMPIFINVENTORY("Punch_Hit",1,"kick_impac_1")
		 goto kickdone_2
		 kick_impac_1:
		 TNT1 A 0 A_TAKEINVENTORY("STAMINA",150)
		 TNT1 A 0 A_BLAST
		 TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		 kickdone_2:
		 KIC2 D 2 A_SETANGLE(ANGLE-3, SPF_INTERPOLATE)
		 KIC2 C 2 A_SETPITCH(PITCH-3, SPF_INTERPOLATE)
		 KIC2 BA 2
		 TNT1 A 0 A_TAKEINVENTORY("KICK_TOKEN", 1)
         TNT1 A 0 A_TAKEINVENTORY("ninjakicktoken2",1)
		 GOTO READY
		NINJA_FIRE_KICK:
		  BLOC C 0 A_QUAKE(4,15,0,30,"")
		  TNT1 A 0 A_PLAYSOUND("cyber/ffeild")
		  TNT1 A 0 A_TAKEINVENTORY("STAMINA",150)
	      KIC2 C 0 A_TAKEINVENTORY("FIRE_KICK_TOKEN",15)
	      TNT1 A 0 A_TAKEINVENTORY("Block",1)
	      TNT1 A 0 A_TAKEINVENTORY("Block2",1)
		 KIC2 E 2 A_SETANGLE(ANGLE+3,SPF_INTERPOLATE)
		 KIC2 F 2 A_SETPITCH(PITCH+3,SPF_INTERPOLATE)
		 EKIK AB 2
		  TNT1 A 0 A_ChangeVelocity(15,0,0, CVF_RELATIVE | CVF_RELATIVE )
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		   EKIK C 2 A_CustomPunch(30,1,0,"KICKPuff",70)
		  TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "SLAM_SPAWN")
		  GOTO FIREKICKDONE
		  SLAM_SPAWN:
		  TNT1 A 0 A_TAKEINVENTORY("dragon_magic", 100)
		  TNT1 A 0 A_PLAYSOUND("cyber/machine")
          EKIK D 4 A_SPAWNITEMEX("ELECTRICITY",0,0,0,20,0,0,RANDOM(-7,7),0)
          TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "TAKESTATUEKICK")
		  GOTO FIREKICKDONE
          TAKESTATUEKICK:
		  FIREKICKDONE:
		  TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
  	      TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	      TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		  EKIK BA 2
		 KIC2 D 2 A_SETANGLE(ANGLE-3, SPF_INTERPOLATE)
		 KIC2 C 2 A_SETPITCH(PITCH-3, SPF_INTERPOLATE)
		 KIC2 BA 2
		  GOTO READY
		HighKick:
		 TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
		 KICA AB 3
		 KICA CC 4  A_CustomPunch(35,1,0,"KickPuff")
		 KICA BA 3
		 TNT1 A 0 A_TAKEINVENTORY("KICK_COMBO", 3)
		 TNT1 A 0 A_TAKEINVENTORY("KICK_TOKEN", 1)
		 GOTO READY
		Fire:
		 TNT1 A 0 A_CHECKFLOOR("FistSwing")
		 TNT1 A 0 A_GIVEINVENTORY("ninjakicktoken",1)
		 CKI2 AB 2
		Kicking:
		 TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1,"DROPKICK_Impac")
		 TNT1 A 0 A_CHECKFLOOR("KickDone")
		 CKI2 C 1  A_CustomPunch(7,1,0,"FistPuff")
		 TNT1 A 0 A_CHECKFORRELOAD(10,"KICKING")
		GOTO KickDone
	   DROPKICK_Impac:
		TNT1 A 0 A_BLAST
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		Goto Ready
		KickDone:
		 CKI2 BA 2
		 Goto Ready
		Perry:
	///	 TNT1 A 0 A_JUMPIFINVENTORY("stamina",150,"NINJA_FIRE_KICK")
		 TNT1 A 0 A_PLAYSOUND("cyber/machine",10)
         TNT1 A 0 A_GIVEINVENTORY("DRAGON_MAGIC",25)
		 TNT1 A 0 A_BLAST
		 TNT1 A 0 HEALTHING(100,300)
		 CPRY A 10 A_CustomPunch(5,1,0,"FistPuff",64,1)
		 TNT1 A 0 A_TAKEINVENTORY("Perry_ATTACK",3)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK",1)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK2",1)
		 GOTO READY
		Perry_Kick:
	     TNT1 A 0 HEALTHING(100,300)
		 TNT1 A 0 A_PLAYSOUND("parry/defl",10)
         TNT1 A 0 A_GIVEINVENTORY("ninjakicktoken2",1)
		 KIC2 A 2 
		 KIC2 C 2 
		 KIC2 E 2 A_SETANGLE(ANGLE+3,SPF_INTERPOLATE)
		 KIC2 F 2 A_SETPITCH(PITCH+3,SPF_INTERPOLATE)
		 KIC2 G 2 A_CustomPunch(30,1,0,"KICKPuff")
		 KIC2 G 3 A_JUMPIFINVENTORY("Punch_Hit",1,"kick_impac_4")
		 goto kickdone_4
		 kick_impac_4:
		 TNT1 A 0 A_TAKEINVENTORY("STAMINA",25)
		 TNT1 A 0 A_BLAST
		 TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		 kickdone_4:
		 KIC2 D 2 A_SETANGLE(ANGLE-3, SPF_INTERPOLATE)
		 KIC2 C 2 A_SETPITCH(PITCH-3, SPF_INTERPOLATE)
		 KIC2 BA 2
		 TNT1 A 0 A_TAKEINVENTORY("KICK_TOKEN", 1)
         TNT1 A 0 A_TAKEINVENTORY("ninjakicktoken2",1)
		 TNT1 A 0 A_TAKEINVENTORY("Perry_ATTACK",3)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK",1)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK2",1)
		 GOTO READY
		Perry_Uppercut:
		TNT1 A 0 HEALTHING(100,300)
		TNT1 A 0 A_PLAYSOUND("parry/defl",10)
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 25)
	    UPCT AB 2
		UPCT CD 2
	   	TNT1 A 0  A_CustomPunch(35,1,0,"FistPuff")
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "Upp_Impac2")
		Goto up_done2
	   Upp_Impac2:
		TNT1 A 0 A_BLAST
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		Goto Ready
		up_done2:
		 UPCT D 2 
		 UPCT DCBA 2
		 TNT1 A 0 A_TAKEINVENTORY("Perry_ATTACK",3)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK",1)
		 TNT1 A 0 A_TAKEINVENTORY("BLOCK2",1)
		 GOTO READY
		NinjaFire:
		 TNT1 A 0 A_JUMPIFINVENTORY("dragon_magic", 100, "Dragon_Fireball")
		 TNT1 A 0 A_GIVEINVENTORY("Player_CYBER_Token",1)
		 TNT1 A 0 A_PLAYSOUND("cyber/machine")
		 CEST ABC 2 BRIGHT
		 CEST C 2 BRIGHT
		 CEST D 2 BRIGHT 
		 TNT1 A 0 A_FIRECUSTOMMISSILE("SPEAR", 0,0)
		 TNT1 A 0 A_TAKEINVENTORY("chain_Token",1)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("Stamina",150)
		 GOTO Fireballdone
		 Dragon_Fireball:
         TNT1 A 0 A_FIRECUSTOMMISSILE("SPEAR", 0,0)
		 CEST DDDD 2 BRIGHT A_FIRECUSTOMMISSILE("SPEAR2")
		 TNT1 A 0 A_TAKEINVENTORY("dragon_magic", 100)
         TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "TAKESTATUE")
		 GOTO FIREBALLDONE
         TAKESTATUE:
		 FIREBALLDONE:
		TNT1 A 0 A_TAKEINVENTORY("stamina",150)
		TNT1 A 0 A_TAKEINVENTORY("Player_CYBER_Token",1)
		 CEST C 2 BRIGHT
		 CEST BA 2 BRIGHT
		 GOTO READY
	  FIRESTANCE:
	   dragon_magic_start:
	   TNT1 A 0 A_JUMPIFINVENTORY("dragon_magic",100,"STANCESTART")
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   goto ready
	  StanceStart:
	   TNT1 A 0 A_PLAYSOUND("cyber/ffeild")
	   CBST ABBB 1 BRIGHT
	   FIRESTANCE2:
	   TNT1 A 0 A_GIVEINVENTORY("FIRE_STANCE_TOKEN",1)
	   CBST C 1 BRIGHT a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	   TNT1 A 0 A_JUMPIFINVENTORY("Slide_1", 1, "Fire_Slide")
	   TNT1 A 0 A_JUMPIFINVENTORY("KICK_TOKEN", 1, "NinjaKick") 
	   TNT1 A 0 A_JUMPIFINVENTORY("chain_Token", 1, "CHAIN_FIRE")
	   TNT1 A 0 A_CHECKFORRELOAD(40,"FIRESTANCE2")
	   CBST BBBBA 1
	   FireStanceDone:
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	  GOTO READY
	  FIREFIST:
	     TNT1 A 0 A_GIVEINVENTORY("FIRE_FIST_TOKEN2",1)
		 BLOC C 2 BRIGHT A_QUAKE(4,15,0,30,"")
		 TNT1 A 0 A_PLAYSOUND("CYBER/ELECTRIC")
		 THFT ABC 2 BRIGHT
		 THFT D 2 BRIGHT A_CustomPunch(250 *random(1,2),0,0,"ELEC_Puff") /// 50 50 chance of doing 100 dam per hit buffed for deathmatch
		 TNT1 A 0 A_SPAWNITEMEX("ELECTRICITY", 0,0,0,Frandom(10,10),Frandom(10,10),Frandom(10,10),Frandom(0,360),0 , 0)
		 TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "fireFistImpact_1")
		Goto fireFistDone_1
	     fireFistImpact_1:
	     TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "FireProjectile")
	    goto fireFistImpact_2
	     FireProjectile:
	     TNT1 AAA 0 A_FIRECUSTOMMISSILE("ELECTRICITY", RANDOM ( -5 ,5)) /// MULTIPLAYER BUFF
	     fireFistImpact_2:
		 TNT1 A 0 A_TAKEINVENTORY("dragon_magic",50)
		 TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		 fireFistDone_1:
		 CFS2 GFEDCBA 1 BRIGHT
		  TNT1 A 0 A_TAKEINVENTORY("STAMINA",150) /// now takes stam regardless
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		Goto Ready
		NinjaStarReady:
		 TNT1 A 0 A_GIVEINVENTORY("STAR_TOKEN",1)
		 TNT1 A 0 A_PLAYSOUND("cyber/machine")
		 CSTN ABCD 2
		 CSTN D 7 A_WEAPONREADY
		 CSTN DCBA 2
		 TNT1 A 0 A_TAKEINVENTORY("STAR_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("STAR_READY",1)
		 GOTO READY
		NinjaStarAttack:
		 TNT1 A 0 A_TAKEINVENTORY("Stamina", 50)
		 CSTN D 2
		 CSTN E 2 A_FIRECUSTOMMISSILE("NinjaStar", 0,0)
		 CSTN D 2
		 CSTN E 2 A_FIRECUSTOMMISSILE("NinjaStar", 0,0)
		 CSTN D 2
		 CSTN E 2 A_FIRECUSTOMMISSILE("NinjaStar", 0,0)
		 CSTN DCBA 2
		 TNT1 A 0 A_TAKEINVENTORY("STAR_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("STAR_READY",1)
		 GOTO READY
		 Reload:
		 TNT1 A 0 A_JUMPIFINVENTORY("Stamina", 100, "Flash_1")
		 goto ReloadDone
		 Flash_1:
		 TNT1 A 0 A_GIVEINVENTORY("STAR_TOKEN",1)
		 TNT1 A 0 A_PLAYSOUND("cyber/machine")
		 CSTN ABCD 2
		 TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"FIRE_BOMB")
		 CSTN E 7 A_ThrowGrenade("Flash_Bomb")
		 CSTN D 2
		 TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"FIRE_BOMB")
		 GOTO BOMBDONE
		 FIRE_BOMB:
		 TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("DRAGON_MAGIC",100)
		 CSTN E 7 A_ThrowGrenade("GRENADE")
		 CSTN D 2
		 BOMBDONE:
		 CSTN DCBA 2
		ReloadDone:
		 TNT1 A 0 A_TAKEINVENTORY("STAR_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("STAR_READY",1)
		 GOTO Ready
	/*	Zoom:
		  SWRD A 1 A_PLAYSOUND("Sword/Draw")
		  SWRD BCD 1
		  TNT1 A 0 A_JUMPIFINVENTORY("STAMINA", 100,"SWORD_OUT")
		  GOTO SWORDDONE
		 SWORD_OUT:
		  TNT1 A 0 A_GIVEINVENTORY("sword_token_deflect",1)
		  SWRD E 13 A_SETREFLECTIVE
		  TNT1 A 0 A_UNSETREFLECTIVE
		  TNT1 A 0 A_JUMPIFINVENTORY("sword_attack",1,"Sword_Swing")
		  SWORDDONE:
		  SWRD D 1 A_TAKEINVENTORY("sword_token_deflect",1)
		  SWRD CBA 1
		 GOTO READY
	*/
		 Zoom:
		   TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"Fire_Sword")
		   TNT1 A 0 A_JUMPIFINVENTORY("STAMINA", 150,"Sword_Swing")
		   goto ready
		 Sword_Swing:
	///	  TNT1 A 0 A_ChangeVelocity(15,0,0, CVF_RELATIVE | CVF_RELATIVE )
		  TNT1 A 0 A_GIVEINVENTORY("SWORD_PLAYER1",1)
		  TNT1 A 0 A_PLAYSOUND("Sword/deflc")
		  SWRD A 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD B 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD C 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD D 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD E 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD F 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD G 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD H 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD I 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD J 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
		  SWRD K 1 BRIGHT A_CUSTOMPUNCH(100,0,0,"Sword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE")
          TNT1 A 0 A_TAKEINVENTORY("Stamina",25)
		  TNT1 A 0 A_TAKEINVENTORY("sword_Attack",1)
		  TNT1 A 0 A_TAKEINVENTORY("sword_token_deflect",1)
		  TNT1 A 0 A_TAKEINVENTORY("SWORD_PLAYER1",1)
		  goto READY
		  LIFESTEALSTATE:
		  SWRD FGHIJK 2 BRIGHT
		  TNT1 A 0 A_TAKEINVENTORY("Life_Steal", 1)
		  GOTO READY
		 Fire_Sword:
		   TNT1 A 0 A_JUMPIFINVENTORY("STAMINA", 150,"Sword_Swing2")
		   goto ready
		 Sword_Swing2:
          TNT1 A 0 A_TAKEINVENTORY("STAMINA",150)
		  TNT1 A 0 A_ChangeVelocity(25,0,0, CVF_RELATIVE | CVF_RELATIVE )
		  TNT1 A 0 A_GIVEINVENTORY("SWORD_PLAYER1",1)
		  TNT1 A 0 A_PLAYSOUND("Sword/deflc")
		  SWRF A 2 BRIGHT A_CUSTOMPUNCH(300,0,0,"ELCSword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE2")
		  SWRF B 2 BRIGHT A_CUSTOMPUNCH(300,0,0,"ELCSword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE2")
		  SWRF C 2 BRIGHT A_CUSTOMPUNCH(300,0,0,"ELCSword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE2")
		  SWRF D 2 BRIGHT A_CUSTOMPUNCH(300,0,0,"ELCSword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE2")
		  SWRF EFGHIJK 2 BRIGHT A_CUSTOMPUNCH(300,0,0,"ELCSword_Puff", 80, true) 
		  TNT1 A 0 A_JUMPIFINVENTORY("Life_Steal",1,"LIFESTEALSTATE2")
		  TNT1 A 0 A_TAKEINVENTORY("sword_Attack",1)
		  TNT1 A 0 A_TAKEINVENTORY("sword_token_deflect",1)
		  TNT1 A 0 A_TAKEINVENTORY("SWORD_PLAYER1",1)
		  goto READY
		  LIFESTEALSTATE2:
		  	FIBL AAAAAA 0  A_FIRECUSTOMMISSILE("ELECTRICITY",RANDOM(5,-5))
		  LIFF ABCDEF 2 BRIGHT
		  TNT1 A 0 A_TAKEINVENTORY("Dragon_Magic",100)
		  TNT1 A 0 A_TAKEINVENTORY("Life_Steal", 1)
		  GOTO READY
		 Chain_State:
		 TNT1 A 0 A_GIVEINVENTORY("Player_CYBER_Token",1)
		 TNT1 A 0 A_TAKEINVENTORY("Stamina", 50)
		 TNT1 A 0 A_PLAYSOUND("cyber/machine")
		 CEST ABC 2
		 CEST C 2
		 CEST C 2
		 TNT1 A 0 A_FIRECUSTOMMISSILE("Chain", 0,0)
		 CEST B 2
		 CEST A 2
		 TNT1 A 0 A_TAKEINVENTORY("chain_Token",1)
		 TNT1 A 0 A_TAKEINVENTORY("Stamina",25)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		  TNT1 A 0 A_TAKEINVENTORY("Player_CYBER_Token",1)
		 GOTO READY
		 CHAIN_FIRE:
		  TNT1 A 0 A_GIVEINVENTORY("Player_CYBER_Token",1)
		 TNT1 A 0 A_PLAYSOUND("cyber/machine")
		 CEST ABC 2 BRIGHT
		 CEST C 2 BRIGHT
		 CEST D 2 BRIGHT
		 TNT1 A 0 A_FIRECUSTOMMISSILE("ElectricChain", 0,0)
		 TNT1 A 0 A_TAKEINVENTORY("dragon_magic",100)
		 CEST C 2 BRIGHT
		 CEST BA 2 BRIGHT
		 TNT1 A 0 A_TAKEINVENTORY("chain_Token",1)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	     TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		 TNT1 A 0 A_TAKEINVENTORY("Stamina",150)
		  TNT1 A 0 A_TAKEINVENTORY("Player_CYBER_Token",1)
		 GOTO READY
		  
	}
	
}



ACTOR CNinjaFists_BOT : CyberNinjaFists
{

	states
	{
	   FistSwing:
	    TNT1 A 0 A_JUMP(20,"FIREFIST","RELOAD","ZOOM","NinjaFire","NinjaKick", "NinjaStarReady", "Chain_State")
	    TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
		TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
	///    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
	    TNT1 A 0 A_JUMPIFINVENTORY("Left_Swing", 1, "LeftSwing")
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		FIST ABCDE 1
		FIST F 1
		FIST G 1 A_CustomPunch(35,0,0,"FistPuff",80)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_1")
		Goto FistDone_1
	   FistImpact_1:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_1:
		FIST HIJ 1
		FIST IHGFEDCBA 1
		TNT1 A 0 A_GIVEINVENTORY("Left_Swing", 1)
		TNT1 A 0 A_REFIRE
		Goto Ready
	   LeftSwing:
 	    TNT1 A 0 A_JUMP(20,"FIREFIST","RELOAD","ZOOM","NinjaFire","NinjaKick", "NinjaStarReady", "Chain_State")
        TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
    	TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
///	    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		FIS2 ABCDE 1
		FIS2 F 1
		FIS2 G 1 A_CustomPunch(35,0,0,"FistPuff",80) /// from 10 to 25
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_2")
		Goto FistDone_2
	   FistImpact_2:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_2:
		FIS2 HIJ 1
		FIS2 IHGFEDCBA 1
		TNT1 A 0 A_TAKEINVENTORY("Left_Swing",1)
		Goto Ready
		
		
		
		
	}
}

ACTOR CChain_technique : CyberNinjaFists
{

	states
	{
	   FistSwing:
	    TNT1 A 0 A_JUMP(10, "Chain_State")
	    TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
		TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
	///    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
	    TNT1 A 0 A_JUMPIFINVENTORY("Left_Swing", 1, "LeftSwing")
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		FIST ABCDE 1
		FIST F 1
		FIST G 1 A_CustomPunch(35,0,0,"FistPuff",80)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_1")
		Goto FistDone_1
	   FistImpact_1:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_1:
		FIST HIJ 1
		FIST IHGFEDCBA 1
		TNT1 A 0 A_GIVEINVENTORY("Left_Swing", 1)
		TNT1 A 0 A_REFIRE
		Goto Ready
	   LeftSwing:
 	    TNT1 A 0 A_JUMP(10, "Chain_State")
        TNT1 A 0 A_JUMPIFINVENTORY("Fireball_Token", 1, "NinjaFire") 
		TNT1 A 0 A_JUMPIFINVENTORY("STAR_TOKEN", 1, "NINJASTARATTACK")
///		TNT1 A 0 A_JUMPIFINVENTORY("SLAM_ATTACK_TOKEN", 1, "SLAMSTART")
///	    TNT1 A 0 A_JUMPIFINVENTORY("Kick_Token", 1, "NinjaKick")
    	TNT1 A 0 A_JUMPIFINVENTORY("Kick_Combo", 1, "HighKick")
	    TNT1 A 0 A_JUMPIFINVENTORY("UpperCut_1", 1, "UpperCut")
///	    TNT1 A 0 A_JUMPIFINVENTORY("GUN_Fire", 1,"GunFire")
	    TNT1 A 0 A_TAKEINVENTORY("Stamina", 2)
		TNT1 A 0 A_PLAYSOUND("FIST/WOSH")
		FIS2 ABCDE 1
		FIS2 F 1
		FIS2 G 1 A_CustomPunch(35,0,0,"FistPuff",80) /// from 10 to 25
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "FistImpact_2")
		Goto FistDone_2
	   FistImpact_2:
		TNT1 A 0 
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		FistDone_2:
		FIS2 HIJ 1
		FIS2 IHGFEDCBA 1
		TNT1 A 0 A_TAKEINVENTORY("Left_Swing",1)
		Goto Ready
		
		
		
		
	}
}


ACTOR GUN_CYBER : GUN
{
states
 {
	   Select:
	    GUN1 A 1 A_RAISE
		GUN1 A 1 A_RAISE
		LOOP
	   Deselect:
	    TNT1 A 0 A_TAKEINVENTORY("GUN_PLAYER1", 1)
		GUN1 E 1 A_LOWER
		Loop
		Ready:
		TNT1 A 0 A_JUMPIFINVENTORY("PISTOL_AMMO",1,"GunReload")
        GUN1 B 2
		READY2:
		TNT1 A 0 A_JUMPIFINVENTORY("FIRE_FIST_TOKEN",1,"dragon_magic_start")
	    TNT1 A 0 A_JUMPIFINVENTORY("Slide_1", 1, "Slide")
		GUN1 C 1 a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 0 A_CHECKFORRELOAD(7,"ready2")
		tokenreset:
		TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		TNT1 A 0  A_TAKEINVENTORY("FIRE_FIST_TOKEN",1)
		GOTO READY2
	   GunReload:
	    GNOK C 4
	    GNOK BA 2 A_PLAYSOUND("GUN/COCK")
	    GNOK A 2
		GNOK BC 2
		GOTO READY2
	   Fire:
		TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"Dragonbullet")
	    TNT1 A 0 A_JUMPIFNOAMMO("GUNNOAMMO")
	    TNT1 A 0 A_GIVEINVENTORY("GUN_PLAYER1", 1)
		TNT1 A 0 A_TAKEINVENTORY("pistol_ammo", 1)
	    TNT1 A 0 A_QUAKE(4,15,0,30,"")
		GUN1 C 3 BRIGHT
	    GUNF A 2 BRIGHT 
		TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "Gun_Multiplayer")
		TNT1 A 0 A_FIRECUSTOMMISSILE("Gun_Bullet")
		GOTO GunFinish
		Dragonbullet:
		TNT1 A 0 A_JUMPIFNOAMMO("GUNNOAMMO")
	    TNT1 A 0 A_QUAKE(4,15,0,30,"")
		GUN1 C 3 BRIGHT
	    GUNF A 2 BRIGHT 
		TNT1 A 0 A_FIRECUSTOMMISSILE("Gun_Bullet")
	    TNT1 A 0 A_PLAYSOUND("PIS/FIRE",5)
		TNT1 A 0 A_SetPitch(pitch-3, SPF_FORCECLAMP | SPF_INTERPOLATE)
		GUN1 CC 3
	    TNT1 A 0 A_SetPitch(pitch+3, SPF_FORCECLAMP | SPF_INTERPOLATE)
		GUN1 C 5
		GUN1 A 2
		CUN1 ABCD 2
		TNT1 A 0 A_TAKEINVENTORY("DRAGON_MAGIC", 100)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	    CUN1 D 3
		CUN1 E 2
		TNT1 A 0 A_FIRECUSTOMMISSILE("Grenade")
		CUN1 DCBA 2
		GOTO ready
		Gun_Multiplayer:
		TNT1 A 0 A_FIRECUSTOMMISSILE("Gun_Bullet_Deathmatch")
		GunFinish:
	    TNT1 A 0 A_PLAYSOUND("PIS/FIRE",5)
		TNT1 A 0 A_SetPitch(pitch-3, SPF_FORCECLAMP | SPF_INTERPOLATE)
		GUN1 CC 3
	    TNT1 A 0 A_SetPitch(pitch+3, SPF_FORCECLAMP | SPF_INTERPOLATE)
		GUN1 C 5
	   GOTO READY2
	   GUNNOAMMO:
		GUN1 C 10 A_PLAYSOUND("GUN/CLICK")
		TNT1 A 0 A_SELECTWEAPON("NinjaFists")
		TNT1 A 0 A_SELECTWEAPON("CyberNinjaFists")
		TNT1 A 0 A_SELECTWEAPON("CNinjaFists_Bot")
		TNT1 A 0 A_SELECTWEAPON("CChain_technique")
		goto ready2
       Slide:
	   TNT1 A 0 A_JUMPIFINVENTORY("Stamina", 50, "Slide_Voided")
		 goto Slide_Voided
		SlideStart:
		TNT1 A 0 A_GIVEINVENTORY("SLIDE_PLAYER_TOKEN", 1)
		GUN1 E 2
	    GNSL AB 2
		Sliding:
	    TNT1 A 0 A_ChangeVelocity(1,0,0, CVF_RELATIVE | CVF_RELATIVE )
	    TNT1 A 0 A_TAKEINVENTORY("STAMINA", 4)
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "Slide_Impac")
		TNT1 A 0 A_PLAYSOUND("KICK/SLIDE")
		GNSL C 1  A_CustomPunch(5,1,0,"FistPuff")
		TNT1 A 0 A_CHECKFORRELOAD(15,"Sliding")
		Goto SlideDone
	   Slide_Impac:
///		TNT1 A 0 A_BLAST
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		Goto SlideDone
		SlideDone:
		 GNSL BA 2
		 GUN1 E 2
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 Goto READY2
		 Slide_Voided:
		  TNT1 A 0 A_CHECKFLOOR("SlideStart")
		 TNT1 A 0 A_TAKEINVENTORY("Slide_1",1)
		 goto READY2
		Spawn:
		PIST A -1
		STOP
		FlameShot:
  dragon_magic_start:
	   TNT1 A 0 A_JUMPIFINVENTORY("dragon_magic",100,"STANCESTART")
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   goto ready
	  StanceStart:
	   TNT1 A 0 A_PLAYSOUND("cyber/ffeild")
	   CGUN AB 2
	   FIRESTANCE2:
	   TNT1 A 0 A_GIVEINVENTORY("FIRE_STANCE_TOKEN",1)
	   CGUN B 1 BRIGHT a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	   TNT1 A 0 A_CHECKFORRELOAD(15,"FIRESTANCE2")
	   CGUN BA 2
	   GUN1 A 2
	   FireStanceDone:
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	  GOTO READY
		}
}

ACTOR Grenade
{
	+Missile
	+NOBLOCKMAP
	+DROPOFF
	+ACTIVATEIMPACT
	+ACTIVATEPCROSS
	+NOTELEPORT
	BounceCount 3
    scale 0.25
    MissileHeight 8
    +ROCKETTRAIL
	Radius 13
	Height 6
	Damage 450
	DamageType "CYBER_EXTREME"
	speed 35
	-NoGravity
	bouncetype DOOM
	SeeSound "cyber/grenade"
	DeathSound "FLASH/BOMB"
	Obituary "%k assasinated %o With his Flash Bomb"
	States
	{
	Spawn:
		BOMB A 4 Bright
		loop
	Death:
	    TNT1 A 0 A_EXPLODE(140,250,0)
		BOMB BC 2
		TNT1 A 0 A_SETSCALE(1.0,1.0)
		BOMB D 2
		TNT1 A 0 A_SETSCALE(1.5,1.5)
		BOMB E 2
		STOP
		
	}
}

ACTOR CYBER_Glaive : Glaive Replaces PlasmaRifle
{
states
	{
		FIRE_ATTACK:
		TNT1 A 0 A_GIVEINVENTORY("Glaive_PLAYER1", 1)
	    TNT1 A 0 A_PLAYSOUND("Glaive/SWING")
	    GLVE ABCD 2
		GLVE E 3 A_CustomPunch((150 * random(2,3)),0,0,"ELEC_GLAIVE",80) /// NERF THIS UPDATE
		TNT1 A 0 A_JUMPIFINVENTORY("Punch_Hit",1, "GlaiveImpact_F")
		GOTO Glaive_doneF
		GlaiveImpact_F:
	   TNT1 AAA 0  A_SPAWNITEMEX("ELECTRICITY",0,0,0,50,0,0,RANDOM(0,-360))
	   TNT1 A 0 A_TAKEINVENTORY("Dragon_Magic", 100)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		TNT1 A 0 A_BLAST
		TNT1 A 0 A_QUAKE(4,15,0,30,"")
		Glaive_doneF:
		TNT1 A 0 A_TAKEINVENTORY("Punch_Hit",1)
		GLVE DCB 2
	    TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	    TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		goto ready
	  dragon_magic_start:
	   TNT1 A 0 A_JUMPIFINVENTORY("dragon_magic",100,"STANCESTART")
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   goto ready
	  StanceStart:
	   TNT1 A 0 A_PLAYSOUND("cyber/ffeild")
	   GLV2 ABB 2
	   FIRESTANCE2:
	   TNT1 A 0 A_GIVEINVENTORY("FIRE_STANCE_TOKEN",1)
	   GLV2 B 1 BRIGHT a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	   TNT1 A 0 A_CHECKFORRELOAD(15,"FIRESTANCE2")
	   GLV2 BBA 2
	   FireStanceDone:
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	  GOTO READY
	  }
}

ACTOR CGlaiveBlade_1 : WeaponPiece 2001
{
   WeaponPiece.Number 1
   WeaponPiece.Weapon "CYBER_Glaive"
   Inventory.Pickupmessage "Picked up the Glaive Blade." 
   Inventory.pickupsound "Drag/Statue"
states
	{
	Spawn:
	WEPP A -1 BRIGHT
	STOP
	}
}
ACTOR CGlaiveHandle_1 : WeaponPiece 2003
{
   WeaponPiece.Number 2
   WeaponPiece.Weapon "CYBER_Glaive"
   Inventory.Pickupmessage "Picked up the Glaive Blade." 
   Inventory.pickupsound "Drag/Statue"
states
	{
	Spawn:
	WEPP B -1 BRIGHT
	STOP
	}
}


ACTOR Cyber_Spas12 : spas12 Replaces SuperShotgun
{
states
 {
 Fire:
	    TNT1 A 0 A_JUMPIFNOAMMO("Shotgun_ammo")
	    TNT1 A 0 A_GIVEINVENTORY("GUN_PLAYER1", 1)
	    TNT1 A 0 A_QUAKE(4,15,0,30,"")
		SPAS A 3 BRIGHT
		TNT1 A 0 A_PLAYSOUND("spas/shot",10)
	    SPAS C 2 BRIGHT 
		TNT1 A 0 A_JUMPIFINVENTORY("FIRE_STANCE_TOKEN",1,"Dragonbullet")
		goto Normal_Spas
		Dragonbullet:
		TNT1 A 0 A_FIRECUSTOMMISSILE("ElectriHarpoon",-6,0)
		TNT1 A 0 A_FIRECUSTOMMISSILE("ElectriHarpoon",-4,0)
		TNT1 A 0 A_FIRECUSTOMMISSILE("ElectriHarpoon",0,0)
		TNT1 A 0 A_FIRECUSTOMMISSILE("ElectriHarpoon",4,0)
		TNT1 A 0 A_FIRECUSTOMMISSILE("ElectriHarpoon",6,0)
		TNT1 A 0 A_TAKEINVENTORY("Shotgun_ammo", 1)
		TNT1 A 0 A_TAKEINVENTORY("DRAGON_MAGIC", 100)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
		GOTO GUNFINISH
		Normal_Spas:
		TNT1 AAAAA 0 A_FIRECUSTOMMISSILE("ShotGun_Bullet", RANDOM(5,-5),0,0,0,0,RANDOM(5,-5))
		TNT1 A 0 A_TAKEINVENTORY("Shotgun_ammo", 1)
		GunFinish:
		SPAS A 10
		TNT1 A 0 A_PLAYSOUND("spas/cock",11)
		SPAS DBBBD 4
		SPAS A 5
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   GOTO READY

	   GUNNOAMMO:
		GUN1 C 10 A_PLAYSOUND("GUN/CLICK")
		TNT1 A 0 A_SELECTWEAPON("NinjaFists")
		TNT1 A 0 A_SELECTWEAPON("CyberNinjaFists")
		TNT1 A 0 A_SELECTWEAPON("CNinjaFists_Bot")
		TNT1 A 0 A_SELECTWEAPON("CChain_technique")
		goto ready
dragon_magic_start:
	   TNT1 A 0 A_JUMPIFINVENTORY("dragon_magic",100,"STANCESTART")
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	   goto ready
	  StanceStart:
	   TNT1 A 0 A_PLAYSOUND("cyber/ffeild")
	   CPAS A 2
	   FIRESTANCE2:
	   TNT1 A 0 A_GIVEINVENTORY("FIRE_STANCE_TOKEN",1)
	   CPAS B 1 BRIGHT a_weaponready(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	   TNT1 A 0 A_CHECKFORRELOAD(15,"FIRESTANCE2")
	   CPAS A 2
	   FireStanceDone:
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_FIST_TOKEN", 5)
	   TNT1 A 0 A_TAKEINVENTORY("FIRE_STANCE_TOKEN",1)
	  GOTO READY

 }
}

ACTOR Cyber_Spas12_WeaponPart1 : WeaponPiece replaces chainsaw
{
   WeaponPiece.Number 1
   WeaponPiece.Weapon "Cyber_Spas12"
   Inventory.Pickupmessage "Picked up a Spas12 Part." 
   Inventory.pickupsound "spas/cock"
states
	{
	Spawn:
	SPAP C -1 BRIGHT
	STOP
	}
}
ACTOR Cyber_Spas12_WeaponPart2 : WeaponPiece  Replaces chaingun
{
   WeaponPiece.Number 2
   WeaponPiece.Weapon "Cyber_Spas12"
   Inventory.Pickupmessage "Picked up a Spas12 Part." 
   Inventory.pickupsound "spas/cock"
states
	{
	Spawn:
	SPAP B -1 BRIGHT
	STOP
	}
}


ACTOR Cyber_Blood_Spray
{

    PROJECTILE
    SPEED 20
	+Missile
	-NOBLOCKMAP
	+DROPOFF
	+ACTIVATEIMPACT
	+ACTIVATEPCROSS
	+NOTELEPORT
	-NOGRAVITY
	STATES
	{
	SPAWN:
	 CLUD D 1 BRIGHT
	 LOOP
	DEATH:
	 CLUD EFG 4 BRIGHT
	 STOP
	}

}

ACTOR CYBER_GORE_Blood_Spray
{
    PROJECTILE
    SPEED 20
	+Missile
	+NOBLOCKMAP
	+DROPOFF
	+ACTIVATEIMPACT
	+ACTIVATEPCROSS
	+NOTELEPORT
	-NOGRAVITY
	STATES
	{
	SPAWN:
	 CLUD CCCCC 4 BRIGHT
	 LOOP
 Xdeath:
    CLUD AABBCC 2 A_SPAWNITEMEX("Blood_Spray", 0,0,0,Frandom(10,10),Frandom(10,10),Frandom(10,10),Frandom(0,360), SXF_USEBLOODCOLOR , 0)
    Stop
	}

}

ACTOR CYBRer_HEAD : Cyber_Blood_Spray
{
    -NOGravity
	bouncecount 3
	bouncetype DOOM
STATES
	{
	SPAWN:
	 CBRH ABCD 1 BRIGHT
	 LOOP
	DEATH:
	 CBRH A -1 BRIGHT
	 STOP
	}
}

actor Spear
{
	projectile
	damage 150
	height 5
	radius 4
	speed 50
	seeSound "cyber/grenade"
	deathsound "Glaive/HIT"
	states
	{
		spawn:
		 SPER A 1 BRIGHT
		 LOOP
		DEATH:
		 SPER A 1 BRIGHT
		 STOP
		xdeath:
	      TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "DEATH")
	      TNT1 A 0 A_SPAWNITEMEX("pistol_ammo_Drop",0,0,0,random(10,-10),random(10,-10),random(10,-10),random(0,360))
		  SPER A 1 BRIGHT
		  STOP
	}
}
ACTOR SPEAR2
{
	projectile
	damage 100
	height 5
	radius 4
	+RIPPER
	speed 50
	seeSound "Glaive/SWING"
	deathsound "Glaive/HIT"
	states
	{
		spawn:
		 SPER A 1 BRIGHT A_WEAVE(3,3,3,3)
		 LOOP
		DEATH:
		 SPER A 1 BRIGHT
		 STOP
	}
}



ACTOR ELECTRICITY
{
	projectile
	damage 25
    +RIPPER
	+SEEKERMISSILE
	height 5
	radius 4
	damagetype "Shock"
	speed 50
	seeSound "CYBER/ELECTRIC"
	deathsound ""
	states
	{
		spawn:
		 ELEC AAAAAAAAAAAAAAAAAAAAAAAAA 2 BRIGHT A_SEEKERMISSILE(90,90,0,0,150)
		DEATH:
		 ELEC A 1 BRIGHT
		 STOP
	}
}
ACTOR ElectricChain : LoreShot
{
  DAMAGETYPE "SHOCK"
	projectile
	speed 45
	+ROCKETTRAIL
	damage 100
    Height 14
	seesound "chain/see"
	deathsound "Sword/stab"
    Radius 10
	states
	{
  Spawn:
	EOOK A 1 BRIGHT A_SPAWNITEMEX("Hook_Trail4")
	LOOP
  DEATH:
	EOOK A 1 BRIGHT
	STOP
	XDEATH:
	  TNT1 A 0 A_EXPLODE(128,-1,0)
	 FIBL AAAAAA 0  A_SPAWNITEMEX("ELECTRICITY", 0,0,0,10)
	 TNT1 AAAAAA 1 A_GiveToTarget("FIRE_HEAL")
	 STOP
	}
	
}

ACTOR ElectriHarpoon
{
  DAMAGETYPE "SHOCK"
	projectile
	speed 70
	+ROCKETTRAIL
	damage 100
    Height 14
	seesound "chain/see"
	deathsound "Sword/stab"
    Radius 10
	states
	{
  Spawn:
	SPER A 1 BRIGHT
	LOOP
  DEATH:
	SPER A 1 BRIGHT
	STOP
	XDEATH:
	  TNT1 A 0 A_EXPLODE(128,-1,0)
	 FIBL AAAAAA 0  A_SPAWNITEMEX("ELECTRICITY", 0,0,0,10)
	 TNT1 AAAAAA 1 A_GiveToTarget("FIRE_HEAL")
	 STOP
	}
	
}

ACTOR Hook_Trail4
{
	+Noblockmap
	speed 10
	states
	{
  Spawn:
	EOOK A 20 BRIGHT
  DEATH:
	EOOK A 1 BRIGHT
	STOP

	}
}

ACTOR ELEC_Puff
{
  DAMAGETYPE "SHOCK"
  scale 0.75
  +NOBLOCKMAP
  +NOGRAVITY
  +dontgib
  +HITTRACER
  +PUFFGETSOWNER
  +PUFFONACTORS
  +RANDOMIZE
  +ALLOWPARTICLES
states
	{
  Spawn:
    PUFF A 4 Bright
    PUFF B 4
  Melee:
    TNT1 A 0 A_PLAYSOUND("Fist/Miss")
    PUFF CD 4
    Stop
 Xdeath:
 TNT1 A 0  A_JumpIF(ACS_NamedExecuteWithResult("Ammo_drop_DM") == 1, "DEATH2")
     TNT1 A 0 A_SPAWNITEMEX("Power_Ammo",0,0,0,random(10,-10),random(10,-10),random(10,-10),random(0,360))
	 TNT1 A 0 A_JUMP(150,"SHELL")
	DEATH2:
    TNT1 A 0 A_PLAYSOUND("FIST/PUNT")
    TNT1 A 0 A_QUAKE(4,15,0,30,"")
    TNT1 A 0 A_GIVETOTARGET("Punch_combo",1)
	TNT1 A 0 A_GIVETOTARGET("Dragon_Magic",1)
	TNT1 A 0 A_GIVETOTARGET("Punch_Hit", 1)
    BLUD AABBCC 2 
    Stop
	}
}

ACTOR ELCSword_Puff
{
  damagetype "Sword_Cut"
  scale 0.75
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +HITTRACER
  +PUFFGETSOWNER
  +PUFFONACTORS
  +RANDOMIZE
  +ALLOWPARTICLES
states
	{
  Spawn:
    PUFF A 4 Bright
    PUFF B 4
  Melee:
    TNT1 A 0 A_PLAYSOUND("Fist/Miss")
    PUFF CD 4
    Stop
 Xdeath:
    TNT1 A 0 A_PLAYSOUND("Sword/stab")
    TNT1 A 0 A_QUAKE(4,15,0,30,"")
    TNT1 A 0 A_GIVETOTARGET("Punch_combo",1)
	TNT1 A 0 A_GIVETOTARGET("Punch_Hit", 1)
	TNT1 A 0 A_GIVETOTARGET("Life_Steal",1)
	TNT1 A 0 A_TAKEFROMTARGET("Stamina", 150)
    BLUD AABBCC 2 A_SPAWNITEMEX("Blood_Spray", 0,0,0,Frandom(10,10),Frandom(10,10),Frandom(10,10),Frandom(0,360), SXF_USEBLOODCOLOR , 0)
	TNT1 AAAAAAAAAAAAAA 2 A_GIVETOTARGET("FIRE_HEAL")
    Stop
	}
}

ACTOR ELEC_GLAIVE
{
  damagetype "armor_Break"
  scale 0.75
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +HITTRACER
  +PUFFGETSOWNER
  +PUFFONACTORS
  +RANDOMIZE
  +ALLOWPARTICLES
states
	{
  Spawn:
    PUFF A 4 Bright
    PUFF B 4
  Melee:
    TNT1 A 0 A_PLAYSOUND("Fist/Miss")
    PUFF CD 4
    Stop
 Xdeath:
    TNT1 A 0 A_GivePlayerMedal("Glaive_Medal",FALSE,AAPTR_TARGET)
    TNT1 A 0 A_PLAYSOUND("Glaive/HIT")
	TNT1 A 0 A_GIVETOTARGET("Punch_Hit", 1)
    TNT1 A 0 A_QUAKE(4,15,0,30,"")
	TNT1 A 0 A_TAKEFROMTARGET("Glaive_Use", 2)
    FLUD AABBCCAABBCC  2 A_GIVETOTARGET("FIRE_HEAL")
    Stop
	}
}

ACTOR Cyber_Power_Weapon : RandomSpawner replaces BFG9000
{
	dropitem "Cyber_Spas12"
	dropitem "CYBER_Glaive"
}

ACTOR Player_CYBER_Token : Inventory
{
	Inventory.MaxAmount 1
}


