diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index 248857ad406142d7c1a2e54b63b575dd9e3d4293..a596d94825bd467554715b38afd2cc20fdc4d584 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -113,7 +113,7 @@ end function _M:onLeaveLevel(zone, level) -- Fail past escort quests local eid = "escort-duty-"..zone.short_name.."-"..level.level - if self.quests and self.quests[eid] then + if self.quests and self.quests[eid] and not self:hasQuest(eid):isEnded() then local q = self.quests[eid] q.abandoned = true self:setQuestStatus(eid, q.FAILED) diff --git a/game/modules/tome/data/quests/escort-duty.lua b/game/modules/tome/data/quests/escort-duty.lua index a88bd8a4ece73e4aa2cb2a9f768d54e36cd6697f..a45d403caa33a0cd1f4200aa4c0bcf64a147df41 100644 --- a/game/modules/tome/data/quests/escort-duty.lua +++ b/game/modules/tome/data/quests/escort-duty.lua @@ -260,6 +260,7 @@ end on_status_change = function(self, who, status, sub) if status == self.FAILED then + -- Remove the actor is we failed for uid, e in pairs(game.level.entities) do if e.quest_id and e.quest_id == self.id then e:disappear() diff --git a/game/modules/tome/resolvers.lua b/game/modules/tome/resolvers.lua index 4178b89fc41a31bf29d4fc2da156a1612708b478..87685ab2ffd2051a6e55e43c15f6575a12f6ef1e 100644 --- a/game/modules/tome/resolvers.lua +++ b/game/modules/tome/resolvers.lua @@ -218,7 +218,6 @@ end function resolvers.calc.charges(tt, e) e.max_power = rng.range(tt[1], tt[2]) e.power = e.max_power - print("creatin wand", e.name, e.egoed, e.max_power, e.cost_per_charge) e.recharge_cost = (e.cost_per_charge or 0) * 4 e.cost = e.cost + (e.cost_per_charge or 0) * e.max_power e.show_charges = true diff --git a/ideas/quests.ods b/ideas/quests.ods index 99797f15e2100e3bdcd58d1a169d9d0b2b4841dd..7d3dc905486b9c00b93796d1059c74ea784e6eef 100644 Binary files a/ideas/quests.ods and b/ideas/quests.ods differ