mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[7220] Check creature spells data at server startup.
This commit is contained in:
parent
3f02246e36
commit
e83be70aca
4 changed files with 13 additions and 9 deletions
|
|
@ -303,10 +303,8 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData *data )
|
||||||
SetPvP(true);
|
SetPvP(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_spells[0] = GetCreatureInfo()->spell1;
|
for(int i=0; i < CREATURE_MAX_SPELLS; ++i)
|
||||||
m_spells[1] = GetCreatureInfo()->spell2;
|
m_spells[i] = GetCreatureInfo()->spells[i];
|
||||||
m_spells[2] = GetCreatureInfo()->spell3;
|
|
||||||
m_spells[3] = GetCreatureInfo()->spell4;
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -188,10 +188,7 @@ struct CreatureInfo
|
||||||
int32 resistance4;
|
int32 resistance4;
|
||||||
int32 resistance5;
|
int32 resistance5;
|
||||||
int32 resistance6;
|
int32 resistance6;
|
||||||
uint32 spell1;
|
uint32 spells[CREATURE_MAX_SPELLS];
|
||||||
uint32 spell2;
|
|
||||||
uint32 spell3;
|
|
||||||
uint32 spell4;
|
|
||||||
uint32 PetSpellDataId;
|
uint32 PetSpellDataId;
|
||||||
uint32 mingold;
|
uint32 mingold;
|
||||||
uint32 maxgold;
|
uint32 maxgold;
|
||||||
|
|
|
||||||
|
|
@ -792,6 +792,15 @@ void ObjectMgr::LoadCreatureTemplates()
|
||||||
sLog.outErrorDb("Creature (Entry: %u) has non-existing PetSpellDataId (%u)", cInfo->Entry, cInfo->PetSpellDataId);
|
sLog.outErrorDb("Creature (Entry: %u) has non-existing PetSpellDataId (%u)", cInfo->Entry, cInfo->PetSpellDataId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < CREATURE_MAX_SPELLS; ++i)
|
||||||
|
{
|
||||||
|
if(cInfo->spells[i] && !sSpellStore.LookupEntry(cInfo->spells[i]))
|
||||||
|
{
|
||||||
|
sLog.outErrorDb("Creature (Entry: %u) has non-existing Spell%d (%u), set to 0", cInfo->Entry, i+1,cInfo->spells[i]);
|
||||||
|
const_cast<CreatureInfo*>(cInfo)->spells[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(cInfo->MovementType >= MAX_DB_MOTION_TYPE)
|
if(cInfo->MovementType >= MAX_DB_MOTION_TYPE)
|
||||||
{
|
{
|
||||||
sLog.outErrorDb("Creature (Entry: %u) has wrong movement generator type (%u), ignore and set to IDLE.",cInfo->Entry,cInfo->MovementType);
|
sLog.outErrorDb("Creature (Entry: %u) has wrong movement generator type (%u), ignore and set to IDLE.",cInfo->Entry,cInfo->MovementType);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7219"
|
#define REVISION_NR "7220"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue