Skip to content

Commit

Permalink
Charmed pets should no longer be targettable with F8. Charmed pets no…
Browse files Browse the repository at this point in the history
… longer get a surname of Soandso's Pet.
  • Loading branch information
Derision committed Feb 18, 2013
1 parent 9f63498 commit 9680c03
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
== 02/18/2013 ==
Bad_Captain: Moved merc save to merc table, save merc buffs, added cure and rez spells to healer merc.
JJ: Chat garbled for drunk characters.
Derision: Charmed pets should no longer be targettable with F8. Charmed pets no longer get a surname of Soandso's Pet.

REQUIRED SQL: 2013_02_18_Merc_Rules_and_Tables.sql
OPTIONAL SQL: 2013_02_18_Merc_Spells.sql
Expand Down
1 change: 1 addition & 0 deletions common/eq_constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ enum {
#define AT_GuildID 22
#define AT_GuildRank 23 // 0=member, 1=officer, 2=leader
#define AT_AFK 24 // 0 = normal, 1 = afk
#define AT_Pet 25 // Param is EntityID of owner, or 0 for when charm breaks
#define AT_Split 28 // 0 = normal, 1 = autosplit on
#define AT_Size 29 // spawn's size
#define AT_NPCName 31 // change PC's name's color to NPC color 0 = normal, 1 = npc name
Expand Down
15 changes: 9 additions & 6 deletions zone/npc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1737,22 +1737,25 @@ void NPC::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
if (RuleB(Pets, UnTargetableSwarmPet)) {
if(GetOwnerID() || GetSwarmOwner()) {
ns->spawn.is_pet = 1;
if (GetOwnerID()) {
if (!IsCharmed() && GetOwnerID()) {
Client *c = entity_list.GetClientByID(GetOwnerID());
if(c)
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
}
else if (GetSwarmOwner()) {
ns->spawn.bodytype = 11;
Client *c = entity_list.GetClientByID(GetSwarmOwner());
if(c)
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
if(!IsCharmed())
{
Client *c = entity_list.GetClientByID(GetSwarmOwner());
if(c)
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
}
}
}
} else {
if(GetOwnerID()) {
ns->spawn.is_pet = 1;
if (GetOwnerID()) {
if (!IsCharmed() && GetOwnerID()) {
Client *c = entity_list.GetClientByID(GetOwnerID());
if(c)
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
Expand Down Expand Up @@ -2347,4 +2350,4 @@ void NPC::PrintOutQuestItems(Client* c){
}

c->Message(4,"End of quest items list.");
}
}
2 changes: 2 additions & 0 deletions zone/spell_effects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -732,6 +732,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
entity_list.QueueClients(this, app);
safe_delete(app);
SendPetBuffsToClient();
SendAppearancePacket(AT_Pet, caster->GetID(), true, true);
}

if (IsClient())
Expand Down Expand Up @@ -3499,6 +3500,7 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses)
if(IsNPC())
{
CastToNPC()->RestoreGuardSpotCharm();
SendAppearancePacket(AT_Pet, 0, true, true);
}

Mob* tempmob = GetOwner();
Expand Down

0 comments on commit 9680c03

Please sign in to comment.