From 30b0b41e3e6bea1bf54b400d45bc01251d964a8e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 5 Aug 2016 15:29:13 +0200 Subject: [PATCH] Change health bar color+icon on poisoning --- hunger.lua | 10 ++++++++-- init.lua | 4 ++++ textures/hbhunger_bar_health_poison.png | Bin 0 -> 151 bytes textures/hbhunger_icon_health_poison.png | Bin 0 -> 526 bytes 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 textures/hbhunger_bar_health_poison.png create mode 100644 textures/hbhunger_icon_health_poison.png diff --git a/hunger.lua b/hunger.lua index 1bffccd..b181c2e 100644 --- a/hunger.lua +++ b/hunger.lua @@ -54,7 +54,11 @@ local function poisenp(tick, time, time_left, player) if time_left < time then minetest.after(tick, poisenp, tick, time, time_left, player) else - --reset hud image + hbhunger.poisonings[player:get_player_name()] = hbhunger.poisonings[player:get_player_name()] - 1 + if hbhunger.poisonings[player:get_player_name()] <= 0 then + -- Reset HUD bar color + hb.change_hudbar(player, "health", nil, nil, "hudbars_icon_health.png", nil, "hudbars_bar_health.png") + end end if player:get_hp()-1 > 0 then player:set_hp(player:get_hp()-1) @@ -85,7 +89,9 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal) end -- Poison if poisen then - --set hud-img + -- Set poison bar + hb.change_hudbar(user, "health", nil, nil, "hbhunger_icon_health_poison.png", nil, "hbhunger_bar_health_poison.png") + hbhunger.poisonings[name] = hbhunger.poisonings[name] + 1 poisenp(1.0, poisen, 0, user) end diff --git a/init.lua b/init.lua index 0fb5f31..46158ac 100644 --- a/init.lua +++ b/init.lua @@ -7,6 +7,9 @@ hbhunger.food = {} hbhunger.hunger = {} hbhunger.hunger_out = {} +-- Count number of poisonings a player has at once +hbhunger.poisonings = {} + -- HUD item ids local hunger_hud = {} @@ -83,6 +86,7 @@ minetest.register_on_joinplayer(function(player) hbhunger.hunger[name] = hbhunger.get_hunger(player) hbhunger.hunger_out[name] = hbhunger.hunger[name] hbhunger.exhaustion[name] = 0 + hbhunger.poisonings[name] = 0 custom_hud(player) hbhunger.set_hunger(player) end) diff --git a/textures/hbhunger_bar_health_poison.png b/textures/hbhunger_bar_health_poison.png new file mode 100644 index 0000000000000000000000000000000000000000..255a287f62da4ab60cafeb940b729bb50a0bf30e GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Ea!3HF4R;=3sq!^2X+?^QKos)S9Fdh=fP7(8A5T-G@yGywn`&?ATd literal 0 HcmV?d00001 diff --git a/textures/hbhunger_icon_health_poison.png b/textures/hbhunger_icon_health_poison.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce2db8d3f4c0b6e713351bc8851b1705592a7b4 GIT binary patch literal 526 zcmV+p0`dKcP)Px#24YJ`L;zF(Q~*>nW5M+R000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2jB<= z4G|!{QJPu+00E9kL_t(I%f*v1ZxcZfg}+%lXOdHLDJW172~a|s6hY}|k>F2I&{(+S zS5PAOC6??q1w~?^5Xnu7C^1SLoEQ>=kMqr)cPUP1V&x!33SPClnwfoX-i$csxCsn5 zL^(ffuD;>L`Uhux0l~}kf5wD<$HgqiP2S`Qm#b>E>msvB1cwmS2 zdKc=gszkjAA|Z4k-SIJ@3$X)-i~m@i9*nW)u2{m^$8Rj(xyP@KA?n50fkO`!GGlNG z=B8~^|S literal 0 HcmV?d00001