mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18:51:29 +00:00
Charmed pets should no longer be targettable with F8. Charmed pets no longer get a surname of Soandso's Pet.
This commit is contained in:
parent
9f63498a64
commit
9680c039f0
@ -3,6 +3,7 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
|||||||
== 02/18/2013 ==
|
== 02/18/2013 ==
|
||||||
Bad_Captain: Moved merc save to merc table, save merc buffs, added cure and rez spells to healer merc.
|
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.
|
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
|
REQUIRED SQL: 2013_02_18_Merc_Rules_and_Tables.sql
|
||||||
OPTIONAL SQL: 2013_02_18_Merc_Spells.sql
|
OPTIONAL SQL: 2013_02_18_Merc_Spells.sql
|
||||||
|
|||||||
@ -145,6 +145,7 @@ enum {
|
|||||||
#define AT_GuildID 22
|
#define AT_GuildID 22
|
||||||
#define AT_GuildRank 23 // 0=member, 1=officer, 2=leader
|
#define AT_GuildRank 23 // 0=member, 1=officer, 2=leader
|
||||||
#define AT_AFK 24 // 0 = normal, 1 = afk
|
#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_Split 28 // 0 = normal, 1 = autosplit on
|
||||||
#define AT_Size 29 // spawn's size
|
#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
|
#define AT_NPCName 31 // change PC's name's color to NPC color 0 = normal, 1 = npc name
|
||||||
|
|||||||
15
zone/npc.cpp
15
zone/npc.cpp
@ -1737,22 +1737,25 @@ void NPC::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
|
|||||||
if (RuleB(Pets, UnTargetableSwarmPet)) {
|
if (RuleB(Pets, UnTargetableSwarmPet)) {
|
||||||
if(GetOwnerID() || GetSwarmOwner()) {
|
if(GetOwnerID() || GetSwarmOwner()) {
|
||||||
ns->spawn.is_pet = 1;
|
ns->spawn.is_pet = 1;
|
||||||
if (GetOwnerID()) {
|
if (!IsCharmed() && GetOwnerID()) {
|
||||||
Client *c = entity_list.GetClientByID(GetOwnerID());
|
Client *c = entity_list.GetClientByID(GetOwnerID());
|
||||||
if(c)
|
if(c)
|
||||||
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
||||||
}
|
}
|
||||||
else if (GetSwarmOwner()) {
|
else if (GetSwarmOwner()) {
|
||||||
ns->spawn.bodytype = 11;
|
ns->spawn.bodytype = 11;
|
||||||
Client *c = entity_list.GetClientByID(GetSwarmOwner());
|
if(!IsCharmed())
|
||||||
if(c)
|
{
|
||||||
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
Client *c = entity_list.GetClientByID(GetSwarmOwner());
|
||||||
|
if(c)
|
||||||
|
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(GetOwnerID()) {
|
if(GetOwnerID()) {
|
||||||
ns->spawn.is_pet = 1;
|
ns->spawn.is_pet = 1;
|
||||||
if (GetOwnerID()) {
|
if (!IsCharmed() && GetOwnerID()) {
|
||||||
Client *c = entity_list.GetClientByID(GetOwnerID());
|
Client *c = entity_list.GetClientByID(GetOwnerID());
|
||||||
if(c)
|
if(c)
|
||||||
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
sprintf(ns->spawn.lastName, "%s's Pet", c->GetName());
|
||||||
@ -2347,4 +2350,4 @@ void NPC::PrintOutQuestItems(Client* c){
|
|||||||
}
|
}
|
||||||
|
|
||||||
c->Message(4,"End of quest items list.");
|
c->Message(4,"End of quest items list.");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -732,6 +732,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
|
|||||||
entity_list.QueueClients(this, app);
|
entity_list.QueueClients(this, app);
|
||||||
safe_delete(app);
|
safe_delete(app);
|
||||||
SendPetBuffsToClient();
|
SendPetBuffsToClient();
|
||||||
|
SendAppearancePacket(AT_Pet, caster->GetID(), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsClient())
|
if (IsClient())
|
||||||
@ -3499,6 +3500,7 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses)
|
|||||||
if(IsNPC())
|
if(IsNPC())
|
||||||
{
|
{
|
||||||
CastToNPC()->RestoreGuardSpotCharm();
|
CastToNPC()->RestoreGuardSpotCharm();
|
||||||
|
SendAppearancePacket(AT_Pet, 0, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mob* tempmob = GetOwner();
|
Mob* tempmob = GetOwner();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user