summaryrefslogtreecommitdiff
path: root/gamemode/itemsystem/items/berry.lua
blob: a591aafdbab817518793a4eab0aa165753578bd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
--The berry item, you can eat it to restore some hunger and thirst

ITEM = {}

ITEM.Name = "Berries"
ITEM.Description = "A delicious edible!"
ITEM.Icon = "test.png"
ITEM.UniqueData = false

if(SERVER) then
  util.AddNetworkString( "gms_eatberry" )
end

local eat_client = function(ln, player)
  net.Start("gms_eatberry")
  net.SendToServer()
end

local finishedeating = function(player)
  player:DecResource( "Berries", 1 )
  player:SendMessage( "You're a little less hungry and thirsty now.", 3, Color( 10, 200, 10, 255 ) )
  --Set hunger and thirst
  player:SetFood(math.Clamp(player.Hunger+100,0,1000))
  player:SetThirst(math.Clamp(player.Thirst+100,0,1000))
end

local eat = function(ln, player)
  if(player.Resources["Berries"] <= 0) then
    player:SendMessage( "You don't have enough to do that!", 3, Color( 10, 200, 10, 255 ) )
    return
  end
  startProcessGeneric(player,"Eating some berries",3,finishedeating)
end
net.Receive( "gms_eatberry", eat)

ITEM.Actions = {}
genericMakeDroppable(ITEM)
ITEM.Actions["Eat Berry"] = eat_client
ITEM.GrowTime = 1
ITEM.OnGrow = function(self, aor, owner)
  	GAMEMODE.MakeGenericPlant( owner, self:GetPos() + Vector( math.random( -10, 10 ), math.random( -10, 10 ), 16 ), "models/props/pi_shrub.mdl" )
end
genericMakePlantable(ITEM)

GMS.RegisterResource(ITEM)