From d905f66d300123b65c3f7e65555953b995881602 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Sat, 13 Feb 2016 09:24:27 -0800 Subject: [PATCH] ~~~Hunger.~~~ Stamina This code adds ~~~hunger~~~ stamina to minetest_game. This code is entirely derived from Blockmen's hunger+hud mod. Credits and copyright are preserved as they are compatible with minetest_game. gameplay: The player stat 'stamina' is added. The higher the value, the better. A value of 5 or higher causes the player to slowly get healed over time, at the cost of stamina. One can only be healed if the stamina value is higher than, or equal to the health value. Eating food causes 'stamina' to increase. The visual range of stamina is 0-20, but one can eat slightly over that. If the stamina is at max, items are not eaten anymore. At stamina 2 or lower, the player is damaged periodically, and will die if the stamina value isn't increased due to eating. If eating a food that has a negative hp_change value, such as red mushrooms, the player takes periodical damage to the amount of the hp_change value. During this time, the player is "poisoned". This poison damage can not kill the player. Added by me is code to add exhaustion on crafting, and on player combat. I also added extra exhaustion when the player is jumping code: This mod started as BlockMen's hunger+hud mod. I trimmed the entire hud mod away and placed the stamina bar on top of the hp hud element, which will make the relation between stamina and hp a bit more clear, and doesn't require moving the air hud element. The stamina mod was reduced to fit a single file. I trimmed some legacy code, revised all local/global usage. Renamed most internal variables, and generally did a lot of removals of needlessly complex code favoring simplicity. The food registration code is entirely removed. Instead we assume food just adds stamina or ticks damage as poison. Food eating callbacks are still called. Subsequently, this mod will likely not properly work with BlockMen's hud code anymore, nor is that intended to work. Food mods just have to call item_eat(). I've moved and credited authors for the used textures. I replaced the food sound of this mod with 3 different sounds. The code points out several issues with core: There's no decent place to store player stats. This mod solves it by creating a per player inventory purely for storing an integer value. Intercepting core.do_item_eat() also isn't the nicest way to make this work. --- mods/stamina/README.txt | 45 +++ mods/stamina/depends.txt | 1 + mods/stamina/init.lua | 292 +++++++++++++++++++ mods/stamina/sounds/stamina_eat.1.ogg | Bin 0 -> 9333 bytes mods/stamina/sounds/stamina_eat.2.ogg | Bin 0 -> 11736 bytes mods/stamina/sounds/stamina_eat.3.ogg | Bin 0 -> 11656 bytes mods/stamina/textures/stamina_hud_bg.png | Bin 0 -> 417 bytes mods/stamina/textures/stamina_hud_fg.png | Bin 0 -> 522 bytes mods/stamina/textures/stamina_hud_poison.png | Bin 0 -> 3196 bytes 9 files changed, 338 insertions(+) create mode 100644 mods/stamina/README.txt create mode 100644 mods/stamina/depends.txt create mode 100644 mods/stamina/init.lua create mode 100644 mods/stamina/sounds/stamina_eat.1.ogg create mode 100644 mods/stamina/sounds/stamina_eat.2.ogg create mode 100644 mods/stamina/sounds/stamina_eat.3.ogg create mode 100644 mods/stamina/textures/stamina_hud_bg.png create mode 100644 mods/stamina/textures/stamina_hud_fg.png create mode 100644 mods/stamina/textures/stamina_hud_poison.png diff --git a/mods/stamina/README.txt b/mods/stamina/README.txt new file mode 100644 index 00000000..dfa2833c --- /dev/null +++ b/mods/stamina/README.txt @@ -0,0 +1,45 @@ +Minetest mod "Stamina" +===================== + +(C) 2015 - BlockMen +(C) 2016 - Auke Kok + + +About this mod: +--------------- +This mod adds a stamina, or "hunger" mechanic to Minetest. Actions like +crafting, walking, digging or fighting make the player exhausted. When +enough exhaustion has been accumulated, the player gets more hungry, +and loses stamina. + +If a player is low on stamina, they start taking periodical damage, +and ultimately will die if they do not eat food. + +Eating food no longer heals the player. Instead, it increases the +stamina of the player. The stamina bar shows how well fed the player +is. More bread pieces means more stamina. + + +For Modders: +------------ +This mod intercepts minetest.item_eat(), and applies the hp_change +as stamina change. The value can be positive (increase stamina) or +negative (periodically damage the player by 1 hp). + +Callbacks that are registered via minetest.register_on_item_eat() +are called after this mod, so the itemstack will have changed already +when callbacks are called. You can get the original itemstack as 6th +parameter of your function then. + + +License: +-------- +Code: +- all code LGPL-2.1+ +Textures: +- stamina_hud_poison.png - BlockMen (CC-BY 3.0) +- stamina_hud_fg.png - PilzAdam (WTFPL), modified by BlockMen +- stamina_hud_bg.png - PilzAdam (WTFPL), modified by BlockMen +Sounds: +- stamina_eat.*.ogg - http://www.freesound.org/people/sonictechtonic/sounds/242215/ CC-BY-3.0 + diff --git a/mods/stamina/depends.txt b/mods/stamina/depends.txt new file mode 100644 index 00000000..4ad96d51 --- /dev/null +++ b/mods/stamina/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/stamina/init.lua b/mods/stamina/init.lua new file mode 100644 index 00000000..bb068884 --- /dev/null +++ b/mods/stamina/init.lua @@ -0,0 +1,292 @@ + +stamina = {} + +local stamina_players = {} + +STAMINA_TICK = 800 -- time in seconds after that 1 stamina point is taken +STAMINA_HEALTH_TICK = 4 -- time in seconds after player gets healed/damaged +STAMINA_MOVE_TICK = 0.5 -- time in seconds after the movement is checked + +STAMINA_EXHAUST_DIG = 3 -- exhaustion increased this value after digged node +STAMINA_EXHAUST_PLACE = 1 -- .. after digging node +STAMINA_EXHAUST_MOVE = 1.5 -- .. if player movement detected +STAMINA_EXHAUST_JUMP = 5 -- .. if jumping +STAMINA_EXHAUST_CRAFT = 20 -- .. if player crafts +STAMINA_EXHAUST_PUNCH = 40 -- .. if player punches another player +STAMINA_EXHAUST_LVL = 160 -- at what exhaustion player saturation gets lowered + +STAMINA_HEAL = 1 -- number of HP player gets healed after STAMINA_HEALTH_TICK +STAMINA_HEAL_LVL = 5 -- lower level of saturation needed to get healed +STAMINA_STARVE = 1 -- number of HP player gets damaged by stamina after STAMINA_HEALTH_TICK +STAMINA_STARVE_LVL = 3 -- level of staturation that causes starving + +STAMINA_VISUAL_MAX = 20 -- hud bar extends only to 20 + + +local function stamina_read(player) + local inv = player:get_inventory() + if not inv then + return nil + end + + -- itemstack storage is offest by 1 to make the math work + local v = inv:get_stack("stamina", 1):get_count() + if v == 0 then + v = 21 + inv:set_stack("stamina", 1, ItemStack({name = ":", count = v})) + end + + return v - 1 +end + +local function stamina_save(player) + local inv = player:get_inventory() + if not inv then + return nil + end + local name = player:get_player_name() + local level = stamina_players[name].level + + level = math.max(level, 0) + + inv:set_stack("stamina", 1, ItemStack({name = ":", count = level + 1})) + return true +end + +local function stamina_update(player, level) + local name = player:get_player_name() + if not name then + return false + end + local old = stamina_players[name].level + if level == old then + return + end + stamina_players[name].level = level + + player:hud_change(stamina_players[name].hud_id, "number", math.min(STAMINA_VISUAL_MAX, level)) + stamina_save(player) +end + +local function exhaust_player(player, v) + if not player or not player:is_player() then + return + end + + local name = player:get_player_name() + if not name then + return + end + + local s = stamina_players[name] + if not s then + return + end + + local e = s.exhaust + if not e then + s.exhaust = 0 + end + + e = e + v + + if e > STAMINA_EXHAUST_LVL then + e = 0 + local h = tonumber(stamina_players[name].level) + if h > 0 then + stamina_update(player, h - 1) + end + end + + s.exhaust = e +end + +-- Time based stamina functions +local stamina_timer = 0 +local health_timer = 0 +local action_timer = 0 + +local function stamina_globaltimer(dtime) + stamina_timer = stamina_timer + dtime + health_timer = health_timer + dtime + action_timer = action_timer + dtime + + if action_timer > STAMINA_MOVE_TICK then + for _,player in ipairs(minetest.get_connected_players()) do + local controls = player:get_player_control() + -- Determine if the player is walking + if controls.jump then + exhaust_player(player, STAMINA_EXHAUST_JUMP) + elseif controls.up or controls.down or controls.left or controls.right then + exhaust_player(player, STAMINA_EXHAUST_MOVE) + end + end + action_timer = 0 + end + + -- lower saturation by 1 point after STAMINA_TICK second(s) + if stamina_timer > STAMINA_TICK then + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local tab = stamina_players[name] + if tab then + local h = tab.level + if h > 0 then + stamina_update(player, h - 1) + end + end + end + stamina_timer = 0 + end + + -- heal or damage player, depending on saturation + if health_timer > STAMINA_HEALTH_TICK then + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local tab = stamina_players[name] + if tab then + local air = player:get_breath() or 0 + local hp = player:get_hp() + + -- don't heal if drowning or dead + -- TODO: don't heal if poisoned? + local h = tonumber(tab.level) + if h >= STAMINA_HEAL_LVL and h >= hp and hp > 0 and air > 0 then + player:set_hp(hp + STAMINA_HEAL) + stamina_update(player, h - 1) + end + + -- or damage player by 1 hp if saturation is < 2 (of 30) + if tonumber(tab.level) < STAMINA_STARVE_LVL then + player:set_hp(hp - STAMINA_STARVE) + end + end + end + + health_timer = 0 + end +end + +local function poison_player(ticks, time, elapsed, user) + if elapsed <= ticks then + minetest.after(time, poison_player, ticks, time, elapsed + 1, user) + else + local name = user:get_player_name() + user:hud_change(stamina_players[name].hud_id, "text", "stamina_hud_fg.png") + end + local hp = user:get_hp() -1 or 0 + if hp > 0 then + user:set_hp(hp) + end +end + +-- override core.do_item_eat() so we can redirect hp_change to stamina +core.do_item_eat = function(hp_change, replace_with_item, itemstack, user, pointed_thing) + local old_itemstack = itemstack + itemstack = stamina.eat(hp_change, replace_with_item, itemstack, user, pointed_thing) + for _, callback in pairs(core.registered_on_item_eats) do + local result = callback(hp_change, replace_with_item, itemstack, user, pointed_thing, old_itemstack) + if result then + return result + end + end + return itemstack +end + +-- not local since it's called from within core context +function stamina.eat(hp_change, replace_with_item, itemstack, user, pointed_thing) + if not itemstack then + return itemstack + end + + if not user then + return itemstack + end + + local name = user:get_player_name() + if not stamina_players[name] then + return itemstack + end + + local level = tonumber(stamina_players[name].level or 0) + if level >= STAMINA_VISUAL_MAX then + return itemstack + end + + if hp_change > 0 then + level = level + hp_change + stamina_update(user, level) + else + -- assume hp_change < 0. + user:hud_change(stamina_players[name].hud_id, "text", "stamina_hud_poison.png") + poison_player(2.0, -hp_change, 0, user) + end + + minetest.sound_play("stamina_eat", {to_player = name, gain = 0.7}) + + if replace_with_item then + if itemstack:is_empty() then + itemstack:add_item(replace_with_item) + else + local inv = user:get_inventory() + if inv:room_for_item("main", {name=replace_with_item}) then + inv:add_item("main", replace_with_item) + else + local pos = user:getpos() + pos.y = math.floor(pos.y + 0.5) + core.add_item(pos, replace_with_item) + end + end + else + itemstack:take_item() + end + + return itemstack +end + +-- stamina is disabled if damage is disabled +if minetest.setting_getbool("enable_damage") and minetest.is_yes(minetest.setting_get("enable_stamina") or "1") then + minetest.register_on_joinplayer(function(player) + local inv = player:get_inventory() + inv:set_size("stamina", 1) + + local name = player:get_player_name() + stamina_players[name] = {} + stamina_players[name].level = stamina_read(player) + stamina_players[name].exhaust = 0 + local level = math.min(stamina_players[name].level, STAMINA_VISUAL_MAX) + local id = player:hud_add({ + name = "stamina", + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + size = {x = 24, y = 24}, + text = "stamina_hud_fg.png", + number = level, + alignment = {x = -1, y = -1}, + offset = {x = -266, y = -110}, + background = "stamina_hud_bg.png", + max = 0, + }) + stamina_players[name].hud_id = id + end) + + minetest.register_globalstep(stamina_globaltimer) + + minetest.register_on_placenode(function(pos, oldnode, player, ext) + exhaust_player(player, STAMINA_EXHAUST_PLACE) + end) + minetest.register_on_dignode(function(pos, oldnode, player, ext) + exhaust_player(player, STAMINA_EXHAUST_DIG) + end) + minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + exhaust_player(player, STAMINA_EXHAUST_CRAFT) + end) + minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) + exhaust_player(hitter, STAMINA_EXHAUST_PUNCH) + end) + + minetest.register_on_respawnplayer(function(player) + stamina_update(player, STAMINA_VISUAL_MAX) + end) +end + diff --git a/mods/stamina/sounds/stamina_eat.1.ogg b/mods/stamina/sounds/stamina_eat.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..da2b68b201772eb175924885b85fc5030e5d806a GIT binary patch literal 9333 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 literal 0 HcmV?d00001 diff --git a/mods/stamina/sounds/stamina_eat.2.ogg b/mods/stamina/sounds/stamina_eat.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..edca4239dc6c9b95df5588afa9f227e379886d6e GIT binary patch literal 11736 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 VXr4zSvBvFFyCks}pO667{{aK%bkqO< literal 0 HcmV?d00001 diff --git a/mods/stamina/textures/stamina_hud_bg.png b/mods/stamina/textures/stamina_hud_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..07e21e7be47ebfe19f972382f6ea5a086a33cbfc GIT binary patch literal 417 zcmV;S0bc%zP)pGQ%OWYRCt`Nlf7=jFcd~Z)s4q-V#j}S9N(Bo9uNaUNQ_8GOc{AB z-maBG`8vgdma0hS*v&hyhZwANsZfiVWoIXLI2s_N})-8TUd zjUfaO5kd%1O2HU|rfFcUg;ENPvG<1pBD&Od4Jjq8wTLldwOXO?dsu5Bgg{xAQ?fA& z_WS*8yWNh)7?foR&N5y3eJB7(IRbzSGHX|2bcfQT;6IdIP5z0X~xln_Ed zN(t{hy!V*u7-N@P!PPkj=Nw{;xm#6LIh9fhA%u(&0=I$>BFd4Sb1=q0YmKI9Af<#c z2Gf8i02IYA470=GaOt`(Prq&3%x%}(!$fqwdxhO@hZrMbjOe-!lkg`V?!kF}D%R^Y zQc6fEVX;^s#)y;>Hk%FlzQ@Bw8iwKJ(MJBpU4rBB`1&Wov!Ce`d<6U`HGiA|00000 LNkvXXu0mjf5NEV} literal 0 HcmV?d00001 diff --git a/mods/stamina/textures/stamina_hud_fg.png b/mods/stamina/textures/stamina_hud_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..a5cc2a12339c1fcba9e605fb5cae51aabcefb60c GIT binary patch literal 522 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