Promotion preprod → prod : contrats/kills, factions, tech-tree, assurance payout, Fortuna Pass #1

Merged
neckfire merged 4 commits from preprod into main 2026-07-14 10:33:31 +00:00
Owner

Embarque en prod tout le lot preprod validé sur la rd :

  • Contrats réels + progression factions + gating tech-tree/achat
  • Fix crédit des kills de contrat (raid client-hosted)
  • Rotation shops + assurance (débit prime + payout au retour de raid)
  • Fortuna Pass : claim saison-correct + logging découverte + fix burn

Fast-forward de main (31aa20ab) vers preprod (89e7a69).

Embarque en prod tout le lot preprod validé sur la rd : - Contrats réels + progression factions + gating tech-tree/achat - Fix crédit des kills de contrat (raid client-hosted) - Rotation shops + assurance (débit prime + **payout au retour de raid**) - Fortuna Pass : claim saison-correct + logging découverte + fix burn Fast-forward de main (31aa20ab) vers preprod (89e7a69).
neckfire added 4 commits 2026-07-14 10:32:55 +00:00
- RequestStoreRotationData: rotation daily (reset 00:00 UTC) + weekly (lundi) avec
  storeIDs rotatifs déterministes et timers d'expiration corrects.
- EnterMatchmakingStation: traite purchaseInsuranceRequest au déploiement — marque
  les items assurés (Insurance + owner) et débite la prime (TitleData InventoryInsurance).
- FYPurchaseInventoryInsuranceRequest: modèle complété (insuranceId + itemIds).
- RequestClaimFortunaPassRewards: claim saison-correct (S2/S3 séparés, plus d'écrasement)
  + octroi des récompenses depuis catalogue TitleData optionnel (repli sûr sinon).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 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>
Kill-type contract objectives were never persisted: the client-hosted
raid has no dedicated game server to report per-kill progress, so
creature kills stayed at 0 and contracts reported "no kills" at claim.

- EnterMatchmakingMatch: auto-credit Kills objectives to MaxProgress on
  deploy (mirrors the item-ownership pre-compute already done there and
  the player-kill auto-credit in ActivateContract).
- ClaimActiveContract: treat Kills objectives as met as a safety net for
  contracts activated before deploy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- CompleteInventoryUpdate: insured items lost in a raid (present in
  ItemsToRemove) are recovered back to the stash and the insurance is
  consumed. This is the payout counterpart to the premium already
  debited on deploy (EnterMatchmakingStation). Gated on the policy
  declaring a positive Payout; never fails the inventory commit.
- RequestClaimFortunaPassRewards: log the client-sent reward IDs so a
  real FortunaPass{2,3}_Rewards catalog can be built to match, and stop
  recording a reward as claimed when there is no catalog entry to grant
  (previously it was burned permanently and became unclaimable).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
neckfire merged commit 67f3095896 into main 2026-07-14 10:33:31 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neckfire/the-cycle#1