summaryrefslogtreecommitdiffstats
path: root/src/game-server/state.cpp
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2013-04-03 14:32:57 +0200
committerErik Schilling <ablu.erikschilling@googlemail.com>2013-04-03 21:52:03 +0200
commit4b57962ee4c10e48956c2888199605bebdb17b8f (patch)
tree261b141a1ad61a64e93a7b99a8c68debfb48d055 /src/game-server/state.cpp
parent4a8080dcf73dab2b6e62b8500fec3bb996bcbf17 (diff)
downloadmanaserv-4b57962ee4c10e48956c2888199605bebdb17b8f.tar.gz
manaserv-4b57962ee4c10e48956c2888199605bebdb17b8f.tar.xz
manaserv-4b57962ee4c10e48956c2888199605bebdb17b8f.zip
Moved the Monster class to a Component
Things done: - Allowed to create new Attributes outside of the protected scope of Being - Moved Monster to MonsterComponent - Some minor cleanup in the Attribute setting code of monsters
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 d3a2986..74bd87e 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: