/*ACTOR MWeapFrostDropper : RandomSpawner replaces MWeapFrost
{
	DropItem "Strucker2"
}*/

ACTOR Strucker2 : Strucker replaces FWeapAxe
{
   Game Hexen
   Weapon.AmmoGive 30
   Weapon.AmmoType "BlueMana"
   Weapon.AmmoUse 2
   Tag "Strucker"
   States
   {
   RIdle:
	  1TRG A 0 A_JumpIfInventory("SynthFireRight",1,"RFire")
	  1TRG A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	  TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"RIdle")
	  1TRG A 0 A_JumpIfInventory("PowerGunzerking",1,"RIdle") 
	  Goto BackToReady
   BackToReady:
	  TNT1 A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
	  Goto Ready
   RFire:
	  TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
	  1TRG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto BackToReady
	  1TRG A 1 A_JumpIfInventory("BlueMana",2,1)
	  Goto RIdle
	  //TNT1 A 0 A_TakeInventory("BlueMana",2)
      1TRF A 0 A_PlaySound("Strucker/Fire",1,0.6)
      1TRF A 0 A_PlaySound("Strucker/Add",5,0.4)
      1TRF A 0 A_SetBlend("Yellow",0.1,7)
      1TRF A 0 A_Recoil(3)
      1TRF A 0 A_AlertMonsters
      1TRF A 0 A_Quake (4, 8, 0, 3, none)
	  1TRF A 0 A_TakeInventory("BlueMana",2,TIF_NOTAKEINFINITE)
      1TRF A 0 A_FireBullets(7,3,12,4*random(1.0,3.0),"HBulletPuff",FBF_NORANDOM) //FBF_USEAMMO|
      1TRF A 0 A_SetPitch(pitch-0.75)
      1TRF A 0 A_SetAngle(angle-0.75)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,11,-2)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,18,-2)
      1TRF A 1 Bright A_ZoomFactor(0.995)
      1TRF A 0 A_SetPitch(pitch-1.5)
      1TRF A 0 A_SetAngle(angle-1.5)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,11,-2)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,18,-2)
      1TRF A 1 Bright A_ZoomFactor(0.99)
      1TRT A 1 A_ZoomFactor(0.98)
      1TRF A 0 A_SetPitch(pitch-1)
      1TRF A 0 A_SetAngle(angle-1)
      1TRT B 1 A_ZoomFactor(0.97)
      1TRF A 0 A_SetPitch(pitch-0.5)
      1TRF A 0 A_SetAngle(angle-0.5)
      1TRT C 1 A_ZoomFactor(0.96)
      1TRF A 0 A_SetPitch(pitch-0.25)
      1TRF A 0 A_SetAngle(angle-0.25)
      1TRT D 1 A_ZoomFactor(0.955)
      1TRF A 0 A_PlaySound("Strucker/Load",6,0.5)
	  STRT A 0 A_FireCustomMissile("ShottyCasingSpawner",0,0,30,-12)
      1TRF A 0 A_SetPitch(pitch+0.25)
      1TRF A 0 A_SetAngle(angle+0.25)
      1TRT E 1 A_ZoomFactor(0.95)
      1TRF A 0 A_SetPitch(pitch+0.5)
      1TRF A 0 A_SetAngle(angle+0.5)
      1TRT F 1 A_ZoomFactor(0.96)
	  STRT A 0 A_FireCustomMissile("ShottyCasingSpawner",0,0,30,-12)
      1TRF A 0 A_SetPitch(pitch+0.5)
      1TRF A 0 A_SetAngle(angle+0.5)
      1TRT G 1 A_ZoomFactor(0.97)
      1TRF A 0 A_SetPitch(pitch+0.5)
      STRF A 0 A_SetAngle(angle+0.5)
      1TRT H 1 A_ZoomFactor(0.98)
      1TRF A 0 A_SetPitch(pitch+0.5)
      1TRF A 0 A_SetAngle(angle+0.5)
      1TRT I 1 A_ZoomFactor(0.99)
      1TRF A 0 A_SetPitch(pitch+0.5)
      1TRF A 0 A_SetAngle(angle+0.5)
      1TRT J 1 A_ZoomFactor(1)
      1TRF A 0 A_SetPitch(pitch+0.25)
      1TRF A 0 A_SetAngle(angle+0.25)
	  1TRT KLMNO 1
	  1TRG A 0 A_JumpIfInventory("SynthFireRight",1,"RFire")
	  Goto RIdle
	
   //Left
	 
   Nullify:
	  TNT1 A 0
	  Stop
   Flash:
	  TNT1 A 0 A_Light0
   LIdle:
	  2TRG A 1 A_JumpIfInventory("SynthFireLeft",1,"LFire")
	  Loop
   LFire:
	  TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
	  2TRG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto Nullify
	  2TRG A 1 A_JumpIfInventory("BlueMana",2,1)
	  Goto LIdle
	  //TNT1 A 0 A_TakeInventory("BlueMana",2)
      2TRF A 0 A_PlaySound("Strucker/Fire",1,0.6)
      2TRF A 0 A_PlaySound("Strucker/Add",5,0.4)
      2TRF A 0 A_SetBlend("Yellow",0.1,7)
      2TRF A 0 A_Recoil(3)
      2TRF A 0 A_AlertMonsters
      2TRF A 0 A_Quake (4, 8, 0, 3, none)
	  2TRF A 0 A_TakeInventory("BlueMana",2,TIF_NOTAKEINFINITE)
      2TRF A 0 A_FireBullets(7,3,12,4*random(1.0,3.0),"HBulletPuff",FBF_NORANDOM) //FBF_USEAMMO|
      2TRF A 0 A_SetPitch(pitch-0.75)
      2TRF A 0 A_SetAngle(angle+0.75)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,-11,-2)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,-18,-2)
      2TRF A 1 Bright A_ZoomFactor(0.995)
      2TRF A 0 A_SetPitch(pitch-1.5)
      2TRF A 0 A_SetAngle(angle+1.5)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,-11,-2)
	  STRF A 0 A_FireCustomMissile("GunsmokeSpawner_Small",0,0,-18,-2)
      2TRF A 1 Bright A_ZoomFactor(0.99)
      2TRT A 1 A_ZoomFactor(0.98)
      2TRF A 0 A_SetPitch(pitch-1)
      2TRF A 0 A_SetAngle(angle+1)
      2TRT B 1 A_ZoomFactor(0.97)
      2TRF A 0 A_SetPitch(pitch-0.5)
      2TRF A 0 A_SetAngle(angle+0.5)
      2TRT C 1 A_ZoomFactor(0.96)
      2TRF A 0 A_SetPitch(pitch-0.25)
      2TRF A 0 A_SetAngle(angle+0.25)
      2TRT D 1 A_ZoomFactor(0.955)
      2TRF A 0 A_PlaySound("Strucker/Load",6,0.5)
	  STRT A 0 A_FireCustomMissile("ShottyCasingSpawnerLeft",0,0,-30,-12)
      2TRF A 0 A_SetPitch(pitch+0.25)
      2TRF A 0 A_SetAngle(angle-0.25)
      2TRT E 1 A_ZoomFactor(0.95)
      2TRF A 0 A_SetPitch(pitch+0.5)
      2TRF A 0 A_SetAngle(angle-0.5)
      2TRT F 1 A_ZoomFactor(0.96)
	  STRT A 0 A_FireCustomMissile("ShottyCasingSpawnerLeft",0,0,-30,-12)
      2TRF A 0 A_SetPitch(pitch+0.5)
      2TRF A 0 A_SetAngle(angle-0.5)
      2TRT G 1 A_ZoomFactor(0.97)
      2TRF A 0 A_SetPitch(pitch+0.5)
      STRF A 0 A_SetAngle(angle-0.5)
      2TRT H 1 A_ZoomFactor(0.98)
      2TRF A 0 A_SetPitch(pitch+0.5)
      2TRF A 0 A_SetAngle(angle-0.5)
      2TRT I 1 A_ZoomFactor(0.99)
      2TRF A 0 A_SetPitch(pitch+0.5)
      2TRF A 0 A_SetAngle(angle-0.5)
      2TRT J 1 A_ZoomFactor(1)
      2TRF A 0 A_SetPitch(pitch+0.25)
      2TRF A 0 A_SetAngle(angle-0.25)
	  2TRT KLMNO 1
	  2TRG A 0 A_JumpIfInventory("SynthFireLeft",1,"LFire")
	  Goto LIdle
	}
}
