//Sergeant Mark IV's vehicles.
//If you want to modify and reuse this on your wad, please ask me first.




Actor ZippoTurretNotReal: PattonBaseFrame
{
Scale 1.25
States
{
Spawn:
TNT1 A 0
TNK1 T 8
Stop
}}

ACTOR Zippo: SwitchableDecoration 7262
{
	var int user_stationedtankbasedirection;
    Radius 64
	Height 72
	+SOLID
	+USESPECIAL
	MONSTER
	-COUNTKILL
	+SHOOTABLE
	+LOOKALLAROUND
	+THRUACTORS
	+NOINFIGHTING
	-COUNTKILL
	+NOBLOODDECALS
	+DONTRIP
	+NOTIMEFREEZE
	MaxTargetRange 120
	PainChance "Repair", 255
	BloodType "TankBlood", "TankBlood", "TankBlood"
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
	Mass 5000
	Speed 0
	health 2000
	Scale 1.25
	damagefactor "Headkick", 0.0
	damagefactor "slime", 0.0	damagefactor "Repair", 1.0 damagefactor "CheckRepair", 0.0
		damagefactor "Head", 0.0	damagefactor "FriendBullet", 0.0    damagefactor "Taunt", 0.0   	 damagefactor "KillMe", 0.0 damagefactor "Structural", 0.0
	damagefactor "Shrapnel", 0.0    damagefactor "Blood", 0.0    damagefactor "BlueBlood", 0.0
	damagefactor "GreenBlood", 0.0    damagefactor "MinorHead", 0.0    damagefactor "Decaptate", 0.0	damagefactor "MonsterKnocked", 0.0
    damagefactor "CancelTeleportFog", 0.0	damagefactor "BHFTOnBarrel", 0.0	damagefactor "GibRemoving", 0.0	damagefactor "SuperPunch", 5.0
	damagefactor "HelperMarineFatallity", 0.0	damagefactor "Leg", 0.0	damagefactor "SpawnMarine", 0.0	damagefactor "TeleportRemover", 0.0
	DamageFactor "CauseObjectsToSplash", 0.0 DamageFactor "Trample", 0.0 DamageFactor "Minigun", 0.1 damageFactor "Machinegun", 0.1
	DamageFactor "TankWeakSpot", 3.0 damagefactor "Plasma", 1.3 damagefactor "Plasma2", 1.3
	damagefactor "Desintegrate", 3.0 damagefactor "Railgun", 2.0 damagefactor "Fire", 0.0
	Damagefactor "Stealth", 0.0 Damagefactor "Slide", 0.0 Damagefactor "Use", 0.0 Damagefactor "PussyGrab", 0.0
	damagefactor "stomp", 0 damagefactor "Shotgun", 0.02 damagefactor "kick", 0.05 damagefactor "extremepunches", 0.05 damagefactor "taunt", 0 damagefactor "avoid", 0
	damagefactor "melee", 0.2 damagefactor "minigun", 0.05 damagefactor "minor", 0.02 damagefactor "saw", 0.2 damagefactor "cut", 0.2
 damagefactor "bullet", 0.1 damagefactor "monsterbullet", 0.25 damagefactor "monstershotgun", 0.2 damagefactor "monsterminigun", 0.2
	damagefactor "ExplosiveImpact", 0.25
    States
    {
    Spawn:
	    TNT1 A 1
        
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 1 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 5
		TNT1 A 0 A_SpawnItem("ZippoTurretNotReal")
		TNT1 A 0 Thing_ChangeTID(0, 0)
		TNK1 C 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
        TNT1 A 0 ACS_NamedExecuteAlways("BDSetNewTankDirection", 0, 0, 0, 0)//Check vehicle initial angle.
		Goto StandingHere
		
	  StandingHere:
		TNT1 A 0
		TNT1 A 0 A_SPawnItemEx("PattonBaseFrame", 0, 0, 0, 0, 0, 0, user_stationedtankbasedirection, SXF_ABSOLUTEANGLE )
		TNT1 AA 8 A_SpawnItem("ZippoTurretNotReal")
		TNT1 A 0 A_SpawnItem("StationedVehicleCheckRepairs")
		Loop
		
	Active:
		TNT1 A 0 
		TNT1 A 0 A_TakeFromTarget("PowerInvulnerable", 1)
		TNT1 A 0 A_GiveToTarget("CeaseMorph", 1)
		TNK1 C 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 0 ACS_NamedExecuteAlways("GetVehiclePreviousHealth", 0, 0, 0, 0)//Check Vehicle Health	
		TNT1 A 0 A_GiveToTarget("CheckingMorphingPlayerHealth", 1)
		TNT1 A 0 A_SpawnItem("ZippoTurretNotReal")
		NULL A 3
		TNT1 A 0 A_GiveToTarget("ZippoMorpher", 1)
		TNT1 A 0 A_GiveToTarget("HeavyMachinegunAmmo", 400)
		TNT1 A 0 A_GiveToTarget("TankAmmo", 40)
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 0 A_NoBlocking
		NULL A 1
		TNT1 A 0 A_ChangeFlag("USESPECIAL", 0)
		NULL A 10
		TNT1 A 0 Thing_ChangeTID(0, 0)
		TNT1 A 0 Thing_Remove(0)
		NULL A 1
		Stop
	
		
	Death:	
		TNT1 A 1
		TNT1 A 0 A_SpawnItem("BigExplosion1112")
		TNT1 A 0 A_PlaySound("weapons/explode")
		TNT1 A 0 A_PlaySound("EXPLOSIO", 3)
		TNT1 A 0 A_ChangeFlag("USESPECIAL", 0)
		TNT1 A 0 A_Scream
		NULL AAAAAA 0 A_CustomMissile ("MetalShard1", 96, 0, random (0, 360), 2, random (0, 180))
		NULL AAAAAA 0 A_CustomMissile ("MetalShard2", 96, 0, random (0, 360), 2, random (0, 180))
		NULL AAAAAAAAA 0 A_CustomMissile ("GlassShard", 96, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_SpawnItem("DestroyedArmouredVehicle")
		ELEC A 0 A_Explode(100, 250)
		TNT1 A 15
		TNT1 A 0
		Stop	
	
		Pain.Repair:
		 TNT1 A 0
		 TNT1 A 0 A_ChangeFLag("NOPAIN", 1)
		 TNT1 A 0 HealThing(5)
		 TNK1 T 1
		 TNT1 A 0 HealThing(5)
		 TNT1 A 0 A_ChangeFLag("NOPAIN", 0)
		 Goto StandingHere
	}
}



ACTOR ZippoUsed: Zippo
{
    States
    {
	Spawn:
		TNT1 A 0
	    TNT1 A 1
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 1 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 5 
        TNT1 A 0 ACS_NamedExecuteAlways("TankSetBaseAngle", 0, 0, 0, 0)//Check vehicle initial angle.
		TNT1 A 0 Thing_ChangeTID(0, 0)
		TNK1 C 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
		Goto StandingHere
	
		
	
	
	Active:
		TNT1 A 0 
		//TNT1 A 0 A_JumpIfInTargetInventory("PowerInvulnerable", 1, "StandingHere")
		TNT1 A 0 A_TakeFromTarget("PowerInvulnerable", 1)
		TNT1 A 0 A_GiveToTarget("CeaseMorph", 1)
		TTR1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 0 ACS_NamedExecuteAlways("GetVehiclePreviousHealth", 0, 0, 0, 0)//Check Vehicle Health
		//TNT1 A 0 A_Chase("","",CHF_DONTMOVE )
		TNT1 A 0 A_GiveToTarget("CheckingMorphingPlayerHealth", 1)
		NULL A 3
		TNT1 A 0 A_GiveToTarget("ZippoMorpher", 1)
		TNT1 A 0 Thing_ChangeTID(0, 261)
		TNT1 A 0 A_NoBlocking
		NULL A 1
		TNT1 A 0 A_ChangeFlag("USESPECIAL", 0)
		NULL A 10
		TNT1 A 0 Thing_ChangeTID(0, 0)
		Stop
	}
}



ACTOR ZippoRealism: Zippo
{
Health 16000
}

	


ACTOR PowerZippoSwitch : PowerMorph {PowerMorph.PlayerClass "PlayerZippo"}



ACTOR ZippoMorpher : CustomInventory 
{
  States
  {
  PickUp:
  TNT1 A 1
  TNT1 A 0 ACS_NamedExecuteAlways("BDEnterTank", 0, 0, 0, 0)//Get into Tank
  TNT1 A 0 A_GiveInventory("ZippoMorphActivation")
  TNT1 A 0 A_SpawnItem("CancelTeleportFog")
  TNT1 A 1
  Stop
  }
 }
 


ACTOR ZippoMorphActivation : PowerupGiver
{
  Powerup.Type "PowerZippoSwitch"
  Powerup.Duration 252000
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 1
  Health 100
  GibHealth 1
  Mass 6000
  Height 72
  Radius 32
  States
  {
  Spawn:
  TNT1 A 100
  Stop
  
  PickUp:
  TNT1 A 1
  TNT1 A 1
  Stop
  }
 }
 
 


ACTOR PlayerZippo : PlayerPawn
{
var int user_tankbasedirection;
	Speed 0
	Scale 1.25
	Radius 64
	Height 72
	Mass 5000
	PainChance 0
	health 2000
	-PICKUP
	Speed 0.01
	player.viewheight	82
    player.attackzoffset 56
	MaxStepHeight 32
	Player.MorphWeapon "ZippoGun"
    Player.JumpZ 0
	Species "Marines"
	+NOSKIN
	Damagefactor "Stealth", 0.0
	+FORCERADIUSDMG
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+DONTRIP
	-CANUSEWALLS
	+NOBLOODDECALS
	BloodType "TankBlood", "TankBlood", "TankBlood"
	-PICKUP
	damagefactor "slime", 0.0	damagefactor "Repair", 1.0 damagefactor "CheckRepair", 0.0
	damagefactor "Head", 0.0	damagefactor "FriendBullet", 0.0    damagefactor "Taunt", 0.0    damagefactor "KillMe", 0.0
	damagefactor "Shrapnel", 0.0    damagefactor "Blood", 0.0    damagefactor "BlueBlood", 0.0
	damagefactor "GreenBlood", 0.0    damagefactor "MinorHead", 0.0    damagefactor "Decaptate", 0.0	damagefactor "MonsterKnocked", 0.0
    damagefactor "CancelTeleportFog", 0.0	damagefactor "BHFTOnBarrel", 0.0	damagefactor "GibRemoving", 0.0	damagefactor "SuperPunch", 5.0
	damagefactor "HelperMarineFatallity", 0.0	damagefactor "Leg", 0.0	damagefactor "SpawnMarine", 0.0	damagefactor "TeleportRemover", 0.0
	DamageFactor "CauseObjectsToSplash", 0.0 DamageFactor "Trample", 0.0 DamageFactor "Minigun", 0.1 damageFactor "Machinegun", 0.1
	DamageFactor "TankWeakSpot", 3.0 damagefactor "Plasma", 1.3 damagefactor "Plasma2", 1.3
	damagefactor "Desintegrate", 3.0 damagefactor "Railgun", 2.0 damagefactor "Fire", 0.0
	Damagefactor "Stealth", 0.0 Damagefactor "Slide", 0.0 Damagefactor "Use", 0.0 Damagefactor "PussyGrab", 0.0
	damagefactor "stomp", 0 damagefactor "Shotgun", 0.02 damagefactor "kick", 0.05 damagefactor "extremepunches", 0.05 damagefactor "taunt", 0 damagefactor "avoid", 0
	damagefactor "melee", 0.2 damagefactor "minigun", 0.05 damagefactor "minor", 0.02 damagefactor "saw", 0.2 damagefactor "cut", 0.2
	 damagefactor "bullet", 0.1 damagefactor "monsterbullet", 0.25 damagefactor "monstershotgun", 0.2 damagefactor "monsterminigun", 0.2
	damagefactor "ExplosiveImpact", 0.25
	States
	{
	
	
		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("PressedUse", 1)
		TNT1 A 0 ThrustTHingZ(0, 100, -1, 1)
		
		TNK1 T 1
	Spawn2:
	    TNT1 A 0 A_GiveInventory("IsInATank", 1)
		TNT1 A 0 A_TakeInventory("PressedUse", 1)
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		TNT1 A 0 A_TakeInventory("Accelerate", 1)
		TNT1 A 0 A_TakeInventory("BackPedal", 1)
		
		//TNT1 A 0 SetPlayerProperty(0, 1, PROP_BUDDHA)
		TNK1 T 1
		TNK1 TTTT 1 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, -90, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNK1 TTTT 1 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, -90, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_TakeInventory("PressedUse", 1)
		TNT1 A 0 A_TakeInventory("FiredTankMainGun", 1)
		TNT1 A 0 A_Print (a, 4, "TUTO1")
	Goto Stay

		

	ExitVehicle:
	TNT1 A 1
	
	TNT1 A 0 A_TakeInventory("PressedUse", 1)
	TNT1 A 0 A_JumpIfHealthLower(2, "EmergencyExit")
	TNT1 A 0 A_SpawnItemEx ("TransferPlayerOutOfVehicle", 0, 0, 90)
	
	TNK1 T 1
	TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
	TNK1 T 1
	TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
	TNK1 T 1
	TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
	
	TNT1 A 0 A_JumpIfInventory("CanLeaveVehicle", 1, "CanExit")
	TNT1 A 0 A_Print("Can't leave from this direction", 1)
	Goto Stay
	
	CanExit:
	TNT1 A 0
	TNT1 A 2 A_TakeInventory("IsInATank", 1)
	TNT1 A 0 A_TakeInventory("PressedUse", 1)
	TNT1 A 0 A_TakeInventory("CanLeaveVehicle", 1)
	TNT1 A 0 ACS_NamedExecuteAlways("BDStopCamera", 0, 0, 0, 0)//Stop third person camera
	//TNT1 A 0 SetPlayerProperty(0, 0, PROP_BUDDHA)
	TNT1 A 0 ACS_NamedExecuteAlways("BDLeaveTank")
	TNT1 A 0 A_SpawnItemEx ("ZippoUsed", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	Goto FinishExit
	
	
	EmergencyExit:
	TNT1 A 0
	
	TNT1 A 2 A_TakeInventory("IsInATank", 1)
	TNT1 A 0 A_TakeInventory("PressedUse", 1)
	TNT1 A 0 A_TakeInventory("CanLeaveVehicle", 1)

	TNT1 A 0 ThrustThingZ(0,120,0,1)
	TNT1 A 0 A_SpawnItem("TankExplode")
	PLA1 J 2
	TNT1 A 0 A_StopSound(1)
	//TNT1 A 0 SetPlayerProperty(0, 0, PROP_BUDDHA)
	TNT1 A 0 SetPlayerProperty(0, 0, PROP_FLIGHT)
	TNT1 A 0 ACS_NamedExecuteAlways("BDLeaveTank")
	PLA1 J 100
	Goto Stay

	FinishExit:
	TNT1 A 0 A_TakeInventory("PressedUse", 1)
	TNT1 AAA 10 A_TakeInventory("PressedUse", 1)
	TNT1 A 0 A_TakeInventory("PressedUse", 1)
	Goto Stay
	
		
		
	TurnLeft:
		TNT1 A 0
		TNK1 T 1 
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Stay")
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , 100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection > 359, "TurnLeft2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		
		
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection > 359, "TurnLeft2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		
		
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection > 359, "TurnLeft2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		
		Goto CheckIfStillMoves
	
	TurnLeft2:
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", 0)
		TNT1 A 0 A_JumpIfInventory("Accelerate", 1, "TurnLeftAccel")
		Goto TurnLeft
		
		
	TurnLeftAccel:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection > 359, "TurnLeft2")

		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , 100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		TNK1 T 1 
		//TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNK1 T 1 
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection+2)
		TNT1 A 0 A_SetAngle(angle+2)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_JumpIF(velz < 0, "Falling")
		
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnLeftAccel")
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		
		Goto CheckIfStillMoves	
		
	TurnRight:
		TNT1 A 0
		TNK1 T 1 
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Stay")
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , 100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection == 0, "TurnRIght2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)

		
		
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection == 0, "TurnRIght2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection == 0, "TurnRIght2")
		TNT1 A 0 A_SetUserVar("user_Tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)
		
		Goto CheckIfStillMoves
	
	TurnRight2:
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", 360)
		TNT1 A 0 A_JumpIfInventory("Accelerate", 1, "TurnRightAccel")
		Goto TurnRight	
		
	
	TurnRightAccel:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		TNK1 T 0 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIf(user_tankbasedirection == 0, "TurnRIght2")
		
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)
		
		
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , 100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		TNK1 T 1 
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)
		TNK1 T 1 
		//TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_SetUserVar("user_tankbasedirection", user_tankbasedirection-2)
		TNT1 A 0 A_SetAngle(angle-2)
		TNK1 T 1 
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIF(velz < 0, "Falling")
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnRightAccel")
		TNT1 A 0 A_TakeInventory("TurnLeft", 1)
		TNT1 A 0 A_TakeInventory("TurnRight", 1)
		Goto CheckIfStillMoves
	
	CheckIfStillMoves:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 A_JumpIfInventory("Accelerate", 1, "Accelerate")
		TNT1 A 0 A_JumpIfInventory("BackPedal", 1, "BackPedal")
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnLeft")
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnRight")
		TNT1 A 0 A_StopSound(2)
		TNT1 A 0 A_PlaySound("TANK2", 5, 1, 1)
		TNT1 A 0 A_PlaySound("TANK3", 2)
		
	Stay:
	    TNT1 A 0
		TNT1 A 0 
		
		TNT1 A 0 A_PlaySound("TANK2", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 A_JumpIfInventory("BackPedal", 1, "BackPedal")
		TNT1 A 0 A_JumpIfInventory("Accelerate", 1, "Accelerate")
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnLeft")
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnRight")
		TNK1 T 1 
		TNT1 A 0 A_JumpIF(velz < 0, "Falling")
		Goto Stay
		
	
	Pain.TracksDamaged:
	    TNT1 A 0
		TNT1 A 0 
		
		TNT1 A 0 A_Jump(32, "DestroyTracks")
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 A_JumpIfInventory("BackPedal", 1, "BackPedal")
		TNT1 A 0 A_JumpIfInventory("Accelerate", 1, "Accelerate")
		TNK1 T 1 
		Goto Stay
		
		
	
	Accelerate:
		
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnLeftAccel")
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnRightAccel")
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , 100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		
		TNK1 T 1 
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Stay")
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		TNK1 T 1 
		//TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnLeftAccel")
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnRightAccel")
		
		TNK1 T 1 
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIF(velz < 0, "Falling")
		Goto CheckIfStillMoves
		
		
	Backpedal:
		
		
		TNT1 A 0 A_PlaySound("TANK1", 5, 1, 1)
		TNT1 A 0 A_SpawnItemEx("TnkStep", 0, 0, 8, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx ("TnkTreadsDamage" , -100, 0, 0, 0, 0, 0, user_tankbasedirection, SXF_ABSOLUTEANGLE | SXF_ABSOLUTEVELOCITY)
		
		TNK1 T 1 
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Stay")
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360+128, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame3" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		
		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnLeft")
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnRight")
		
		TNK1 T 1 
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 //ThrustThing(user_tankbasedirection*256/360+128, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame2" , 0, 0, 0, momx, momy, momz, user_Tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)

		TNT1 A 0 A_JumpIfInventory("TurnRight", 1, "TurnLeft")
		TNT1 A 0 A_JumpIfInventory("TurnLeft", 1, "TurnRight")
		
		TNK1 T 1 
		TNT1 A 0 ThrustThing(user_tankbasedirection*256/360+128, 1, 1)
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIF(velz < 0, "Falling")
		Goto CheckIfStillMoves
		
		
	Falling:
		TNT1 A 0
		TNT1 A 0 A_CheckFloor("CheckIfStillMoves")
	
	FallingForReal:
		TNT1 A 0
		TNK1 T 1 
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "ExitVehicle")
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_JumpIF(velz == 0, "CrashIntoGround")
		TNT1 A 0 A_GiveInventory("VehicleFallingCount", 1)
		Loop
		
	CrashIntoGround:
		TNT1 A 0
		TNT1 A 0 A_JumpIfinventory("VehicleFallingCount", 6, "CrashIntoGroundViolently")
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItem("CrashTankIntotheGround1")
		TNT1 A 0 A_SpawnItem("CrashTankIntotheGround2")
		TNT1 A 0 A_SpawnItemEx ("LargeMassWaterImpact", 0, 0, -10)
		TNT1 A 0 Radius_Quake(1, 6, 0, 4, 0)
		TNT1 A 0 A_PlaySound("EBIKEBNC", 2)
		TNT1 A 0 A_TakeInventory("VehicleFallingCount", 100)
		Goto Stay
		
	CrashIntoGroundViolently:
		TNT1 A 0
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItem("CrashTankIntotheGround1")
		TNT1 A 0 A_SpawnItem("CrashTankIntotheGround2")
		
		TNT1 A 0 A_SpawnItemEx ("ExplosionSplashSpawner", 0, 0, -10)
		
		TNT1 A 0 Radius_Quake(8, 24, 0, 4, 0)
		TNT1 A 0 A_PlaySound("BIKECLW", 1)
		TNT1 A 0 A_PlaySound("EBIKECLS", 2)
		TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_TakeInventory("VehicleFallingCount", 100)
		TNT1 A 0 A_SetPitch(-8.0 + pitch)
		TNK1 T 1 
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SetPitch(4.0 + pitch)
		TNK1 T 1
		TNT1 A 0 A_SpawnItemEx ("PattonBaseFrame1" , 0, 0, 0, momx, momy, momz, user_tankbasedirection, SXF_ABSOLUTEVELOCITY | SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SetPitch(4.0 + pitch)
		Goto Stay	
		
		
		
	Death:	
	XDeath:
    TNT1 A 1
	TNT1 A 0 A_SpawnItem("BigExplosion1112")
	TNT1 A 0 A_PlaySound("weapons/explode")
	TNT1 A 0 A_PlaySound("EXPLOSIO", 3)
	TNT1 A 0 A_Scream
	TNT1 A 0 A_NoBlocking
	NULL AAAAAA 0 A_CustomMissile ("MetalShard1", 96, 0, random (0, 360), 2, random (0, 180))
	NULL AAAAAA 0 A_CustomMissile ("MetalShard2", 96, 0, random (0, 360), 2, random (0, 180))
	NULL AAAAAAAAA 0 A_CustomMissile ("GlassShard", 96, 0, random (0, 360), 2, random (0, 360))
	ELEC A 0 A_Explode(100, 250)
	TNT1 A 0 A_SpawnItem("DestroyedArmouredVehicle")
	8762 A 5
	TNT1 A 0 A_TakeInventory("ZippoGun", 1)
	TNT1 A 0 A_TakeInventory("IsInATank", 1)
	8762 A 100
	8762 A -1
	Stop
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Vehicle's weapons and misc
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


ACTOR ZippoGun : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 1900
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.AmmoType2 "TankAmmo"
	Weapon.AmmoType1 "HeavyMachinegunAmmo"
	Obituary "$OB_MPPISTOL"
	+WEAPON.AMMO_OPTIONAL
	+WEAPON.ALT_AMMO_OPTIONAL
	+WEAPON.NOAUTOAIM
	//+WEAPON.NOAUTOFIRE
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	Tag "$TAG_PISTOL"
	States
	{
	
	
	Ready:
		TNT1 A 0
		//TNT1 A 0 A_PlaySound("TNKENGS", 4)
		//TNHD W 10
		//TNT1 A 0 A_PlaySound("INFRARED", 1)
		//TNHD XYZXYZXYZXYZXYZXYZXYZ 1 BRIGHT
		TNT1 A 0 A_ZoomFactor(6.0)
		TNT1 A 0 ACS_NamedExecuteAlways("BDStartCamera", 0, 0, 0, 0)//Start third person camera
		TNT1 A 0 A_GiveInventory("TankReady", 100)
		TNT1 A 0 A_TakeInventory("PressedUse", 1)
		TNT1 A 0 A_TakeInventory("PressedJump", 2)
		TNHD Y 0 A_TakeInventory("PressedJump", 2)
		TNHD A 1 A_GunFlash
		Goto ReadyToFire
		
	ReadyToFire:
	    TNT1 A 0
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"SwitchFlashlight")
		TNT1 A 0 A_StopSound(1)
		TNHD A 1 A_WeaponReady(1)
		TNT1 A 0 A_GiveInventory("TankReady", 1)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck2")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck2")
		Loop
		
		
	NotReady:
		TNHD A 1 A_GiveInventory("TankReady", 1)
		Goto ReadyToFire
		
		
	NotReadyZoom:
		TNT1 A 1 A_GiveInventory("TankReady", 1)
		Goto ReadyToFire	
			

	
	Deselect:
		TNHD Z 1 A_Lower
		TNHD Z 1 A_Lower
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 SetPlayerProperty(0,0,4)
		Loop
		
	Select:
		TNT1 A 0
		TNHD z 1 A_Raise
		TNHD zzzzzzzzzzzzzzzzzzzzzz 0 A_Raise
		TNHD z 1 A_Raise
		Goto Ready
	
	Flash:
		TNT1 A 0
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		TNT1 A 0 A_JumpIfInventory("TankReady", 99, 1)
		Goto Flashreloading
		TNHD J 1 BRIGHT
		TNT1 A 0 A_JumpIfHealthLower(2, "EmergencyExit")
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		TNHD J 1 BRIGHT
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		
		TNHD J 1 BRIGHT
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		Goto Flash
		
	FLashReloading:
		TNHD I 1 BRIGHT
		TNT1 A 0 A_JumpIfHealthLower(2, "EmergencyExit")
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		TNHD I 1 BRIGHT
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		TNHD I 1 BRIGHT
		TNT1 A 0 A_JumpIfInventory("PressedUse", 1, "LightEnd")
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck1")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck1")
		TNT1 A 0 A_JumpIfInventory("TankReady", 99, "Flash")
		Goto Flashreloading
		
	EmergencyExit:
		TNT1 A 0 
		TNT1 A 0 A_PlaySound("CARSTE", 1)
		TNT1 A 0 A_GiveInventory("PressedUse")

		TNT1 A 5
		Goto LightEnd
		
	Fire:
	    TNHD A 0
		TNT1 A 0 A_JumpIfInventory("TankAmmo", 1, 2)
		Goto NoAmmo
		TNT1 AA 0

		FLMT A 0 A_PlaySound("FLAMER", 1, 1, 1)

		TNHD A 1 A_FireCustomMissile("ZippoMissile", 0, 0, 0, -42, 2, 14)
		TNHD AAAA 1 A_FireCustomMissile("ZippoMissile2", 0, 0, 0, -42, 2, 14)
		TNHD A 1 A_FireCustomMissile("ZippoMissile", 0, 0, 0, -42, 2, 14)
		TNHD AAAAAAAA 1 A_FireCustomMissile("ZippoMissile2", 0, 0, 0, -42, 2, 14)
		TNT1 A 0 A_TakeInventory("TankAmmo", 1)
		NULL A 0 A_JumpIf (pitch > 220, "TooHighCheck2")
		NULL A 0 A_JumpIf (pitch > 16, "TooLowCheck2")
		TNT1 A 0 A_JumpIfInventory("TankAmmo", 1, 2)
		Goto NoAmmo
		TNT1 AA 0
		TNHD A 1 A_Refire
		TNT1 A 0 A_StopSound(1)
		TNHD A 1 A_PlaySound("FLAMSTOP", 4)
		Goto ReadyToFire

	
		
		
	NoAmmo:
		TNT1 A 0
		TNT1 A 0 A_StopSound(CHAN_WEAPON)
		TNHD A 5
		Goto ReadyToFire
		
	AltFire:
		TNT1 A 0 A_JumpIfInventory("HeavyMachinegunAmmo", 1, 1)
		Goto NoAmmo
		
		
		TNT1 A 0 A_PlaySound("TANKMG", 1)
		TNT1 A 0 A_FireCustomMissile("HeavyMachinegunProjectile", 0, 1, 10, -25, 0, 0)
		TNT1 A 0 A_FireCustomMissile("HeavyMachinegunFlash", 0, 1, 10, -25)
		TNT1 A 0 A_TakeInventory("HeavyMachinegunAmmo", 1)
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		TNHD F 1 BRIGHT
		TNT1 A 0 A_GiveInventory("TankReady", 1)
		TNHD A 1 A_GiveInventory("TankReady", 1)
		MISG A 0 A_FireCustomMissile("TankAim", 0, 0, 0, 0)
		TNHD AA 1 A_GiveInventory("TankReady", 1)
		TNT1 A 0 A_ReFire
		Goto ReadyToFire
		
			
	TooHigh2:
		TNT1 A 0 A_SetPitch(326)
		Goto ReadyToFire
		
	
	TooLowCheck2:
		//NULL A 0 A_JumpIf (pitch > 180, "TooHighCheck1")
		TNT1 A 0 A_SetPitch(16)
		Goto ReadyToFire
		
		
	TooHighCheck2:
		TNT1 A 0
		NULL A 0 A_JumpIf (pitch < 325, "TooHigh2")
		Goto ReadyToFire
	
	
	
	TooHigh:
		TNT1 A 0 A_SetPitch(326)
		Goto Flash
		
	
	TooLowCheck1:
		//NULL A 0 A_JumpIf (pitch > 180, "TooHighCheck1")
		TNT1 A 0 A_SetPitch(16)
		Goto Flash
		
	TooHighCheck1:
		TNT1 A 0
		NULL A 0 A_JumpIf (pitch < 325, "TooHigh")
		Goto Flash
	
	
	
		
		
		
	SwitchFlashlight:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("SwitchFlashlight", 1)
		TNT1 A 0 A_JumpIfInventory("FlashlightOn",1,"TurnFlashOff")
		TNT1 A 0 A_Giveinventory("FlashlightOn",1)
		TNT1 A 0 A_giveinventory("PowerLightAmp", 1)
		TNT1 A 0 A_PlaySound("INFRARED", 1)
		TNT1 A 0 A_PlaySound("FLASHON", 2)
		
        Goto ReadyToFire
	TurnFlashOff:
		TNT1 A 0 A_Takeinventory("FlashlightOn",1)
		TNT1 A 0 A_TakEinventory("PowerLightAmp", 1)
		TNT1 A 0 A_PlaySound("FLASHOFF", 2)
        Goto ReadyToFire
	
	LightEnd:
		TNT1 A 1
		TNT1 A 0 A_Takeinventory("PowerLightAmp", 1)
		Stop
		
	Spawn:
		LAUN A -1
		Stop
		
	}
}
