CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.65k stars 4.18k forks source link

ASCII fallback is not drawn on hitting a creature that doesn't have a sprite defined directly #46276

Open int-ua opened 3 years ago

int-ua commented 3 years ago

Describe the bug

Instead it falls back to the unknown tile even for creatures that have a sprite through copy-from/looks_like.

I believe this is the relevant function that tries to compose animation_hit over the monster sprite: https://github.com/CleverRaven/Cataclysm-DDA/blob/96f400ee8780b2e0a028569c2ccac3a707fd98f2/src/cata_tiles.cpp#L3437

Steps To Reproduce

  1. Use tiles build, enable animations.
  2. Choose a tileset that doesn't have a Frog Mother sprite yet but has animation_hit and unknown (Ultica)
  3. Hit a Frog Mother.
  4. When animation_hit is displayed the ASCII F that represents the Frog Mother turns into the unknown tile.

Expected behavior

animation_hit is drawn over the same sprite that is shown by default. Either a looks_like or the ASCII fallback.

Screenshots

Versions and configuration

Additional context

https://github.com/I-am-Erk/CDDA-Tilesets/issues/342

acepleiades commented 3 years ago

I've seen this issue happen with normal zombies, cop zombies and brutes when recently playing on Android. I thought this was an intended feature. On those monsters, it looks like a staggering visual effect. However, I noticed that zombie brute variants changed to the blonde male (which I believe is the first and original variant) when this happened. So a woman brute would turn into a man brute for a second. I don't know if the effect occurs when hitting a monster at every angle, with every damage type, and every damage number. I got it consistently with low level unarmed Karate strikes.