///////////////////////////////////////////////////////////////
//	Fists
///////////////////////////////////////////////////////////////

Actor fist_flashreset : Inventory { Inventory.MaxAmount 1 }
Actor fist_flash0t1 : Inventory { Inventory.MaxAmount 1 }
Actor fist_flash1t2  : Inventory { Inventory.MaxAmount 1 }
Actor fist_flash2t3 : Inventory { Inventory.MaxAmount 1 }
Actor fist_flash3tmax : Inventory { Inventory.MaxAmount 1 }
Actor fist_flashmax : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp1g_end : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp1glow : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp2g_end : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp2glow : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp3g_end : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp3glow : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp5g_end : Inventory { Inventory.MaxAmount 1 }
Actor fist_mp5glow : Inventory { Inventory.MaxAmount 1 }

Actor fist_megapunchstart : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l1 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l1b : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l2 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l2b : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l3 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_l3b : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max_2 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max_3 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max_4 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max_5 : Inventory { Inventory.MaxAmount 1 }
Actor fist_chrg_max_1 : Inventory { Inventory.MaxAmount 1 }
Actor fist_nullhold : Inventory { Inventory.MaxAmount 1 }
Actor fist_punch_right : Inventory { Inventory.MaxAmount 1 }




actor RegularFists : weapon replaces Fist{
	Tag "Powered Fists"

	weapon.selectionorder 1000
	weapon.AmmoUse 0
	//weapon.bobstyle inverse
	//weapon.bobrangeX 0.4
	//weapon.bobrangeY 0.9
	//weapon.bobspeed 2.5
	weapon.kickback 240
	DamageType NormalPunch
	+MELEEWEAPON	
	+NOALERT
	-BLOODSPLATTER
	+WEAPON.NOAUTOAIM
	Weapon.preferredSkin "FistsSkin"
 
	states{
	
		Flash:
			NULL A 0 A_JumpIfInventory("fist_flashreset", 1, "flashreset")
			NULL A 0 A_JumpIfInventory("fist_flash0t1", 1, "flash0t1")
			NULL A 0 A_JumpIfInventory("fist_flash1t2", 1, "flash1t2")
			NULL A 0 A_JumpIfInventory("fist_flash2t3", 1, "flash2t3")
			NULL A 0 A_JumpIfInventory("fist_flash3tmax", 1, "flash3tmax")
			NULL A 0 A_JumpIfInventory("fist_flashmax", 1, "flashmax")
			NULL A 0 A_JumpIfInventory("fist_mp1g_end", 1, "mp1g_end")
			NULL A 0 A_JumpIfInventory("fist_mp1glow", 1, "mp1glow")
			NULL A 0 A_JumpIfInventory("fist_mp2g_end", 1, "mp2g_end")
			NULL A 0 A_JumpIfInventory("fist_mp2glow", 1, "mp2glow")
			NULL A 0 A_JumpIfInventory("fist_mp3g_end", 1, "mp3g_end")
			NULL A 0 A_JumpIfInventory("fist_mp3glow", 1, "mp3glow")
			NULL A 0 A_JumpIfInventory("fist_mp5g_end", 1, "mp5g_end")
			NULL A 0 A_JumpIfInventory("fist_mp5glow", 1, "mp5glow")
			Stop
		AltFlash:
			Goto Flash
			
		Hold:
			NULL A 0 A_JumpIfInventory("fist_megapunchstart", 1, "megapunchstart")
			NULL A 0 A_JumpIfInventory("fist_chrg_l1", 1, "chrg_l1")
			NULL A 0 A_JumpIfInventory("fist_chrg_l1b", 1, "chrg_l1b")
			NULL A 0 A_JumpIfInventory("fist_chrg_l2", 1, "chrg_l2")
			NULL A 0 A_JumpIfInventory("fist_chrg_l2b", 1, "chrg_l2b")
			NULL A 0 A_JumpIfInventory("fist_chrg_l3", 1, "chrg_l3")
			NULL A 0 A_JumpIfInventory("fist_chrg_l3b", 1, "chrg_l3b")
			NULL A 0 A_JumpIfInventory("fist_chrg_max", 1, "chrg_max")
			NULL A 0 A_JumpIfInventory("fist_chrg_max_2", 1, "chrg_max_2")
			NULL A 0 A_JumpIfInventory("fist_chrg_max_3", 1, "chrg_max_3")
			NULL A 0 A_JumpIfInventory("fist_chrg_max_4", 1, "chrg_max_4")
			NULL A 0 A_JumpIfInventory("fist_chrg_max_5", 1, "chrg_max_5")
			NULL A 0 A_JumpIfInventory("fist_chrg_max_1", 1, "chrg_max_1")
			NULL A 0 A_JumpIfInventory("fist_nullhold", 1, "nullhold")
			NULL A 0 A_JumpIfInventory("fist_punch_right", 1, "punch_right")
			Stop
		AltHold:
			Goto Hold
		
			
		
			
		ready:
			FSTI A 1 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("SprintingPlayer", 1, "Sprint")
			NULL A 0 A_JumpIfInventory("TossGrenade", 1, "Grenade")
			loop
			
		/////
		Sprint:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 1, "SprStart")
			TNT1 A 0 A_TakeInventory("SprintingPlayer",1)
			goto ready
		SprStart:
			TNT1 A 0 A_PlaySound("sfx/sprintstart",CHAN_AUTO)
			TNT1 A 0 ACS_ExecuteAlways(Player_ChangeSpeed,0,200,0,0)
			TNT1 A 0 A_SetBlend("49 99 0",0.4,15)
			TNT1 A 0 A_Recoil(-15)
			FSTG ABCDE 1
			TNT1 A 0 A_JumpIfInventory("SprintingPlayer", 1, "SprLoop1")
			goto SprEnd
		SprLoop1:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 1, "SL1")
			TNT1 A 0 A_TakeInventory("SprintingPlayer",1)
			goto SprEnd
		SL1:
			FSTS ACEEDCB 1	
			//TNT1 A 0
			TNT1 A 0 A_TakeInventory("PlayerStamina", 3)
			TNT1 A 0 A_JumpIfInventory("SprintingPlayer", 1, "SprLoop2")
			goto SprEnd
		SprLoop2:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 1, "SL2")
			TNT1 A 0 A_TakeInventory("SprintingPlayer",1)
			goto SprEnd
		SL2:
			FSTS FHJJIHG 1 
			//TNT1 A 3
			TNT1 A 0 A_TakeInventory("PlayerStamina", 3)
			TNT1 A 0 A_JumpIfInventory("SprintingPlayer", 1, "SprLoop1")
			goto SprEnd
		SprEnd:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets the offsets
			TNT1 A 0 ACS_ExecuteAlways(Player_ChangeSpeed,0,100,0,0)
			TNT1 A 0 A_PlaySound("sfx/sprintend",CHAN_AUTO)
			FSTG EDCBA 1 
			goto ready
			
		select:
			//TNT1 A 0 A_SetCrosshair(10)
			TNT1 A 0 A_JumpIfInventory("gtoss_weaponmemory",10,"GrenadeEnd")
			NULL A 2 
			FSTU EDCBA 1
			NULL A 0 A_GiveInventory("xhair_switch", 1)
		SelectLoop:
			FSTI A 1 A_Raise
			Goto SelectLoop
		deselect:
			NULL A 0 A_TakeInventory("xhair_switch", 1)
			
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flashreset", 1)
			TNT1 A 0 A_GunFlash
			FSTU ABCDE 1
			NULL A 2 
		deselectLoop:
			NULL A 1 A_Lower
			Goto deselectLoop	
		
		////////////////////////////////////////////////////////////////////////////////
		altfire:
			FSPS ABCD 1
			FSPS E 1
			
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_megapunchstart", 1)
			FSPS E 3 A_Refire
			
		quickpowpunch:
			FSPS D 1 offset(-17,46)
			FSPS D 1 offset(-41,61)
			FSPS D 1 offset(-73,96)
			//
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flashreset", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_TakeInventory("SuitIsPowered",9)
			TNT1 A 0 A_PlayWeaponSound("sfx/meleeswing")
			TNT1 A 0 A_Recoil(-4)
			
			FSPW ABC 1 
			FSPW D 1 A_CustomPunch ((164+random(1,32)), 1, 0 , "punch_impact", 96)
			FSPW EFGHI 1
			
			TNT1 A 6
			FSTU DCBA 1
			
			TNT1 A 0 A_TakeInventory("megapunch_counter", 102)
			goto ready
		
		megapunchstart:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 11, 1)
			goto quickpowpunch
			
			TNT1 A 0 A_JumpIfInventory("megapunch_counter",1,  "megapunch_counter_fix")
			TNT1 A 0 A_GiveInventory("SuitIsPowered",1)
			TNT1 A 0 A_PlaySound("weapons/powpstart",CHAN_AUTO)
			TNT1 A 0 A_PlaySound("weapons/powchrg0", CHAN_WEAPON)
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			NULL A 0 A_GiveInventory("fist_flash0t1", 1)
			TNT1 A 0 A_GunFlash
			
		megapunch_counter_fix:
			
			TNT1 A 0 A_JumpIfInventory("megapunch_counter",20, "chrg_l1")
			
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_megapunchstart", 1)
			TNT1 A 0 A_Refire
			goto quickpowpunch
		
		flash0t1:
			//TNT1 A 1
			FCP1 ABCDEFGHIJKLMNOPQRSTT 1 bright
			stop
		
		////
		chrg_l1:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 11, 1)
			goto PowPunch_lvl1
			
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 30, "chrg_l1b")
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 21, "chrg_l1_jump")
			
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flash1t2", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_PlaySound("weapons/powchrg1", CHAN_WEAPON)
			TNT1 A 0 A_TakeInventory("PlayerStamina", 20)
			
		chrg_l1_jump:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(1,31) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l1", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl1
		chrg_l1b:
			TNT1 A 0 A_JumpIfInventory("megapunch_counter",40, "chrg_l2")
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(2,30) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l1b", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl1
		flash1t2:
			//TNT1 A 1
			FCP2 ABCDEFGHIJKLMNOPQRSTT 1 bright
			stop
		
		////
		chrg_l2:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 11, 1)
			goto PowPunch_lvl2
			
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 50, "chrg_l2b")
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 41, "chrg_l2_jump")
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flash2t3", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_PlaySound("weapons/powchrg2", CHAN_WEAPON)
			TNT1 A 0 A_TakeInventory("PlayerStamina", 20)
			
		chrg_l2_jump:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(3,29) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l2", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl2
		chrg_l2b:
			TNT1 A 0 A_JumpIfInventory("megapunch_counter",60, "chrg_l3")
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(4,28) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l2b", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl2
		flash2t3:
			//TNT1 A 1
			FCP3 ABCDEFGHIJKLMNOPQRSTT 1 bright
			stop
		
		////
		chrg_l3:
			TNT1 A 0 A_JumpIfInventory("PlayerStamina", 11, 1)
			goto PowPunch_lvl3
			
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 70, "chrg_l3b")
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 61, "chrg_l3_jump")
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flash3tmax", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_PlaySound("weapons/powchrg3", CHAN_WEAPON)
			TNT1 A 0 A_TakeInventory("PlayerStamina", 20)
			
		chrg_l3_jump:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(5,27) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l3", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl3
		chrg_l3b:
			TNT1 A 0 A_JumpIfInventory("megapunch_counter",80, "chrg_max")
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
			FSPS E 2 offset(6,26) A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_l3b", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_lvl3
		flash3tMax:
			//TNT1 A 1
			FCP4 ABCDEFGHIJKLMNOPQRSTT 1 bright
			stop
		
		chrg_max:
			TNT1 A 0 A_JumpIfInventory("megapunch_counter", 81, "chrg_max_1")
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_flashmax", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_SetBlend("99 24 0",1.0,20)
			TNT1 A 0 ACS_ExecuteAlways(Player_ChangeSpeed,0,170,0,0)	
		
			TNT1 A 0 A_GiveInventory("SuitIsOvercharged",1)
			TNT1 A 0 A_GiveInventory("SuitPowerDefense",1)
			TNT1 A 0 A_TakeInventory("PlayerStamina", 40)
			//TNT1 A 0 A_TakeInventory("BasicArmor", 600)
			TNT1 A 0 ACS_ExecuteAlways(set_powf_bonusdamage, 0, 0, 0, 0)	
			
			TNT1 A 0 A_PlaySound("weapons/powpmax", CHAN_AUTO)
			FSCM A 4 A_PlaySound("weapons/powchrg5", CHAN_WEAPON)
			
			FSCM A 3 A_GiveInventory("megapunch_counter", 2)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_chrg_max", 1)
			TNT1 A 0 A_Refire
			goto PowPunch_MAX
			chrg_max_1:
				TNT1 A 0 A_PlaySound("weapons/powchrg5", CHAN_WEAPON)
				TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
				FSCM A 2 Offset(3,35) 
				NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
				NULL A 0 A_TakeInventory("fist_nullhold", 1)
				NULL A 0 A_TakeInventory("fist_punch_right", 1)
				
				NULL A 0 A_GiveInventory("fist_chrg_max_2", 1)
				TNT1 A 0 A_Refire
				goto PowPunch_MAX
			chrg_max_2:
				TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
				FSCM A 2 Offset(0,29)
				NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
				NULL A 0 A_TakeInventory("fist_nullhold", 1)
				NULL A 0 A_TakeInventory("fist_punch_right", 1)
				
				NULL A 0 A_GiveInventory("fist_chrg_max_3", 1)
				TNT1 A 0 A_Refire
				goto PowPunch_MAX
			chrg_max_3:
				TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
				FSCM A 2 Offset(-3,32)
				NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
				NULL A 0 A_TakeInventory("fist_nullhold", 1)
				NULL A 0 A_TakeInventory("fist_punch_right", 1)
				
				NULL A 0 A_GiveInventory("fist_chrg_max_4", 1)
				TNT1 A 0 A_Refire
				goto PowPunch_MAX
			chrg_max_4:
				TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
				FSCM A 2 Offset(0,35)
				NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
				NULL A 0 A_TakeInventory("fist_nullhold", 1)
				NULL A 0 A_TakeInventory("fist_punch_right", 1)
				
				NULL A 0 A_GiveInventory("fist_chrg_max_5", 1)
				TNT1 A 0 A_Refire
				goto PowPunch_MAX	
			chrg_max_5:
				TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
				FSCM A 2 Offset(-3,29) //A_GiveInventory("megapunch_counter", 2)
				NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
				NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
				NULL A 0 A_TakeInventory("fist_nullhold", 1)
				NULL A 0 A_TakeInventory("fist_punch_right", 1)
				
				NULL A 0 A_GiveInventory("fist_chrg_max_1", 1)
				TNT1 A 0 A_Refire
				goto PowPunch_MAX
		
		flashMax:
			FPM1 ABCDEFGHIJKLMNO 1 bright
			FPM2 ABCDEFGHIJKLMNO 1 bright
			loop
		
		//////////////////////////////////////////////////////////////////
		
		PowPunch_lvl1:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp1g_end", 1)
			TNT1 A 0 A_GunFlash
			//FSCA A 1
			FSPS E 1 offset(-21,45)
			FSPS E 1 offset(-42,64)
			FSPS E 1 offset(-66,93)
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			TNT1 A 0 A_PlaySound("weapons/powattack2", CHAN_WEAPON)
			TNT1 A 0 A_Recoil(-5)
			TNT1 A 0 A_SetBlend("0 48 99",0.3,15)
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp1glow", 1)
			TNT1 A 0 A_GunFlash
			FSPW ABC 1
			FSPW D 1 A_CustomPunch ((575+random(1,32)), 1, 0 , "megapunch_lvl1",108)/////
			goto PowPunch_end
		mp1glow:
			//TNT1 A 1
			FPG1 ABCDEFGHI 1 bright
			stop
		mp1g_end:
			//TNT1 A 1
			FCP1 T 4
			stop
			
		//
		PowPunch_lvl2:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp2g_end", 1)
			TNT1 A 0 A_GunFlash
			//FSCA A 1
			FSPS E 1 offset(-21,45)
			FSPS E 1 offset(-42,64)
			FSPS E 1 offset(-66,93)
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			TNT1 A 0 A_PlaySound("weapons/powattack3", CHAN_WEAPON)
			TNT1 A 0 A_Recoil(-6)
			TNT1 A 0 A_SetBlend("0 48 99",0.4,15)
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp2glow", 1)
			TNT1 A 0 A_GunFlash
			FSPW ABC 1
			FSPW D 1 A_CustomPunch ((1250+random(1,64)), 1, 0 , "megapunch_lvl2",108)/////
			goto PowPunch_end
		mp2glow:
			//TNT1 A 1
			FPG2 ABCDEFGHI 1 bright
			stop
		mp2g_end:
			//TNT1 A 1
			FCP2 T 4
			stop
		
		//
		PowPunch_lvl3:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp3g_end", 1)
			TNT1 A 0 A_GunFlash
			//FSCA A 1
			FSPS E 1 offset(-21,45)
			FSPS E 1 offset(-42,64)
			FSPS E 1 offset(-66,93)
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			TNT1 A 0 A_PlaySound("weapons/powattack4", CHAN_WEAPON)
			TNT1 A 0 A_Recoil(-7)
			TNT1 A 0 A_SetBlend("0 48 99",0.5,15)
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp3glow", 1)
			TNT1 A 0 A_GunFlash
			FSPW ABC 1
			FSPW D 1 A_CustomPunch ((2500+random(1,128)), 1, 0 , "megapunch_lvl3",108)/////
			goto PowPunch_end
		mp3glow:
			//TNT1 A 1
			FPG3 ABCDEFGHI 1 bright
			stop
		mp3g_end:
			//TNT1 A 1
			FCP3 T 4
			stop		
		//
		
		PowPunch_MAX:
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp5g_end", 1)
			TNT1 A 0 A_GunFlash
			TNT1 A 0 A_PlaySound("weapons/powattack5", CHAN_WEAPON)
			TNT1 A 0 A_SetBlend("99 54 0",0.7,35)
			TNT1 A 0 ACS_ExecuteAlways (powfist_aeroslam, 0, 0, 0, 0)
			
			
			TNT1 A 0 A_ChangeFlag("INVULNERABLE",1)
			TNT1 A 0 A_ChangeFlag("REFLECTIVE",1)
			//TNT1 A 0 A_SetMass (3000)
			FSCM A 1 offset(-15,44) 
			FSCM A 1 offset(-39,63)
			FSCM A 1 offset(-59,85)
			FSCM A 1 offset(-77,111)
			TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)//resets offsets
			TNT1 A 0 A_Recoil(-10)
			NULL A 0 A_TakeInventory("fist_flashreset", 1)
			NULL A 0 A_TakeInventory("fist_flash0t1", 1)
			NULL A 0 A_TakeInventory("fist_flash1t2", 1)
			NULL A 0 A_TakeInventory("fist_flash2t3", 1)
			NULL A 0 A_TakeInventory("fist_flash3tmax", 1)
			NULL A 0 A_TakeInventory("fist_flashmax", 1)
			NULL A 0 A_TakeInventory("fist_mp1g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp1glow", 1)
			NULL A 0 A_TakeInventory("fist_mp2g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp2glow", 1)
			NULL A 0 A_TakeInventory("fist_mp3g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp3glow", 1)
			NULL A 0 A_TakeInventory("fist_mp5g_end", 1)
			NULL A 0 A_TakeInventory("fist_mp5glow", 1)
			
			NULL A 0 A_GiveInventory("fist_mp5glow", 1)
			TNT1 A 0 A_GunFlash
			FMPW ABC 1
				
			FMPW D 13 A_CustomPunch ((5200+random(1,256)+ ACS_ExecuteWithResult(get_powf_bonusdamage, 0 ,0,0) ), 1, 0 , "megapunch_MAX",148)/////		
			FMPW EFGHIJK 1
			TNT1 A 0 A_TakeInventory("SuitIsOvercharged",1)
			TNT1 A 0 ACS_ExecuteAlways(Player_ChangeSpeed,0,100,0,0)
			TNT1 A 0 A_TakeInventory("SuitIsPowered",9)
			TNT1 A 10
			TNT1 A 0 A_JumpIfInventory("PowerInvulnerable",1,2)
			TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
			TNT1 A 0 A_ChangeFlag("REFLECTIVE",0)
			//TNT1 A 0 A_SetMass (500)
			FSTU DCBA 1
			TNT1 A 0 A_TakeInventory("megapunch_counter", 102)		
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_nullhold", 1)
			FSTI A 3 A_Refire
			goto ready
		mp5glow:
			FPGM ABCDEEEEFFFGGHIJKLMNOPQ 1 bright
			stop
		mp5g_end:
			FPM1 A 4 bright
			stop
		
		PowPunch_end:
			FSPW EFGHI 1
			TNT1 A 0 A_TakeInventory("SuitIsPowered",9)
			TNT1 A 20
			FSTU DCBA 1
			TNT1 A 0 A_TakeInventory("megapunch_counter", 102)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_nullhold", 1)
			FSTI A 3 A_Refire
			goto ready
		
		
		nullhold:
			TNT1 A 0 
			FSTI A 1 A_WeaponReady(WRF_NOSECONDARY)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_nullhold", 1)
			FSTI A 0 A_Refire
			goto ready
		flashreset:
			TNT1 AA 1
			stop
		
		//regular fist
		fire:
			FSTU C 1		
		punch_right: //mano derecha
			NULL A 0 A_JumpIfInventory ("punch_leftright", 1, "punch_left")
			NULL A 0 A_PlayWeaponSound("weapons/regpunswing")
			NULL A 0 A_Recoil(-2)
			
			FSNR BD 1
			FSNR G 2 A_CustomPunch ((96+random(1,12)), 1 , 0 , "punch_impact",80)
			FSNR FEDCBA 1

			NULL A 1 A_GiveInventory("punch_leftright",1)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_punch_right", 1)
			NULL A 1 A_ReFire
			FSTU DCBA 1
			goto ready
		punch_left:
			NULL A 0 A_PlayWeaponSound("weapons/regpunswing")
			NULL A 0 A_Recoil(-2)
			
			FSNL BD 1
			FSNL G 2 A_CustomPunch ((96+random(1,12)), 1 , 0 , "punch_impact",80)
			FSNL FEDCBA 1
		
			NULL A 1 A_TakeInventory("punch_leftright",1)
			NULL A 0 A_TakeInventory("fist_megapunchstart", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l1b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l2b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_l3b", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_2", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_3", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_4", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_5", 1)
			NULL A 0 A_TakeInventory("fist_chrg_max_1", 1)
			NULL A 0 A_TakeInventory("fist_nullhold", 1)
			NULL A 0 A_TakeInventory("fist_punch_right", 1)
			
			NULL A 0 A_GiveInventory("fist_punch_right", 1)
			NULL A 1 A_ReFire
			FSTU DCBA 1
			goto ready
		

		Grenade:
			TNT1 A 0 A_JumpIfInventory("grenades", 1, 2)
			TNT1 A 0
			goto ready
			NULL A 0 A_GiveInventory("xhair_switch",1)
			FSTG ABCDE 1
			TNT1 A 0 A_GiveInventory("gtoss_weaponmemory", 10)
			TNT1 A 0 A_SelectWeapon("grenade_toss")
			goto deselectLoop
		GrenadeEnd:
			TNT1 A 0 A_TakeInventory("gtoss_weaponmemory", 99)
			NULL A 0 A_TakeInventory("xhair_switch",1)
			FSTG EDCBA 1
			goto selectLoop
			
	}
}

actor megapunch_counter : inventory{
	inventory.maxamount 102
}

actor punch_leftright : inventory {
	inventory.maxamount 1

}


actor megapunch_lvl1 {
	DamageType MeleeAttack
	scale 0.5
	alpha 1.0
	renderstyle add
	Obituary "%o got beat down by %k powered punch"
	activesound " "
	attacksound " "
	seesound " "
	+NOGRAVITY
	+NOBLOCKMAP
	+FLOORCLIP
	+NOTELEPORT
	+PUFFONACTORS
	+FORCEXYBILLBOARD
	+NOEXTREMEDEATH
	+NOINTERACTION
	States{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("sfx/powphit2", CHAN_AUTO)
			
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,1), /*f*/random(-1.5,-0.8) , /*f*/random(-1.3,1.3) , random(-90,90))
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,1), /*f*/random(0.8,1.5) , /*f*/random(-1.3,1.3) , random(-90,90))
			
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(0.2,2.2), /*f*/random(-3.0,-1.0) , random(2,5) , random(-90,90))
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(0.2,2.2), /*f*/random(1.0,3.0) , random(2,5) , random(-90,90))
			
			TNT1 A 0 A_Jump(100, "Puff1","Puff2","Puff3","Puff4")
		Puff1:
			IPF3 A 2 bright 			
			IPF3 A 2 bright A_FadeOut(0.08)
			stop
		Puff2:
			IPF3 B 2 bright 
			IPF3 B 2 bright A_FadeOut(0.08)
			stop
		Puff3:
			IPF3 C 2 bright 
			IPF3 C 2 bright A_FadeOut(0.08)
			stop
		Puff4:
			IPF3 D 2 bright 
			IPF3 D 2 bright A_FadeOut(0.08)
			stop
			

	}
}

actor megapunch_lvl2 : megapunch_lvl1 {
	scale 0.7
	attacksound " "
	+PUFFGETSOWNER
	-NOEXTREMEDEATH
	States{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("sfx/powphit3", CHAN_AUTO)
			
			TNT1 AA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, 0, /*f*/random(-0.5,0.5) , /*f*/random(-0.5,0.5) , random(-90,90))
			
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,1), /*f*/random(-2.6,-1.0) , /*f*/random(-1.9,1.9) , random(-90,90))
			TNT1 AAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,1), /*f*/random(1.0,2.6) , /*f*/random(-1.9,1.9) , random(-90,90))
			
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(0.5,2.5), /*f*/random(-3.0,-1.0) , random(2,5) , random(-90,90))
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(0.5,2.5), /*f*/random(1.0,3.0) , random(2,5) , random(-90,90))
						
			//TNT1 A 0 A_Explode(200, 150, 0, 1)
			TNT1 A 0 A_Explode(200, 150, 0, 1)
			//TNT1 A 0 A_RadiusThrust (1000, 300, 0, 100)
			TNT1 A 0 A_SpawnItemEx ("megapunch_lvl2_Blast", 0, 0, 0, 0, 0, 0, 0,SXF_TRANSFERPOINTERS)
			
			//TNT1 A 0 A_Quake (2, 60, 0, 200)
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave1", 0, 0, 0, 0, 0, 0, 0)
			
			TNT1 A 0 A_Jump(100, "Puff1","Puff2","Puff3","Puff4")
		Puff1:
			IPF3 A 2 bright 			
			IPF3 A 2 bright A_FadeOut(0.08)
			TNT1 A 18
			stop
		Puff2:
			IPF3 B 2 bright 
			IPF3 B 2 bright A_FadeOut(0.08)
			TNT1 A 18
			stop
		Puff3:
			IPF3 C 2 bright 
			IPF3 C 2 bright A_FadeOut(0.08)
			TNT1 A 18
			stop
		Puff4:
			IPF3 D 2 bright 
			IPF3 D 2 bright A_FadeOut(0.08)
			TNT1 A 18
			stop
	}

}

actor megapunch_lvl2_Blast {
	+NOINTERACTION
	+NOTELEPORT
	+NODAMAGETHRUST
	+NOEXTREMEDEATH
	DamageType MeleeAttack
	states {
		spawn:
			TNT1 A 0
			TNT1 A 6 A_Explode(200, 150, 0, 1 /*, 50*/)
			stop
	}
}

actor megapunch_lvl3 : megapunch_lvl1 {
	scale 1.0
	attacksound " "
	seesound " "
	-NOEXTREMEDEATH
	+PUFFGETSOWNER
	-NOEXTREMEDEATH
	States{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("sfx/powphit4", CHAN_AUTO)
		
			//TNT1 AAAAA 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 5, 0 , random(-5,5) , random(0,90))
			
			TNT1 AAAAAAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,2), /*f*/random(-3.6,-1.8) , /*f*/random(-2.8,2.8) , random(-90,90))
			TNT1 AAAAAAAAA 0 A_SpawnItemEx ("powpunch_smoke", 0, 0, 0, random(0,2), /*f*/random(1.8,3.6) , /*f*/random(-2.8,2.8) , random(-90,90))			
			
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(281,350), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(-8,-11) ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(281,350), 0)
						
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , 0 ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , 0 ,random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , 0 ,random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, random(20,30) , 0 ,random(281,350), 0)
		
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, 0 , random(12,16) ,0, 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr1", 0, 0, 0, 0, 0 , random(-12,-16) ,0, 0)
					
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(-4.0,-1.4) , random(2,6) , random(-90,90) )
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(1.4,4.0) , random(2,6) , random(-90,90))
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(-4.0,-1.4) , random(2,6) , random(-90,90) )
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(1.4,4.0) , random(2,6) , random(-90,90))
			
			//TNT1 A 0 A_RadiusThrust (4000, 600, 0, 200)
			TNT1 A 0 A_Explode(450, 64, 0, 1/*,64*/)
			TNT1 A 0 A_SpawnItemEx ("megapunch_lvl3_Blast", 0, 0, 0, 0, 0, 0, 0,SXF_TRANSFERPOINTERS)
			//TNT1 A 0 A_Quake (5, 60, 0, 300)
			TNT1 A 0 A_Jump(100, "Puff1","Puff2","Puff3","Puff4")
		Puff1:
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 A 2 bright 
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 A 2 bright A_FadeOut(0.08)
			TNT1 A 30
			stop
		Puff2:
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 B 2 bright
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 B 2 bright A_FadeOut(0.08)
			TNT1 A 30
			stop
		Puff3:
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 C 2 bright
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 C 2 bright A_FadeOut(0.08)
			TNT1 A 30
			stop
		Puff4:
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 D 2 bright 
			TNT1 A 0 A_SpawnItemEx ("powpunch_wave2", 0, 0, 0, 0, 0, 0, 0)
			IPF3 D 2 bright A_FadeOut(0.08)
			TNT1 A 30
			stop
			
		
	}
}

actor megapunch_lvl3_Blast {
	+NOINTERACTION
	+NOTELEPORT
	+NODAMAGETHRUST
	+NOEXTREMEDEATH
	DamageType MeleeAttack
	states {
		spawn:
			TNT1 A 0
			TNT1 A 1 A_Explode(450, 300, 0, 1/*, 180*/)
			stop
	}
}


actor megapunch_MAX : megapunch_lvl1 {
	attacksound " "
	seesound " "
	
	scale 0.25
	+PUFFGETSOWNER
	-NOEXTREMEDEATH
	States{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("sfx/powphit5", CHAN_AUTO)
			
			TNT1 A 0 A_SpawnItemEx ("powpunchMAX_flash1", 0, 0, 0, 0, 0, 0, 0)
			TNT1 AA 0 A_SpawnItemEx ("powpunchMAX_flash2", 0, 0, 0, 0, 0, 0, 0)
			
			//TNT1 A 0 A_RadiusThrust (10000+(ACS_ExecuteWithResult(get_powf_bonusdamage, 1 ,0,0)*2), 900, 0, 400)
			TNT1 A 0 A_Explode(800, 128,1,128)
			TNT1 A 0 A_SpawnItemEx ("megapunch_MAX_Blast", 0, 0, 0, 0, 0, 0, 0,SXF_TRANSFERPOINTERS)
			//TNT1 A 0 A_Quake (8, 60, 0, 1200)
			
			
			TNT1 AA 2 A_SpawnItemEx ("powpunchMAX_wave1", 0, 0, 0, 0, 0, 0, 0)
			
			TNT1 AAAAAAAAA 0 A_SpawnItemEx ("powpunch_smoke2", 0, 0, 0, random(-1,4), /*f*/random(-5.8,-3.8) , /*f*/random(-4.5,4.5) , random(-90,90))
			TNT1 AAAAAAAAA 0 A_SpawnItemEx ("powpunch_smoke2", 0, 0, 0, random(-1,4), /*f*/random(3.8,5.8) , /*f*/random(-4.5,4.5) , random(-90,90))			
			
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(8,11) ,random(281,350), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(-8,-11) ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , random(-8,-11),random(281,350), 0)
						
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , 0 ,random(1,80), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , 0 ,random(101,170), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , 0 ,random(191,260), 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, random(20,30) , 0 ,random(281,350), 0)
		
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, 0 , random(12,16) ,0, 0)
			TNT1 A 0 A_SpawnItemEx ("powp_smoketrail_spwnr2", 0, 0, 0, 0, 0 , random(-12,-16) ,0, 0)
			
			TNT1 AAAA 2 A_SpawnItemEx ("powpunchMAX_wave2", 0, 0, 0, 0, 0, 0, 0)
			
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(-5.0,-2.4) , random(4,9) , random(-90,90) )
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(2.4,5.0) , random(4,9) , random(-90,90))
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(-5.0,-2.4) , random(4,9) , random(-90,90) )
			TNT1 AAAAAAAA 0 A_SpawnItemEx ("powpunch_spark", 0, 0, 0, /*f*/random(1.2,3.0), /*f*/random(2.4,5.0) , random(4,9) , random(-90,90))
			TNT1 A 35
			stop
			
	}
}

actor megapunch_MAX_Blast {
	radius 2
	height 2
	+NOINTERACTION
	+NOTELEPORT
	+NODAMAGETHRUST
	+NOEXTREMEDEATH
	DamageType MeleeAttack
	states {
		spawn:
			TNT1 A 0
			TNT1 A 6 A_Explode(800+ACS_ExecuteWithResult(get_powf_bonusdamage, 1 ,0,0), 600+(ACS_ExecuteWithResult(get_powf_bonusdamage,1 ,0,0)/8), 1,300)
			stop
	}

}

actor powpunch_spark {
	radius 2
	height 2
	alpha 1
	scale 0.04
	gravity 0.3
	renderstyle add
	+NOTELEPORT
	+FLOORCLIP
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	bouncetype "doom"
	bouncefactor 0.2
	states{
		spawn:
			SPRK C 25 bright
		spawnloop:
			SPRK C 1 bright A_FadeOut(0.1)
			loop
	}
}

actor powpunch_wave1{
	//var int user_scale;
	alpha 1.0
	renderstyle add
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			//TNT1 A 0 A_SetUserVar("user_scale",1)
		scaledown1:
			//TNT1 A 0 A_SetScale((user_scale*0.05)) 
			//TNT1 A 0 A_JumpIf(user_scale>=30,"LoopEnd") 
			BSW2 A 1 bright A_FadeOut(0.1)
			//TNT1 A 0 A_SetUserVar("user_scale",user_scale+1)
			loop
		loopend:
			BSW2 A 1 Bright A_FadeOut(0.1)
			wait
			
	}
}

actor powpunch_wave2{
	//var int user_scale;
	alpha 1.0
	renderstyle add
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			//TNT1 A 0 A_SetUserVar("user_scale",1)
		scaledown1:
			//TNT1 A 0 A_SetScale((user_scale*0.055)) 
			//TNT1 A 0 A_JumpIf(user_scale>=30,"LoopEnd") 
			BSW2 A 1 bright A_FadeOut(0.1)
			//TNT1 A 0 A_SetUserVar("user_scale",user_scale+2)
			loop
		loopend:
			BSW2 A 1 Bright A_FadeOut(0.1)
			wait
			
	}
}

actor powp_smoketrail_spwnr1 {
	radius 3
	height 3
	speed 22
	renderstyle add
	scale 0.3
	damage 0
	PROJECTILE
	+THRUACTORS
	+CLIENTSIDEONLY
	//SeeSound "fireball/fire"
	//DeathSound "fireball/explode"
	states{
		spawn:
			TNT1 AAAAAA 1 A_SpawnItemEx("powpunch_smoke",0,0,0,0,/*f*/random(-0.5,0.5), /*f*/random(0.2,0.6))
		death:
			TNT1 A 0
			stop
	}
}

actor powp_smoketrail_spwnr2 : powp_smoketrail_spwnr1 {
	states{
		spawn:
			TNT1 AAAAAAAAAAAA 1 A_SpawnItemEx("powpunch_smoke3",0,0,0,0,/*f*/random(-1.5,1.5), /*f*/random(1.2,1.6))
		death:
			TNT1 A 0
			stop
	}
}

actor powpunchMAX_flash1 {
	scale 0.8
	alpha 1.0
	renderstyle add
	+NOTELEPORT
	+NOCLIP
	+FLOORCLIP
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			BFSH B 2
			BFSH B 2  bright A_FadeOut(0.1)
			stop
	}
}

actor powpunchMAX_flash2 {
	scale 1.7
	alpha 1.0
	renderstyle add
	+NOTELEPORT
	+NOCLIP
	+FLOORCLIP
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			FSH1 ABCDEFGHIJKLMNOPQRS 1 bright
			stop
	}
}

actor powpunchMAX_wave1{
	//var int user_scale;
	alpha 1.0
	renderstyle add
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			//TNT1 A 0 A_SetUserVar("user_scale",1)
		scaledown1:
			//TNT1 A 0 A_SetScale((user_scale*0.08)) 
			//TNT1 A 0 A_JumpIf(user_scale>=40,"LoopEnd") 
			BSW2 A 1 bright A_FadeOut(0.06)
			//TNT1 A 0 A_SetUserVar("user_scale",user_scale+3)
			loop
		loopend:
			BSW2 A 1 Bright A_FadeOut(0.1)
			wait
			
	}
}

actor powpunchMAX_wave2{
	//var int user_scale;
	alpha 1.0
	renderstyle add
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			//TNT1 A 0 A_SetUserVar("user_scale",1)
		scaledown1:
			//TNT1 A 0 A_SetScale((user_scale*0.04)) 
			//TNT1 A 0 A_JumpIf(user_scale>=60,"LoopEnd") 
			BSW1 A 1 bright A_FadeOut(0.04)
			//TNT1 A 0 A_SetUserVar("user_scale",user_scale+2)
			loop
		loopend:
			BSW1 A 1 Bright A_FadeOut(0.1)
			wait
			
	}
}




actor mpunch_puffsmoke {
	alpha 0.75
	scale 0.8
	renderstyle add
	+NOGRAVITY
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
		SMK6 ABCDEFGHIJKLM 1
		SMK6 NOPQRSTUW 1 A_FadeOut(0.08)
		stop
	}
}


actor mpunch_ringsmoke {
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.35,    0, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.35,    0, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,    0,  1.35, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,    0, -1.35, 0, 0) 
			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.0,  1.0, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.0, -1.0, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.0,  1.0, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.0, -1.0, 0, 0)
			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.1,  0.6, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  0.6,  1.1, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.1, -0.6, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -0.6, -1.1, 0, 0) 	
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.1,  0.6, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -0.6,  1.1, 0, 0) 			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.1, -0.6, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  0.6, -1.1, 0, 0) 
			stop
	}
}

actor mpunch_ringsmoke2 {
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.85,    0, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.85,    0, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,    0,  1.85, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,    0, -1.85, 0, 0) 
			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.5,  1.5, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.5, -1.5, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.5,  1.5, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.5, -1.5, 0, 0)
			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.6,  1.1, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.1,  1.6, 0, 0) 
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.6, -1.1, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.1, -1.6, 0, 0) 	
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.6,  1.1, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0, -1.1,  1.3, 0, 0) 			
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.6, -1.1, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("mpnch_smoke", 0, 0, 0, 0,  1.1, -1.6, 0, 0) 
			stop
	}
}

actor mpunch_shockwave {
	renderstyle add
	+NOTELEPORT
	+NOCLIP
	+FLOORCLIP
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			BSW1 A 1 bright //A_SetScale(0.00+0.04)
			BSW1 A 1 bright //A_SetScale(0.03+0.04)
			BSW1 A 1 bright //A_SetScale(0.06+0.04)
			BSW1 A 1 bright //A_SetScale(0.09+0.04)
			BSW1 A 1 bright //A_SetScale(0.12+0.04)
			BSW1 A 1 bright //A_SetScale(0.15+0.04)
			BSW1 A 1 bright //A_SetScale(0.18+0.04)
			BSW1 A 1 bright //A_SetScale(0.21+0.04)
			BSW1 A 1 bright //A_SetScale(0.23+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.25+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.27+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.29+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.30+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.31+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.33+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.34+0.04)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.34+0.04)
			stop
	}
}

actor mpunch_shockwave2 : mpunch_shockwave {
	states{
		spawn:
			BSW1 A 1 bright //A_SetScale(0.00+0.09)
			BSW1 A 1 bright //A_SetScale(0.03+0.09)
			BSW1 A 1 bright //A_SetScale(0.06+0.09)
			BSW1 A 1 bright //A_SetScale(0.09+0.09)
			BSW1 A 1 bright //A_SetScale(0.12+0.09)
			BSW1 A 1 bright //A_SetScale(0.15+0.09)
			BSW1 A 1 bright //A_SetScale(0.18+0.09)
			BSW1 A 1 bright //A_SetScale(0.21+0.09)
			BSW1 A 1 bright //A_SetScale(0.23+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.25+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.27+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.29+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.30+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.31+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.33+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.33+0.09)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.34+0.09)
			stop
	}
}

actor mpunch_shockwave3 : mpunch_shockwave {
	states{
		spawn:
			BSW1 A 1 bright //A_SetScale(0.00+0.15)
			BSW1 A 1 bright //A_SetScale(0.03+0.15)
			BSW1 A 1 bright //A_SetScale(0.06+0.15)
			BSW1 A 1 bright //A_SetScale(0.09+0.15)
			BSW1 A 1 bright //A_SetScale(0.12+0.15)
			BSW1 A 1 bright //A_SetScale(0.15+0.15)
			BSW1 A 1 bright //A_SetScale(0.18+0.15)
			BSW1 A 1 bright //A_SetScale(0.21+0.15)
			BSW1 A 1 bright //A_SetScale(0.23+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.25+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.27+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.29+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.30+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.31+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.32+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.33+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.33+0.15)
			TNT1 A 0 A_FadeOut(0.1) //A_FadeTo(0.1)
			BSW1 A 1 bright //A_SetScale(0.34+0.15)
			stop
	}
}

actor mpnch_smoke {
	alpha 0.8
	scale 0.26
	renderstyle add
	+NOGRAVITY
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(255, "SMO1","smk2","smk3","smk4")
		SMO1:
			SMO1 A 3 A_FadeOut(0.06)
			TNT1 A 0 A_ScaleVelocity(0.9)
			loop
		smk2:
			SMO1 B 3 A_FadeOut(0.06)
			TNT1 A 0 A_ScaleVelocity(0.9)
			loop
		smk3:
			SMO1 C 3 A_FadeOut(0.06)
			TNT1 A 0 A_ScaleVelocity(0.9)
			loop
		smk4:
			SMO1 D 3 A_FadeOut(0.06)
			TNT1 A 0 A_ScaleVelocity(0.9)
			loop
	}
}
