M Core/NosSmooth.Game/Data/Entities/Npc.cs => Core/NosSmooth.Game/Data/Entities/Npc.cs +10 -0
@@ 28,6 28,11 @@ public class Npc : ILivingEntity
/// <inheritdoc/>
public long Id { get; set; }
+ /// <summary>
+ /// Gets or sets the id of the owner, if any.
+ /// </summary>
+ public long? OwnerId { get; set; }
+
/// <inheritdoc/>
public string? Name { get; set; }
@@ 40,6 45,11 @@ public class Npc : ILivingEntity
/// <inheritdoc />
public bool CantAttack { get; set; }
+ /// <summary>
+ /// Gets or sets whether the entity is a partner.
+ /// </summary>
+ public bool? IsPartner { get; set; }
+
/// <inheritdoc/>
public Position? Position { get; set; }
M Core/NosSmooth.Game/PacketHandlers/Map/InResponder.cs => Core/NosSmooth.Game/PacketHandlers/Map/InResponder.cs +3 -1
@@ 199,7 199,9 @@ public class InResponder : IPacketResponder<InPacket>
Position = new Position(packet.PositionX, packet.PositionY),
IsInvisible = nonPlayerSubPacket.IsInvisible,
Level = monsterInfo?.Level ?? null,
- IsSitting = nonPlayerSubPacket.IsSitting
+ IsSitting = nonPlayerSubPacket.IsSitting,
+ OwnerId = nonPlayerSubPacket.OwnerId,
+ IsPartner = nonPlayerSubPacket.IsPartner
};
}
M Packets/NosSmooth.Packets/Server/Maps/InNonPlayerSubPacket.cs => Packets/NosSmooth.Packets/Server/Maps/InNonPlayerSubPacket.cs +1 -1
@@ 62,7 62,7 @@ public record InNonPlayerSubPacket
[PacketIndex(9)]
NameString? Name,
[PacketIndex(10)]
- string? Unknown,
+ bool? IsPartner,
[PacketIndex(11)]
string? Unknown2,
[PacketIndex(12)]