mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[11888] Implement FLAG_DESPAWN_ON_EVADE for creature_linking.
Thanks to Xfurry for testing Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
parent
df9e0ebf6a
commit
f25e14fd9f
3 changed files with 6 additions and 3 deletions
|
|
@ -172,7 +172,7 @@ bool CreatureLinkingMgr::IsLinkingEntryValid(uint32 slaveEntry, CreatureLinkingI
|
||||||
enum EventMask
|
enum EventMask
|
||||||
{
|
{
|
||||||
EVENT_MASK_ON_AGGRO = FLAG_AGGRO_ON_AGGRO,
|
EVENT_MASK_ON_AGGRO = FLAG_AGGRO_ON_AGGRO,
|
||||||
EVENT_MASK_ON_EVADE = FLAG_RESPAWN_ON_EVADE,
|
EVENT_MASK_ON_EVADE = FLAG_RESPAWN_ON_EVADE | FLAG_DESPAWN_ON_EVADE,
|
||||||
EVENT_MASK_ON_DIE = FLAG_DESPAWN_ON_DEATH | FLAG_SELFKILL_ON_DEATH | FLAG_RESPAWN_ON_DEATH | FLAG_FOLLOW,
|
EVENT_MASK_ON_DIE = FLAG_DESPAWN_ON_DEATH | FLAG_SELFKILL_ON_DEATH | FLAG_RESPAWN_ON_DEATH | FLAG_FOLLOW,
|
||||||
EVENT_MASK_ON_RESPAWN = FLAG_RESPAWN_ON_RESPAWN | FLAG_DESPAWN_ON_RESPAWN | FLAG_FOLLOW,
|
EVENT_MASK_ON_RESPAWN = FLAG_RESPAWN_ON_RESPAWN | FLAG_DESPAWN_ON_RESPAWN | FLAG_FOLLOW,
|
||||||
EVENT_MASK_TRIGGER_TO = FLAG_TO_AGGRO_ON_AGGRO | FLAG_TO_RESPAWN_ON_EVADE | FLAG_FOLLOW,
|
EVENT_MASK_TRIGGER_TO = FLAG_TO_AGGRO_ON_AGGRO | FLAG_TO_RESPAWN_ON_EVADE | FLAG_FOLLOW,
|
||||||
|
|
@ -374,6 +374,8 @@ void CreatureLinkingHolder::ProcessSlave(CreatureLinkingEvent eventType, Creatur
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LINKING_EVENT_EVADE:
|
case LINKING_EVENT_EVADE:
|
||||||
|
if (flag & FLAG_DESPAWN_ON_EVADE && pSlave->isAlive())
|
||||||
|
pSlave->ForcedDespawn();
|
||||||
if (flag & FLAG_RESPAWN_ON_EVADE && !pSlave->isAlive())
|
if (flag & FLAG_RESPAWN_ON_EVADE && !pSlave->isAlive())
|
||||||
pSlave->Respawn();
|
pSlave->Respawn();
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ enum CreatureLinkingFlags
|
||||||
FLAG_TO_AGGRO_ON_AGGRO = 0x0002,
|
FLAG_TO_AGGRO_ON_AGGRO = 0x0002,
|
||||||
FLAG_RESPAWN_ON_EVADE = 0x0004,
|
FLAG_RESPAWN_ON_EVADE = 0x0004,
|
||||||
FLAG_TO_RESPAWN_ON_EVADE = 0x0008,
|
FLAG_TO_RESPAWN_ON_EVADE = 0x0008,
|
||||||
|
FLAG_DESPAWN_ON_EVADE = 0x1000,
|
||||||
FLAG_DESPAWN_ON_DEATH = 0x0010,
|
FLAG_DESPAWN_ON_DEATH = 0x0010,
|
||||||
FLAG_SELFKILL_ON_DEATH = 0x0020,
|
FLAG_SELFKILL_ON_DEATH = 0x0020,
|
||||||
FLAG_RESPAWN_ON_DEATH = 0x0040,
|
FLAG_RESPAWN_ON_DEATH = 0x0040,
|
||||||
|
|
@ -75,7 +76,7 @@ enum CreatureLinkingFlags
|
||||||
FLAG_CANT_SPAWN_IF_BOSS_DEAD = 0x0400,
|
FLAG_CANT_SPAWN_IF_BOSS_DEAD = 0x0400,
|
||||||
FLAG_CANT_SPAWN_IF_BOSS_ALIVE = 0x0800,
|
FLAG_CANT_SPAWN_IF_BOSS_ALIVE = 0x0800,
|
||||||
|
|
||||||
LINKING_FLAG_INVALID = 0x1000, // TODO adjust when other flags are implemented
|
LINKING_FLAG_INVALID = 0x2000, // TODO adjust when other flags are implemented
|
||||||
};
|
};
|
||||||
|
|
||||||
// Structure holding the information for an entry
|
// Structure holding the information for an entry
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11887"
|
#define REVISION_NR "11888"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue