Fix to SE_BlanaceMana to only check classes in group that have mana.

This commit is contained in:
KayenEQ 2014-06-24 08:24:11 -04:00
parent aa8195565d
commit 660db94607
2 changed files with 10 additions and 8 deletions

View File

@ -1160,7 +1160,7 @@ void Group::BalanceMana(int32 penalty, int32 range, Mob* caster, int32 limit)
unsigned int gi = 0; unsigned int gi = 0;
for(; gi < MAX_GROUP_MEMBERS; gi++) for(; gi < MAX_GROUP_MEMBERS; gi++)
{ {
if(members[gi]){ if(members[gi] && (members[gi]->GetMaxMana() > 0)){
distance = caster->DistNoRoot(*members[gi]); distance = caster->DistNoRoot(*members[gi]);
if(distance <= range2){ if(distance <= range2){

View File

@ -578,15 +578,17 @@ void Raid::BalanceMana(int32 penalty, uint32 gid, int32 range, Mob* caster, int3
if(members[gi].member){ if(members[gi].member){
if(members[gi].GroupNumber == gid) if(members[gi].GroupNumber == gid)
{ {
distance = caster->DistNoRoot(*members[gi].member); if (members[gi].member->GetMaxMana() > 0) {
if(distance <= range2){ distance = caster->DistNoRoot(*members[gi].member);
if(distance <= range2){
manataken_tmp = members[gi].member->GetMaxMana() - members[gi].member->GetMana(); manataken_tmp = members[gi].member->GetMaxMana() - members[gi].member->GetMana();
if (limit && (manataken_tmp > limit)) if (limit && (manataken_tmp > limit))
manataken_tmp = limit; manataken_tmp = limit;
manataken += (manataken_tmp); manataken += (manataken_tmp);
numMem += 1; numMem += 1;
}
} }
} }
} }