Add logic to handle inverted questKeys.requiredSourceItems
BreakBB opened this issue ยท 7 comments
Btw I thought about modifying the `[questKeys.requiredSourceItems]` to be able to interpret negative IDs similarly to `[questKeys.requiredSpell]`. So if you have to get items from mobs that have a lot of different spawn points, you get rid of the icons once you obtain the required item (An example is the rune warlock rune Master Channeler in Westfall where you have to get items from different mobs leading to many icons. The amount of Icons makes it hard to find the actual rune spot once you have obtained the sub-items).
How would you feel about this?
Originally posted by @EmilLindegaard in #5292 (comment)
What icons are we talking about?
I'd say we are talking about all icons that show for the respecting requiredSourceItems
.
Would tooltips/icons get removed after 1st item you loot?
That is a good question and would totally depend on the quest. For some quests you need more than one item of the requiredSourceItems
. So I guess we need either a DB change or a separate data structure to store the amount of items you need for a quest.
Will they survive a reload/continent change/dungeon zoning?
They do so now and it should stay that way.
But even more, i would love to have ability to control extraObjective ...
This is not about extraObjectives
.
Just chiming in with how I thought a "fake quest" could behave. Using the Master Channeler Wesfall Example:
Background: Master Channeler rune in Westfall requires the following
- Obtain "Spare Reaper Parts" from "Harvest Watcher" or "Rusty Harvest Watcher"
- Obtain "Elemental Core" from "Dust Devil"
- Combine "Spare Reaper Parts" and "Elemental Core" to receive "Prototype Engine"
- Go to a "Harvest Reaper Prototype" and use the "Prototype Engine", to activate and defeat it
I imagined the following fake quest pattern:
Fake quest 1:
- Objective Text: "Obtain Spare Reaper Parts from "Harvest Watcher" or Rusty Harvest Watcher"
- Remove Icons from map if "Spare Reaper Parts" or "Prototype Engine" (Perhaps using inverted
questKeys.requiredSourceItems
) or if Master Channeler Rune has been obtained
Fake quest 2:
- Objective Text: "Obtain Elemental Core from Dust Devil.
- Remove Icons from map if "Elemental Core" or "Prototype Engine" (Again using inverted
questKeys.requiredSourceItems
) or if Master Channeler Rune has been obtained.
Fake quest 3:
- Objective Text: "Use Prototype Engine on Harvest Reaper Prototype and kill it for the rune."
- Maybe only show location if "Prototype Engine" OR if ("Elemental Core" AND "Prototype Engine") has been obtained
- Remove Icons from map if Master Channeler Rune has been obtained
Whether or not inverted questKeys.requiredSourceItems
is the best way to achieve this is not for me to say.
Also, one more thing to keep in mind. There are some quests where
requiredSourceItems
are also quest objectives, it has to work in those cases, too
This kinda implies that you would want to use negated requiredSourceItems
for regular quests. But is there even a use case for this? I can only imagine you want to use it for fake rune quests. Correct me if I'm wrong :)
I don't play SoD and i know for a fact there are quests like that in the regular DB corrections
I'd say we are talking about all icons that show for the respecting
requiredSourceItems
.
Imo the item tooltips (as in the items in your bags) should not have the tooltips removed. Other than that, sounds good
Also, one more thing to keep in mind. There are some quests where requiredSourceItems
are also quest objectives, it has to work in those cases, too
So if you have to get items from mobs that have a lot of different spawn points, you get rid of the icons once you obtain the required item - what icons are we talking about? Map icons? Nameplate icons? Target icons? Does this include npc/object tooltips? Are item tooltips removed also? What if you need more than 1 of said items? Would tooltips/icons get removed after 1st item you loot? Will they survive a reload/continent change/dungeon zoning?
If this is implemented properly, yes!
But even more, i would love to have ability to control extraObjective tooltips/icons on map/npcs/objects whether to stay or not after quest has all objectives satisfied. Dyaxler was saying something as using "-1" instead of "0" for this in the extraObjective code.