feat(preprod): contrats fonctionnels, réputation factions, gating tech-tree & shop
Build & Deploy / build (push) Successful in 21s
Build & Deploy / build (push) Successful in 21s
- RequestPlayerContracts: renvoie les vrais contrats actifs + job boards du joueur (peuplement initial des boards vides) au lieu d'une liste hardcodée. - RequestFactionProgression: renvoie la réputation réelle des 3 factions (au lieu de 0). - StartTechTreeNodeUpgradeClient: dependency check PlayerQuarterLevelRequired. - PurchaseWeaponShopItem: critère de déblocage par contrat (UnlockData.ContractLockPurchase). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+10
-2
@@ -54,7 +54,7 @@ public class StartTechTreeNodeUpgradeClient : ICloudScriptFunction<FYStartTechTr
|
||||
|
||||
var userData = await _userDataService.FindAsync(
|
||||
userId, userId,
|
||||
new List<string>{"TechTreeNodeData", "Balance", "Inventory"}
|
||||
new List<string>{"TechTreeNodeData", "Balance", "Inventory", "PlayerQuartersLevel"}
|
||||
);
|
||||
|
||||
var userTechTree = JsonSerializer.Deserialize<UserTechTreeNodeData>(userData["TechTreeNodeData"].Value);
|
||||
@@ -79,7 +79,15 @@ public class StartTechTreeNodeUpgradeClient : ICloudScriptFunction<FYStartTechTr
|
||||
var techTreeNodeData = techTreeNodes[request.NodeID];
|
||||
var nextTreeNodeLevel = techTreeNodeData.PerkLevels[currentLevel]; // Tech tree node levels start from 0
|
||||
|
||||
// TODO: Dependency check
|
||||
// Dependency check: the player's quarters must be high enough to unlock this node.
|
||||
var playerQuarters = JsonSerializer.Deserialize<FYPlayerQuarterStatus>(userData["PlayerQuartersLevel"].Value);
|
||||
if (playerQuarters != null && playerQuarters.Level < techTreeNodeData.PlayerQuarterLevelRequired) {
|
||||
return new FYStartTechTreeNodeUpgradeClientResult
|
||||
{
|
||||
UserID = userId,
|
||||
Error = $"Requires player quarters level {techTreeNodeData.PlayerQuarterLevelRequired}",
|
||||
};
|
||||
}
|
||||
|
||||
// Validate price
|
||||
// TODO: Refactor
|
||||
|
||||
Reference in New Issue
Block a user