aboutsummaryrefslogtreecommitdiff
path: root/gamemode/shared/system_heat.lua
diff options
context:
space:
mode:
authorApickx <Apickx@cogarr.org>2015-12-28 19:10:44 -0500
committerApickx <Apickx@cogarr.org>2015-12-28 19:10:44 -0500
commit5c4ebc932d8c02522802c842d43d863d89aca162 (patch)
tree6be7ad664bdf060127e6df6baa72beaf508aa149 /gamemode/shared/system_heat.lua
downloadwintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.tar.gz
wintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.tar.bz2
wintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.zip
Initial commit
Diffstat (limited to 'gamemode/shared/system_heat.lua')
-rw-r--r--gamemode/shared/system_heat.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/gamemode/shared/system_heat.lua b/gamemode/shared/system_heat.lua
new file mode 100644
index 0000000..84c9c30
--- /dev/null
+++ b/gamemode/shared/system_heat.lua
@@ -0,0 +1,42 @@
+
+local meta = FindMetaTable("Player")
+
+if (SERVER) then
+ util.AddNetworkString("SetHeat")
+
+ local Tick = CurTime()
+
+ function meta:SetHeat(s)
+ if (s > 100) then self:TakeDamage(s-100) s = 100 end
+ s = math.Clamp(s,0,100)
+
+ self.Heat = s
+
+ net.Start("SetHeat")
+ net.WriteUInt(s,8)
+ net.Send(self)
+ end
+
+ function meta:AddHeat(s)
+ self:SetHeat(self:GetHeat()+s)
+ end
+
+ hook.Add("Tick","Heat",function()
+ if (Tick < CurTime()) then
+ for k,v in pairs(player.GetAllHumans()) do
+ v:AddHeat(1+v:WaterLevel())
+ end
+
+ Tick = CurTime()+1.5
+ end
+ end)
+else
+ net.Receive("SetHeat",function()
+ LocalPlayer().Heat = net.ReadUInt(8)
+ end)
+end
+
+function meta:GetHeat()
+ return self.Heat or 0
+end
+ \ No newline at end of file