Files
Radicade/Server/ProgressionEvents/WeeklyChallengeState.cs
T
2026-10-16 23:33:13 -07:00

40 lines
1.3 KiB
C#

using Microsoft.EntityFrameworkCore;
using RadicadeServer.RecNet.Avatar;
namespace RadicadeServer.RecNet.Progression.Challenges;
[PrimaryKey(nameof(PlayerId), nameof(ChallengeMapId))]
public class WeeklyChallengeState
{
public long PlayerId { get; set; }
public int ChallengeMapId { get; set; }
public string MapJson { get; set; } = "";
public long? RewardGiftDropId { get; set; }
}
public class WeeklyChallengeMap
{
public bool Enabled { get; set; } = true;
public string Revision { get; set; } = "";
public int FallbackTokens { get; set; } = 300;
public int ChallengeMapId { get; set; }
public string ChallengeThemeString { get; set; } = "Weekly Challenges";
public List<WeeklyChallenge> Challenges { get; set; } = [];
public Gift Gift { get; set; } = new();
public string FallbackGiftName { get; set; } = "300 Tokens";
public DateTime StartAt { get; set; }
public DateTime EndAt { get; set; }
public DateTime ServerTime { get; set; }
public bool CompletedRequired { get; set; }
}
public class WeeklyChallenge
{
public int ChallengeId { get; set; }
public string Name { get; set; } = "";
public string Description { get; set; } = "";
public string Tooltip { get; set; } = "";
public string Config { get; set; } = "";
public bool Complete { get; set; }
}