summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/being.cpp')
-rw-r--r--src/being.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 88b2b9a0..ec12976d 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -27,6 +27,7 @@
#include "net/protocol.h"
#include "net/network.h"
#include "resources/resourcemanager.h"
+#include "gui/gui.h"
Being *player_node = NULL;
@@ -71,9 +72,14 @@ void remove_node(unsigned int id)
{
if ((*i)->id == id)
{
- if (autoTarget == (*i)) {
+ if (autoTarget == (*i))
+ {
autoTarget = NULL;
}
+ if (followBeing == (*i))
+ {
+ followBeing = NULL;
+ }
delete (*i);
beings.erase(i);
return;
@@ -344,10 +350,27 @@ void Being::drawSpeech(Graphics *graphics)
gcn::Graphics::CENTER);
}
if (showDamage) {
+ // Selecting the right color
+ if (damage == "miss")
+ {
+ graphics->setFont(hitYellowFont);
+ }
+ else if (isMonster())
+ {
+ graphics->setFont(hitBlueFont);
+ }
+ else
+ {
+ graphics->setFont(hitRedFont);
+ }
+
graphics->drawText(damage,
text_x + 60,
text_y - 60 - get_elapsed_time(damage_time) / 100,
gcn::Graphics::CENTER);
+
+ // Backing to default font
+ graphics->setFont(gui->getFont());
}
if (this == autoTarget) {
graphics->drawText("[TARGET]",