MMextension/Merge issues: 2022 Jun-Sep
- User-casted Dispel Magic spell affects monsters with object index -1 (I didn't delve deeper to decide how much of a bug this is). MM8 can endure this, MMExtension will cause fault. Fix: https://gitlab.com/cthscr/mmmerge/-/commit/0db5b6eb032a040ea9b8cbce426520df17a0f48a
- MM8 code allows to damage player outside of current party. This is typically a result of a bug but, again, MM8 can endure this. I've put following (commit message is wrong): https://gitlab.com/cthscr/mmmerge/-/commit/f8426292826150cb3676047302ec43137eeec32f
- Last loaded award (with index bigger than 104) is not shown in Awards list. https://gitlab.com/cthscr/mmmerge/-/commit/36af6dca74febb726e4b612b35cbc2b558c99802
- Fire spikes casts aren't written in player structure, amount of spikes is recalculated by iterating over objects each time spell is count. Field "FireSpikeCasts" (0x1D26) doesn't seem to be addressed directly or indirectly and probably should be removed. Fire spikes amount is counted wrong though (allows one more spike): https://gitlab.com/cthscr/mmmerge/-/commit/8ac3f8a625c98ea026753a1082ebc937a5578b66
- Looks like finishing MMExtension quest in sub-quest will not clear QBit set in base quest. I hadn't found mentions about it in help if it's intended behavior.
Bonus.
A. Usage of Town Portal scroll reduces player's SP. Fix: https://gitlab.com/cthscr/mmmerge/-/commit/ca31939af269f27ee8ae0a43a52d1934477f34fb (0x51D818 is used to store caster id as byte, following 3 bytes are align to 4.)
B. [Previously non-checked] Party Shield spell buff fix: https://gitlab.com/cthscr/mmmerge/-/commit/4b4e97d888bce59b2acc42e35bd8f122c70df608
- I don't see any code that could cause that. How could ti happen?
How could ti happen?
By broken user patch, of course (an old one): https://gitlab.com/cthscr/mmmerge/-/commit/1c284fa0125bd13b3659a462c7740cc610e4de0c
PS. I meant "This is typically a result of user bug". Exposing it is kinda fine but game shouldn't be terminated unexpectedly.
PS. I meant "This is typically a result of user bug". Exposing it is kinda fine but game shouldn't be terminated unexpectedly.
I disagree. Does it provide a proper error log in MMExtensionLog.txt when it crashes?
- Looks like finishing MMExtension quest in sub-quest will not clear QBit set in base quest. I hadn't found mentions about it in help if it's intended behavior.
You mean a quest with BaseName set? It doesn't know anything about the base quest except the vars.Quests[BaseName] state. Do you need QBit because you are remaking a quest from one of the games?
Does it provide a proper error log in MMExtensionLog.txt when it crashes?
Can't tell now. It threw exception first ("index is out of range") and crashed after closing debug console.
Do you need QBit because you are remaking a quest from one of the games?
Mostly because all the [rewritten and added promotion] quests there should use more or less the same approach to me. This particular quest wasn't original, it didn't need QBit in map evt file (sometimes I use them there). But autoindexing didn't work for Merge until commit https://gitlab.com/cthscr/mmmerge/-/commit/b05ca89f1f9c24c5e3cf286c49cc10b0f9b6f395
B.
The problem with Shield is that it's insanely OP when implemented as it's supposed to work. I don't know what to do with it.
Won't fix: 2, 5 (assuming I undserstood it right) Not yet fixed: 4, B
5 BTW, setting Quest = QBits in sub-quest and not just BaseQuest should be enough to do the clearing.