Accept single-target pet powers on pets
validateTarget tested MASK_MOB before MASK_PET, and summoned pets carry both, so every single-target PET power (pet heals and buffs such as Repair Golem, Dark Lord's Favor, Strengthen Beast, Vashteera's Favor) was rejected on any pet. Pets are now tested first and accept PET or MOBILE powers, matching the client, where Mobile covers every ArcMobile and Pet is left to the server (0x49E440). Non-pet mobs are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f7324831b8
commit
3a9fc2607a
1 file changed
+5
-5
@@ -2261,14 +2261,14 @@ public enum PowersManager {
|
||||
String outmsg = "Invalid Target";
|
||||
ChatManager.chatSystemInfo(pc, outmsg);
|
||||
return false; // can't target player, stop here
|
||||
} // target is mob
|
||||
} // target is pet; pets also carry MASK_MOB, so test them first. A pet is still a Mobile (client 0x49E440)
|
||||
else if ((target.getObjectTypeMask() & MBServerStatics.MASK_PET) != 0)
|
||||
return pb.targetPet() || pb.targetMob();
|
||||
|
||||
// target is mob
|
||||
else if ((target.getObjectTypeMask() & MBServerStatics.MASK_MOB) != 0)
|
||||
return pb.targetMob();
|
||||
|
||||
// target is pet
|
||||
else if ((target.getObjectTypeMask() & MBServerStatics.MASK_PET) != 0)
|
||||
return pb.targetPet();
|
||||
|
||||
// target is Building
|
||||
else if ((target.getObjectTypeMask() & MBServerStatics.MASK_BUILDING) != 0)
|
||||
return pb.targetBuilding();
|
||||
|
||||
Reference in new issue
Block a user