Mist shields its wizard from creatures; a glued square turns with its sector; Waterbolt splits the power it is cast with
Three of Ramses's reports from KFJL: - Rev 28: MIST-BODY's "may not attack or be attacked" holds against creatures. A wraith's or democratic monster's touch, a fire imp's scorch, and an ordered troll/skeleton/shadow blow all pass the mist by; older games keep the strike their ledgers recorded. The automaton no longer orders its creatures at a misted wizard. - ROTATE and RELOCATE SECTOR threw while GLUE was down: GLUE keeps its cell's key in the sustained effect's edge slot, and the remap read it as an edge. It maps as a cell now (the throw never reached a ledger, so this ships ungated). - WATERBOLT's damage/knockback split was sized by the NUMBER's face; the engine weighs POWERSTONE's +1 and AMPLIFY's doubling, so a 5 behind a powerstone was refused for not totalling 6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3368a92cf5
commit
8dcdfd2415
@@ -692,7 +692,14 @@
|
||||
if (selectedDef.los) return "Choose a target · lit squares are in your sight";
|
||||
return `${selectedDef.name} · its panel offers the choices`;
|
||||
});
|
||||
const numberTotal = $derived(attachedNumber ? cardDef(attachedNumber.cardId).value! : 1);
|
||||
/** The spell's power as the engine weighs it: the NUMBER's face, +1 for
|
||||
* a displayed POWERSTONE, doubled per AMPLIFY riding along. WATERBOLT's
|
||||
* split must total exactly this, or the cast is refused. */
|
||||
const numberTotal = $derived.by(() => {
|
||||
const stone = view?.players.find((p) => p.id === view.you)?.displayed.some((c) => c.cardId === "powerstone") ? 1 : 0;
|
||||
const face = attachedNumber ? cardDef(attachedNumber.cardId).value! + stone : 1;
|
||||
return face * 2 ** attachedMods.filter((m) => m.cardId === "amplify").length;
|
||||
});
|
||||
|
||||
function dispatch(command: Parameters<typeof net.command>[0]) {
|
||||
if (local.active) local.command(command);
|
||||
@@ -854,6 +861,7 @@
|
||||
attachedMods = attachedMods.some((m) => m.instanceId === card.instanceId)
|
||||
? attachedMods.filter((m) => m.instanceId !== card.instanceId)
|
||||
: [...attachedMods, card];
|
||||
wbDamage = numberTotal;
|
||||
return;
|
||||
}
|
||||
if (selectedCard?.instanceId === card.instanceId) {
|
||||
@@ -1372,7 +1380,8 @@
|
||||
};
|
||||
withMods(cmd);
|
||||
if (selectedCard.cardId === "waterbolt") {
|
||||
cmd.params = { damage: wbDamage, knockback: numberTotal - wbDamage };
|
||||
const damage = Math.min(Math.max(0, wbDamage), numberTotal);
|
||||
cmd.params = { damage, knockback: numberTotal - damage };
|
||||
}
|
||||
if (NAMED_CARDS.has(selectedCard.cardId)) {
|
||||
const id = nameToCardId(nameInput);
|
||||
|
||||
Reference in New Issue
Block a user