aboutsummaryrefslogtreecommitdiff
path: root/builtin/client/death_formspec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/client/death_formspec.lua')
-rw-r--r--builtin/client/death_formspec.lua34
1 files changed, 19 insertions, 15 deletions
diff --git a/builtin/client/death_formspec.lua b/builtin/client/death_formspec.lua
index 516a15efc..0a4a98ea3 100644
--- a/builtin/client/death_formspec.lua
+++ b/builtin/client/death_formspec.lua
@@ -1,29 +1,33 @@
-- CSM death formspec. Only used when clientside modding is enabled, otherwise
-- handled by the engine.
-local dead = false
-
core.register_on_death(function()
- if not dead then
- core.display_chat_message("You died.")
- local formspec = "size[11,5.5]bgcolor[#320000b4;true]" ..
- "label[4.85,1.35;" .. fgettext("You died") ..
- "]button_exit[4,3;3,0.5;btn_respawn;".. fgettext("Respawn") .."]"
- core.show_formspec("bultin:death", formspec)
- dead = true
- end
+ core.display_chat_message("You died.")
+ local formspec = "size[11,5.5]bgcolor[#320000b4;true]" ..
+ "label[4.85,1.35;" .. fgettext("You died") ..
+ "]button_exit[2,3;3,0.5;btn_respawn;".. fgettext("Respawn") ..
+ "]button_exit[6,3;3,0.5;btn_ghost_mode;".. fgettext("Ghost Mode") .."]"
+ core.show_formspec("bultin:death", formspec)
end)
core.register_on_formspec_input(function(formname, fields)
- if formname == "bultin:death" and fields.btn_respawn then
- core.send_respawn()
- dead = false
+ if formname == "bultin:death" then
+ if fields.btn_ghost_mode then
+ core.display_chat_message("You are in ghost mode. Use .respawn to Respawn")
+ else
+ core.send_respawn()
+ end
end
end)
core.register_chatcommand("respawn", {
+ description = core.gettext("Respawn when in ghost mode"),
func = function()
- core.send_respawn()
- dead = false
+ if core.localplayer:get_hp() == 0 then
+ core.send_respawn()
+ core.display_chat_message("Respawned.")
+ else
+ core.display_chat_message("You are not in ghost mode.")
+ end
end
})