mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
Merge commit 'origin/master' into 310
Conflicts: src/game/SpellAuras.cpp
This commit is contained in:
commit
cae3f0a532
53 changed files with 1074 additions and 954 deletions
|
|
@ -724,6 +724,15 @@ void ObjectMgr::LoadCreatureAddons()
|
|||
if(!addon)
|
||||
continue;
|
||||
|
||||
if (addon->mount)
|
||||
{
|
||||
if (!sCreatureDisplayInfoStore.LookupEntry(addon->mount))
|
||||
sLog.outErrorDb("Creature (Entry %u) have invalid displayInfoId for mount (%u) defined in `creature_template_addon`.",addon->guidOrEntry, addon->mount);
|
||||
}
|
||||
|
||||
if (!sEmotesStore.LookupEntry(addon->emote))
|
||||
sLog.outErrorDb("Creature (Entry %u) have invalid emote (%u) defined in `creature_template_addon`.",addon->guidOrEntry, addon->emote);
|
||||
|
||||
ConvertCreatureAddonAuras(const_cast<CreatureDataAddon*>(addon), "creature_template_addon", "Entry");
|
||||
|
||||
if(!sCreatureStorage.LookupEntry<CreatureInfo>(addon->guidOrEntry))
|
||||
|
|
@ -742,6 +751,15 @@ void ObjectMgr::LoadCreatureAddons()
|
|||
if(!addon)
|
||||
continue;
|
||||
|
||||
if (addon->mount)
|
||||
{
|
||||
if (!sCreatureDisplayInfoStore.LookupEntry(addon->mount))
|
||||
sLog.outErrorDb("Creature (GUID %u) have invalid displayInfoId for mount (%u) defined in `creature_addon`.",addon->guidOrEntry, addon->mount);
|
||||
}
|
||||
|
||||
if (!sEmotesStore.LookupEntry(addon->emote))
|
||||
sLog.outErrorDb("Creature (GUID %u) have invalid emote (%u) defined in `creature_addon`.",addon->guidOrEntry, addon->emote);
|
||||
|
||||
ConvertCreatureAddonAuras(const_cast<CreatureDataAddon*>(addon), "creature_addon", "GUIDLow");
|
||||
|
||||
if(mCreatureDataMap.find(addon->guidOrEntry)==mCreatureDataMap.end())
|
||||
|
|
@ -4283,9 +4301,9 @@ void ObjectMgr::ReturnOrDeleteOldMails(bool serverUp)
|
|||
sLog.outDebug("Returning mails current time: hour: %d, minute: %d, second: %d ", localtime(&basetime)->tm_hour, localtime(&basetime)->tm_min, localtime(&basetime)->tm_sec);
|
||||
//delete all old mails without item and without body immediately, if starting server
|
||||
if (!serverUp)
|
||||
CharacterDatabase.PExecute("DELETE FROM mail WHERE expire_time < '" I64FMTD "' AND has_items = '0' AND itemTextId = 0", (uint64)basetime);
|
||||
CharacterDatabase.PExecute("DELETE FROM mail WHERE expire_time < '" UI64FMTD "' AND has_items = '0' AND itemTextId = 0", (uint64)basetime);
|
||||
// 0 1 2 3 4 5 6 7 8 9
|
||||
QueryResult* result = CharacterDatabase.PQuery("SELECT id,messageType,sender,receiver,itemTextId,has_items,expire_time,cod,checked,mailTemplateId FROM mail WHERE expire_time < '" I64FMTD "'", (uint64)basetime);
|
||||
QueryResult* result = CharacterDatabase.PQuery("SELECT id,messageType,sender,receiver,itemTextId,has_items,expire_time,cod,checked,mailTemplateId FROM mail WHERE expire_time < '" UI64FMTD "'", (uint64)basetime);
|
||||
if ( !result )
|
||||
{
|
||||
barGoLink bar(1);
|
||||
|
|
@ -4360,7 +4378,7 @@ void ObjectMgr::ReturnOrDeleteOldMails(bool serverUp)
|
|||
else
|
||||
{
|
||||
//mail will be returned:
|
||||
CharacterDatabase.PExecute("UPDATE mail SET sender = '%u', receiver = '%u', expire_time = '" I64FMTD "', deliver_time = '" I64FMTD "',cod = '0', checked = '%u' WHERE id = '%u'", m->receiver, m->sender, (uint64)(basetime + 30*DAY), (uint64)basetime, MAIL_CHECK_MASK_RETURNED, m->messageID);
|
||||
CharacterDatabase.PExecute("UPDATE mail SET sender = '%u', receiver = '%u', expire_time = '" UI64FMTD "', deliver_time = '" UI64FMTD "',cod = '0', checked = '%u' WHERE id = '%u'", m->receiver, m->sender, (uint64)(basetime + 30*DAY), (uint64)basetime, MAIL_CHECK_MASK_RETURNED, m->messageID);
|
||||
delete m;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -6030,7 +6048,7 @@ void ObjectMgr::SaveCreatureRespawnTime(uint32 loguid, uint32 instance, time_t t
|
|||
mCreatureRespawnTimes[MAKE_PAIR64(loguid,instance)] = t;
|
||||
WorldDatabase.PExecute("DELETE FROM creature_respawn WHERE guid = '%u' AND instance = '%u'", loguid, instance);
|
||||
if(t)
|
||||
WorldDatabase.PExecute("INSERT INTO creature_respawn VALUES ( '%u', '" I64FMTD "', '%u' )", loguid, uint64(t), instance);
|
||||
WorldDatabase.PExecute("INSERT INTO creature_respawn VALUES ( '%u', '" UI64FMTD "', '%u' )", loguid, uint64(t), instance);
|
||||
}
|
||||
|
||||
void ObjectMgr::DeleteCreatureData(uint32 guid)
|
||||
|
|
@ -6048,7 +6066,7 @@ void ObjectMgr::SaveGORespawnTime(uint32 loguid, uint32 instance, time_t t)
|
|||
mGORespawnTimes[MAKE_PAIR64(loguid,instance)] = t;
|
||||
WorldDatabase.PExecute("DELETE FROM gameobject_respawn WHERE guid = '%u' AND instance = '%u'", loguid, instance);
|
||||
if(t)
|
||||
WorldDatabase.PExecute("INSERT INTO gameobject_respawn VALUES ( '%u', '" I64FMTD "', '%u' )", loguid, uint64(t), instance);
|
||||
WorldDatabase.PExecute("INSERT INTO gameobject_respawn VALUES ( '%u', '" UI64FMTD "', '%u' )", loguid, uint64(t), instance);
|
||||
}
|
||||
|
||||
void ObjectMgr::DeleteRespawnTimeForInstance(uint32 instance)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue