mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[7641] Implement check noDamageImmune fields at gameobject templates loading at server startup.
This commit is contained in:
parent
f87684bab6
commit
463e78c872
2 changed files with 17 additions and 1 deletions
|
|
@ -5418,6 +5418,16 @@ inline void CheckAndFixGOChairHeightId(GameObjectInfo const* goInfo,uint32 const
|
||||||
const_cast<uint32&>(dataN) = 0;
|
const_cast<uint32&>(dataN) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void CheckGONoDamageImmuneId(GameObjectInfo const* goInfo,uint32 dataN,uint32 N)
|
||||||
|
{
|
||||||
|
// 0/1 correct values
|
||||||
|
if (dataN <= 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
sLog.outErrorDb("Gameobject (Entry: %u GoType: %u) have data%d=%u but expected boolean (0/1) noDamageImmune field value.",
|
||||||
|
goInfo->id,goInfo->type,N,dataN);
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectMgr::LoadGameobjectInfo()
|
void ObjectMgr::LoadGameobjectInfo()
|
||||||
{
|
{
|
||||||
SQLGameObjectLoader loader;
|
SQLGameObjectLoader loader;
|
||||||
|
|
@ -5436,18 +5446,21 @@ void ObjectMgr::LoadGameobjectInfo()
|
||||||
{
|
{
|
||||||
if (goInfo->door.lockId)
|
if (goInfo->door.lockId)
|
||||||
CheckGOLockId(goInfo,goInfo->door.lockId,1);
|
CheckGOLockId(goInfo,goInfo->door.lockId,1);
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->door.noDamageImmune,3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GAMEOBJECT_TYPE_BUTTON: //1
|
case GAMEOBJECT_TYPE_BUTTON: //1
|
||||||
{
|
{
|
||||||
if (goInfo->button.lockId)
|
if (goInfo->button.lockId)
|
||||||
CheckGOLockId(goInfo,goInfo->button.lockId,1);
|
CheckGOLockId(goInfo,goInfo->button.lockId,1);
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->button.noDamageImmune,4);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GAMEOBJECT_TYPE_QUESTGIVER: //2
|
case GAMEOBJECT_TYPE_QUESTGIVER: //2
|
||||||
{
|
{
|
||||||
if (goInfo->questgiver.lockId)
|
if (goInfo->questgiver.lockId)
|
||||||
CheckGOLockId(goInfo,goInfo->questgiver.lockId,0);
|
CheckGOLockId(goInfo,goInfo->questgiver.lockId,0);
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->questgiver.noDamageImmune,5);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GAMEOBJECT_TYPE_CHEST: //3
|
case GAMEOBJECT_TYPE_CHEST: //3
|
||||||
|
|
@ -5500,6 +5513,7 @@ void ObjectMgr::LoadGameobjectInfo()
|
||||||
if (goInfo->goober.spellId) // spell
|
if (goInfo->goober.spellId) // spell
|
||||||
CheckGOSpellId(goInfo,goInfo->goober.spellId,10);
|
CheckGOSpellId(goInfo,goInfo->goober.spellId,10);
|
||||||
*/
|
*/
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->goober.noDamageImmune,11);
|
||||||
if (goInfo->goober.linkedTrapId) // linked trap
|
if (goInfo->goober.linkedTrapId) // linked trap
|
||||||
CheckGOLinkedTrapId(goInfo,goInfo->goober.linkedTrapId,12);
|
CheckGOLinkedTrapId(goInfo,goInfo->goober.linkedTrapId,12);
|
||||||
break;
|
break;
|
||||||
|
|
@ -5544,6 +5558,7 @@ void ObjectMgr::LoadGameobjectInfo()
|
||||||
{
|
{
|
||||||
if (goInfo->flagstand.lockId)
|
if (goInfo->flagstand.lockId)
|
||||||
CheckGOLockId(goInfo,goInfo->flagstand.lockId,0);
|
CheckGOLockId(goInfo,goInfo->flagstand.lockId,0);
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->flagstand.noDamageImmune,5);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GAMEOBJECT_TYPE_FISHINGHOLE: //25
|
case GAMEOBJECT_TYPE_FISHINGHOLE: //25
|
||||||
|
|
@ -5556,6 +5571,7 @@ void ObjectMgr::LoadGameobjectInfo()
|
||||||
{
|
{
|
||||||
if (goInfo->flagdrop.lockId)
|
if (goInfo->flagdrop.lockId)
|
||||||
CheckGOLockId(goInfo,goInfo->flagdrop.lockId,0);
|
CheckGOLockId(goInfo,goInfo->flagdrop.lockId,0);
|
||||||
|
CheckGONoDamageImmuneId(goInfo,goInfo->flagdrop.noDamageImmune,3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GAMEOBJECT_TYPE_BARBER_CHAIR: //32
|
case GAMEOBJECT_TYPE_BARBER_CHAIR: //32
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7640"
|
#define REVISION_NR "7641"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue