cleanup lua feeding implementation.

This commit is contained in:
gfgtdf 2016-05-22 19:41:54 +02:00
parent 68e5e7d7dc
commit 2fa8bc0350
5 changed files with 20 additions and 36 deletions

View file

@ -7,6 +7,7 @@
code=<<
wesnoth.dofile 'lua/backwards-compatibility.lua'
wesnoth.dofile 'lua/wml-tags.lua'
wesnoth.dofile 'lua/feeding.lua'
wesnoth.dofile 'ai/micro_ais/micro_ai_wml_tag.lua'
>>
[/lua]

View file

@ -2,25 +2,7 @@
local helper = wesnoth.require("lua/helper.lua")
local _ = wesnoth.textdomain 'wesnoth-help'
local T = helper.set_wml_tag_metatable {}
-- Code taken form 2p_dark_forecast.lua
-- TODO: maybe put it in a place where everyone can use it?
local event_handlers = {}
local old_on_event = wesnoth.game_events.on_event or function(eventname) end
wesnoth.game_events.on_event = function(eventname)
for k,v in pairs(event_handlers[eventname] or {}) do
v()
end
old_on_event(eventname)
end
local function on_event(eventname, handler)
eventname = string.gsub(eventname, " ", "_")
event_handlers[eventname] = event_handlers[eventname] or {}
table.insert(event_handlers[eventname], handler)
end
-- end code taken from dark forecast.
local on_event = wesnoth.require("lua/on_event.lua")
-- The feeding event code
on_event("die", function()
@ -56,4 +38,4 @@ on_event("die", function()
})
u_killer.hitpoints = u_killer.hitpoints + 1
wesnoth.float_label(ec.x2, ec.y2, _ "+1 max HP", "0,255,0")
end)
end)

16
data/lua/on_event.lua Normal file
View file

@ -0,0 +1,16 @@
local event_handlers = {}
local old_on_event = wesnoth.game_events.on_event or function(eventname) end
wesnoth.game_events.on_event = function(eventname)
old_on_event(eventname)
for k,v in pairs(event_handlers[eventname] or {}) do
v()
end
end
local function on_event(eventname, handler)
eventname = string.gsub(eventname, " ", "_")
event_handlers[eventname] = event_handlers[eventname] or {}
table.insert(event_handlers[eventname], handler)
end
return on_event

View file

@ -11,7 +11,6 @@ function wesnoth.game_events.on_save()
return {}
end
wesnoth.require "lua/feeding.lua"
wesnoth.require "lua/wml-flow.lua"
wesnoth.require "lua/wml/objectives.lua"
wesnoth.require "lua/wml/items.lua"

View file

@ -2,21 +2,7 @@
local helper = wesnoth.require("lua/helper.lua")
local _ = wesnoth.textdomain 'wesnoth-multiplayer'
local T = helper.set_wml_tag_metatable {}
local event_handlers = {}
local old_on_event = wesnoth.game_events.on_event or function(eventname) end
wesnoth.game_events.on_event = function(eventname)
for k,v in pairs(event_handlers[eventname] or {}) do
v()
end
old_on_event(eventname)
end
local function on_event(eventname, handler)
eventname = string.gsub(eventname, " ", "_")
event_handlers[eventname] = event_handlers[eventname] or {}
table.insert(event_handlers[eventname], handler)
end
local on_event = wesnoth.require("lua/on_event.lua")
local random_spawns = {
{