Page 1 of 1

[v1.5.0+] Of Trolls and Dead Maggots

Posted: Thu May 21, 2020 10:35 pm
by Zizzo
I recently restarted a Drem Stone Warden character that had been languishing back in 1.5.10, and was reminded afresh of a minor annoyance with that first quest, "The Worm That Devours": if you go out and sweep Trollmire to level up before going back to kill the Maggot, and if your next quest after that is "Of trolls and damp caves", the Trollmire part isn't marked as completed, which makes the quest basically uncompletable.

Well, there's nothing like an annoyance to get me bugfixing, :twisted: so I whipped up an addon to fix it, called Of Trolls and Dead Maggots. Basically it hijacks Actor:setQuestStatus() to take notes if you complete a subgoal of one of the racial starter quests while you don't have said quest but do have the Worm quest. Then, when you get your racial starter quest after you complete the Worm quest, we check those notes and retroactively mark as completed any subgoal of said quest that you completed before you got the quest. The usual case is Trollmire, of course, but we cover all (I thinkā€¦) the racial starter quests that you can get after the Worm quest: Allied (Humans/Halflings, with Dwarves and Yeeks also diverted here), Shaloren (also covers Ogres) and Thaloren. If I missed any, here would be a good place to let me know. :wink:

[Looking ahead, this could conceivably be added to ZOmnibus and/or ZOmnibus Lite, but if the bug ever got fixed in Forbidden Cults, we'd have to claw it back out, as with Golem Can Pass.]

[Implementation notes:]

Code: Select all

Superload:
  mod.class.Player:
    setQuestStatus() [to remember starter quest subgoals that we complete]
    on_quest_grant() [to retroactively achieve starter quest subgoals]