diff options
Diffstat (limited to 'src/npc.cpp')
-rw-r--r-- | src/npc.cpp | 14 |
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)"); |