summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/being.cpp23
-rw-r--r--src/gui/userpalette.cpp12
-rw-r--r--src/gui/userpalette.h3
3 files changed, 34 insertions, 4 deletions
diff --git a/src/being.cpp b/src/being.cpp
index f2d95c4a..be8afa79 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -261,7 +261,15 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type)
// Selecting the right color
if (type == CRITICAL || type == FLEE)
{
- color = &userPalette->getColor(UserPalette::HIT_CRITICAL);
+ if (attacker == player_node)
+ {
+ color = &userPalette->getColor(
+ UserPalette::HIT_LOCAL_PLAYER_CRITICAL);
+ }
+ else
+ {
+ color = &userPalette->getColor(UserPalette::HIT_CRITICAL);
+ }
}
else if (!amount)
{
@@ -269,7 +277,7 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type)
{
// This is intended to be the wrong direction to visually
// differentiate between hits and misses
- color = &userPalette->getColor(UserPalette::HIT_MONSTER_PLAYER);
+ color = &userPalette->getColor(UserPalette::HIT_LOCAL_PLAYER_MISS);
}
else
{
@@ -278,7 +286,16 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type)
}
else if (getType() == MONSTER)
{
- color = &userPalette->getColor(UserPalette::HIT_PLAYER_MONSTER);
+ if (attacker == player_node)
+ {
+ color = &userPalette->getColor(
+ UserPalette::HIT_LOCAL_PLAYER_MONSTER);
+ }
+ else
+ {
+ color = &userPalette->getColor(
+ UserPalette::HIT_PLAYER_MONSTER);
+ }
}
else
{
diff --git a/src/gui/userpalette.cpp b/src/gui/userpalette.cpp
index e5726ada..9e202fe9 100644
--- a/src/gui/userpalette.cpp
+++ b/src/gui/userpalette.cpp
@@ -47,6 +47,9 @@ const std::string ColorTypeNames[] = {
"ColorHitPlayerMonster",
"ColorHitMonsterPlayer",
"ColorHitCritical",
+ "ColorHitLocalPlayerMonster",
+ "ColorHitLocalPlayerCritical",
+ "ColorHitLocalPlayerMiss",
"ColorMiss"
};
@@ -96,9 +99,16 @@ UserPalette::UserPalette():
addColor(PARTICLE, 0xffffff, STATIC, _("Particle Effects"));
addColor(PICKUP_INFO, 0x28dc28, STATIC, _("Pickup Notification"));
addColor(EXP_INFO, 0xffff00, STATIC, _("Exp Notification"));
- addColor(HIT_PLAYER_MONSTER, 0x0064ff, STATIC, _("Player Hits Monster"));
+ addColor(HIT_PLAYER_MONSTER, 0x0064ff, STATIC,
+ _("Other Player Hits Monster"));
addColor(HIT_MONSTER_PLAYER, 0xff3232, STATIC, _("Monster Hits Player"));
addColor(HIT_CRITICAL, 0xff0000, RAINBOW, _("Critical Hit"));
+ addColor(HIT_LOCAL_PLAYER_MONSTER, 0x00ff00, STATIC,
+ _("Local Player Hits Monster"));
+ addColor(HIT_LOCAL_PLAYER_CRITICAL, 0xff0000, RAINBOW,
+ _("Local Player Critical Hit"));
+ addColor(HIT_LOCAL_PLAYER_MISS, 0x00ffa6, STATIC,
+ _("Local Player Miss"));
addColor(MISS, 0xffff00, STATIC, _("Misses"));
commit(true);
}
diff --git a/src/gui/userpalette.h b/src/gui/userpalette.h
index 82bcea1c..be02db10 100644
--- a/src/gui/userpalette.h
+++ b/src/gui/userpalette.h
@@ -49,6 +49,9 @@ class UserPalette : public Palette, public gcn::ListModel
HIT_PLAYER_MONSTER,
HIT_MONSTER_PLAYER,
HIT_CRITICAL,
+ HIT_LOCAL_PLAYER_MONSTER,
+ HIT_LOCAL_PLAYER_CRITICAL,
+ HIT_LOCAL_PLAYER_MISS,
MISS,
USER_COLOR_LAST
};