MMExtension icon indicating copy to clipboard operation
MMExtension copied to clipboard

MMextension/Merge issues: 2022 Jun-Sep

Open cthscr opened this issue 3 years ago • 8 comments

  1. 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
  2. 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
  3. Last loaded award (with index bigger than 104) is not shown in Awards list. https://gitlab.com/cthscr/mmmerge/-/commit/36af6dca74febb726e4b612b35cbc2b558c99802
  4. 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
  5. 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

cthscr avatar Oct 04 '22 11:10 cthscr

  1. I don't see any code that could cause that. How could ti happen?

GrayFace avatar Oct 04 '22 12:10 GrayFace

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.

cthscr avatar Oct 04 '22 13:10 cthscr

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?

GrayFace avatar Oct 05 '22 05:10 GrayFace

  1. 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?

GrayFace avatar Oct 05 '22 05:10 GrayFace

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

cthscr avatar Oct 06 '22 17:10 cthscr

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.

GrayFace avatar Oct 10 '22 17:10 GrayFace

Won't fix: 2, 5 (assuming I undserstood it right) Not yet fixed: 4, B

GrayFace avatar Nov 28 '22 01:11 GrayFace

5 BTW, setting Quest = QBits in sub-quest and not just BaseQuest should be enough to do the clearing.

GrayFace avatar Nov 28 '22 07:11 GrayFace