M Core/NosSmooth.Game/Data/Chat/ChatMessage.cs => Core/NosSmooth.Game/Data/Chat/ChatMessage.cs +1 -1
@@ 4,7 4,7 @@
// 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.Game.Entities;
+using NosSmooth.Game.Data.Entities;
namespace NosSmooth.Game.Data.Chat;
M Core/NosSmooth.Game/Data/Dialogs/Dialog.cs => Core/NosSmooth.Game/Data/Dialogs/Dialog.cs +6 -1
@@ 15,4 15,9 @@ namespace NosSmooth.Game.Data.Dialogs;
/// <param name="AcceptCommand"></param>
/// <param name="Message"></param>
/// <param name="Parameters"></param>
-public record Dialog(string AcceptCommand, OneOf<Game18NConstString, string> Message, IReadOnlyList<string> Parameters);>
\ No newline at end of file
+public record Dialog
+(
+ string AcceptCommand,
+ OneOf<Game18NConstString, string> Message,
+ IReadOnlyList<string> Parameters
+);<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Entities/GroundItem.cs => Core/NosSmooth.Game/Data/Entities/GroundItem.cs +21 -8
@@ 1,12 1,25 @@
-//
-// DroppedItem.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// GroundItem.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.
-namespace NosSmooth.Game.Entities;
+using NosCore.Shared.Enumerations;
+using NosSmooth.Game.Data.Info;
-public class GroundItem
+namespace NosSmooth.Game.Data.Entities;
+
+/// <summary>
+/// The item on the ground.
+/// </summary>
+/// <param name="Id">The id of the item entity.</param>
+/// <param name="ItemVNum">The vnum of the dropped item.</param>
+/// <param name="Position">The position of the ground item.</param>
+public record GroundItem(long Id, long ItemVNum, Position? Position) : IEntity
{
-
+ /// <inheritdoc />
+ public string? Name => null;
+
+ /// <inheritdoc />
+ public VisualType Type => VisualType.Object;
}=
\ No newline at end of file
M Core/NosSmooth.Game/Data/Entities/Monster.cs => Core/NosSmooth.Game/Data/Entities/Monster.cs +40 -8
@@ 1,12 1,44 @@
-//
-// Monster.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Monster.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.
-namespace NosSmooth.Game.Entities;
+using NosCore.Packets.Enumerations;
+using NosCore.Shared.Enumerations;
+using NosSmooth.Game.Data.Info;
-public class Monster
+namespace NosSmooth.Game.Data.Entities;
+
+/// <summary>
+/// Represents nostale monster entity.
+/// </summary>
+/// <param name="Id"></param>
+/// <param name="Name"></param>
+/// <param name="Position"></param>
+/// <param name="Speed"></param>
+/// <param name="Level"></param>
+/// <param name="Direction"></param>
+/// <param name="Hp"></param>
+/// <param name="Mp"></param>
+/// <param name="Faction"></param>
+/// <param name="Size"></param>
+/// <param name="MonsterVNum"></param>
+public record Monster
+(
+ long Id,
+ string? Name,
+ Position? Position,
+ byte? Speed,
+ ushort? Level,
+ byte? Direction,
+ Health? Hp,
+ Health? Mp,
+ FactionType? Faction,
+ short Size,
+ long MonsterVNum
+) : ILivingEntity
{
-
+ /// <inheritdoc/>
+ public VisualType Type => VisualType.Monster;
}=
\ No newline at end of file
M Core/NosSmooth.Game/Data/Entities/Npc.cs => Core/NosSmooth.Game/Data/Entities/Npc.cs +10 -10
@@ 1,12 1,12 @@
-//
-// Npc.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Npc.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.
-namespace NosSmooth.Game.Entities;
+namespace NosSmooth.Game.Data.Entities;
-public class Npc
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents nostale npc entity.
+/// </summary>
+public record Npc();<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Entities/Partner.cs => Core/NosSmooth.Game/Data/Entities/Partner.cs +10 -10
@@ 1,12 1,12 @@
-//
-// Partner.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Partner.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.
-namespace NosSmooth.Game.Entities;
+namespace NosSmooth.Game.Data.Entities;
-public class Partner
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents Partner of the Character.
+/// </summary>
+public record Partner() : IPet;<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Entities/Pet.cs => Core/NosSmooth.Game/Data/Entities/Pet.cs +10 -10
@@ 1,12 1,12 @@
-//
-// Pet.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Pet.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.
-namespace NosSmooth.Game.Entities;
+namespace NosSmooth.Game.Data.Entities;
-public class Pet
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents pet of the character.
+/// </summary>
+public record Pet() : IPet;<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Inventory/Bag.cs => Core/NosSmooth.Game/Data/Inventory/Bag.cs +9 -9
@@ 1,12 1,12 @@
-//
-// Bag.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Bag.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.
namespace NosSmooth.Game.Data.Inventory;
-public class Bag
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents one bag in the inventory of the player.
+/// </summary>
+public record Bag();<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Inventory/Inventory.cs => Core/NosSmooth.Game/Data/Inventory/Inventory.cs +9 -9
@@ 1,12 1,12 @@
-//
-// Inventory.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Inventory.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.
namespace NosSmooth.Game.Data.Inventory;
-public class Inventory
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents the whole inventory of the character.
+/// </summary>
+public record Inventory();<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Login/Channel.cs => Core/NosSmooth.Game/Data/Login/Channel.cs +9 -9
@@ 1,12 1,12 @@
-//
-// Channel.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Channel.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.
namespace NosSmooth.Game.Data.Login;
-public class Channel
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Channel of a nostale server.
+/// </summary>
+public record Channel();<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Login/WorldServer.cs => Core/NosSmooth.Game/Data/Login/WorldServer.cs +8 -5
@@ 1,9 1,12 @@
-//
-// WorldServer.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// WorldServer.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.
namespace NosSmooth.Game.Data.Login;
+/// <summary>
+/// Represents nostale world server.
+/// </summary>
public record WorldServer();=
\ No newline at end of file
M Core/NosSmooth.Game/Data/Maps/Map.cs => Core/NosSmooth.Game/Data/Maps/Map.cs +10 -10
@@ 1,12 1,12 @@
-//
-// Map.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Map.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.
-namespace NosSmooth.Game.Maps;
+namespace NosSmooth.Game.Data.Maps;
-public class Map
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents nostale map.
+/// </summary>
+public record Map();<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Maps/Miniland.cs => Core/NosSmooth.Game/Data/Maps/Miniland.cs +11 -10
@@ 1,12 1,13 @@
-//
-// Miniland.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Miniland.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.
-namespace NosSmooth.Game.Maps;
+namespace NosSmooth.Game.Data.Maps;
-public class Miniland
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents Miniland map that can contain miniland objects.
+/// </summary>
+/// <param name="Objects">The objects in the miniland.</param>
+public record Miniland(IReadOnlyList<MinilandObject>? Objects) : Map;<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Maps/Portal.cs => Core/NosSmooth.Game/Data/Maps/Portal.cs +14 -10
@@ 1,12 1,16 @@
-//
-// Portal.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Portal.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.
-namespace NosSmooth.Game.Maps;
+using NosSmooth.Game.Data.Info;
-public class Portal
-{
-
-}>
\ No newline at end of file
+namespace NosSmooth.Game.Data.Maps;
+
+/// <summary>
+/// Represents map portal leading to another map.
+/// </summary>
+/// <param name="Position">The position of the portal.</param>
+/// <param name="TargetMapId">The id of the target map.</param>
+public record Portal(Position Position, long TargetMapId);<
\ No newline at end of file
M Core/NosSmooth.Game/Data/Maps/Timespace.cs => Core/NosSmooth.Game/Data/Maps/Timespace.cs +6 -6
@@ 1,9 1,9 @@
-//
-// Timespace.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Timespace.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.
-namespace NosSmooth.Game.Maps;
+namespace NosSmooth.Game.Data.Maps;
public record Timespace();=
\ No newline at end of file
M Core/NosSmooth.Game/Data/Raids/Raid.cs => Core/NosSmooth.Game/Data/Raids/Raid.cs +9 -9
@@ 1,12 1,12 @@
-//
-// Raid.cs
-//
-// Copyright (c) Christofel authors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Raid.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.
namespace NosSmooth.Game.Data.Raids;
-public class Raid
-{
-
-}>
\ No newline at end of file
+/// <summary>
+/// Represents nostale raid.
+/// </summary>
+public record Raid();<
\ No newline at end of file