]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv-2.0/libgameservgldl/src/GameLayer/ForestGL.cpp
Changed Range to be a template class so it can be used with unsigned & signed ints...
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / src / GameLayer / ForestGL.cpp
index 2b9c07c3e26eb93bcc93eefec64e36acb76ee90a..5131cafb9933f0c8bbc786b9fb7a7e4d8b5fc8c5 100644 (file)
@@ -46,11 +46,11 @@ shared_ptr<MonsterGO> ForestGL::GetRandomMonsterForPlayer(shared_ptr<PlayerGO> s
 {\r
        assert (spPlayer != 0);\r
        shared_ptr<LevelGO> spLevel = mspLevelDAO->GetById(spPlayer->LevelId());\r
-       vector< shared_ptr<MonsterGO> > monsters = mspMonsterDAO->GetMonstersByLevelId(spLevel->Id());\r
-       if (monsters.size() > 0)\r
+       vector<string> monsterIds = mspMonsterDAO->GetMonsterIdsByLevelId(spLevel->Id());\r
+       if (monsterIds.size() > 0)\r
        {\r
-               Range r(monsters.size() - 1, 0);\r
-               shared_ptr<MonsterGO> spMonster = shared_ptr<MonsterGO>(monsters[r.Random()]->Clone());\r
+               Range<unsigned int> r(monsterIds.size() - 1, 0);\r
+               shared_ptr<MonsterGO> spMonster = mspMonsterDAO->GetById(monsterIds[r.Random()]);\r
                spMonster->MaxHealth(spLevel->HealthRange().Random());\r
                spMonster->Health(spMonster->MaxHealth());\r
                spMonster->Strength(spLevel->StrengthRange().Random());\r