diff options
author | ewew ukek <ewewukek@gmail.com> | 2024-03-20 23:59:46 +0000 |
---|---|---|
committer | Fedja Beader <fedja@protonmail.ch> | 2024-03-20 23:59:46 +0000 |
commit | 6243e38c2f13754d11b750ffee069dd1542f905e (patch) | |
tree | 0b3d7bb9962df0f440515d23b79473215c272d3c | |
parent | 4f7bcdb0af1d3f2a02f55613e851770a489d91d6 (diff) | |
download | manaverse-6243e38c2f13754d11b750ffee069dd1542f905e.tar.gz manaverse-6243e38c2f13754d11b750ffee069dd1542f905e.tar.bz2 manaverse-6243e38c2f13754d11b750ffee069dd1542f905e.tar.xz manaverse-6243e38c2f13754d11b750ffee069dd1542f905e.zip |
Color setting for attack range of monsters from ignore list
This MR displays attack range of monsters from ignore attack list in different color. I picked magenta as default, this may be changed if needed.
There are actor types other than monsters but looks like it's not possible to add them to ignore list anyway.
* Flip if branches for readability
* Color setting for attack range of monsters from ignore list
****
-rw-r--r-- | src/being/being.cpp | 12 | ||||
-rw-r--r-- | src/enums/gui/usercolorid.h | 1 | ||||
-rw-r--r-- | src/gui/userpalette.cpp | 7 | ||||
-rw-r--r-- | src/gui/widgets/tabs/setup_colors.cpp | 2 |
4 files changed, 20 insertions, 2 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index 3f30ae4b0..1aef0abea 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -4046,8 +4046,16 @@ void Being::drawMonsterSpriteAt(Graphics *restrict const graphics, else attackRange = mapTileSize; - graphics->setColor(userPalette->getColorWithAlpha( - UserColorId::MONSTER_ATTACK_RANGE)); + if (actorManager->isInIgnoreAttackList(mName)) + { + graphics->setColor(userPalette->getColorWithAlpha( + UserColorId::IGNORED_MONSTER_ATTACK_RANGE)); + } + else + { + graphics->setColor(userPalette->getColorWithAlpha( + UserColorId::MONSTER_ATTACK_RANGE)); + } graphics->fillRectangle(Rect( x - attackRange, y - attackRange, diff --git a/src/enums/gui/usercolorid.h b/src/enums/gui/usercolorid.h index ddda8955b..541060899 100644 --- a/src/enums/gui/usercolorid.h +++ b/src/enums/gui/usercolorid.h @@ -88,6 +88,7 @@ enumStart(UserColorId) ATTACK_RANGE, ATTACK_RANGE_BORDER, MONSTER_ATTACK_RANGE, + IGNORED_MONSTER_ATTACK_RANGE, SKILL_ATTACK_RANGE, LABEL_OTHER, FLOOR_ITEM_TEXT, diff --git a/src/gui/userpalette.cpp b/src/gui/userpalette.cpp index 246cbac1b..ca86fbb28 100644 --- a/src/gui/userpalette.cpp +++ b/src/gui/userpalette.cpp @@ -94,6 +94,7 @@ const std::string ColorTypeNames[CAST_SIZE( "ColorAttackRange", "ColorAttackRangeBorder", "ColorMonsterAttackRange", + "ColorIgnoredMonsterAttackRange", "ColorSkillAttackRange", "", "ColorFloorItemText", @@ -464,6 +465,12 @@ UserPalette::UserPalette() : // TRANSLATORS: palette color _("Monster attack range"), 20); + addColor(UserColorId::IGNORED_MONSTER_ATTACK_RANGE, + 0xff00ff, + GradientType::STATIC, + // TRANSLATORS: palette color + _("Ignored monster attack range"), + 15); addColor(UserColorId::SKILL_ATTACK_RANGE, 0x0, GradientType::STATIC, diff --git a/src/gui/widgets/tabs/setup_colors.cpp b/src/gui/widgets/tabs/setup_colors.cpp index 3851c871d..8c8e29467 100644 --- a/src/gui/widgets/tabs/setup_colors.cpp +++ b/src/gui/widgets/tabs/setup_colors.cpp @@ -331,6 +331,7 @@ void Setup_Colors::valueChanged(const SelectionEvent &event A_UNUSED) case UserColorId::HIT_LOCAL_PLAYER_MISS: case UserColorId::ATTACK_RANGE: case UserColorId::MONSTER_ATTACK_RANGE: + case UserColorId::IGNORED_MONSTER_ATTACK_RANGE: case UserColorId::FLOOR_ITEM_TEXT: case UserColorId::SKILL_ATTACK_RANGE: mTextPreview->setShadow(false); @@ -345,6 +346,7 @@ void Setup_Colors::valueChanged(const SelectionEvent &event A_UNUSED) case UserColorId::ATTACK_RANGE: case UserColorId::ATTACK_RANGE_BORDER: case UserColorId::MONSTER_ATTACK_RANGE: + case UserColorId::IGNORED_MONSTER_ATTACK_RANGE: case UserColorId::SKILL_ATTACK_RANGE: case UserColorId::HOME_PLACE: case UserColorId::HOME_PLACE_BORDER: |