--[[
  Copyright Tom Lukeywood 2018
    This file is part of Forest2D

    Forest2D is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Forest2D is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Forest2D.  If not, see <http://www.gnu.org/licenses/>.
]]--

Player = {}

function Player.New(PlayerX, PlayerY, PlayerZ)
    local self = {}

    self.MaxHealthPoints = 256
    self.HealthPoints = 200
    self.Inventory = {}
    self.WalletSize = 1500
    self.Chimes = 0

    self.X = PlayerX
    self.Y = PlayerY
    self.Z = PlayerZ

    function self.Heal (HP)
        self.HealthPoints = math.min (self.MaxHealthPoints, self.HealthPoints + HP)
    end

    function self.SetHP (HP)
        self.HealthPoints = math.min (self.MaxHealthPoints, HP)
    end

    function self.AddChimes (Chms)
        self.Chimes = math.min (self.WalletSize, self.Chimes + Chms)
    end

    function self.RemoveChimes (Chms)
        self.Chimes = math.min (self.WalletSize, self.Chimes - Chms)
    end

    function self.SetPlayerTile (x, y, z)
        self.X = x
        self.Y = y
        self.Z = z
    end

    return self
end

return Player
