forked from nalc/awards
		
	Add support for death reasons
This commit is contained in:
		| @@ -97,6 +97,8 @@ Callbacks (register a function to be run) | |||||||
| * craft type: Craft something. | * craft type: Craft something. | ||||||
| 	* item: the crafted item type. If nil, all crafted items are counted | 	* item: the crafted item type. If nil, all crafted items are counted | ||||||
| * death type: Die. | * 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. | * chat type: Write a chat message. | ||||||
| * join type: Join the server. | * join type: Join the server. | ||||||
| * (for all types) target - how many times to dig/place/craft/etc. | * (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 | 			data[from] = nil | ||||||
| 		end | 		end | ||||||
|  |  | ||||||
|  | 		data.death = { | ||||||
|  | 			unknown = data.death, | ||||||
|  | 			__total = data.death, | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		-- Convert item db to new format | 		-- Convert item db to new format | ||||||
| 		local counted_items = { | 		local counted_items = { | ||||||
| 			count = "dig", | 			count = "dig", | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								triggers.lua
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								triggers.lua
									
									
									
									
									
								
							| @@ -14,13 +14,6 @@ | |||||||
| -- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | -- 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", { | awards.register_trigger("chat", { | ||||||
| 	type = "counted", | 	type = "counted", | ||||||
| @@ -45,6 +38,25 @@ awards.register_trigger("join", { | |||||||
| minetest.register_on_joinplayer(awards.notify_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", { | awards.register_trigger("dig", { | ||||||
| 	type = "counted_key", | 	type = "counted_key", | ||||||
| 	progress = "@1/@2 dug", | 	progress = "@1/@2 dug", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user