|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|

02-26-2009, 05:03 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
I'll fiddle with GetPetType and a couple of other things.
|

02-26-2009, 05:18 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
Quote:
Originally Posted by cavedude
I'll fiddle with GetPetType and a couple of other things.
|
try caster->GetPetType != petCharmed
|

02-26-2009, 06:12 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
Alright, this now works with group spells just fine. The problem is bard songs still hit. Looking at spells.cpp, it looks like Bard spells hit all pets no matter what, it doesn't even check for Pet Affinity. Is this correct? If not, I'll add the check for charmed pets and Pet Affinity. This was also the trouble testing last night, !caster->GetPet()->Charmed() probably did work, since I was only testing with Bard songs not group spells. :I
|

02-26-2009, 06:51 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
Quote:
Originally Posted by cavedude
Alright, this now works with group spells just fine. The problem is bard songs still hit. Looking at spells.cpp, it looks like Bard spells hit all pets no matter what, it doesn't even check for Pet Affinity. Is this correct? If not, I'll add the check for charmed pets and Pet Affinity. This was also the trouble testing last night, !caster->GetPet()->Charmed() probably did work, since I was only testing with Bard songs not group spells. :I
|
Did you change the lines in zones/groups.cpp? From what I recall the comments say they have to do with bard songs, and I don't recall the songs hitting peoples pets that didn't have pet affinity, well besides the chorus ones
|

02-26-2009, 06:59 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
groups.cpp doesn't matter, the problem is in spells.cpp, that's where the final above all be all check is. The code looks like:
Code:
#ifdef GROUP_BUFF_PETS
if (GetPet())
GetPet()->BardPulse(spell_id, this);
#endif
}
}
}
else {
mlog(SPELLS__BARDS, "Bard Song Pulse: spell %d, Group target without group. Affecting caster.", spell_id);
BardPulse(spell_id, this);
#ifdef GROUP_BUFF_PETS
if (GetPet())
GetPet()->BardPulse(spell_id, this);
#endif
}
break;
}
}
Meaning all songs will land on every pet all the time. I'm going to add a check for charmed pets, but not for Pet Affinity for now. If somebody knows otherwise, please let me know.
|

02-26-2009, 07:17 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
well I know morte could twist songs on his bard while his end had a charmed pet and then when he got pet affinity the bards resist song would cause the pet to break, so the zones/groups.cpp code would be working
|

02-26-2009, 08:03 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
Alright, we're set. KLS and I think whoever implemented Pet Affinity originally forgot to add it to that line in spells.cpp. Group spells and songs will no longer effect charmed pets, even if the caster has Pet Affinity. Of course, Bard AE songs will still hit charmed pets, as that hits all allied characters and their pets. I'll put it up on TGC tonight, and if it checks out there, I'll commit to SVN.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 01:24 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |