Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CorpseCorrection drawing on bigger objects #17

Merged
merged 1 commit into from
Nov 6, 2024

Conversation

Jonekk
Copy link
Contributor

@Jonekk Jonekk commented Nov 5, 2024

Before:
Screenshot from 2024-11-05 01-06-20
After:
Screenshot from 2024-11-05 01-04-36

Iterate over all items on the tile to trigger corpse correction mechanism

@Oen44
Copy link
Collaborator

Oen44 commented Nov 5, 2024

Wait, what? I see no corpses on your screenshot, also what is necessary to replicate this? Is it just creature on a bottom item or what's going on? Never encountered this nor anyone reported, weird issue.

@Jonekk
Copy link
Contributor Author

Jonekk commented Nov 5, 2024

Wait, what? I see no corpses on your screenshot, also what is necessary to replicate this? Is it just creature on a bottom item or what's going on? Never encountered this nor anyone reported, weird issue.

  1. Summon item 13807 (probably there are others, found just this one)
  2. Place any creature (including player) one square above the 13807
  3. See the creature not being drawn correctly

Why is it connected to CorpseCorrection mechanism? Because item 13807 (and basically any other that can cover other items on its "extended" image) has attribute ThingAttrLyingCorpse set and takes part in CorpseCorrection mechanism.
Unfortunately it has also another flag set - ThingAttrGround, which caused the for loop to break before CorpseCorrection mechanism could mark additional tiles (above and on the left) for redrawing.

@Oen44
Copy link
Collaborator

Oen44 commented Nov 5, 2024

Isn't the issue in the item rather than the code then?

@Jonekk
Copy link
Contributor Author

Jonekk commented Nov 5, 2024

Isn't the issue in the item rather than the code then?

No idea, Im pretty new to the otworld so could use suggestions here.
Im using original 1098 dat file and there are items with such attributes set (atm can find only this one, but there were more) so I believe code should be able to work correctly with such items.

@Feeltz
Copy link

Feeltz commented Nov 5, 2024

This is the bug for all the items, that are 32x64. Other exaples (server id): 9620, 9622. All those items have LyingObject flag in tibia.dat.

@Oen44 Oen44 merged commit a4cb770 into OTAcademy:master Nov 6, 2024
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants