Attnam / ivan

Iter Vehemens ad Necem - a continuation of the graphical roguelike by members of http://attnam.com
GNU General Public License v2.0
297 stars 42 forks source link

Multiple quest-critical items can be dismantled via the crafting system. #603

Closed Spessmen14 closed 3 years ago

Spessmen14 commented 4 years ago

Addresses #603

All of these need to be marked as protected from dismantling along with other such items like the encrypted scroll or the Avatar of Valpurus, since destroying these unique items renders their respective quests uncompletable.

red-kangaroo commented 4 years ago

It seems that game::IsQuestItem() doesn't work as it should be. It should check against IsQuestItem flag in item.dat, but instead it has a limited set of quest items that it returns true for.

We should replace it with the flag check.

Spessmen14 commented 4 years ago

I'll leave that in your capable hands, then.

AquariusPower commented 4 years ago

@red-kangaroo nice, looks much more reliable

AquariusPower commented 4 years ago

I think game::IsQuestItem(SomeItem) definition should be removed and wherever it is being used put: SomeItem->IsQuestItem()

I dont know if I overlook SomeItem->IsQuestItem() existance or if I made tests and preferred game::IsQuestItem(), but I think the former is most probable.

AquariusPower commented 4 years ago

implemented and compiled at https://github.com/Attnam/ivan/pull/587 and https://github.com/Attnam/ivan/pull/595 but I wont be able to test it :/ the ideal would be to use only item->IsQuestItem() but I think the specific ones at game::IsQuestItem() should be tested too just to be sure (despite apparently unnecessary...), I made minimal changes because I couldnt test it.