aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp44
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp134
-rw-r--r--src/server/shared/Database/Implementation/WorldDatabase.cpp2
3 files changed, 88 insertions, 92 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 4a59967234f..9a28de30104 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -423,11 +423,11 @@ void ObjectMgr::LoadCreatureTemplates()
"dynamicflags, family, trainer_type, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, "
// 44 45 46 47 48 49 50 51 52 53 54
"type_flags, type_flags2, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, "
- // 55 56 59 60 61 62 63 64 65 66 67 68 69 70
+ // 55 56 57 58 59 60 61 62 63 64 65 66 67 68
"spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, "
- // 71 72 73 74 75 76 77 78 79 80 81 82
+ // 69 70 71 72 73 74 75 76 77 78 79 80
"InhabitType, HoverHeight, Health_mod, Mana_mod, Mana_mod_extra, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, "
- // 83 84 85 86 87 88
+ // 81 82 83 84 85 86
" questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName "
"FROM creature_template;");
@@ -506,28 +506,28 @@ void ObjectMgr::LoadCreatureTemplates()
for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i)
creatureTemplate.spells[i] = fields[55 + i].GetUInt32();
- creatureTemplate.PetSpellDataId = fields[65].GetUInt32();
- creatureTemplate.VehicleId = fields[66].GetUInt32();
- creatureTemplate.mingold = fields[67].GetUInt32();
- creatureTemplate.maxgold = fields[68].GetUInt32();
- creatureTemplate.AIName = fields[69].GetString();
- creatureTemplate.MovementType = uint32(fields[70].GetUInt8());
- creatureTemplate.InhabitType = uint32(fields[71].GetUInt8());
- creatureTemplate.HoverHeight = fields[72].GetFloat();
- creatureTemplate.ModHealth = fields[73].GetFloat();
- creatureTemplate.ModMana = fields[74].GetFloat();
- creatureTemplate.ModManaExtra = fields[75].GetFloat();
- creatureTemplate.ModArmor = fields[76].GetFloat();
- creatureTemplate.RacialLeader = fields[77].GetBool();
+ creatureTemplate.PetSpellDataId = fields[63].GetUInt32();
+ creatureTemplate.VehicleId = fields[64].GetUInt32();
+ creatureTemplate.mingold = fields[65].GetUInt32();
+ creatureTemplate.maxgold = fields[66].GetUInt32();
+ creatureTemplate.AIName = fields[67].GetString();
+ creatureTemplate.MovementType = uint32(fields[68].GetUInt8());
+ creatureTemplate.InhabitType = uint32(fields[69].GetUInt8());
+ creatureTemplate.HoverHeight = fields[70].GetFloat();
+ creatureTemplate.ModHealth = fields[71].GetFloat();
+ creatureTemplate.ModMana = fields[72].GetFloat();
+ creatureTemplate.ModManaExtra = fields[73].GetFloat();
+ creatureTemplate.ModArmor = fields[74].GetFloat();
+ creatureTemplate.RacialLeader = fields[75].GetBool();
for (uint8 i = 0; i < MAX_CREATURE_QUEST_ITEMS; ++i)
- creatureTemplate.questItems[i] = fields[78 + i].GetUInt32();
+ creatureTemplate.questItems[i] = fields[76 + i].GetUInt32();
- creatureTemplate.movementId = fields[84].GetUInt32();
- creatureTemplate.RegenHealth = fields[85].GetBool();
- creatureTemplate.MechanicImmuneMask = fields[86].GetUInt32();
- creatureTemplate.flags_extra = fields[87].GetUInt32();
- creatureTemplate.ScriptID = GetScriptId(fields[88].GetCString());
+ creatureTemplate.movementId = fields[82].GetUInt32();
+ creatureTemplate.RegenHealth = fields[83].GetBool();
+ creatureTemplate.MechanicImmuneMask = fields[84].GetUInt32();
+ creatureTemplate.flags_extra = fields[85].GetUInt32();
+ creatureTemplate.ScriptID = GetScriptId(fields[86].GetCString());
++count;
}
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index 76045a249be..5211568b096 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -429,11 +429,12 @@ public:
Field* fields = result->Fetch();
- cInfo->DifficultyEntry[0] = fields[0].GetUInt32();
- cInfo->DifficultyEntry[1] = fields[1].GetUInt32();
- cInfo->DifficultyEntry[2] = fields[2].GetUInt32();
- cInfo->KillCredit[0] = fields[3].GetUInt32();
- cInfo->KillCredit[1] = fields[4].GetUInt32();
+ for (uint8 i = 0; i < MAX_DIFFICULTY - 1; ++i)
+ cInfo.DifficultyEntry[i] = fields[0 + i].GetUInt32();
+
+ for (uint8 i = 0; i < MAX_KILL_CREDIT; ++i)
+ cInfo.KillCredit[i] = fields[3 + i].GetUInt32();
+
cInfo->Modelid1 = fields[5].GetUInt32();
cInfo->Modelid2 = fields[6].GetUInt32();
cInfo->Modelid3 = fields[7].GetUInt32();
@@ -445,72 +446,67 @@ public:
cInfo->minlevel = fields[13].GetUInt8();
cInfo->maxlevel = fields[14].GetUInt8();
cInfo->expansion = fields[15].GetUInt16();
- cInfo->faction_A = fields[16].GetUInt16();
- cInfo->faction_H = fields[17].GetUInt16();
- cInfo->npcflag = fields[18].GetUInt32();
- cInfo->speed_walk = fields[19].GetFloat();
- cInfo->speed_run = fields[20].GetFloat();
- cInfo->scale = fields[21].GetFloat();
- cInfo->rank = fields[22].GetUInt8();
- cInfo->mindmg = fields[23].GetFloat();
- cInfo->maxdmg = fields[24].GetFloat();
- cInfo->dmgschool = fields[25].GetUInt8();
- cInfo->attackpower = fields[26].GetUInt32();
- cInfo->dmg_multiplier = fields[27].GetFloat();
- cInfo->baseattacktime = fields[28].GetUInt32();
- cInfo->rangeattacktime = fields[29].GetUInt32();
- cInfo->unit_class = fields[30].GetUInt8();
- cInfo->unit_flags = fields[31].GetUInt32();
- cInfo->unit_flags2 = fields[32].GetUInt32();
- cInfo->dynamicflags = fields[33].GetUInt32();
- cInfo->family = fields[34].GetUInt8();
- cInfo->trainer_type = fields[35].GetUInt8();
- cInfo->trainer_class = fields[36].GetUInt8();
- cInfo->trainer_race = fields[37].GetUInt8();
- cInfo->minrangedmg = fields[38].GetFloat();
- cInfo->maxrangedmg = fields[39].GetFloat();
- cInfo->rangedattackpower = fields[40].GetUInt16();
- cInfo->type = fields[41].GetUInt8();
- cInfo->type_flags = fields[42].GetUInt32();
- cInfo->lootid = fields[43].GetUInt32();
- cInfo->pickpocketLootId = fields[44].GetUInt32();
- cInfo->SkinLootId = fields[45].GetUInt32();
+ cInfo->expansionUnknown = fields[16].GetUInt16();
+ cInfo->faction_A = fields[17].GetUInt16();
+ cInfo->faction_H = fields[18].GetUInt16();
+ cInfo->npcflag = fields[19].GetUInt32();
+ cInfo->speed_walk = fields[20].GetFloat();
+ cInfo->speed_run = fields[21].GetFloat();
+ cInfo->scale = fields[22].GetFloat();
+ cInfo->rank = fields[23].GetUInt8();
+ cInfo->mindmg = fields[24].GetFloat();
+ cInfo->maxdmg = fields[25].GetFloat();
+ cInfo->dmgschool = fields[26].GetUInt8();
+ cInfo->attackpower = fields[27].GetUInt32();
+ cInfo->dmg_multiplier = fields[28].GetFloat();
+ cInfo->baseattacktime = fields[29].GetUInt32();
+ cInfo->rangeattacktime = fields[30].GetUInt32();
+ cInfo->unit_class = fields[31].GetUInt8();
+ cInfo->unit_flags = fields[32].GetUInt32();
+ cInfo->unit_flags2 = fields[33].GetUInt32();
+ cInfo->dynamicflags = fields[34].GetUInt32();
+ cInfo->family = fields[35].GetUInt8();
+ cInfo->trainer_type = fields[36].GetUInt8();
+ cInfo->trainer_class = fields[37].GetUInt8();
+ cInfo->trainer_race = fields[38].GetUInt8();
+ cInfo->minrangedmg = fields[39].GetFloat();
+ cInfo->maxrangedmg = fields[40].GetFloat();
+ cInfo->rangedattackpower = fields[41].GetUInt16();
+ cInfo->type = fields[42].GetUInt8();
+ cInfo->type_flags = fields[43].GetUInt32();
+ cInfo->type_flags2 = fields[44].GetUInt32();
+ cInfo->lootid = fields[45].GetUInt32();
+ cInfo->pickpocketLootId = fields[46].GetUInt32();
+ cInfo->SkinLootId = fields[47].GetUInt32();
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
- cInfo->resistance[i] = fields[46 + i -1].GetUInt16();
-
- cInfo->spells[0] = fields[52].GetUInt32();
- cInfo->spells[1] = fields[53].GetUInt32();
- cInfo->spells[2] = fields[54].GetUInt32();
- cInfo->spells[3] = fields[55].GetUInt32();
- cInfo->spells[4] = fields[56].GetUInt32();
- cInfo->spells[5] = fields[57].GetUInt32();
- cInfo->spells[6] = fields[58].GetUInt32();
- cInfo->spells[7] = fields[59].GetUInt32();
- cInfo->PetSpellDataId = fields[60].GetUInt32();
- cInfo->VehicleId = fields[61].GetUInt32();
- cInfo->mingold = fields[62].GetUInt32();
- cInfo->maxgold = fields[63].GetUInt32();
- cInfo->AIName = fields[64].GetString();
- cInfo->MovementType = fields[65].GetUInt8();
- cInfo->InhabitType = fields[66].GetUInt8();
- cInfo->HoverHeight = fields[67].GetFloat();
- cInfo->ModHealth = fields[68].GetFloat();
- cInfo->ModMana = fields[69].GetFloat();
- cInfo->ModManaExtra = fields[70].GetFloat();
- cInfo->ModArmor = fields[71].GetFloat();
- cInfo->RacialLeader = fields[72].GetBool();
- cInfo->questItems[0] = fields[73].GetUInt32();
- cInfo->questItems[1] = fields[74].GetUInt32();
- cInfo->questItems[2] = fields[75].GetUInt32();
- cInfo->questItems[3] = fields[76].GetUInt32();
- cInfo->questItems[4] = fields[77].GetUInt32();
- cInfo->questItems[5] = fields[78].GetUInt32();
- cInfo->movementId = fields[79].GetUInt32();
- cInfo->RegenHealth = fields[80].GetBool();
- cInfo->MechanicImmuneMask = fields[81].GetUInt32();
- cInfo->flags_extra = fields[82].GetUInt32();
- cInfo->ScriptID = sObjectMgr->GetScriptId(fields[83].GetCString());
+ cInfo->resistance[i] = fields[48 + i -1].GetUInt16();
+
+ for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i)
+ cInfo.spells[i] = fields[54 + i].GetUInt32();
+
+ cInfo->PetSpellDataId = fields[62].GetUInt32();
+ cInfo->VehicleId = fields[63].GetUInt32();
+ cInfo->mingold = fields[64].GetUInt32();
+ cInfo->maxgold = fields[65].GetUInt32();
+ cInfo->AIName = fields[66].GetString();
+ cInfo->MovementType = fields[67].GetUInt8();
+ cInfo->InhabitType = fields[68].GetUInt8();
+ cInfo->HoverHeight = fields[69].GetFloat();
+ cInfo->ModHealth = fields[70].GetFloat();
+ cInfo->ModMana = fields[71].GetFloat();
+ cInfo->ModManaExtra = fields[72].GetFloat();
+ cInfo->ModArmor = fields[73].GetFloat();
+ cInfo->RacialLeader = fields[74].GetBool();
+
+ for (uint8 i = 0; i < MAX_CREATURE_QUEST_ITEMS; ++i)
+ cInfo.questItems[i] = fields[75 + i].GetUInt32();
+
+ cInfo->movementId = fields[81].GetUInt32();
+ cInfo->RegenHealth = fields[82].GetBool();
+ cInfo->MechanicImmuneMask = fields[83].GetUInt32();
+ cInfo->flags_extra = fields[84].GetUInt32();
+ cInfo->ScriptID = sObjectMgr->GetScriptId(fields[85].GetCString());
sObjectMgr->CheckCreatureTemplate(cInfo);
}
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp
index 8466e75bad2..94c01dd6569 100644
--- a/src/server/shared/Database/Implementation/WorldDatabase.cpp
+++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp
@@ -78,7 +78,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_INS_CREATURE_TRANSPORT, "INSERT INTO creature_transport (guid, npc_entry, transport_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(WORLD_UPD_CREATURE_TRANSPORT_EMOTE, "UPDATE creature_transport SET emote = ? WHERE transport_entry = ? AND guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, security, help FROM command", CONNECTION_SYNCH);
- PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Mana_mod_extra, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH);
+ PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, exp_unk, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, type_flags2, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Mana_mod_extra, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, "SELECT guid, delay, command, datalong, datalong2, dataint, x, y, z, o FROM waypoint_scripts WHERE id = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_IP2NATION_COUNTRY, "SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < ? AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_ITEM_TEMPLATE_BY_NAME, "SELECT entry FROM item_template WHERE name = ?", CONNECTION_SYNCH);