-
-
Notifications
You must be signed in to change notification settings - Fork 10
Description
I already fixed a bug where the SP was not calculated correctly. You can see it here: https://github.com/jhorneman/ambermoon/blob/52e36804e1f211330d884a79ecc5559138c4974d/src/COMBAT/COMBAT_M.S#L823C1-L823C8
This was the wrong register. You had to subtract d4 and not d0.
Now I found another bug. From this code line (https://github.com/jhorneman/ambermoon/blob/52e36804e1f211330d884a79ecc5559138c4974d/src/COMBAT/COMBAT_M.S#L856) and below, the register d5 is used to determine the size of the green globes which fly from the target to the caster.
I think this was copied over from the same code in the LP stealer.
However for the PP stealer, d5 is never filled. Instead d4 is filled. So it is quite random what is inside d5. If you are lucky it is not 0. If it is 0, the whole green globe is not shown at all. Otherwise the value determines the initial globe size between 1 and 20 pixels. But it is not dependent on the stolen PP, which is the intention here.
You can see the issue by comparing these two lines: