~ruther/NosSmooth

ref: 28287bbe09259135da47a1704a4371e59c4704f2 NosSmooth/Core/NosSmooth.Packets/Packets/Server/Entities/InNonPlayerSubPacket.cs -rw-r--r-- 2.9 KiB
28287bbe — František Boháček fix: allow converting empty lists 3 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//
//  InNonPlayerSubPacket.cs
//
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.

using NosSmooth.Packets.Attributes;
using NosSmooth.Packets.Common;
using NosSmooth.Packets.Enums;
using NosSmooth.Packets.Enums.Entities;

namespace NosSmooth.Packets.Packets.Server.Entities;

/// <summary>
/// Sub packet of <see cref="InPacket"/> present if the in packet
/// is for a monster or npc.
/// </summary>
/// <param name="HpPercentage">The hp percentage of the entity.</param>
/// <param name="MpPercentage">The mp percentage of the entity.</param>
/// <param name="Dialog">Unknown TODO</param>
/// <param name="Faction">The faction of the entity.</param>
/// <param name="GroupEffect">Unknown TODO</param>
/// <param name="OwnerId">The id of the owner entity.</param>
/// <param name="SpawnEffect">The effect the entity does on spawning.</param>
/// <param name="IsSitting">Whether the entity is sitting.</param>
/// <param name="Morph">The id of the morph (for special cards an such).</param>
/// <param name="Name">The name of the entity, if any.</param>
/// <param name="Unknown">Unknown.</param>
/// <param name="Unknown2">Unknown.</param>
/// <param name="Unknown3">Unknown.</param>
/// <param name="Skill1">The first skill VNum of the entity.</param>
/// <param name="Skill2">The second skill VNum of the entity.</param>
/// <param name="Skill3">The third skill VNum of the entity.</param>
/// <param name="SkillRank1">The rank of the first skill.</param>
/// <param name="SkillRank2">The rank of the second skill.</param>
/// <param name="SkillRank3">The rank of the third skill.</param>
/// <param name="IsInvisible">Whether the entity is invisible.</param>
/// <param name="Unknown4">Unknown.</param>
/// <param name="Unknown5">Unknown.</param>
[PacketHeader(null, PacketSource.Server)]
[GenerateSerializer]
public record InNonPlayerSubPacket
(
    [PacketIndex(0)]
    byte HpPercentage,
    [PacketIndex(1)]
    byte MpPercentage,
    [PacketIndex(2)]
    short Dialog,
    [PacketIndex(3)]
    FactionType Faction,
    [PacketIndex(4)]
    short GroupEffect,
    [PacketIndex(5)]
    long OwnerId,
    [PacketIndex(6)]
    SpawnEffect SpawnEffect,
    [PacketIndex(7)]
    bool IsSitting,
    [PacketIndex(8)]
    long Morph,
    [PacketIndex(9)]
    NameString? Name,
    [PacketIndex(10)]
    string? Unknown,
    [PacketIndex(11)]
    string? Unknown2,
    [PacketIndex(12)]
    string? Unknown3,
    [PacketIndex(13)]
    short Skill1,
    [PacketIndex(14)]
    short Skill2,
    [PacketIndex(15)]
    short Skill3,
    [PacketIndex(16)]
    short SkillRank1,
    [PacketIndex(17)]
    short SkillRank2,
    [PacketIndex(18)]
    short SkillRank3,
    [PacketIndex(19)]
    bool IsInvisible,
    [PacketIndex(20)]
    string? Unknown4,
    [PacketIndex(21)]
    string? Unknown5
) : IPacket;
Do not follow this link