diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua index 44291e39b1f83b428af7d812e17a20ec26ce9ffa..0e1ac8d59d6900ce05725c389750558bfe65645b 100644 --- a/game/engines/default/engine/Zone.lua +++ b/game/engines/default/engine/Zone.lua @@ -289,7 +289,14 @@ function _M:makeEntity(level, type, filter, force_level, prob_filter) -- Generate a specific probability list, slower to generate but no need to "try and be lucky" elseif filter then local base_list = nil - if filter.base_list then base_list = filter.base_list + if filter.base_list then + if _G.type(filter.base_list) == "table" then base_list = filter.base_list + else + local _, _, class, file = filter.base_list:find("(.*):(.*)") + if class and file then + base_list = require(class):loadList(file) + end + end elseif type == "actor" then base_list = self.npc_list elseif type == "object" then base_list = self.object_list elseif type == "trap" then base_list = self.trap_list diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index 8734e879a4a84788a96278c87c9f544026cfe524..fc7a086bc18fc8b8a92c888046729c22fe582572 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -1285,6 +1285,7 @@ function _M:getDesc(name_param, compare_with, never_compare) if self.power_source.technique then desc:add("Crafted by ", {"color", "LIGHT_UMBER"}, "a master", {"color", "LAST"}, true) end if self.power_source.psionic then desc:add("Infused by ", {"color", "YELLOW"}, "psionic forces", {"color", "LAST"}, true) end if self.power_source.unknown then desc:add("Powered by ", {"color", "CRIMSON"}, "unknown forces", {"color", "LAST"}, true) end + self:triggerHook{"Object:descPowerSource", desc=desc, object=self} end if self.encumber then