diff options
| author | leak <leakzx@googlemail.com> | 2011-04-28 22:57:08 +0200 |
|---|---|---|
| committer | leak <leakzx@googlemail.com> | 2011-04-28 22:57:08 +0200 |
| commit | c51c817a4510dd193f79e03ac21de51f43f0a33e (patch) | |
| tree | 5afc313478460ab84cf1214c27ec109f7b53babe /src/server/scripts/Commands | |
| parent | e2e9431ca3b4725f29e13350eb9ca0b46cc0aff1 (diff) | |
Core/ObjectMgr: Refactor sCreatureStorage
Diffstat (limited to 'src/server/scripts/Commands')
| -rw-r--r-- | src/server/scripts/Commands/cs_debug.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_learn.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_npc.cpp | 10 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_quest.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_reload.cpp | 189 |
5 files changed, 90 insertions, 115 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index 33dad2ff918..a0a01ea2875 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -845,7 +845,7 @@ public: uint32 id = (uint32)atoi(i); - CreatureInfo const *ci = ObjectMgr::GetCreatureTemplate(entry); + CreatureTemplate const *ci = sObjectMgr->GetCreatureTemplate(entry); if (!ci) return false; diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp index 8648b2c822e..5b88e83371f 100644 --- a/src/server/scripts/Commands/cs_learn.cpp +++ b/src/server/scripts/Commands/cs_learn.cpp @@ -241,7 +241,7 @@ public: return false; } - CreatureInfo const *ci = pet->GetCreatureInfo(); + CreatureTemplate const *ci = pet->GetCreatureInfo(); if (!ci) { handler->SendSysMessage(LANG_WRONG_PET_TYPE); diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index a6ac7c9b597..b5431b823f8 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -454,10 +454,10 @@ public: // faction is set in creature_template - not inside creature // update in memory - if (CreatureInfo const *cinfo = pCreature->GetCreatureInfo()) + if (CreatureTemplate const *cinfo = pCreature->GetCreatureInfo()) { - const_cast<CreatureInfo*>(cinfo)->faction_A = factionId; - const_cast<CreatureInfo*>(cinfo)->faction_H = factionId; + const_cast<CreatureTemplate*>(cinfo)->faction_A = factionId; + const_cast<CreatureTemplate*>(cinfo)->faction_H = factionId; } // and DB @@ -528,7 +528,7 @@ public: uint32 displayid = target->GetDisplayId(); uint32 nativeid = target->GetNativeDisplayId(); uint32 Entry = target->GetEntry(); - CreatureInfo const* cInfo = target->GetCreatureInfo(); + CreatureTemplate const* cInfo = target->GetCreatureInfo(); int64 curRespawnDelay = target->GetRespawnTimeEx()-time(NULL); if (curRespawnDelay < 0) @@ -1110,7 +1110,7 @@ public: return false; } - CreatureInfo const* cInfo = creatureTarget->GetCreatureInfo(); + CreatureTemplate const* cInfo = creatureTarget->GetCreatureInfo(); if (!cInfo->isTameable (player->CanTameExoticPets())) { diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index df5f9703ab2..9538221c3ba 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -205,7 +205,7 @@ public: } else if (creature > 0) { - if (CreatureInfo const* cInfo = ObjectMgr::GetCreatureTemplate(creature)) + if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(creature)) for (uint16 z = 0; z < creaturecount; ++z) player->KilledMonster(cInfo,0); } diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index a08befe24ba..9fed2a2167a 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -411,7 +411,7 @@ public: return false; } - CreatureInfo const* cInfo = sCreatureStorage.LookupEntry<CreatureInfo>(entry); + CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(entry); if (!cInfo) { handler->PSendSysMessage(LANG_COMMAND_CREATURESTORAGE_NOTFOUND, entry); @@ -423,114 +423,89 @@ public: Field *fields = result->Fetch(); - const_cast<CreatureInfo*>(cInfo)->DifficultyEntry[0] = fields[0].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->DifficultyEntry[1] = fields[1].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->DifficultyEntry[2] = fields[2].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->KillCredit[0] = fields[3].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->KillCredit[1] = fields[4].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->Modelid1 = fields[5].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->Modelid2 = fields[6].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->Modelid3 = fields[7].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->Modelid4 = fields[8].GetUInt32(); - size_t len = 0; - if (const char* temp = fields[9].GetCString()) + const_cast<CreatureTemplate*>(cInfo)->DifficultyEntry[0] = fields[0].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->DifficultyEntry[1] = fields[1].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->DifficultyEntry[2] = fields[2].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->KillCredit[0] = fields[3].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->KillCredit[1] = fields[4].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->Modelid1 = fields[5].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->Modelid2 = fields[6].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->Modelid3 = fields[7].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->Modelid4 = fields[8].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->Name = fields[9].GetString(); + const_cast<CreatureTemplate*>(cInfo)->SubName = fields[10].GetString(); + const_cast<CreatureTemplate*>(cInfo)->IconName = fields[11].GetString(); + const_cast<CreatureTemplate*>(cInfo)->GossipMenuId = fields[12].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->minlevel = fields[13].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->maxlevel = fields[14].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->expansion = fields[15].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->faction_A = fields[16].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->faction_H = fields[17].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->npcflag = fields[18].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->speed_walk = fields[19].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->speed_run = fields[20].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->scale = fields[21].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->rank = fields[22].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->mindmg = fields[23].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->maxdmg = fields[24].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->dmgschool = fields[25].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->attackpower = fields[26].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->dmg_multiplier = fields[27].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->baseattacktime = fields[28].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->rangeattacktime = fields[29].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->unit_class = fields[30].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->unit_flags = fields[31].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->dynamicflags = fields[32].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->family = fields[33].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->trainer_type = fields[34].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->trainer_spell = fields[35].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->trainer_class = fields[36].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->trainer_race = fields[37].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->minrangedmg = fields[38].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->maxrangedmg = fields[39].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->rangedattackpower = fields[40].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->type = fields[41].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->type_flags = fields[42].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->lootid = fields[43].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->pickpocketLootId = fields[44].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->SkinLootId = fields[45].GetUInt32(); + + for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) { - delete[] cInfo->Name; - len = strlen(temp)+1; - const_cast<CreatureInfo*>(cInfo)->Name = new char[len]; - strncpy(cInfo->Name, temp, len); + const_cast<CreatureTemplate*>(cInfo)->resistance[i] = fields[46 + i -1].GetUInt32(); } - if (const char* temp = fields[10].GetCString()) - { - delete[] cInfo->SubName; - len = strlen(temp)+1; - const_cast<CreatureInfo*>(cInfo)->SubName = new char[len]; - strncpy(cInfo->SubName, temp, len); - } - if (const char* temp = fields[11].GetCString()) - { - delete[] cInfo->IconName; - len = strlen(temp)+1; - const_cast<CreatureInfo*>(cInfo)->IconName = new char[len]; - strncpy(cInfo->IconName, temp, len); - } - const_cast<CreatureInfo*>(cInfo)->GossipMenuId = fields[12].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->minlevel = fields[13].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->maxlevel = fields[14].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->expansion = fields[15].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->faction_A = fields[16].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->faction_H = fields[17].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->npcflag = fields[18].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->speed_walk = fields[19].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->speed_run = fields[20].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->scale = fields[21].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->rank = fields[22].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->mindmg = fields[23].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->maxdmg = fields[24].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->dmgschool = fields[25].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->attackpower = fields[26].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->dmg_multiplier = fields[27].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->baseattacktime = fields[28].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->rangeattacktime = fields[29].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->unit_class = fields[30].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->unit_flags = fields[31].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->dynamicflags = fields[32].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->family = fields[33].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->trainer_type = fields[34].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->trainer_spell = fields[35].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->trainer_class = fields[36].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->trainer_race = fields[37].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->minrangedmg = fields[38].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->maxrangedmg = fields[39].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->rangedattackpower = fields[40].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->type = fields[41].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->type_flags = fields[42].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->lootid = fields[43].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->pickpocketLootId = fields[44].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->SkinLootId = fields[45].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance1 = fields[46].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance2 = fields[47].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance3 = fields[48].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance4 = fields[49].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance5 = fields[50].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->resistance6 = fields[51].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[0] = fields[52].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[1] = fields[53].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[2] = fields[54].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[3] = fields[55].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[4] = fields[56].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[5] = fields[57].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[6] = fields[58].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->spells[7] = fields[59].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->PetSpellDataId = fields[60].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->VehicleId = fields[61].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->mingold = fields[62].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->maxgold = fields[63].GetUInt32(); - if (const char* temp = fields[64].GetCString()) - { - delete[] cInfo->AIName; - len = strlen(temp)+1; - const_cast<CreatureInfo*>(cInfo)->AIName = new char[len]; - strncpy(const_cast<char*>(cInfo->AIName), temp, len); - } - const_cast<CreatureInfo*>(cInfo)->MovementType = fields[65].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->InhabitType = fields[66].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->ModHealth = fields[67].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->ModMana = fields[68].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->ModArmor = fields[69].GetFloat(); - const_cast<CreatureInfo*>(cInfo)->RacialLeader = fields[70].GetBool(); - const_cast<CreatureInfo*>(cInfo)->questItems[0] = fields[71].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->questItems[1] = fields[72].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->questItems[2] = fields[73].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->questItems[3] = fields[74].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->questItems[4] = fields[75].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->questItems[5] = fields[76].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->movementId = fields[77].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->RegenHealth = fields[78].GetBool(); - const_cast<CreatureInfo*>(cInfo)->equipmentId = fields[79].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->MechanicImmuneMask = fields[80].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->flags_extra = fields[81].GetUInt32(); - const_cast<CreatureInfo*>(cInfo)->ScriptID = sObjectMgr->GetScriptId(fields[82].GetCString()); + + const_cast<CreatureTemplate*>(cInfo)->spells[0] = fields[52].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[1] = fields[53].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[2] = fields[54].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[3] = fields[55].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[4] = fields[56].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[5] = fields[57].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[6] = fields[58].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->spells[7] = fields[59].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->PetSpellDataId = fields[60].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->VehicleId = fields[61].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->mingold = fields[62].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->maxgold = fields[63].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->AIName = fields[64].GetString(); + const_cast<CreatureTemplate*>(cInfo)->MovementType = fields[65].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->InhabitType = fields[66].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->ModHealth = fields[67].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->ModMana = fields[68].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->ModArmor = fields[69].GetFloat(); + const_cast<CreatureTemplate*>(cInfo)->RacialLeader = fields[70].GetBool(); + const_cast<CreatureTemplate*>(cInfo)->questItems[0] = fields[71].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->questItems[1] = fields[72].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->questItems[2] = fields[73].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->questItems[3] = fields[74].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->questItems[4] = fields[75].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->questItems[5] = fields[76].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->movementId = fields[77].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->RegenHealth = fields[78].GetBool(); + const_cast<CreatureTemplate*>(cInfo)->equipmentId = fields[79].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->MechanicImmuneMask = fields[80].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->flags_extra = fields[81].GetUInt32(); + const_cast<CreatureTemplate*>(cInfo)->ScriptID = sObjectMgr->GetScriptId(fields[82].GetCString()); sObjectMgr->CheckCreatureTemplate(cInfo); |
