summaryrefslogtreecommitdiff
path: root/src/game-server/state.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/state.cpp')
-rw-r--r--src/game-server/state.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/game-server/state.cpp b/src/game-server/state.cpp
index d3a29860..74bd87e4 100644
--- a/src/game-server/state.cpp
+++ b/src/game-server/state.cpp
@@ -270,9 +270,10 @@ static void informPlayer(MapComposite *map, Character *p)
case OBJECT_MONSTER:
{
- Monster *q = static_cast< Monster * >(o);
- enterMsg.writeInt16(q->getSpecy()->getId());
- enterMsg.writeString(q->getName());
+ MonsterComponent *monsterComponent =
+ o->getComponent<MonsterComponent>();
+ enterMsg.writeInt16(monsterComponent->getSpecy()->getId());
+ enterMsg.writeString(o->getName());
} break;
case OBJECT_NPC:
@@ -567,10 +568,13 @@ bool GameState::insert(Entity *ptr)
break;
case OBJECT_MONSTER:
+ {
+ MonsterComponent *monsterComponent =
+ obj->getComponent<MonsterComponent>();
LOG_DEBUG("Monster inserted: "
- << static_cast<Monster*>(obj)->getSpecy()->getId());
+ << monsterComponent->getSpecy()->getId());
break;
-
+ }
case OBJECT_ACTOR:
case OBJECT_OTHER:
default:
@@ -641,10 +645,13 @@ void GameState::remove(Entity *ptr)
break;
case OBJECT_MONSTER:
+ {
+ MonsterComponent *monsterComponent =
+ ptr->getComponent<MonsterComponent>();
LOG_DEBUG("Monster removed: "
- << static_cast<Monster*>(ptr)->getSpecy()->getId());
+ << monsterComponent->getSpecy()->getId());
break;
-
+ }
case OBJECT_ACTOR:
case OBJECT_OTHER:
default: