Guard jerkins: leather-only city kit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4abf165857
commit
54f703341e
3 changed files with 56 additions and 12 deletions
|
|
@ -244,7 +244,7 @@ function replayBattle(id) {
|
|||
// strong as its share of the total. Theirs: the raiders' strength split into bands, or the one dragon.
|
||||
// `every` is how often each swings, in seconds of the replay; walls and the ram only take blows.
|
||||
const SQUADS = [
|
||||
{ id: "guards", parts: ["militia", "weapons", "shields"], name: "Guards", glyph: "swordman", dmg: "slash", every: 2 },
|
||||
{ id: "guards", parts: ["militia", "weapons", "shields", "jerkins"], name: "Guards", glyph: "swordman", dmg: "slash", every: 2 },
|
||||
{ id: "archers", parts: ["arrows"], name: "Archers", glyph: "bow-arrow", dmg: "pierce", every: 1.8 },
|
||||
{ id: "walls", parts: ["walls"], name: "Walls", glyph: "stone-wall", dmg: "blunt", still: true },
|
||||
{ id: "folk", parts: ["townsfolk", "drilled", "rallied"], name: "Townsfolk", glyph: "farmer", dmg: "blunt", every: 2.8 },
|
||||
|
|
@ -1689,7 +1689,8 @@ function itemStats(id) {
|
|||
const st = C.styles[it.style], trade = Object.entries(C.class_style).find(([, s]) => s === it.style)?.[0];
|
||||
parts.push(`${it.two_handed ? "two-handed " : ""}${st.name}, ${st.interval}s${trade ? ` (${C.classes[trade].name.toLowerCase()})` : ""}`);
|
||||
}
|
||||
if (it.armour || it.ward) parts.push(gearStats({ ...it, power: 0 }));
|
||||
if (it.kit) parts.push(`+${Math.round(it.armour * C.jerkin_defence * 10) / 10} city defence per paid guard`);
|
||||
else if (it.armour || it.ward) parts.push(gearStats({ ...it, power: 0 }));
|
||||
if (it.reagent) parts.push(it.reagent === "jewel" ? "Reagent for jewellery" : `Reagent for ${C.weights[it.reagent].name.toLowerCase()} armour`);
|
||||
if (it.jewel && !["power", "ward"].includes(it.jewel)) parts.push(jewelText(it));
|
||||
if (it.tool || it.station) parts.push(`${Math.round(it.speed * 100)}% faster ${skillOf(it.tool || it.station).name.toLowerCase()}`);
|
||||
|
|
@ -2250,7 +2251,7 @@ function favourSpends() {
|
|||
|
||||
function raidPrep(ev) {
|
||||
const city = S.city, me = S.me, d = city.defence;
|
||||
const names = { mercenaries: "Hired sellswords", ward: "Divine ward (temple)", rallied: "Rallied militia (favour)", drilled: "Drilled militia", townsfolk: "Townsfolk with pitchforks", walls: "Walls", militia: "Paid guards (barracks)", weapons: "Swords the guards hold", shields: "Shields the guards hold", arrows: "Arrows", garrison: "Garrison" };
|
||||
const names = { mercenaries: "Hired sellswords", ward: "Divine ward (temple)", rallied: "Rallied militia (favour)", drilled: "Drilled militia", townsfolk: "Townsfolk with pitchforks", walls: "Walls", militia: "Paid guards (barracks)", weapons: "Swords the guards hold", shields: "Shields the guards hold", jerkins: "Jerkins the guards wear", arrows: "Arrows", garrison: "Garrison" };
|
||||
const full = d.posts * d.wage, owed = Math.max(0, full - d.wages);
|
||||
const reqs = (ev.requests || []).map((r) => {
|
||||
const mine = me.bank[r.item] || 0;
|
||||
|
|
@ -2267,7 +2268,7 @@ function raidPrep(ev) {
|
|||
<div class="btns" style="margin-top:8px">
|
||||
<button class="btn sm gold" data-wages="bank" ${!owed || !me.gold ? "disabled" : ""}>Pay ${COIN} ${fmt(Math.min(owed, me.gold))}</button>
|
||||
<button class="btn sm" data-wages="city" ${!owed || city.treasury < 1 ? "disabled" : ""}>From the treasury (${fmt(city.treasury)})</button></div>
|
||||
<p class="small muted">Only paid guards stand, and only they hold the armoury's swords and shields. Paying earns favour.</p>
|
||||
<p class="small muted">Only paid guards stand, and only they get the armoury's swords, shields and jerkins. Paying earns favour.</p>
|
||||
<h2 style="margin-top:16px">Defence</h2>
|
||||
<table class="parts">${Object.entries(d.parts).filter(([k, v]) => k !== "rallied" || v).map(([k, v]) => `<tr><td>${names[k]}</td><td>${fmt(v)}</td></tr>`).join("")}
|
||||
${d.starving ? `<tr><td class="bad">Hungry (×0.8)</td><td></td></tr>` : ""}</table>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue