The static server sent no Cache-Control at all, so browsers heuristically cached index.html — and a stale index.html pins its user to last deploy's hashed assets no matter how often they reload. That is how "watch the whole game" could show someone an app without the feature minutes after it shipped. Hashed assets now cache forever (immutable); everything else revalidates. And per playtesting: a finished game offers no actions — isYourTurn now requires the playing phase, which retires the pick-up/drop/punch/ discard/end-turn row the moment the trophy drops. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
283 lines
20 KiB
YAML
283 lines
20 KiB
YAML
- generic [ref=f6e3]:
|
|
- banner [ref=f6e4]:
|
|
- generic [ref=f6e5]: Wiz-War
|
|
- generic [ref=f6e6]: sixth edition
|
|
- generic [ref=f6e7]: room R9E8
|
|
- button "transfer seat" [ref=f6e8] [cursor=pointer]
|
|
- button "leave table" [ref=f6e9] [cursor=pointer]
|
|
- button "help & rules" [ref=f6e10] [cursor=pointer]
|
|
- generic [ref=f6e17]:
|
|
- img [ref=f6e19]:
|
|
- button [ref=f6e20] [cursor=pointer]
|
|
- button [ref=f6e21] [cursor=pointer]
|
|
- button [ref=f6e22] [cursor=pointer]
|
|
- button [ref=f6e23] [cursor=pointer]
|
|
- button [ref=f6e24] [cursor=pointer]
|
|
- button [ref=f6e25] [cursor=pointer]
|
|
- button [ref=f6e26] [cursor=pointer]
|
|
- button [ref=f6e27] [cursor=pointer]
|
|
- button [ref=f6e28] [cursor=pointer]
|
|
- button [ref=f6e29] [cursor=pointer]
|
|
- button [ref=f6e30] [cursor=pointer]
|
|
- button [ref=f6e31] [cursor=pointer]
|
|
- button [ref=f6e32] [cursor=pointer]
|
|
- button [ref=f6e33] [cursor=pointer]
|
|
- button [ref=f6e34] [cursor=pointer]
|
|
- button [ref=f6e35] [cursor=pointer]
|
|
- button [ref=f6e36] [cursor=pointer]
|
|
- button [ref=f6e37] [cursor=pointer]
|
|
- button [ref=f6e38] [cursor=pointer]
|
|
- button [ref=f6e39] [cursor=pointer]
|
|
- button [ref=f6e40] [cursor=pointer]
|
|
- button [ref=f6e41] [cursor=pointer]
|
|
- button [ref=f6e42] [cursor=pointer]
|
|
- button [ref=f6e43] [cursor=pointer]
|
|
- button [ref=f6e44] [cursor=pointer]
|
|
- button [ref=f6e45] [cursor=pointer]
|
|
- button [ref=f6e46] [cursor=pointer]
|
|
- button [ref=f6e47] [cursor=pointer]
|
|
- button [ref=f6e48] [cursor=pointer]
|
|
- button [ref=f6e49] [cursor=pointer]
|
|
- button [ref=f6e50] [cursor=pointer]
|
|
- button [ref=f6e51] [cursor=pointer]
|
|
- button [ref=f6e52] [cursor=pointer]
|
|
- button [ref=f6e53] [cursor=pointer]
|
|
- button [ref=f6e54] [cursor=pointer]
|
|
- button [ref=f6e55] [cursor=pointer]
|
|
- button [ref=f6e56] [cursor=pointer]
|
|
- button [ref=f6e57] [cursor=pointer]
|
|
- button [ref=f6e58] [cursor=pointer]
|
|
- button [ref=f6e59] [cursor=pointer]
|
|
- button [ref=f6e60] [cursor=pointer]
|
|
- button [ref=f6e61] [cursor=pointer]
|
|
- button [ref=f6e62] [cursor=pointer]
|
|
- button [ref=f6e63] [cursor=pointer]
|
|
- button [ref=f6e64] [cursor=pointer]
|
|
- button [ref=f6e65] [cursor=pointer]
|
|
- button [ref=f6e66] [cursor=pointer]
|
|
- button [ref=f6e67] [cursor=pointer]
|
|
- button [ref=f6e68] [cursor=pointer]
|
|
- button [ref=f6e69] [cursor=pointer]
|
|
- button "↑ A" [ref=f6e131] [cursor=pointer]:
|
|
- generic: ↑
|
|
- generic: A
|
|
- button "↓ A" [ref=f6e133] [cursor=pointer]:
|
|
- generic: ↓
|
|
- generic: A
|
|
- button "← B" [ref=f6e135] [cursor=pointer]:
|
|
- generic: ←
|
|
- generic: B
|
|
- button "→ B" [ref=f6e137] [cursor=pointer]:
|
|
- generic: →
|
|
- generic: B
|
|
- button "→ C" [ref=f6e139] [cursor=pointer]:
|
|
- generic: →
|
|
- generic: C
|
|
- button "← C" [ref=f6e141] [cursor=pointer]:
|
|
- generic: ←
|
|
- generic: C
|
|
- button [ref=f6e143] [cursor=pointer]
|
|
- complementary [ref=f6e145]:
|
|
- generic [ref=f6e146]:
|
|
- text: You missed 94 moves.
|
|
- button "▶ Watch what happened" [ref=f6e147] [cursor=pointer]
|
|
- button "skip" [ref=f6e148] [cursor=pointer]
|
|
- generic [ref=f6e149]: 🏆 alice wins!
|
|
- generic [ref=f6e150]:
|
|
- generic [ref=f6e151]: life-points
|
|
- generic [ref=f6e152]:
|
|
- generic [ref=f6e154]: alice (you)
|
|
- generic [ref=f6e155]: "1"
|
|
- generic [ref=f6e156]: 14 cards
|
|
- generic [ref=f6e157]:
|
|
- generic [ref=f6e159]: bob
|
|
- generic [ref=f6e160]: "0"
|
|
- generic [ref=f6e161]: 0 cards
|
|
- generic [ref=f6e162]:
|
|
- text: draw pile 111 ·
|
|
- button "discards 0" [ref=f6e163] [cursor=pointer]
|
|
- generic "game log" [ref=f6e164]:
|
|
- generic [ref=f6e165]: — alice's turn (round 7) —
|
|
- generic [ref=f6e166]: alice punches bob!
|
|
- generic [ref=f6e167]: bob takes 1 damage (punch from alice) — 9 life left.
|
|
- generic [ref=f6e168]: — bob's turn (round 8) —
|
|
- generic [ref=f6e169]: bob punches alice!
|
|
- generic [ref=f6e170]: alice takes 1 damage (punch from bob) — 9 life left.
|
|
- generic [ref=f6e171]: — alice's turn (round 8) —
|
|
- generic [ref=f6e172]: alice punches bob!
|
|
- generic [ref=f6e173]: bob takes 1 damage (punch from alice) — 8 life left.
|
|
- generic [ref=f6e174]: — bob's turn (round 9) —
|
|
- generic [ref=f6e175]: bob punches alice!
|
|
- generic [ref=f6e176]: alice takes 1 damage (punch from bob) — 8 life left.
|
|
- generic [ref=f6e177]: — alice's turn (round 9) —
|
|
- generic [ref=f6e178]: alice punches bob!
|
|
- generic [ref=f6e179]: bob takes 1 damage (punch from alice) — 7 life left.
|
|
- generic [ref=f6e180]: — bob's turn (round 10) —
|
|
- generic [ref=f6e181]: bob punches alice!
|
|
- generic [ref=f6e182]: alice takes 1 damage (punch from bob) — 7 life left.
|
|
- generic [ref=f6e183]: — alice's turn (round 10) —
|
|
- generic [ref=f6e184]: alice punches bob!
|
|
- generic [ref=f6e185]: bob takes 1 damage (punch from alice) — 6 life left.
|
|
- generic [ref=f6e186]: — bob's turn (round 11) —
|
|
- generic [ref=f6e187]: bob punches alice!
|
|
- generic [ref=f6e188]: alice takes 1 damage (punch from bob) — 6 life left.
|
|
- generic [ref=f6e189]: — alice's turn (round 11) —
|
|
- generic [ref=f6e190]: alice punches bob!
|
|
- generic [ref=f6e191]: bob takes 1 damage (punch from alice) — 5 life left.
|
|
- generic [ref=f6e192]: — bob's turn (round 12) —
|
|
- generic [ref=f6e193]: bob punches alice!
|
|
- generic [ref=f6e194]: alice takes 1 damage (punch from bob) — 5 life left.
|
|
- generic [ref=f6e195]: — alice's turn (round 12) —
|
|
- generic [ref=f6e196]: alice punches bob!
|
|
- generic [ref=f6e197]: bob takes 1 damage (punch from alice) — 4 life left.
|
|
- generic [ref=f6e198]: — bob's turn (round 13) —
|
|
- generic [ref=f6e199]: bob punches alice!
|
|
- generic [ref=f6e200]: alice takes 1 damage (punch from bob) — 4 life left.
|
|
- generic [ref=f6e201]: — alice's turn (round 13) —
|
|
- generic [ref=f6e202]: alice punches bob!
|
|
- generic [ref=f6e203]: bob takes 1 damage (punch from alice) — 3 life left.
|
|
- generic [ref=f6e204]: — bob's turn (round 14) —
|
|
- generic [ref=f6e205]: bob punches alice!
|
|
- generic [ref=f6e206]: alice takes 1 damage (punch from bob) — 3 life left.
|
|
- generic [ref=f6e207]: — alice's turn (round 14) —
|
|
- generic [ref=f6e208]: alice punches bob!
|
|
- generic [ref=f6e209]: bob takes 1 damage (punch from alice) — 2 life left.
|
|
- generic [ref=f6e210]: — bob's turn (round 15) —
|
|
- generic [ref=f6e211]: bob punches alice!
|
|
- generic [ref=f6e212]: alice takes 1 damage (punch from bob) — 2 life left.
|
|
- generic [ref=f6e213]: — alice's turn (round 15) —
|
|
- generic [ref=f6e214]: alice punches bob!
|
|
- generic [ref=f6e215]: bob takes 1 damage (punch from alice) — 1 life left.
|
|
- generic [ref=f6e216]: — bob's turn (round 16) —
|
|
- generic [ref=f6e217]: bob punches alice!
|
|
- generic [ref=f6e218]: alice takes 1 damage (punch from bob) — 1 life left.
|
|
- generic [ref=f6e219]: — alice's turn (round 16) —
|
|
- generic [ref=f6e220]: alice punches bob!
|
|
- generic [ref=f6e221]: bob takes 1 damage (punch from alice) — 0 life left.
|
|
- generic [ref=f6e222]: ☠ bob is dead — killed by alice.
|
|
- generic [ref=f6e223]: alice takes 7 cards from bob's body.
|
|
- generic [ref=f6e224]: 🏆 alice WINS — last wizard standing!
|
|
- generic [ref=f6e225]:
|
|
- generic [ref=f6e226]: Hand over the limit — mark cards and discard.
|
|
- generic [ref=f6e228]:
|
|
- button "Pick up treasure" [disabled] [ref=f6e229]
|
|
- button "Drop treasure" [disabled] [ref=f6e230]
|
|
- button "Punch a wall…" [disabled] [ref=f6e231]
|
|
- button "Discard cards…" [ref=f6e232] [cursor=pointer]
|
|
- generic [ref=f6e233]:
|
|
- text: draw
|
|
- combobox "draw" [ref=f6e234]:
|
|
- option "0"
|
|
- option "1"
|
|
- option "2" [selected]
|
|
- button "End turn" [ref=f6e235] [cursor=pointer]
|
|
- generic "all hands revealed" [ref=f6e236]:
|
|
- generic [ref=f6e237]:
|
|
- text: The hands, face-up
|
|
- button "⟲ Watch the whole game" [ref=f6e238] [cursor=pointer]
|
|
- generic [ref=f6e239]:
|
|
- generic [ref=f6e240]: 🏆 alice
|
|
- generic [ref=f6e241]:
|
|
- button "NEUTRAL ADJACENT Pick Lock Unlock any door (but the door will relock behind you). Can only use when adjacent to door. You may \"hold the door open\" for others, if you wish. This is not a spell." [ref=f6e242] [cursor=pointer]:
|
|
- generic [ref=f6e243]: NEUTRAL
|
|
- generic [ref=f6e244]: ADJACENT
|
|
- generic [ref=f6e245]: Pick Lock
|
|
- generic [ref=f6e246]: Unlock any door (but the door will relock behind you). Can only use when adjacent to door. You may "hold the door open" for others, if you wish. This is not a spell.
|
|
- button "NEUTRAL L.O.S. Remove Lock Permanently removes lock from any one door. Must be adjacent to door to use. Door is still considered to block L.O.S." [ref=f6e247] [cursor=pointer]:
|
|
- generic [ref=f6e248]: NEUTRAL
|
|
- generic [ref=f6e249]: L.O.S.
|
|
- generic [ref=f6e250]: Remove Lock
|
|
- generic [ref=f6e251]: Permanently removes lock from any one door. Must be adjacent to door to use. Door is still considered to block L.O.S.
|
|
- button "ATTACK L.O.S. Fireball Does five points of magical damage and destroys all magical stones an opponent is carrying, if any of the points get through." [ref=f6e252] [cursor=pointer]:
|
|
- generic [ref=f6e253]: ATTACK
|
|
- generic [ref=f6e254]: L.O.S.
|
|
- generic [ref=f6e255]: Fireball
|
|
- generic [ref=f6e256]: Does five points of magical damage and destroys all magical stones an opponent is carrying, if any of the points get through.
|
|
- button "ATTACK L.O.S. Power Drain Drain points from an opponent and add them to your own points. Amount equals NUMBER card played." [ref=f6e257] [cursor=pointer]:
|
|
- generic [ref=f6e258]: ATTACK
|
|
- generic [ref=f6e259]: L.O.S.
|
|
- generic [ref=f6e260]: Power Drain
|
|
- generic [ref=f6e261]: Drain points from an opponent and add them to your own points. Amount equals NUMBER card played.
|
|
- button "COUNTERACTION Reflection A spell cast against you works 50% for both parties. Only works on point-based or duration-based spells. Round fractions up. A single lost turn, then, divided and rounded up, is a lost turn for both players." [ref=f6e262] [cursor=pointer]:
|
|
- generic [ref=f6e263]: COUNTERACTION
|
|
- generic [ref=f6e264]: Reflection
|
|
- generic [ref=f6e265]: A spell cast against you works 50% for both parties. Only works on point-based or duration-based spells. Round fractions up. A single lost turn, then, divided and rounded up, is a lost turn for both players.
|
|
- button "4 4 Wiz-War 4" [ref=f6e266] [cursor=pointer]:
|
|
- generic [ref=f6e267]: "4"
|
|
- generic [ref=f6e268]: "4"
|
|
- generic [ref=f6e269]: Wiz-War
|
|
- generic [ref=f6e270]: "4"
|
|
- button "NEUTRAL/COUNTERACTION Reuse Spell You may retrieve any spell you use immediately after you use it (but not the NUMBER card, if used). You may reuse your retrieved spell immediately if you wish (except when it is an ATTACK)." [ref=f6e271] [cursor=pointer]:
|
|
- generic [ref=f6e272]: NEUTRAL/COUNTERACTION
|
|
- generic [ref=f6e273]: Reuse Spell
|
|
- generic [ref=f6e274]: You may retrieve any spell you use immediately after you use it (but not the NUMBER card, if used). You may reuse your retrieved spell immediately if you wish (except when it is an ATTACK).
|
|
- button "ATTACK L.O.S. Powerthrust A telekinetic blow that does magical damage equal to two points plus an (optional) accompanying NUMBER card." [ref=f6e275] [cursor=pointer]:
|
|
- generic [ref=f6e276]: ATTACK
|
|
- generic [ref=f6e277]: L.O.S.
|
|
- generic [ref=f6e278]: Powerthrust
|
|
- generic [ref=f6e279]: A telekinetic blow that does magical damage equal to two points plus an (optional) accompanying NUMBER card.
|
|
- button "NEUTRAL Amplify Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together." [ref=f6e280] [cursor=pointer]:
|
|
- generic [ref=f6e281]: NEUTRAL
|
|
- generic [ref=f6e282]: Amplify
|
|
- generic [ref=f6e283]: Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together.
|
|
- button "ATTACK L.O.S. Sudden Death Does ten points of magical damage to any person or object." [ref=f6e284] [cursor=pointer]:
|
|
- generic [ref=f6e285]: ATTACK
|
|
- generic [ref=f6e286]: L.O.S.
|
|
- generic [ref=f6e287]: Sudden Death
|
|
- generic [ref=f6e288]: Does ten points of magical damage to any person or object.
|
|
- button "NEUTRAL Amplify Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together." [ref=f6e289] [cursor=pointer]:
|
|
- generic [ref=f6e290]: NEUTRAL
|
|
- generic [ref=f6e291]: Amplify
|
|
- generic [ref=f6e292]: Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together.
|
|
- button "COUNTERACTION Absorb Spell You can nullify and take into your hand one spell used directly against you. Does not include NUMBER cards. Will work on other COUNTERACTIONS. REFLECTION, FULL REFLECTION, FULL SHIELD have no effect on this card." [ref=f6e293] [cursor=pointer]:
|
|
- generic [ref=f6e294]: COUNTERACTION
|
|
- generic [ref=f6e295]: Absorb Spell
|
|
- generic [ref=f6e296]: You can nullify and take into your hand one spell used directly against you. Does not include NUMBER cards. Will work on other COUNTERACTIONS. REFLECTION, FULL REFLECTION, FULL SHIELD have no effect on this card.
|
|
- button "ATTACK L.O.S. Lightning Blast Does magical damage equal to the accompanying NUMBER card, and stuns. Opponent loses one turn while recovering from electrified senses. If all damage gets counteracted, opponent does not lose turn." [ref=f6e297] [cursor=pointer]:
|
|
- generic [ref=f6e298]: ATTACK
|
|
- generic [ref=f6e299]: L.O.S.
|
|
- generic [ref=f6e300]: Lightning Blast
|
|
- generic [ref=f6e301]: Does magical damage equal to the accompanying NUMBER card, and stuns. Opponent loses one turn while recovering from electrified senses. If all damage gets counteracted, opponent does not lose turn.
|
|
- button "ATTACK ADJACENT Wizardblade Does magical damage equal to the NUMBER card played. Does NO damage without a NUMBER card. Must be on same square as opponent to attack. If target fills an entire square, you must be in an adjacent square to use. This card is permanent. Display when used." [ref=f6e302] [cursor=pointer]:
|
|
- generic [ref=f6e303]: ATTACK
|
|
- generic [ref=f6e304]: ADJACENT
|
|
- generic [ref=f6e305]: Wizardblade
|
|
- generic [ref=f6e306]: Does magical damage equal to the NUMBER card played. Does NO damage without a NUMBER card. Must be on same square as opponent to attack. If target fills an entire square, you must be in an adjacent square to use. This card is permanent. Display when used.
|
|
- generic [ref=f6e307]:
|
|
- generic [ref=f6e308]:
|
|
- text: bob
|
|
- generic [ref=f6e309]: as they fell
|
|
- generic [ref=f6e310]:
|
|
- button "ATTACK L.O.S. Powerthrust A telekinetic blow that does magical damage equal to two points plus an (optional) accompanying NUMBER card." [ref=f6e311] [cursor=pointer]:
|
|
- generic [ref=f6e312]: ATTACK
|
|
- generic [ref=f6e313]: L.O.S.
|
|
- generic [ref=f6e314]: Powerthrust
|
|
- generic [ref=f6e315]: A telekinetic blow that does magical damage equal to two points plus an (optional) accompanying NUMBER card.
|
|
- button "NEUTRAL Amplify Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together." [ref=f6e316] [cursor=pointer]:
|
|
- generic [ref=f6e317]: NEUTRAL
|
|
- generic [ref=f6e318]: Amplify
|
|
- generic [ref=f6e319]: Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together.
|
|
- button "ATTACK L.O.S. Sudden Death Does ten points of magical damage to any person or object." [ref=f6e320] [cursor=pointer]:
|
|
- generic [ref=f6e321]: ATTACK
|
|
- generic [ref=f6e322]: L.O.S.
|
|
- generic [ref=f6e323]: Sudden Death
|
|
- generic [ref=f6e324]: Does ten points of magical damage to any person or object.
|
|
- button "NEUTRAL Amplify Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together." [ref=f6e325] [cursor=pointer]:
|
|
- generic [ref=f6e326]: NEUTRAL
|
|
- generic [ref=f6e327]: Amplify
|
|
- generic [ref=f6e328]: Doubles spell power of one point-based or duration-based spell. Two AMPLIFY spells quadruple spell power when used together.
|
|
- button "COUNTERACTION Absorb Spell You can nullify and take into your hand one spell used directly against you. Does not include NUMBER cards. Will work on other COUNTERACTIONS. REFLECTION, FULL REFLECTION, FULL SHIELD have no effect on this card." [ref=f6e329] [cursor=pointer]:
|
|
- generic [ref=f6e330]: COUNTERACTION
|
|
- generic [ref=f6e331]: Absorb Spell
|
|
- generic [ref=f6e332]: You can nullify and take into your hand one spell used directly against you. Does not include NUMBER cards. Will work on other COUNTERACTIONS. REFLECTION, FULL REFLECTION, FULL SHIELD have no effect on this card.
|
|
- button "ATTACK L.O.S. Lightning Blast Does magical damage equal to the accompanying NUMBER card, and stuns. Opponent loses one turn while recovering from electrified senses. If all damage gets counteracted, opponent does not lose turn." [ref=f6e333] [cursor=pointer]:
|
|
- generic [ref=f6e334]: ATTACK
|
|
- generic [ref=f6e335]: L.O.S.
|
|
- generic [ref=f6e336]: Lightning Blast
|
|
- generic [ref=f6e337]: Does magical damage equal to the accompanying NUMBER card, and stuns. Opponent loses one turn while recovering from electrified senses. If all damage gets counteracted, opponent does not lose turn.
|
|
- button "ATTACK ADJACENT Wizardblade Does magical damage equal to the NUMBER card played. Does NO damage without a NUMBER card. Must be on same square as opponent to attack. If target fills an entire square, you must be in an adjacent square to use. This card is permanent. Display when used." [ref=f6e338] [cursor=pointer]:
|
|
- generic [ref=f6e339]: ATTACK
|
|
- generic [ref=f6e340]: ADJACENT
|
|
- generic [ref=f6e341]: Wizardblade
|
|
- generic [ref=f6e342]: Does magical damage equal to the NUMBER card played. Does NO damage without a NUMBER card. Must be on same square as opponent to attack. If target fills an entire square, you must be in an adjacent square to use. This card is permanent. Display when used.
|
|
- generic "your hand" [ref=f6e343] |