From 503a0f7b6282949d4c37caea3af4d0e05caa5561 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Tue, 16 Feb 2016 16:33:58 -0800 Subject: [PATCH] Stamina mod. This mod implements a reduced version of BlockMen's hunger+hud mod, implementing a player "stamina" stat that converts food hp_change to stamina points. Stamina points heal the player over time if they are available and higher than the HP amount. --- README.txt | 45 +++++ depends.txt | 1 + description.txt | 1 + init.lua | 315 ++++++++++++++++++++++++++++++++ mod.conf | 1 + sounds/stamina_eat.1.ogg | Bin 0 -> 9333 bytes sounds/stamina_eat.2.ogg | Bin 0 -> 11736 bytes sounds/stamina_eat.3.ogg | Bin 0 -> 11656 bytes textures/stamina_hud_bg.png | Bin 0 -> 417 bytes textures/stamina_hud_fg.png | Bin 0 -> 522 bytes textures/stamina_hud_poison.png | Bin 0 -> 3196 bytes 11 files changed, 363 insertions(+) create mode 100644 README.txt create mode 100644 depends.txt create mode 100644 description.txt create mode 100644 init.lua create mode 100644 mod.conf create mode 100644 sounds/stamina_eat.1.ogg create mode 100644 sounds/stamina_eat.2.ogg create mode 100644 sounds/stamina_eat.3.ogg create mode 100644 textures/stamina_hud_bg.png create mode 100644 textures/stamina_hud_fg.png create mode 100644 textures/stamina_hud_poison.png diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bc6af3a --- /dev/null +++ b/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" echanic 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 staminachange. 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/depends.txt b/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/description.txt b/description.txt new file mode 100644 index 0000000..1074b3d --- /dev/null +++ b/description.txt @@ -0,0 +1 @@ +Adds stamina and hunger effects. diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..98504aa --- /dev/null +++ b/init.lua @@ -0,0 +1,315 @@ + +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 -- exhaustion increased this value after placed +STAMINA_EXHAUST_MOVE = 1.5 -- exhaustion increased this value if player movement detected +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_MAX = 30 -- maximum level of saturation +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 hgp = inv:get_stack("stamina", 1):get_count() + if hgp == 0 then + hgp = 21 + inv:set_stack("stamina", 1, ItemStack({name = ":", count = hgp})) + end + + return math.min(STAMINA_MAX + 1, hgp) - 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.min(STAMINA_MAX, 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 stamina_node_actions(pos, oldnode, player, ext) + if not player or not player:is_player() then + return + end + local name = player:get_player_name() + if not name or not stamina_players[name] then + return + end + + local exhaust = stamina_players[name].exhaust + if not exhaust then + stamina_players[name].exhaust = 0 + end + + local new = STAMINA_EXHAUST_PLACE + + -- placenode event + if not ext then + new = STAMINA_EXHAUST_DIG + end + + -- assume its send by action_timer(globalstep) + if not pos and not oldnode then + new = STAMINA_EXHAUST_MOVE + end + + exhaust = exhaust + new + + if exhaust > STAMINA_EXHAUST_LVL then + exhaust = 0 + local h = tonumber(stamina_players[name].level) + if h > 0 then + stamina_update(player, h - 1) + end + end + + stamina_players[name].exhaust = exhaust +end + +local function stamina_craft_actions(itemstack, player, old_craft_grid, craft_inv) + if not player or not player:is_player() then + return + end + + local name = player:get_player_name() + if not name or not stamina_players[name] then + return + end + + local exhaust = stamina_players[name].exhaust + if not exhaust then + stamina_players[name].exhaust = 0 + return + end + + if exhaust > STAMINA_EXHAUST_LVL then + exhaust = 0 + local h = tonumber(stamina_players[name].level) + if h > 0 then + stamina_update(player, h - 1) + end + end + + stamina_players[name].exhaust = exhaust +end + +-- TODO: add stamina for fighting + +-- 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.up or controls.down or controls.left or controls.right then + stamina_node_actions(nil, nil, player) + 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_MAX then + return itemstack + end + + if level < STAMINA_MAX and hp_change > 0 then + level = level + hp_change + stamina_update(user, level) + end + + if hp_change < 0 then + 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(stamina_node_actions) + minetest.register_on_dignode(stamina_node_actions) + minetest.register_on_craft(stamina_craft_actions) + minetest.register_on_respawnplayer(function(player) + stamina_update(player, STAMINA_VISUAL_MAX) + end) +end + diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..b049a5a --- /dev/null +++ b/mod.conf @@ -0,0 +1 @@ +name = stamina diff --git a/sounds/stamina_eat.1.ogg b/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/sounds/stamina_eat.2.ogg b/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/textures/stamina_hud_bg.png b/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/textures/stamina_hud_fg.png b/textures/stamina_hud_fg.png new file mode 100644 index 0000000000000000000000000000000000000000..a5cc2a12339c1fcba9e605fb5cae51aabcefb60c GIT binary patch literal 522 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