
//==============================================================================
//================== Corvette's Gauntlets of the Necromancer ===================
//==============================================================================


ACTOR ClassicGauntlets : Gauntlets
{
	+BLOODSPLATTER
	+NOEXTREMEDEATH
	+WEAPON.WIMPY_WEAPON
	+WEAPON.MELEEWEAPON
	Weapon.Kickback 0
	Weapon.YAdjust 15
	Inventory.RestrictedTo "Corvette"
	Inventory.ForbiddenTo "BrutalCorvus"
	Weapon.UpSound "GNTACT"
	Weapon.SisterWeapon "None"
	ConversationID 193
	Inventory.PickupMessage "Gauntlets aquired, time to fry some hellspawn!"
	Tag "$TAG_GAUNTLETS"
	Obituary "$OB_MPGAUNTLETS"
	Damagetype "BrutalGauntlets"
	Weapon.SlotNumber 0
	Weapon.SlotPriority 1
	Weapon.SelectionOrder 5
	Speed 4

	States
	{
	Spawn:
		TNT1 A 0 A_SpawnItemEx("GreenFlareSmall",0,0,31)
		WGNT AA 1 Bright A_SetAngle(angle+speed)
		Goto Spawn
	Ready:
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredReady")
		GAUN A 1 A_WeaponReady
		Loop
	PoweredReady:
		GAUN GHI 2 Bright 
		{
			A_WeaponReady;
			A_JumpIfInventory("Action1",1,"Kicking");
		}
		Goto Ready
	Deselect:
		GAUN A 0 A_Lower
		GAUN A 0 A_StopSound (CHAN_BODY)
		GAUN A 1 A_Lower
		Loop
	Select:
		GAUN A 0 A_Raise
		GAUN A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredFire")
		//GAUN B 4 A_PlayWeaponSound("GNTUSE")
		GAUN B 4 A_StartSound("GNTUSE",1,CHANF_NOPAUSE)
		GAUN C 4
	Hold:
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredHold")
		TNT1 A 0 A_PlaySound("GNTFUL",CHAN_BODY,1.0,True)
		GAUN DEF 3 Bright
		{
			A_CustomPunch(random(1,10)+(CallACS("StrengthCalculator")/10),true,CPF_PULLIN,"BrutalGreenGauntletPuff",128,0,0,BasicArmorBonus,"GNTHIT","GNTFUL");
			A_SetAngle(angle+frandom(-1.0,1.0));
			A_SetPitch(pitch+frandom(-1.0,1.0));
		}
		GAUN C 3 A_ReFire
		GAUN B 3 A_Light0
		GAUN B 0 A_StopSound (CHAN_BODY)
		Goto Ready
	AltFire:
		TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttack")
		TNT1 A 0 A_JumpIfInventory("Level",10,"SuperAttack")
		TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,10)
		Goto Ready
	SuperAttack:
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredAltFire")
		TNT1 A 0 A_JumpIf((Health < 26),"Nopenope")			
		TNT1 A 0 ACS_NamedExecute("GroundShock",0)
		GAUN A 2 A_SetPitch(15,SPF_INTERPOLATE)
		GAUN A 2 A_SetPitch(30,SPF_INTERPOLATE)
		GPUN A 2 A_SetPitch(45,SPF_INTERPOLATE)
		GPUN B 2 A_SetPitch(60,SPF_INTERPOLATE)
		GPUN C 1 A_SetPitch(75,SPF_INTERPOLATE)
		GPUN D 1 A_SetPitch(90,SPF_INTERPOLATE)
	CircleShockwave:
		TNT1 A 0 A_FireCustomMissile("LightningCreep",0,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",18,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-18,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",36,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-36,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",54,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-54,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",72,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-72,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",90,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-90,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",108,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-108,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",126,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-126,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",144,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-144,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",162,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",-162,FALSE)
		TNT1 A 0 A_FireCustomMissile("LightningCreep",180,FALSE)
	Standup:
		TNT1 A 0 A_QuakeEX(3,3,1,40,0,128)
		GPUN D 1 Offset(20,20)
		GPUN D 1 Offset(30,20)
		GPUN D 1 Offset(20,30)
		GPUN D 1 Offset(20,20)
		GPUN D 1 Offset(30,20)
		GPUN D 1 Offset(20,30)
		TNT1 A 0 Offset(32,32)
		GPUN C 2 A_SetPitch(75,SPF_INTERPOLATE)
		GPUN B 2 A_SetPitch(60,SPF_INTERPOLATE)
		GPUN A 2 A_SetPitch(45,SPF_INTERPOLATE)
		GAUN A 2 A_SetPitch(30,SPF_INTERPOLATE)
		GAUN A 2 A_SetPitch(15,SPF_INTERPOLATE)
		GAUN A 2 A_SetPitch(0,SPF_INTERPOLATE)
		Goto Ready
	PoweredFire:
		//GAUN J 4 Bright A_PlayWeaponSound("GNTUSE")
		GAUN J 4 A_StartSound("GNTUSE",1,CHANF_NOPAUSE)
		GAUN K 4 Bright
	PoweredHold:
		GAUN L 0 A_PlaySound("GNTFUL",CHAN_BODY,1.0,True)
		GAUN LMN 3 Bright 
		{
			A_CustomPunch(random(5,20)+(CallACS("StrengthCalculator")/3),true,CPF_PULLIN,"BrutalRedGauntletPuff",256,0.1,0,BasicArmorBonus,"GNTPOW","GNTFUL");
			A_SetAngle(angle+frandom(-1.0,1.0));
			A_SetPitch(pitch+frandom(-1.0,1.0));
		}
		GAUN K 3 Bright A_ReFire("Hold")
		GAUN J 3 Bright A_Light0
		GAUN B 0 A_StopSound (CHAN_BODY)
		Goto Ready
	PoweredAltFire:
		TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "OraOraOra")
		TNT1 A 0 A_JumpIfInventory("Level",17,"OraOraOra")
		TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,17)
		Goto Ready
	Kicking:
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredKicking")
		GPUN ABC 1
		GPUN D 2 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		GPUN CBAEFG 1
		GPUN H 2 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		GPUN GFE 1
		CKCK ABCD 1 Offset(0,32)
		TNT1 A 0 A_Recoil(-6)
		CKCK E 2 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		TNT1 A 0 A_Recoil(3)
		CKCK DCB 3
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		GAUN A 1 Offset(0,82)
		GAUN A 1 Offset(0,72)
		GAUN A 1 Offset(0,62)
		GAUN A 1 Offset(0,52)
		GAUN A 1 Offset(0,42)
		GAUN A 0 Offset(0,32)
		Goto Ready
	PoweredKicking:
		TNT1 A 0 A_Jump(127, "LeftPunch")
	RightPunch:
		TNT1 A 0 A_Jump(32, "RightKick")
		GPUN ABC 1
		GPUN D 1 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		GPUN CBA 1
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		Goto Ready
	LeftPunch:
		TNT1 A 0 A_Jump(32, "LeftKick")
		GPUN EFG 1 
		GPUN H 1 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		GPUN GFE 1
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		Goto Ready
	RightKick:
		CKCK ABCD 1 Offset(0,32)
		TNT1 A 0 A_Recoil(-6)
		CKCK E 1 A_CustomPunch(random(40,80)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		TNT1 A 0 A_Recoil(3)
		CKCK DCB 1
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		GAUN A 1 Offset(0,72)
		GAUN A 1 Offset(0,52)
		GAUN A 0 Offset(0,32)
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		Goto Ready
	LeftKick:
		CKCK FGHI 1 Offset(0,32)
		TNT1 A 0 A_Recoil(-6)
		CKCK J 1 A_CustomPunch(random(40,80)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
		TNT1 A 0 A_Recoil(3)
		CKCK IHG 1
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		GAUN A 1 Offset(0,72)
		GAUN A 1 Offset(0,52)
		GAUN A 0 Offset(0,32)
		TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
		Goto Ready
	OraOraOra:
		TNT1 A 0 Thing_Stop(0)
		TNT1 A 0 SetPlayerProperty(1,1,PROP_TOTALLYFROZEN)
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 A_PlaySound("BKSTART",1,1)
		TNT1 A 0 A_QuakeEx(2,2,2,29,0,128,"")
		TNT1 A 29
		TNT1 A 0 A_QuakeEx(4,4,4,33,0,128,"")
		TNT1 A 29
		TNT1 A 0 SetPlayerProperty(1,0,PROP_TOTALLYFROZEN)
		TNT1 A 0 A_PlaySound("BKLOOP",1,1,TRUE)
		TNT1 A 0 A_Overlay(10,"ExtraPunch1",False)
		TNT1 A 0 A_Overlay(11,"ExtraPunch2",False)
		TNT1 A 0 A_Overlay(12,"ExtraPunch3",False)
		TNT1 A 0 A_Overlay(13,"ExtraPunch4",False)
		TNT1 A 0 A_Overlay(14,"ExtraPunch5",False)
		TNT1 A 0 A_Overlay(15,"ExtraPunch6",False)
		TNT1 A 0 A_OverlayFlags(10,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayFlags(11,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayFlags(12,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayFlags(13,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayFlags(14,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayFlags(15,PSPF_RENDERSTYLE,True)
		TNT1 A 0 A_OverlayRenderstyle(10,STYLE_Add)
		TNT1 A 0 A_OverlayRenderstyle(11,STYLE_Add)
		TNT1 A 0 A_OverlayRenderstyle(12,STYLE_Add)
		TNT1 A 0 A_OverlayRenderstyle(13,STYLE_Add)
		TNT1 A 0 A_OverlayRenderstyle(14,STYLE_Add)
		TNT1 A 0 A_OverlayRenderstyle(15,STYLE_Add)
	PowerPunchLoop:
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,1)
		Goto PowerKickEnd
		TNT1 A 0 A_QuakeEx(4,4,4,5,0,128,"")
		GPUN ACD 1 
		{
			A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"DummyPuff",64,1);
			A_FireCustomMissile("PunchShot");
		}
		TNT1 A 0 A_QuakeEx(4,4,4,8,0,128,"")
		GPUN CAEGH 1 
		{
			A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"DummyPuff",64,1);
			A_FireCustomMissile("PunchShot");
		}
		TNT1 A 0 A_QuakeEx(4,4,4,3,0,128,"")
		GPUN GE 1 
		{
			A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"DummyPuff",64,1);
			A_FireCustomMissile("PunchShot");
		}
		TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,1)
		Goto PowerKickEnd
		TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ALTATTACK),"PowerPunchLoop")
		Goto PowerKickEnd
	PowerKickEnd:
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 A_ClearOverlays(10,15)
		TNT1 A 0 A_PlaySound("BKENDER",1)
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		CKCK K 1 A_SetRoll(345,SPF_INTERPOLATE)
		CKCK L 1 A_SetRoll(335,SPF_INTERPOLATE)
		CKCK M 1 A_SetRoll(325,SPF_INTERPOLATE)
		CKCK N 1 A_SetRoll(315,SPF_INTERPOLATE)
		TNT1 A 0 A_Recoil(-50)
		TNT1 A 0 A_SetGravity(0.3)
		CKCK N 1 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")),1,CPF_PULLIN,"DummyPuff",128)
	LungeLoop:
		CKCK N 1 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")),1,CPF_PULLIN,"DummyPuff",128)
		TNT1 A 0 A_RadiusThrust(500,128,RTF_NOTMISSILE,128)
		TNT1 A 0 A_CheckFloor(1)
		Loop
		TNT1 A 0 A_SetGravity(1)
		TNT1 A 0 A_Recoil(3)
		CKCK D 1 A_SetRoll(325,SPF_INTERPOLATE)
		CKCK D 1 A_SetRoll(335,SPF_INTERPOLATE)
		CKCK D 1 A_SetRoll(345,SPF_INTERPOLATE)
		CKCK CCCBBB 1 A_SetRoll(0,SPF_INTERPOLATE)
		Goto Ready
	ExtraPunch1:
		GPUN ACDCA 1 Offset(50,-20)
		Loop
	ExtraPunch2:
		GPUN HGEGH 1 Offset(-50,-20)
		Loop
	ExtraPunch3:
		GPUN DCAC 1 Offset(50,10)
		Loop
	ExtraPunch4:
		GPUN EGHG 1 Offset(-50,20)
		Loop
	ExtraPunch5:
		GPUN CDAC 1 Offset(50,40)
		Loop
	ExtraPunch6:
		GPUN GHGE 1 Offset(-50,50)
		Loop
	}
}