+
Skip to content

Original bug regarding SP stealer #129

@Pyrdacor

Description

@Pyrdacor

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载