mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-25 15:09:26 -07:00
60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using RadicadeServer.RecNet.Enums.Players.Avatar;
|
|
using RadicadeServer.RecNet.Enums.Store;
|
|
using RadicadeServer.Radicade.Gifts.Enums;
|
|
|
|
namespace RadicadeServer.RecNet.Rooms
|
|
{
|
|
/// <summary>
|
|
/// One box a room hands a player when they join it. A room used to be able to describe
|
|
/// exactly one box in its own Rooms row; a row here is one more box, and the panel shows
|
|
/// them as a list. A room with no rows here still has its one box - see
|
|
/// <see cref="Utils.RoomJoinGiftUtils"/> - so a room configured before this table existed
|
|
/// keeps handing out what it always did.
|
|
/// </summary>
|
|
public class RoomJoinGift
|
|
{
|
|
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
public long RoomJoinGiftId { get; set; }
|
|
|
|
public long RoomId { get; set; }
|
|
|
|
/// <summary>Where the box sits in the room's list. Boxes are delivered in this order.</summary>
|
|
public int SortOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bumped whenever this box changes. The version is part of the box's gift drop id and
|
|
/// of a once-per-player claim, so a changed box is handed out again rather than being
|
|
/// suppressed by the claim a player already made on the old one.
|
|
/// </summary>
|
|
public int Version { get; set; } = 1;
|
|
|
|
public bool Enabled { get; set; } = true;
|
|
|
|
public bool OncePerPlayer { get; set; } = true;
|
|
|
|
public string Title { get; set; } = "Room Visit Gift";
|
|
public string Message { get; set; } = "Thanks for visiting!";
|
|
|
|
public string AvatarItem { get; set; } = "";
|
|
public AvatarItemType AvatarItemType { get; set; } = AvatarItemType.Outfit;
|
|
|
|
public string EquipmentItem { get; set; } = "";
|
|
public string EquipmentModificationGuid { get; set; } = "";
|
|
|
|
public string ConsumableItem { get; set; } = "";
|
|
|
|
public CurrencyType CurrencyType { get; set; } = CurrencyType.RecCenterTokens;
|
|
public int CurrencyAmount { get; set; } = 0;
|
|
|
|
public int Xp { get; set; } = 0;
|
|
|
|
public GiftContext Context { get; set; } = GiftContext.Game_Drop;
|
|
public Rarity Rarity { get; set; } = Rarity.Common;
|
|
|
|
/// <summary>The account the box is from, or zero for no sender.</summary>
|
|
public long FromPlayerId { get; set; } = 0;
|
|
}
|
|
}
|