Connect source-ordered Advanced Ecaz new-ally Duke grant
This commit is contained in:
1 parent
5e293f567a
commit
59a406830c
9 files changed
+95
-22
No files matched your search
@@ -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 Ecaz can optionally lend Duke to a newly accepted ally, with provisional one-battle/turn-end tenure. Ordinary revival accounting, repeat-death/shared-leader cases, Advanced loans and competing arrival reactions 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 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.';
|
||||
function tokenLocation(token: AmbassadorToken) {
|
||||
if (token.zone === 'placed')
|
||||
return `Placed in ${TERRITORIES.find((t) => t.id === token.location)?.name ?? 'a stronghold'}`;
|
||||
|
||||
@@ -72,6 +72,13 @@ export function EcazEntry({
|
||||
{game.players.find((p) => p.id === entry.entrant)?.name} entered this
|
||||
stronghold. {guide.gameplay}
|
||||
</p>
|
||||
{game.advanced && entry.effect === 'ecaz' && (
|
||||
<p className="fine">
|
||||
Advanced source override: supplied rulebook, physical page 30, adds an
|
||||
available Duke after accepted alliance consent automatically. The
|
||||
publisher token guide’s optional loan wording above remains Basic guidance.
|
||||
</p>
|
||||
)}
|
||||
{token && <AmbassadorInspector token={token} />}
|
||||
{entry.stage === 'offer' ? (
|
||||
<>
|
||||
@@ -141,8 +148,10 @@ export function EcazEntry({
|
||||
<p className="m-0 text-sm leading-6">
|
||||
Both factions must be unallied. The entrant chooses whether to
|
||||
accept. The triggered Ambassador returns to supply even if the
|
||||
offer is refused. In Basic, an accepted alliance can be followed
|
||||
by an optional Duke loan when the disc is available.
|
||||
offer is refused.{' '}
|
||||
{game.advanced
|
||||
? 'In Advanced, accepting also adds an available Duke to the entrant’s pool automatically. The first version uses one-battle tenure and sets an unused living Duke aside at turn end.'
|
||||
: 'In Basic, an accepted alliance can be followed by an optional Duke loan when the disc is available.'}
|
||||
</p>
|
||||
</>
|
||||
) : (
|
||||
@@ -195,8 +204,11 @@ export function EcazEntry({
|
||||
<p className="m-0 text-sm leading-6">
|
||||
{game.players.find((p) => p.id === entry.owner)?.name} offers you an
|
||||
alliance. Accepting activates both factions’ alliance abilities
|
||||
immediately. In Basic, Ecaz can then optionally lend an available
|
||||
Duke Vidal. Your remaining actions resume after those choices.
|
||||
immediately.{' '}
|
||||
{game.advanced
|
||||
? 'An available Duke Vidal is added to your pool automatically, without a second acknowledgement. One-battle tenure is provisional; an unused living Duke is set aside at turn end.'
|
||||
: 'In Basic, Ecaz can then optionally lend an available Duke Vidal.'}{' '}
|
||||
Your remaining actions then resume.
|
||||
</p>
|
||||
<Button
|
||||
className={buttonClass}
|
||||
|
||||
Reference in new issue
Block a user