Skip to content

Commit

Permalink
Guns can now have multiple loaders, gearboxes added, mobility system …
Browse files Browse the repository at this point in the history
…redone and rebalanced, linker doesn't output error when you right click without first selecting something with left click, guide updated.
  • Loading branch information
Dakota0001 committed Nov 10, 2017
1 parent 20f9c16 commit 7a3a12d
Show file tree
Hide file tree
Showing 83 changed files with 1,044 additions and 506 deletions.
19 changes: 16 additions & 3 deletions DTTanks/lua/entities/dak_tankcore/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,20 @@ function ENT:Think()
self.Ammoboxes={}
self.TurretControls={}
self.Guns={}
self.Crew={}
self.Motors={}
self.Fuel={}
for i=1, #res do
if res[i]:IsSolid() then
if res[i]:GetClass()=="dak_tegearbox" then
res[i].DakTankCore = self
self.Gearbox = res[i]
end
if res[i]:GetClass()=="dak_tefuel" then
self.DakFuel=res[i]
self.Fuel[#self.Fuel+1] = res[i]
end
if res[i]:GetClass()=="dak_temotor" then
self.Motors[#self.Motors+1] = res[i]
end
if res[i]:GetClass() == "dak_teammo" then
self.Ammoboxes[#self.Ammoboxes+1] = res[i]
Expand All @@ -138,6 +148,9 @@ function ENT:Think()
res[i].DakContraption = res
res[i].DakCore = self
end
if res[i]:GetClass()=="dak_crew" then
self.Crew[#self.Crew+1]=res[i]
end
Mass = Mass + res[i]:GetPhysicsObject():GetMass()
if res[i]:GetPhysicsObject():GetSurfaceArea() then
if res[i]:GetPhysicsObject():GetMass()>1 then
Expand All @@ -146,8 +159,8 @@ function ENT:Think()
end
end
end
if self.DakFuel then
self.DakFuel.TotalMass = Mass
if self.Gearbox then
self.Gearbox.TotalMass = Mass
end
self.TotalMass = Mass
self.SurfaceArea = SA
Expand Down
103 changes: 59 additions & 44 deletions DTTanks/lua/entities/dak_tankshell.lua
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,11 @@ function ENT:Think()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:GetClass() == "dak_tegearbox" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
if Targets[i]:IsPlayer() then
Expand Down Expand Up @@ -425,25 +430,27 @@ function ENT:Think()
if table.Count(Targets) > 0 then
for i = 1, #Targets do
if Targets[i]:GetClass() == "dak_temotor" then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:GetClass() == "dak_tegearbox" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
if Targets[i]:IsPlayer() then
if not Targets[i]:InVehicle() then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:IsNPC() or (Targets[i]:GetClass()=="dak_bot" or Targets[i]:GetClass()=="dak_zombie") then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
end
Expand Down Expand Up @@ -497,27 +504,31 @@ function ENT:Think()
util.Effect("dakflameimpact", effectdata)
local Targets = ents.FindInSphere( self.LastHit, 150 )
if table.Count(Targets) > 0 then
for i = 1, #Targets do
if Targets[i]:GetClass() == "dak_temotor" then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if table.Count(Targets) > 0 then
for i = 1, #Targets do
if Targets[i]:GetClass() == "dak_temotor" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
Targets[i]:Ignite(5,1)
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
if Targets[i]:IsPlayer() then
if not Targets[i]:InVehicle() then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if Targets[i]:GetClass() == "dak_tegearbox" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
end
if Targets[i]:IsNPC() or (Targets[i]:GetClass()=="dak_bot" or Targets[i]:GetClass()=="dak_zombie") then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if Targets[i]:IsPlayer() then
if not Targets[i]:InVehicle() then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
end
if Targets[i]:IsNPC() or (Targets[i]:GetClass()=="dak_bot" or Targets[i]:GetClass()=="dak_zombie") then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
Targets[i]:Ignite(5,1)
end
end
end
Expand Down Expand Up @@ -728,25 +739,27 @@ function ENT:Damage(oldhit)
if table.Count(Targets) > 0 then
for i = 1, #Targets do
if Targets[i]:GetClass() == "dak_temotor" then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:GetClass() == "dak_tegearbox" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
if Targets[i]:IsPlayer() then
if not Targets[i]:InVehicle() then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:IsNPC() or (Targets[i]:GetClass()=="dak_bot" or Targets[i]:GetClass()=="dak_zombie") then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
end
Expand Down Expand Up @@ -854,25 +867,27 @@ function ENT:Damage(oldhit)
if table.Count(Targets) > 0 then
for i = 1, #Targets do
if Targets[i]:GetClass() == "dak_temotor" then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:GetClass() == "dak_tegearbox" then
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
Targets[i].DakBurnStacks = Targets[i].DakBurnStacks+1
end
if Targets[i]:IsPlayer() then
if not Targets[i]:InVehicle() then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
if Targets[i]:IsNPC() or (Targets[i]:GetClass()=="dak_bot" or Targets[i]:GetClass()=="dak_zombie") then
if Targets[i]:IsOnFire() then
Targets[i]:Extinguish()
if not(Targets[i]:IsOnFire()) then
Targets[i]:Ignite(5,1)
end
Targets[i]:Ignite(5,1)
end
end
end
Expand Down
18 changes: 13 additions & 5 deletions DTTanks/lua/entities/dak_teautogun/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -246,12 +246,20 @@ function ENT:Think()
self.Loaded=1
end

if not(self.IsAutoLoader == 1) then
if self.DakCrew == NULL then
self.DakReloadTime = self.DakReloadTime * 1.5
else
if not(self.DakCrew.DakEntity == self) then
self.Loaders = 0
if self.DakTankCore then
if #self.DakTankCore.Crew>0 then
for i=1, #self.DakTankCore.Crew do
if self.DakTankCore.Crew[i].DakEntity == self then
self.Loaders = self.Loaders + 1
end
end
end
if not(self.IsAutoLoader == 1) then
if self.Loaders == 0 then
self.DakReloadTime = self.DakReloadTime * 1.5
else
self.DakReloadTime = self.DakReloadTime*(1/math.pow((self.Loaders),0.4))
end
end
end
Expand Down
16 changes: 9 additions & 7 deletions DTTanks/lua/entities/dak_tefuel/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ENT.DakArmor = 10
ENT.DakMaxHealth = 10
ENT.DakHealth = 10
ENT.DakPooled=0
ENT.DakFuel = 0

function ENT:Initialize()

Expand Down Expand Up @@ -94,40 +95,41 @@ function ENT:Think()

if self.DakName == "Micro Fuel Tank" then
self.DakMass = 65
self.PowerMod = 0.5
self.DakFuel = 45
self.DakMaxHealth = 10
end
if self.DakName == "Small Fuel Tank" then
self.DakMass = 120
self.PowerMod = 0.75
self.DakFuel = 90
self.DakMaxHealth = 20
end
if self.DakName == "Standard Fuel Tank" then
self.DakMass = 240
self.PowerMod = 1.0
self.DakFuel = 180
self.DakMaxHealth = 30
end
if self.DakName == "Large Fuel Tank" then
self.DakMass = 475
self.PowerMod = 1.25
self.DakFuel = 360
self.DakMaxHealth = 40
end
if self.DakName == "Huge Fuel Tank" then
self.DakMass = 950
self.PowerMod = 1.5
self.DakFuel = 720
self.DakMaxHealth = 50
end
if self.DakName == "Ultra Fuel Tank" then
self.DakMass = 1900
self.PowerMod = 2.0
self.DakFuel = 1440
self.DakMaxHealth = 60
end

if self.DakHealth > self.DakMaxHealth then
self.DakHealth = self.DakMaxHealth
end

self.PowerMod = self.PowerMod*(self.DakHealth/self.DakMaxHealth)
self.DakFuel = self.DakFuel * (self.DakHealth/self.DakMaxHealth)

self:GetPhysicsObject():SetMass(self.DakMass)

if self.DakHealth<(self.DakMaxHealth*0.25) and self.DakIsExplosive then
Expand Down
8 changes: 8 additions & 0 deletions DTTanks/lua/entities/dak_tegearbox/cl_init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
include("shared.lua")

function ENT:Draw()

self:DrawModel()

end

Loading

0 comments on commit 7a3a12d

Please sign in to comment.