diff --git a/common/eq_packet_structs.h b/common/eq_packet_structs.h index bf20f6502..ef4d376e6 100644 --- a/common/eq_packet_structs.h +++ b/common/eq_packet_structs.h @@ -324,6 +324,7 @@ union bool guild_show; bool trader; bool buyer; + bool untargetable; }; struct PlayerState_Struct { diff --git a/common/patches/rof2.cpp b/common/patches/rof2.cpp index 1cbbb5c5d..1fcfcf67a 100644 --- a/common/patches/rof2.cpp +++ b/common/patches/rof2.cpp @@ -4688,7 +4688,7 @@ namespace RoF2 Bitfields->linkdead = 0; Bitfields->showhelm = emu->showhelm; Bitfields->trader = emu->trader ? 1 : 0; - Bitfields->targetable = 1; + Bitfields->targetable = emu->NPC ? emu->untargetable : 1; Bitfields->targetable_with_hotkey = emu->targetable_with_hotkey ? 1 : 0; Bitfields->showname = ShowName; diff --git a/zone/mob.cpp b/zone/mob.cpp index b411197e6..3b27482e2 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -1312,7 +1312,8 @@ void Mob::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho) ns->spawn.NPC = IsClient() ? 0 : 1; ns->spawn.IsMercenary = IsMerc() ? 1 : 0; ns->spawn.targetable_with_hotkey = no_target_hotkey ? 0 : 1; // opposite logic! - + ns->spawn.untargetable = IsTargetable(); + ns->spawn.petOwnerId = ownerid; ns->spawn.haircolor = haircolor;