Actor SecretWeapon_MP40:Weapon Replaces Shotgun
{
Weapon.AmmoUse1 0
Weapon.AmmoUse2 0
Weapon.AmmoGive1 8
Weapon.AmmoGive2 0
Weapon.AmmoType1 "WolfClip"
Weapon.AmmoType2 "MPAmmo"
Weapon.BobRangeX 0.75
Weapon.BobRangeY 0.5
Weapon.BobSpeed 1.5
Weapon.BobStyle "InverseAlpha" //Denis Belmondo's Bobstyle
AttackSound "None"
Inventory.PickUpSound "MP40_Take"
Inventory.PickUpMessage "Machine Pistole 1940"
+WEAPON.NOAUTOAIM
+WEAPON.NOALERT
scale 0.5
tag "Machine Pistole 1940"
Inventory.Icon "MPBACK"
+WEAPON.NOAUTOFIRE
States
{

Ready:
tnt1 a 0 a_playsound("mpdep")
ZMPS ABCDEFGHIJKL 1 
Goto RealReady

RealReady:
ZMPG A 1 A_WeaponReady 
TNT1 A 0 A_SetCrosshair(0)
TNT1 A 0 A_JumpIfInventory("Meleeattack",1,"KnifeAttack")
TNT1 A 0 A_JumpIfInventory("bwgrenade",1,"LaunchGrenade")
TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
PISG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
Loop

Ready2:
ZMP2 A 1 A_WeaponReady 
TNT1 A 0 A_SetCrosshair(5)
TNT1 A 0 A_JumpIfInventory("Meleeattack",1,"KnifeAttack")
TNT1 A 0 A_JumpIfInventory("bwgrenade",1,"LaunchGrenade")
TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
PISG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
Loop

Deselect:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_Takeinventory("Meleeattack",1)
TNT1 A 0 A_Takeinventory("BWgrenade",1)
TNT1 A 0 A_Takeinventory("Reloading",1)
TNT1 A 0 A_ZoomFactor(1.0)
ZMPS LKJIHGFEDCBA 1 
TNT1 A 0 A_Lower
Wait

Select:
TNT1 A 0 A_Raise
Wait

Fire:
TNT1 A 0 A_JumpIfInventory("Zoomed",1,"Fire2")
TNT1 A 0 A_JumpIfInventory("MPAmmo",1,1)
Goto Reload
TNT1 A 0 A_PlaySound("MP40")
TNT1 A 0 A_Takeinventory("MPAmmo",1)
TNT1 A 0 A_TakeInventory("mp40ammoright",1)
TNT1 A 0 A_TakeInventory("MP40X2AMMO",1)
TNT1 A 0 A_GiveInventory("MP40MAGCounter",1)
TNT1 A 0 A_GiveInventory("MP40MAGCounter2",1)
TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",-5,0,0,0)
ZMPG B 1 BRIGHT A_AlertMonsters
TNT1 A 0 A_FireBullets (5, 3, -1, 12, "HitPuff")
TNT1 A 0 A_SetPitch(pitch - 0.4)
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
ZMPG CD 1 
TNT1 A 0  A_FireCustomMissile("RifleCaseSpawn",-5,0,8,-4)
ZMPG EF 1 
TNT1 A 0 A_Refire
Goto RealReady

Fire2:
TNT1 A 0 A_JumpIfInventory("MPAmmo",1,1)
Goto Reload
TNT1 A 0 A_PlaySound("MP40")
TNT1 A 0 A_Takeinventory("MPAmmo",1)
TNT1 A 0 A_TakeInventory("MP40X2AMMO",1)
TNT1 A 0 A_TakeInventory("mp40ammoright",1)
TNT1 A 0 A_GiveInventory("MP40MAGCounter2",1)
TNT1 A 0 A_GiveInventory("MP40MAGCounter",1)
TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",-5,0,0,0)
ZMP2 B 1 BRIGHT A_AlertMonsters
TNT1 A 0 A_FireBullets (2, 1, -1, 12, "HitPuff")
TNT1 A 0 A_SetPitch(pitch - 0.1)
TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
ZMP2 CD 1 
MP40 D 0 A_FireCustomMissile("RifleCaseSpawn",-5,0,8,-4)
ZMP2 EF 1 
TNT1 A 0 A_Refire
Goto Ready2

AltFire:
TNT1 A 0 A_JumpIfInventory("Zoomed",1,"UnZoom")
TNT1 A 0 A_Giveinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.7)
TNT1 A 0 A_Giveinventory("ADSmode",1)
ZMPX ABCDEF 1 
Goto Ready2

UnZoom:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("ADSmode",1)
ZMPX FEDCBA 1 
Goto RealReady

NoAmmo:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
Goto realReady

Reload:
TNT1 A 0 A_JumpIfInventory("MPAmmo",1,"Reload2")
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_TakeInventory("ADSmode",1)
TNT1 A 0 A_TakeInventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_JumpIfInventory("MPAmmo", 32,"InsertBullets")
TNT1 A 0 A_JumpIfInventory("WolfClip",1,3)
Goto NoAmmo
tnt1 aaa 0
ZMPR ABCDEFGHI 1
ZMR1 ABCD 2
ZMR1 D 4
ZMR1 EFG 2 
TNT1 a 0 a_playsound("mp401")
ZMR1 HIJ 2 
TNT1 a 0 a_playsound("mp402")
ZMR1 K 2
tnt1 a 0 a_TakeInventory("MP40MAGCounter",32)
TNT1 A 0 A_takeInventory("MP40MAGCounter2",32)
TNT1 A 0 A_FireCustomMissile("MP40EmptyClip",-5,0,8,-4)
ZMR1 LLLLL 2 
ZMR1 MNO 3
TNT1 A 0 A_PlayWeaponSound("COCKEN")
ZMR1 PQRST 3
ZMR1 A 2
ZMPR IHGFEDCBA 1 

InsertBullets:
TNT1 AAAA 0
TNT1 A 0 A_JumpIfInventory("MPAmmo",32,"RealReady")
TNT1 A 0 A_JumpIfInventory("WolfClip",1,"AmmoIn")
Goto RealReady
	
AmmoIn:
TNT1 AAAAAA 0
TNT1 A 0 A_Giveinventory("MPAmmo",1)
TNT1 A 0 A_Giveinventory("MP40X2AMMO",1)
TNT1 A 0 A_Giveinventory("mp40ammoright",1)
TNT1 A 0 A_Takeinventory("WolfClip",1)
Goto InsertBullets

Spawn:
MP40 I -1
Stop

Reload2:
TNT1 A 0 A_TakeInventory("Reloading",1)
TNT1 A 0 A_TakeInventory("ADSmode",1)
TNT1 A 0 A_TakeInventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_JumpIfInventory("MPAmmo", 32,"InsertBullets")
TNT1 A 0 A_JumpIfInventory("WolfClip",1,3)
Goto NoAmmo
TNT1 AAA 0
ZMPR ABCDEFGHI 1
ZMR2 AQ 2
TNT1 a 0 a_playsound("mp401")
ZMR2 PONMLK 2
tnt1 a 0 a_JumpIfInventory("MP40MAGCounter",32,"ReleaseMag")
Goto ContinueReload

ReleaseMag:
TNT1 A 0 A_FireCustomMissile("MP40EmptyClip",-5,0,8,-4)
TNT1 A 0 A_TakeInventory("MP40MagCounter",32)
TNT1 A 0 A_takeInventory("MP40MAGCounter2",32)

ContinueReload:
ZMR2 J 2 
ZMR2 J 1
ZMR2 KLMNOPQ 2
TNT1 a 0 a_playsound("mp402")
ZMR2 R 2
ZMR2 A 3
ZMPR IHGFEDCBA 1 


InsertBullets2:
TNT1 AAAA 0
TNT1 A 0 A_JumpIfInventory("MPAmmo",32,"RealReady")
TNT1 A 0 A_JumpIfInventory("WolfClip",1,"AmmoIn2")
Goto RealReady
	
AmmoIn2:
TNT1 AAAAAA 0
TNT1 A 0 A_Giveinventory("MPAmmo",1)
TNT1 A 0 A_Giveinventory("MP40X2AMMO",1)
TNT1 A 0 A_Giveinventory("mp40ammoright",1)
TNT1 A 0 A_Takeinventory("WolfClip",1)
Goto InsertBullets2

DoKick:
TNT1 A 0
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_PlaySound("KICK")
TNT1 A 0 SetPlayerProperty(0,1,0)
KICK BCD 1
RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
KICK H 4
KICK A 0 A_Takeinventory("Kicking",1)
KICK IGFEDCBA 1
TNT1 A 0 SetPlayerProperty(0,0,0)
Goto RealReady

Taunt:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 5
FUCK A 2
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 9, 0, -1, 0)
FUCK B 2 A_PlaySound("FUCK", 1)
FUCK C 2 A_AlertMonsters
FUCK D 15 A_Takeinventory("Taunting",1)
FUCK CBA 5
TNT1 A 5
Goto RealReady

LaunchGrenade:	
TNT1 A 0
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_TakeInventory("LaunchGrenade", 1)
TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
Goto NoGrenade
NGRA ABCD 2
TNT1 A 0 A_playSound("Pick/granate")
NGRA DD 2
TNT1 A 0 A_Jump(90,2)
TNT1 A 0 A_PlaySound("*grenadecall", CHAN_VOICE)
 NGRA DEFG 2
TNT1 A 0 A_PLaySound ("Launch/granate")
TNT1 A 0 A_FireCustomMissile("HandGrenade2", random(-3,3), 1, 0, 0, 0, 0)
GRWF STUVW 2 
TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1)
TNT1 A 1 
TNT1 A 0 A_TakeInventory("LaunchGrenade", 1)
TNT1 A 0 A_Takeinventory("BWgrenade",1)
Goto RealReady

NoGrenade:
TNT1 A 0
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Print("No Grenades Left!")
TNT1 A 0 A_Takeinventory("BWgrenade",1)
Goto RealReady



KnifeAttack:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_ZoomFactor(1.0)
TNT1 A 0 A_Jump(90,2)
TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
KNIF ABCDE 1
KNIF F 1 A_PlaySound("weapons/wknife")
KNIF F 0 A_Custompunch(16,0,1,"KnifePuff")
KNIF GHI 1 
TNT1 A 0 A_Takeinventory("Meleeattack",1)
GOTO RealREADY
}
}


ACTOR MPAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 32
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 32
}


ACTOR MP40MAGCounter : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 32
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 32
}

ACTOR MP40Spawner: CustomInventory Replaces Shotgun
{
radius 10
height 10
scale 0.5
+THRUACTORS +FORCEXYBILLBOARD
Inventory.PickupMessage "Machine Pistole 1940"
Inventory.PickupSound "CLIPIN"
Inventory.PickUpSound "MP40_Take"
Mass 1
states
{

Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
TNT1 A 0
Stay:
MP40 I 1
MP40 I -1
Stop

Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("SecretWeapon_MP40", 1, "DualMp40")
PickupNormal:	
TNT1 A 0 A_GiveInventory("SecretWeapon_MP40", 1)
Stop
DualMP40:
TNT1 A 0 A_GiveInventory("SecretWeapon_MP40", 1)
TNT1 A 0 A_GiveInventory("MP40Akimbo", 1)
Stop
}
}
