Allow Ecaz Ambassador Duke acquisition for an existing ally

This commit is contained in:
Quintine committed 2026-10-26 08:31:55 +11:00
1 parent cab6b41c67
commit 34dccdfd99
21 files changed
+965 -86

No files matched your search

+8 -1
View File
@@ -286,10 +286,17 @@ void test('explicit Duke choice/owner/event and eligibility are checked before t
reject(g, 'ec', { ...action, event: 'stale' });
reject(g, 'ec', { ...action, choice: undefined });
reject(g, 'ec', { ...action, choice: 'loan' });
reject(g, 'ec', { ...action, beneficiary: 'al' });
const allied = reload(g);
p(allied, 'ec').ally = 'al';
p(allied, 'al').ally = 'ec';
reject(allied, 'ec', { ...action, beneficiary: 'al' });
const shared = applyAction(allied, 'ec', { ...action, beneficiary: 'al' });
assert.equal(shared.dukeVidal!.controller, 'al');
assert.equal(shared.dukeVidal!.source, 'ecaz');
assert.deepEqual(shared.players, allied.players);
const staleAlly = reload(allied);
p(staleAlly, 'al').ally = null;
reject(staleAlly, 'ec', { ...action, beneficiary: 'al' });
for (const mutate of [
(b: Game) => {
delete b.dukeVidal;