Offer first-death Kwisatz Haderach through the Tleilaxu Ambassador

This commit is contained in:
Quintine committed 2026-10-12 23:20:37 +11:00
1 parent bbf27c4f3d
commit d14f3d1717
11 files changed
+397 -19

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@ import { TERRITORIES } from '@/game/board';
import { faction } from '@/game/catalog';
export const AMBASSADOR_COVERAGE =
'Development coverage: Ambassador placement, Ecaz’s direct Duke acquisition and consensual alliance, Emperor, Atreides, Harkonnen, CHOAM, Ixian, Richese, Fremen, Guild and Tleilaxu entry effects are supported, plus Bene Gesserit copies. The Tleilaxu effect offers physical force returns or a first-death own-leader revival. Basic offers an optional new-ally Duke loan; Advanced automatically grants the available Duke after accepted alliance consent. One-battle loan tenure is provisional; an unused living loan is set aside at turn end. Ordinary revival accounting, repeat-death/shared-leader cases and competing arrivals remain for refinement; full Ecaz starts remain disabled.';
'Development coverage: Ambassador placement, Ecaz’s direct Duke acquisition and consensual alliance, Emperor, Atreides, Harkonnen, CHOAM, Ixian, Richese, Fremen, Guild and Tleilaxu entry effects are supported, plus Bene Gesserit copies. The Tleilaxu effect offers physical forces or a first-death own leader, including Atreides’ separate Kwisatz Haderach token. Basic offers an optional new-ally Duke loan; Advanced automatically grants the available Duke after accepted alliance consent. One-battle loan tenure is provisional; an unused living loan is set aside at turn end. Ordinary revival accounting, repeat-return/shared-leader cases and competing arrivals remain for refinement; full Ecaz starts remain disabled.';
function tokenLocation(token: AmbassadorToken) {
if (token.zone === 'placed')
return `Placed in ${TERRITORIES.find((t) => t.id === token.location)?.name ?? 'a stronghold'}`;
+5 -4
View File
@@ -283,10 +283,11 @@ export function EcazEntry({
) : entry.stage === 'revival' ? (
<>
<p className="m-0 text-sm leading-6">
Revive one eligible own leader, or return up to {entry.revival?.maximum ?? 0}
{' '}physical forces from the Tanks for free. This independent grant
leaves ordinary allowances and income unchanged provisionally.
Repeat-death and shared-leader interactions remain unfinished.
Revive one eligible first-death own leader, including Atreides’ first
killed Kwisatz Haderach, or return up to {entry.revival?.maximum ?? 0}
{' '}physical forces for free. This independent grant leaves ordinary
allowances and income unchanged provisionally. Repeat-return and
shared-leader interactions remain unfinished.
</p>
{entry.revival?.blocked && (
<p className="m-0 text-sm leading-6">{entry.revival.blocked}</p>