summaryrefslogtreecommitdiff
path: root/src/npc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/npc.cpp')
-rw-r--r--src/npc.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/npc.cpp b/src/npc.cpp
index 70b3ce13..9aa7ad15 100644
--- a/src/npc.cpp
+++ b/src/npc.cpp
@@ -72,21 +72,17 @@ NPC::NPC(Uint32 id, Uint16 job, Map *map, Network *network):
NPC::~NPC()
{
- if (mName)
- {
- delete mName;
+ delete mName;
+
+ if (player_node->getTarget() == this)
player_node->setTarget(NULL);
- }
}
void NPC::setName(const std::string &name)
{
- if (mName)
- {
- delete mName;
- }
- std::string displayName = name.substr(0, name.find('#', 0));
+ const std::string displayName = name.substr(0, name.find('#', 0));
+ delete mName;
mName = new Text(displayName, mPx + NAME_X_OFFSET, mPy + NAME_Y_OFFSET,
gcn::Graphics::CENTER, gcn::Color(200, 200, 255));
Being::setName(displayName + " (NPC)");