diff --git a/game/modules/tome/data/talents/chronomancy/chronomancy.lua b/game/modules/tome/data/talents/chronomancy/chronomancy.lua index 3fd24d8e57655f61daa57ec09833f96fe14c5372..6410b3fd853237e613a6887c415b51e4bb841e87 100644 --- a/game/modules/tome/data/talents/chronomancy/chronomancy.lua +++ b/game/modules/tome/data/talents/chronomancy/chronomancy.lua @@ -124,13 +124,9 @@ newTalent{ return tostring(math.ceil(val)), fnt end, activate = function(self, t) - local d = require("mod.dialogs.talents.ChronomancyContingency").new(self) - game:registerDialog(d) - local co = coroutine.running() - d.unload = function() coroutine.resume(co, d.contingecy_talent) end - if not coroutine.yield() then return nil end - local talent = d.contingecy_talent - + local talent = self:talentDialog(require("mod.dialogs.talents.ChronomancyContingency").new(self)) + if not talent then return nil end + return { talent = talent, rest_count = 0 } diff --git a/game/modules/tome/dialogs/talents/ChronomancyContingency.lua b/game/modules/tome/dialogs/talents/ChronomancyContingency.lua index ccc9e4a0cd96fb3e99a4d12412071f205c904b14..ebb807e82fb2f95f08fc973050d51b10afcf0050 100644 --- a/game/modules/tome/dialogs/talents/ChronomancyContingency.lua +++ b/game/modules/tome/dialogs/talents/ChronomancyContingency.lua @@ -83,7 +83,7 @@ end function _M:use(item) if not item or not item.talent then return end - self.contingecy_talent = item.talent + self.actor:talentDialogReturn(item.talent) game:unregisterDialog(self) end