feat: Project preready

This commit is contained in:
ereshk1gal
2025-10-01 01:42:16 +03:00
parent 06cb66624c
commit 504f03bd32
37 changed files with 1671 additions and 147 deletions

View File

@@ -0,0 +1,3 @@
namespace LctMonolith.Models.DTO;
public class CreateMissionCategoryDto { public string Title { get; set; } = string.Empty; }

View File

@@ -0,0 +1,12 @@
namespace LctMonolith.Models.DTO;
public class CreateMissionDto
{
public string Title { get; set; } = string.Empty;
public string? Description { get; set; }
public Guid MissionCategoryId { get; set; }
public Guid? ParentMissionId { get; set; }
public int ExpReward { get; set; }
public int ManaReward { get; set; }
}

View File

@@ -0,0 +1,3 @@
namespace LctMonolith.Models.DTO;
public class CreateRankDto { public string Title { get; set; } = string.Empty; public int ExpNeeded { get; set; } }

View File

@@ -0,0 +1,3 @@
namespace LctMonolith.Models.DTO;
public class CreateSkillDto { public string Title { get; set; } = string.Empty; }

View File

@@ -6,15 +6,14 @@ public class Mission
public string Title { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public MissionCategory? MissionCategory { get; set; }
public long MissionCategoryId { get; set; }
public Guid MissionCategoryId { get; set; } // changed from long
public Mission? ParentMission { get; set; }
public long ParentMissionId { get; set; }
public Guid? ParentMissionId { get; set; } // changed from long to nullable Guid
public int ExpReward { get; set; }
public int ManaReward { get; set; }
public Guid DialogueId { get; set; }
public Dialogue? Dialogue { get; set; }
public ICollection<Mission> ChildMissions { get; set; } = new List<Mission>();
public ICollection<PlayerMission> PlayerMissions { get; set; } = new List<PlayerMission>();
public ICollection<MissionItemReward> MissionItemRewards { get; set; } = new List<MissionItemReward>();

View File

@@ -5,7 +5,7 @@ public class MissionSkillReward
public Guid Id { get; set; }
public Guid MissionId { get; set; }
public Mission Mission { get; set; } = null!;
public long SkillId { get; set; }
public Guid SkillId { get; set; } // changed from long
public Skill Skill { get; set; } = null!;
public int Value { get; set; }
}

View File

@@ -3,10 +3,11 @@ namespace LctMonolith.Models.Database;
public class Player
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public Guid UserId { get; set; } // 1:1 to AppUser (retain linkage)
public Guid RankId { get; set; }
public Rank? Rank { get; set; }
public Guid RankId {get; set; }
public int Experience { get; set; }
public int Mana { get; set; }
public ICollection<PlayerMission> PlayerMissions { get; set; } = new List<PlayerMission>();
public ICollection<PlayerSkill> PlayerSkills { get; set; } = new List<PlayerSkill>();

View File

@@ -4,10 +4,11 @@ public class PlayerMission
{
public Guid Id { get; set; }
public Guid PlayerId { get; set; }
public required Player Player { get; set; }
public Player Player { get; set; } = null!; // removed required
public Guid MissionId { get; set; }
public required Mission Mission { get; set; }
public Mission Mission { get; set; } = null!; // removed required
public DateTime? Started { get; set; }
public DateTime? Completed { get; set; }
public DateTime? RewardsRedeemed { get; set; }
public int ProgressPercent { get; set; } // 0..100
}