mirror of
https://gitlab.com/rubenwardy/awards.git
synced 2024-11-22 15:23:44 +01:00
Add support for death reasons
This commit is contained in:
parent
6c79a2f73f
commit
f571f9d6eb
@ -97,6 +97,8 @@ Callbacks (register a function to be run)
|
||||
* craft type: Craft something.
|
||||
* item: the crafted item type. If nil, all crafted items are counted
|
||||
* death type: Die.
|
||||
* reason: the death reason, one of the types in PlayerHPChangeReason (see lua_api.txt)
|
||||
or nil for total deaths.
|
||||
* chat type: Write a chat message.
|
||||
* join type: Join the server.
|
||||
* (for all types) target - how many times to dig/place/craft/etc.
|
||||
|
5
api.lua
5
api.lua
@ -48,6 +48,11 @@ local function convert_data()
|
||||
data[from] = nil
|
||||
end
|
||||
|
||||
data.death = {
|
||||
unknown = data.death,
|
||||
__total = data.death,
|
||||
}
|
||||
|
||||
-- Convert item db to new format
|
||||
local counted_items = {
|
||||
count = "dig",
|
||||
|
26
triggers.lua
26
triggers.lua
@ -14,13 +14,6 @@
|
||||
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
--
|
||||
|
||||
awards.register_trigger("death", {
|
||||
type = "counted",
|
||||
progress = "@1/@2 deaths",
|
||||
auto_description = { "Die once", "Die @1 times" },
|
||||
})
|
||||
minetest.register_on_dieplayer(awards.notify_death)
|
||||
|
||||
|
||||
awards.register_trigger("chat", {
|
||||
type = "counted",
|
||||
@ -45,6 +38,25 @@ awards.register_trigger("join", {
|
||||
minetest.register_on_joinplayer(awards.notify_join)
|
||||
|
||||
|
||||
awards.register_trigger("death", {
|
||||
type = "counted_key",
|
||||
progress = "@1/@2 deaths",
|
||||
auto_description = { "Die once of @2", "Die @1 times of @2" },
|
||||
auto_description_total = { "Die @1 times.", "Mine @1 times" },
|
||||
get_key = function(self, def)
|
||||
return def.trigger.reason
|
||||
end,
|
||||
})
|
||||
minetest.register_on_dieplayer(function(player, reason)
|
||||
if reason then
|
||||
reason = reason.type
|
||||
else
|
||||
reason = "unknown"
|
||||
end
|
||||
awards.notify_death(player, reason)
|
||||
end)
|
||||
|
||||
|
||||
awards.register_trigger("dig", {
|
||||
type = "counted_key",
|
||||
progress = "@1/@2 dug",
|
||||
|
Loading…
Reference in New Issue
Block a user