173 lines
11 KiB
Markdown
173 lines
11 KiB
Markdown
# Spice Banker battle commitment and normal income prototypes
|
||
|
||
**2 October normal-band checkpoint:** a separate fresh local `banker-income`
|
||
classic/base33/all-fourteen-skills-only Basic/Advanced profile connects actual
|
||
positive bank payments to automatic current Mentat collection.
|
||
Bounded coverage is **Partial / Development Verified**. No public start,
|
||
old-game retrofit or other module is enabled; this is not deployed acceptance.
|
||
|
||
## Normal income local contract — 2 October 2026
|
||
|
||
The original photographed card says gain one spice when another player makes
|
||
one bank payment of at least four, once per phase. This is a mandatory
|
||
additional bank grant, not skimming the original payer or recipient; no new
|
||
action, Karama response or confirmation is invented. Ordinary costs and
|
||
their original counters/recipient/physical suffix finish once before the grant.
|
||
|
||
The private-backed-up profile admits unique2..6 classic factions,
|
||
Basic or Advanced, base33 Treachery and all14 Leader Skills alone. Actual
|
||
paid normal auctions, funded shipments, paid force/leader/KH/Emperor-extra
|
||
revivals and resolved bank support use original final-bank receipts. Player
|
||
income, free/waived/stopped/invalid sources and self-payment do not qualify.
|
||
The original bank recipient matters: canceled Emperor or Guild income may
|
||
leave a bank payment, while income actually received by a player does not.
|
||
|
||
One payment is not several smaller payments summed together. Actual own/donor
|
||
legs keep their payer identity; two payers at two each do not make one payer
|
||
at four. The lower1..3 Banker battle payment stays separate from support.
|
||
This per-payer/source composition is a conservative local interpretation,
|
||
not a separately located publisher split-funding example. No future award
|
||
can finance the original payment.
|
||
|
||
An actual available living native trainer supplies new normal income. A
|
||
captive supplies no upper band; concealed unselected skills are unavailable.
|
||
Own-battle selected-trainer eligibility uses actual resolved survival, not
|
||
private pre-reveal timing. One physical card's turn/phase stamp cannot reset
|
||
through death, return, refresh or same-phase reassignment.
|
||
|
||
The already-earned front-shield pile remains bound to its ORIGINAL gaining
|
||
faction provisionally in this fresh profile even if the trainer dies, is
|
||
captured or the card returns/reassigns. This conserves earned currency and
|
||
does not transfer it with a skill card. It does **not** answer the previously
|
||
asked death/capture question or create universal completed-mode authority.
|
||
The historical pending boundary below remains recorded outside this profile.
|
||
|
||
Deferred spice is not added to a spendable wallet before actual native Mentat
|
||
opening. Human/four-policy bids, shipping, revival, support and lower Banker
|
||
spending use original available money. Mentat atomically marks/credits each
|
||
uncollected grant once before optional work/victory; collection is not a
|
||
qualifying payment and creates no recursive income. There is no arbitrary
|
||
read heal or fictitious persisted half-phase collect choice.
|
||
|
||
Only physical public front-shield owner/count and current-phase use are
|
||
projected. Private bank amounts, source/receipt, hidden plans and later skill
|
||
entitlement stay private. Current-source corrupt/stale/duplicate/foreign
|
||
actions and recovery reject immutably; closed history no longer requires the
|
||
original trainer/card or old wallet to remain in place. Bounded signatures
|
||
check consistency, not authentication of wholesale rewritten saved JSON.
|
||
|
||
Frozen verification passes types/lint, **6,487 offline tests**, the **140-case**
|
||
Banker/profile union and build. Eighteen actual native producer/threshold/
|
||
trainer cases conserve all33 Treachery Cards and14 skills through original
|
||
payment and real Mentat; independent combat/Collection quotes separate native
|
||
bounty/income from support costs. All four minimal legal policies exclude the
|
||
front-shield pile from available budgets. Native death/capture/reassignment,
|
||
once-phase and separate payer legs have meaningful JSON/authenticated SQLite
|
||
regressions, including actual final Collection races and private suspended
|
||
Emperor/Guild invoices. Two final independent scoped reviews have no finding.
|
||
|
||
Original private-backed-up six-seat CLI setups were continued without
|
||
redealing: Basic **6VZ8G5BY v38** used native Emperor self-auction payment to
|
||
the Bank; Advanced **8TN8BTLT v31** used native Guild own-bank shipment and
|
||
its genuine allow decision. Human390px controls earned1 without changing the
|
||
Banker's available wallet, retained the notice through refresh and collected
|
||
at actual final Collection readiness to Mentat exactly once (10→11 and3→4).
|
||
The notice's initial26px player-strip squeeze was reproduced visually and
|
||
fixed by placing it in the main column; fresh proof shows354px width.
|
||
All cards/skills/normal and elite force inventories remain conserved, with
|
||
the23 prior isolated QA rooms' states/versions unchanged. Final guide10/10,
|
||
types/lint/build and expanded390px guidance pass; all82 original seats in25
|
||
targeted QA rooms restore after final worker reload without double collection.
|
||
Local HTTP is **49/55**, with six known upstream503 rejection failures:
|
||
not a green suite. Code **6785e622a7bc8b850aa5e3d338c63be5a33a9403** is pushed;
|
||
[exact CI36923901367](https://github.com/Quintine/Dune/actions/runs/36923901367)
|
||
and container job110576362446 completed/success with mandatory isolated
|
||
storage/HTTP verification before verified-image publication. Image:
|
||
`ghcr.io/quintine/dune:sha-6785e622a7bc8b850aa5e3d338c63be5a33a9403`.
|
||
Deployment and complete skill/module acceptance remain open.
|
||
|
||
|
||
The historical13 September checkpoint below is **Prototyped**, with **Partial**
|
||
rules coverage, and connects the lower battle band only. The normal band is
|
||
now connected solely in the fresh profile above; combined acceptance and
|
||
public mode starts remain gated.
|
||
|
||
## Source and payment contract
|
||
|
||
The physical card permits spending one through three own spice with the Battle
|
||
Plan to add the same amount to the selected leader's strength, independently of
|
||
force support. A captured skilled leader can supply this battle band with the
|
||
captor's spice. The common skill rules remove the bonus if that leader dies.
|
||
See [GF9 CHOAM & Richese rules and Q&A](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf),
|
||
pages 8–9 and 12, and [Jack Reda's walkthrough](https://www.youtube.com/watch?v=XT_azRVLq_0&t=1029s),
|
||
17:09–17:37. The existing physical card image and sourced full paraphrase are
|
||
retained; this creates no new card, resource or leader identity.
|
||
|
||
The [core rulebook](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf)
|
||
provides the payment precedence in its Traitor and Advanced Combat sections:
|
||
a sole successful traitor caller loses nothing; otherwise committed Battle Plan
|
||
spice goes to the Bank on either outcome. The prototype therefore spends Banker
|
||
spice even on leader death or traitor loss, and waives it for a sole traitor-call
|
||
winner. Death removes the strength bonus, not the already chosen plan cost.
|
||
This is an explicit composition of the card and core payment rules, not a
|
||
separately located Banker death FAQ. It supersedes the earlier private research
|
||
suggestion that death should release the commitment. Printed disc strength,
|
||
Zoal's copied value and leader bounty are unchanged.
|
||
|
||
The normal band is mandatory once per phase when another player makes one
|
||
payment of at least four spice to the Bank; multiple smaller payments do not
|
||
combine. Revival qualifies. Earned spice waits in front of the shield until
|
||
Mentat Pause. Neither publisher nor designer material located in the renewed
|
||
search settles custody of that accumulated income if the trainer dies or is
|
||
captured first. The user has been asked whether to retain the pending boundary
|
||
or rule that already-earned spice stays with the original faction. No answer
|
||
is assumed; only the explicitly provisional fresh profile above implements
|
||
normal income. This historical question remains open outside that profile.
|
||
|
||
## Connected behavior
|
||
|
||
`bankerSpice` is an optional sealed-plan amount; absence or zero declines.
|
||
The engine validates an actual living controlled skilled disc, its battle
|
||
posture, integer range and own funds remaining after force support. Ally aid
|
||
and Stronghold support cannot fund this separate commitment. Saved plans reserve
|
||
the amount against bribes and other spending. The same checks run before views,
|
||
automatic normalization and actions. Legacy plans retain zero Banker spending.
|
||
|
||
The battle quote computes a separate payment alongside the existing support
|
||
settlement and a surviving-leader score bonus. It does not add Banker spice to
|
||
CHOAM's force-support share. Payment and resolution commit atomically through
|
||
the existing versioned room write, with an automatic explanatory history entry.
|
||
|
||
The battle panel distinguishes support and Banker amounts and shows the combined
|
||
own commitment. The owner and authorized full-plan inspector can see the sealed
|
||
amount; rivals see it only when both plans are public. All four AI profiles use
|
||
the public skill and private own budget to submit funded plans. This is legal
|
||
prototype behavior, not calibrated Banker strategy.
|
||
|
||
## Evidence and remaining scope
|
||
|
||
Focused engine checks cover one through three spice, win/loss, death, traitor
|
||
win/loss/mutual calls, captured-leader funds, printed values, own-support funding,
|
||
private views, malformed saved fields, JSON restoration and all four profiles.
|
||
SQLite checks cover reserved-spice diversion, private restart, concurrent final
|
||
resolution, exact waiver/bounty and legacy absence. Controls and inspector
|
||
checks retain the private/public boundary. Independent rules, persistence and
|
||
UI review cover this supported boundary.
|
||
|
||
Two genuine four-profile Basic/Advanced samples completed with 99/212 actions,
|
||
3/6 JSON restorations and no rejected candidates. Their first seat explicitly
|
||
selected its offered Banker, but neither game used Banker spending. These are
|
||
continuation samples; the targeted tests establish the effect. A fresh browser room
|
||
assigned Banker through genuine setup, followed by a conserved staged battle.
|
||
The player selected Hasimir Fenring, Baliset, four dialed forces and three Banker
|
||
spice. Pending refresh restored that commitment with five spice still held.
|
||
Settlement paid three, added three strength and left one Arrakeen force,
|
||
fifteen reserves, four Tanks and two spice. Another refresh retained those
|
||
values and the same private Crysknife, Baliset and Burseg while card cleanup
|
||
awaited the player. This targeted scenario is not a complete human game.
|
||
Required broad results are recorded with the checkpoint.
|
||
|
||
Remaining work includes normal income, all economic trigger routes and ordering,
|
||
its public deferred custody, combined modules, wider full-game interaction and
|
||
strategy refinement. The existing development gates remain unchanged.
|