0.C-5753 - Book Mission(s)

Windows, tiles.

RE: http://smf.cataclysmdda.com/index.php?topic=7893.msg235441#msg235441

Issue first noted in 2014, reaffirmed by second poster as still being an issue in 0.C mid 2015; I’m also having the issue, I suppose this is a known problem?

Is the issue that there is indeed a book in specific that the NPC wants, but isn’t letting on to? Because the NPC just mentions a ‘book’, with nothing to go on besides that. There’s also not any map markers to indicate he wants a book from a certain tile or area.

Can anyone clarify the status of this possible issue?

Thanks.

It’s a completely bugged mission, I don’t think it was even implemented.
At first it was so broken that it caused crashes. Then someone “fixed” it by adding enough data for it not to crash, but not enough for it to work. Then I reworked mission code and I didn’t find the necessary triggers for it to actually work, but I still ported what was left to the new system.

The book placement code is empty and the mission lacked proper dialogue data (I put in bland placeholders).

The mission has to be implemented, not fixed.

That said, it may be pretty simple: writing a code that places a book and assigns it to mission. Preferably naming it (the book) to make it obvious.
Still, already-assigned instances of this mission will never be fulfilled, as there is no item that can fulfill the mission.

Someone couldn’t make a patch which would re-initialize the quest or reset NPC flags or something when functionality becomes added?

I’m not really a programmer, but it doesn’t seem too hard (in my head) to check if flags are null, then ‘x’, or whatever function to reset the mission.

I guess the main problem would be that you cannot place a book on an already generated tile, so you’d have to assign the quest book as a common book which the player might already have?

Seems a bit hacky of a fix, but having it as a patch or something and not putting it into the main branch would be nice if it’s a possibility.

Anyways, thanks for the insight regarding this, appreciate it.

The problem with this specific mission is that it depends on mission start function to mark the item. Then it depends on item to be marked when returned.

Each item has a “belongs to mission x” field. Missions that require specific items (not types, instances) should write their own ID in the field. If they fail to do that or the item is lost for any reason, it isn’t possible to verify whether the item exists without scanning the whole generated world to find it.

So it’s possible to create a fix for the future, but all the currently broken missions will stay broken. The only fix that can be done here is marking them as unsolvable and removing them if the save is older than the fix for the mission.