Prototype unlimited alliance variant
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
37acaeb9d2
commit
9cb65a21f5
23 files changed
+677
-52
No files matched your search
@@ -51,7 +51,7 @@ function threatened(g: Game, owner: string, territory: string): string[] | null
|
||||
if (error instanceof CoalitionAllianceError) throw new CoalitionWormProtectionError(error.message);
|
||||
throw error;
|
||||
}
|
||||
if (!group || group.members.length !== 3) return null;
|
||||
if (!group || group.members.length < 3) return null;
|
||||
requireProtection(Array.isArray(g.order) && g.order.length === g.players.length &&
|
||||
new Set(g.order).size === g.order.length && g.order.every(seat => g.players.some(player => player.id === seat)),
|
||||
'Group worm protection requires the current complete storm order.');
|
||||
@@ -75,7 +75,7 @@ export function validateCoalitionWormProtection(g: Game, frame: CoalitionWormPro
|
||||
requireProtection(object(frame) && Object.keys(frame).sort().join(',') === 'event,order,outcomes,owner,stage,territory,turn' &&
|
||||
id(frame.event) && id(frame.owner) && id(frame.territory) && validTerritory(frame.territory) &&
|
||||
Number.isSafeInteger(frame.turn) && frame.turn === g.turn && Array.isArray(frame.order) &&
|
||||
frame.order.length > 0 && frame.order.length <= 2 && frame.order.every(id) &&
|
||||
frame.order.length > 0 && frame.order.length <= 5 && frame.order.every(id) &&
|
||||
new Set(frame.order).size === frame.order.length && Array.isArray(frame.outcomes) &&
|
||||
['decision', 'response', 'complete'].includes(frame.stage),
|
||||
'The group worm protection has lost its original occurrence.');
|
||||
|
||||
Reference in new issue
Block a user