mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-10 10:50:24 +00:00
Support for all remaining known spell target types.
Implemented target type (32) AE Target HateList Implemented target type (36) Area Client Only Implemented target type (37) Area PC Only Implemented target type (39) Group No Pet
This commit is contained in:
+7
-4
@@ -557,12 +557,15 @@ int HateList::AreaRampage(Mob *caster, Mob *target, int count, ExtraAttackOption
|
||||
return ret;
|
||||
}
|
||||
|
||||
void HateList::SpellCast(Mob *caster, uint32 spell_id, float range)
|
||||
void HateList::SpellCast(Mob *caster, uint32 spell_id, float range, Mob* ae_center)
|
||||
{
|
||||
if(!caster)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Mob* center = caster;
|
||||
|
||||
if (ae_center)
|
||||
center = ae_center;
|
||||
|
||||
//this is slower than just iterating through the list but avoids
|
||||
//crashes when people kick the bucket in the middle of this call
|
||||
@@ -578,7 +581,7 @@ void HateList::SpellCast(Mob *caster, uint32 spell_id, float range)
|
||||
tHateEntry *h = (*iterator);
|
||||
if(range > 0)
|
||||
{
|
||||
dist_targ = caster->DistNoRoot(*h->ent);
|
||||
dist_targ = center->DistNoRoot(*h->ent);
|
||||
if(dist_targ <= range && dist_targ >= min_range2)
|
||||
{
|
||||
id_list.push_back(h->ent->GetID());
|
||||
|
||||
Reference in New Issue
Block a user