mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-26 07:28:45 -07:00
feat: Implement quest reward system with item selection and storage; update related services and database schema
This commit is contained in:
@@ -12,4 +12,15 @@ public class GameRewardSelectionEntity
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? SelectedAt { get; set; }
|
||||
public int? SelectedGiftDropId { get; set; }
|
||||
|
||||
/// <summary>The three store-item ids offered as the choose-1-of-3
|
||||
/// reward. Persisted so re-fetching the pending reward is stable and
|
||||
/// <c>/select</c> can grant exactly what was shown. 0 = empty slot.</summary>
|
||||
public long Offer1ItemId { get; set; }
|
||||
public long Offer2ItemId { get; set; }
|
||||
public long Offer3ItemId { get; set; }
|
||||
|
||||
/// <summary>Set once the chosen item has been granted to inventory, so
|
||||
/// a replayed <c>/select</c> can't grant twice.</summary>
|
||||
public long GrantedItemId { get; set; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"_comment": "Per-quest reward chest contents. Keyed by the RRO room id the player is in when they open the end-of-quest gift box (the gifts/generate request carries no quest id, so the server keys off the player's current room via presence). Each entry lists the store-item slugs that quest can award; the server picks one at random from the list. Slugs use the same scheme as the store: wardrobe-{guid} for outfits, consumable-{name} for consumables, equipment-{prefab}:{guid} for equipment. Populate `rooms` with real roomId -> item-slug lists.",
|
||||
"rooms": {}
|
||||
}
|
||||
Reference in New Issue
Block a user