Support staged group Fremen revival grants
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
9081249574
commit
d8d2e7207b
9 files changed
+277
-15
No files matched your search
+5
-3
@@ -656,7 +656,7 @@ import { quoteEcazPoisonIncome, EcazPoisonIncomeError, type EcazPoisonDiscard }
|
||||
import { resolveBattleWeapons } from './effective-weapons';
|
||||
import { choamGholaEvent, choamGholaSkillOfferEvent, choamGholaSkillSignature, choamMarketGholaError, choamSaleGholaTiming, type ChoamMarketGhola } from './choam-market-ghola';
|
||||
import { quoteAdvisorPreparationWindow, quoteAdvisorPreparation, validateAdvisorPreparation, projectAdvisorPreparationWindow, AdvisorPreparationError, type AdvisorPreparationWindow, type AdvisorPreparationSource } from './advisor-preparation-window';
|
||||
import { quoteFremenRevivalGrant, validateFremenRevivalGrant, projectFremenRevivalGrant, FremenRevivalGrantError, type FremenRevivalGrantSource } from './fremen-revival-grant';
|
||||
import { quoteFremenRevivalGrant, validateFremenRevivalGrant, projectFremenRevivalGrant, projectFremenGroupRevivalGrant, FremenRevivalGrantError, type FremenRevivalGrantSource } from './fremen-revival-grant';
|
||||
import { splitOrdinaryPayments, type OrdinaryPayment } from './ordinary-payment-plan';
|
||||
import {
|
||||
charityAmount,
|
||||
@@ -44722,10 +44722,11 @@ function applyActionInner(
|
||||
return g;
|
||||
}
|
||||
if (t === 'grantRevival') {
|
||||
requireRule(g.phase === 4 && p.faction === 'fremen' && p.ally,
|
||||
requireRule(g.phase === 4 && p.faction === 'fremen',
|
||||
'Only Fremen may grant their ally free revival during revival.');
|
||||
requireRule(!recruitsInteractionPending(g), 'Finish the current revival transaction or priority window before granting allied revival.');
|
||||
const source = fremenRevivalGrantRule(() => quoteFremenRevivalGrant(g, id));
|
||||
const target = projectFremenGroupRevivalGrant(g, id) ? stringField(action.target) : undefined;
|
||||
const source = fremenRevivalGrantRule(() => quoteFremenRevivalGrant(g, id, target));
|
||||
g.response = { kind: 'fremenRevivalGrant', owner: source.owner,
|
||||
recipient: source.recipient, fremenGrant: source, passed: [] };
|
||||
return g;
|
||||
@@ -46979,6 +46980,7 @@ export function viewGame(state: Game, id: string, now?: number) {
|
||||
freeRevival: g.freeRevival ?? [],
|
||||
recruitsPreview: recruitsPreview(g, me),
|
||||
fremenRevivalGrant: projectFremenRevivalGrant(g, id),
|
||||
fremenGroupRevivalGrant: projectFremenGroupRevivalGrant(g, id),
|
||||
advisorPreparation: advisorPreparationView(g, id),
|
||||
revivalRules: {
|
||||
...(g.revivalRules ?? newRevivalRules()),
|
||||
|
||||
Reference in new issue
Block a user