1592 lines
100 KiB
JavaScript
1592 lines
100 KiB
JavaScript
// Master of Vega — canned diplomacy chat lines for the full-screen Audience
|
|
// interface. Unlike Civilization's shared generic pools, EVERY pool here is
|
|
// keyed by species id first: each of the nine diplomacy-capable species has
|
|
// its own full situation set, written in that species' voice (drawn from its
|
|
// `desc`/`strengths`/`weaknesses`/`traits.diplomacy` in mastervega-rules.json).
|
|
// Lithox (diplomacy -100) is diplomacy-incapable — canNegotiate() is
|
|
// permanently false for them, so the Audience screen never opens for that
|
|
// species; they get one small `contactOnly` pool used only by the ordinary
|
|
// turn-report line, never by a chat window.
|
|
//
|
|
// pickLine() is identical to CivilizationChat.js's — a random variant with
|
|
// {token} substitution. Tokens in use here:
|
|
// {you} — the human empire's display name
|
|
// {me} — this species' empire name
|
|
// {tech} — a technology name, for the tech-trade situations
|
|
// Resolved (already-substituted) text is what VegaAudience.js pushes into
|
|
// state.chatLog, not the templates.
|
|
//
|
|
// Situation keys, all present for every diplomacy-capable species:
|
|
// opener: { angry, neutral, happy } — shown whenever an Audience screen
|
|
// opens and it is NOT the very first time this species has been met.
|
|
// firstContact — used once, only by the turn-loop's auto-open on the
|
|
// turn contact is made; never shown again after that.
|
|
// proposePeace / proposeAlliance / declareWar / tradeTechOffer — the
|
|
// PLAYER's own line, spoken in a register appropriate to who they are
|
|
// addressing (blunter with Ursaal, more formal with Kestrelli, etc.).
|
|
// replyPeaceAccept / replyPeaceReject / replyAllianceAccept /
|
|
// replyAllianceReject / replyTechAccept / replyTechReject — this
|
|
// species' reaction to something the PLAYER proposed.
|
|
// replyWarDeclared — this species' reaction to the PLAYER declaring war
|
|
// on them.
|
|
// offerPeaceOpener / offerAllianceOpener — this species' own opening line
|
|
// when THEY are the one proposing (the pending-offer flow: the player
|
|
// sees this line, then Accept/Reject).
|
|
// acceptOffer / rejectOffer — the PLAYER's line when answering a pending
|
|
// offer from this species.
|
|
// afterAccepted / afterRejected — this species' reaction to the player's
|
|
// answer to their own offer.
|
|
//
|
|
// Additionally, three pure-flavor "conversation" topics, present for every
|
|
// diplomacy-capable species, with ZERO effect on attitude — gating lives in
|
|
// VegaAudience.js's renderButtons(), not here:
|
|
// askPeople / peopleLore — button "Their People": unlocks at neutral or
|
|
// better (videoMood !== 'angry'). History/culture/self-image.
|
|
// askHomeworld / homeworldLore — button "Their Homeworld": unlocks only at
|
|
// friendly (videoMood === 'happy'). The home planet/environment and what
|
|
// it shaped in the species' culture.
|
|
// askStory / storyLore — button "A Story": unlocks only at friendly.
|
|
// A short myth, legend, folk tale or historical anecdote in the
|
|
// species' own voice — the direct "fantasy story elements" ask.
|
|
// askPeople/askHomeworld/askStory need only 2 variants like every other
|
|
// player-line pool; peopleLore/homeworldLore/storyLore get 3 — players may
|
|
// revisit these buttons, and a repeat is far more noticeable in a long
|
|
// passage than in a one-line treaty reply.
|
|
//
|
|
// Every species' `homeworld` in mastervega-rules.json is tagged "terran"
|
|
// except Ssakar (jungle) and Lithox (barren) — a mechanical bucket
|
|
// (`_speciesReadme`: renamed MOO1 races), NOT a narrative claim the worlds
|
|
// are alike. homeworldLore must NOT imply a shared origin/common cradle
|
|
// across species (a hive-mind, a shapeshifter collective and a vast psychic
|
|
// intellect sharing a cradle reads as an unearned coincidence). Each
|
|
// species' homeworld passage describes its own world's distinct character
|
|
// within the "terran" bucket instead — cliff-aerie mountains for Kestrelli,
|
|
// a paved-over hive-world for Kkrix, a mist-shrouded world for Umbrix, and
|
|
// so on.
|
|
|
|
export function pickLine(pool, vars = {}) {
|
|
if (!pool?.length) return '';
|
|
const t = pool[Math.floor(Math.random() * pool.length)];
|
|
return t.replace(/\{(\w+)\}/g, (_, k) => (vars[k] !== undefined ? vars[k] : `{${k}}`));
|
|
}
|
|
|
|
export const CHAT = {
|
|
// ------------------------------------------------------------------
|
|
// Human (diplomacy 40) — "Traders and talkers." Warm, transactional,
|
|
// always framing things in terms of mutual benefit.
|
|
human: {
|
|
opener: {
|
|
angry: [
|
|
'Let\'s not pretend this is a social call, {me}. What will it take to fix this?',
|
|
'I know where we stand, {me}. I\'m still willing to talk numbers if you are.',
|
|
],
|
|
neutral: [
|
|
'Good to see you, {me}. Let\'s find something that works for both of us.',
|
|
'Straight to business, {me} — what can we arrange today?',
|
|
],
|
|
happy: [
|
|
'Always a pleasure to talk terms with your people, {me}. Numbers make friends easier than speeches do.',
|
|
'Every meeting with you turns a profit one way or another, {me}. What have you got?',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'First contact, {me} — and already I\'m thinking about what we can trade.',
|
|
'Well met, {me}. Humanity has never met a neighbor it couldn\'t do business with.',
|
|
],
|
|
proposePeace: [
|
|
'This war is bad for business on both sides, {me}. Let\'s call it even and move on.',
|
|
'No one profits from a battlefield, {me}. I\'m offering peace, plainly.',
|
|
],
|
|
proposeAlliance: [
|
|
'An alliance benefits us both, {me} — and I do mean "benefits" literally.',
|
|
'Let\'s make it official, {me}. Our fleets, your borders, everybody sleeps easier.',
|
|
],
|
|
declareWar: [
|
|
'I\'ve run the numbers, {me}, and war comes out ahead this time. Nothing personal.',
|
|
'This is a business decision, {me}. Consider it declared.',
|
|
],
|
|
tradeTechOffer: [
|
|
'I have something you want, {me}, and I suspect you have something I want. Let\'s trade.',
|
|
'A fair exchange of technology, {me} — good for your labs, good for mine.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Smart. I\'ll have the paperwork drawn up before you change your mind, {you}.',
|
|
'Agreed, {you} — peace is good business.',
|
|
],
|
|
replyPeaceReject: [
|
|
'Not yet, {you}. Come back when the numbers favor me less obviously.',
|
|
'I\'ll pass for now, {you}. Ask again when this war has cost you more.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Deal, {you}. Welcome to the ledger.',
|
|
'I like the terms, {you}. Let\'s make it official.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Not yet, {you} — I don\'t sign anything I haven\'t priced out fully.',
|
|
'Ask me again once I trust the exchange rate, {you}.',
|
|
],
|
|
replyWarDeclared: [
|
|
'Bold move, {you}. I hope you costed this out better than it looks.',
|
|
'Fine, {you} — war it is. I\'ll send you an invoice when it\'s over.',
|
|
],
|
|
replyTechAccept: [
|
|
'Now that\'s a trade I can live with, {you}.',
|
|
'Pleasure doing business, {you}. Everybody walks away richer.',
|
|
],
|
|
replyTechReject: [
|
|
'Not a fair split, {you}. Bring me a better offer.',
|
|
'I\'ll pass, {you} — that trade favors you a little too much.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'Let\'s be practical, {you}. This war is costing us both — I\'m offering to end it.',
|
|
'I\'m proposing peace, {you}. Purely a matter of the numbers.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'I think it\'s time we made this official, {you}. An alliance, on fair terms.',
|
|
'You\'ve proven a reliable neighbor, {you}. Let\'s formalize it.',
|
|
],
|
|
acceptOffer: [
|
|
'Good numbers. I accept, {me}.',
|
|
'That works for me, {me} — agreed.',
|
|
],
|
|
rejectOffer: [
|
|
'Not this time, {me}. The terms don\'t add up.',
|
|
'I\'ll have to decline, {me}.',
|
|
],
|
|
afterAccepted: [
|
|
'A pleasure doing business with you, {you}.',
|
|
'Good. I\'ll hold up my end, {you}.',
|
|
],
|
|
afterRejected: [
|
|
'Your loss, {you}. The offer won\'t stay on the table forever.',
|
|
'Suit yourself, {you}. I\'ll remember this.',
|
|
],
|
|
giftOffer: [
|
|
'A gesture of goodwill, {me} — nothing owed, just good business in the long run.',
|
|
'Consider this a down payment on a better relationship, {me}.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Now that\'s how you open a negotiation, {you}. Noted, and appreciated.',
|
|
'Generous, {you} — and generosity, in my experience, is rarely wasted on me.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Appreciated, {you}. It won\'t buy everything, but it\'s a start.',
|
|
'Noted, {you}. Small gestures add up eventually.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'Let\'s put this on a proper footing, {me} — a standing trade agreement, good for both ledgers.',
|
|
'I\'m proposing something ongoing, {me}: a trade agreement, not just a one-time deal.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Now we\'re talking, {you}. I\'ll have my people draw up the terms.',
|
|
'Agreed, {you} — a standing arrangement suits me fine.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Not yet, {you}. I don\'t open a ledger I don\'t trust.',
|
|
'I\'ll pass for now, {you}. Ask again when the numbers make more sense.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'I\'ve got a standing proposal for you, {you} — a trade agreement, ongoing, good for us both.',
|
|
'Let\'s formalize something, {you}: regular trade, on the record.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your fleet\'s been sitting over my colony a little too long, {you}. Care to explain, or just move it?',
|
|
'I\'ll be direct, {you}: that fleet parked over my world is bad for business. Move it.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Fair point, {me}. I\'ll have it moved.',
|
|
'Understood, {me} — consider it handled.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It stays, {me}. Nothing personal, just where I need it right now.',
|
|
'I hear you, {me}, but it\'s not moving yet.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Appreciated, {you}. I\'ll be watching for it.',
|
|
'Good. That\'s the kind of business I like doing, {you}.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Noted, {you}. I won\'t forget who kept me waiting.',
|
|
'Fine, {you} — but don\'t expect my patience to hold the price.',
|
|
],
|
|
askPeople: [
|
|
'Tell me about your people, {me} — where you\'ve come from, what you value. I like knowing who I\'m dealing with.',
|
|
'I\'m curious about your people, {me}. Humor me — tell me your story.',
|
|
],
|
|
peopleLore: [
|
|
'We didn\'t build an empire by staying home, {you}. Every human colony started as a bet — that the risk of the jump was worth what waited on the other side. We\'ve been striking that bet since before we had proper ships, when "trade route" meant a caravan and "foreign power" meant the next valley over. Cross the stars and the instinct doesn\'t change, only the stakes. We talk to everyone because we\'ve never met a neighbor who couldn\'t become a customer, and a customer who couldn\'t, eventually, become a friend.',
|
|
'Ask ten humans what humanity is and you\'ll get eleven answers and a counteroffer, {you}. We\'ve never agreed on much — which is probably why we got so good at negotiating. Every treaty we\'ve ever signed, with each other first, taught us the same lesson: a deal that only one side wins doesn\'t last, and a species that can\'t compromise doesn\'t either. So we compromise. Loudly, constantly, and usually for a fair price.',
|
|
'We\'re a young species by the standards out here, {you} — no hive-memory, no shared mind, not even much of a shared history most days. What we do have is a talent for finding common ground with anyone, given a table and enough time. Call it desperation dressed up as diplomacy. It\'s worked so far.',
|
|
],
|
|
askHomeworld: [
|
|
'What\'s Earth like, {me}? I\'ve always wondered what shaped a people this good at making deals.',
|
|
'Tell me about your homeworld, {me}. I\'d like to understand where all this comes from.',
|
|
],
|
|
homeworldLore: [
|
|
'Earth is a world of arguments, {you} — deserts arguing with jungles, ice arguing with ocean, a thousand little climates none of which ever agreed to share a planet gracefully. We grew up having to trade across all of it: grain for timber, salt for silk, one people\'s surplus for another\'s shortage. By the time we looked up at the stars, haggling wasn\'t a skill, it was a reflex. Turns out a world that never settled its own differences raises a species very good at settling everyone else\'s.',
|
|
'Blue, mostly, {you} — oceans covering most of it, land scattered across the rest like an afterthought. That geography made isolation impossible and cooperation mandatory long before anyone called it diplomacy; you can\'t cross an ocean alone, and you can\'t build a port without a partner on the other side. Every human institution you\'ve ever dealt with traces back to that one stubborn fact: our world made us need each other, so we learned to be needed.',
|
|
'Earth never gave us the luxury of a single culture, {you} — too many coastlines, too many mountain ranges cutting one valley off from the next. We built a thousand ways of living before we built one way of talking to each other. That\'s the real inheritance we brought to the stars: not a philosophy, but a habit. Whatever you are, wherever you\'re from, we\'ve probably already learned to trade with something like you.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story from your history, {me}. Every people has one they like to tell.',
|
|
'I\'d like to hear a legend of yours, {me} — something old, something true to your people.',
|
|
],
|
|
storyLore: [
|
|
'There\'s an old story we tell about a merchant who crossed a desert with nothing to sell but a single cracked mirror, {you}. Every town turned her away — who buys a broken mirror? — until she reached a city at war with its neighbor over a border neither side could agree on. She sold the mirror to both sides, told each it showed the border as the other side saw it, and let them argue over the reflection instead of the land. By the time they realized the trick, they\'d talked long enough to like each other better than the war. We tell it to children as a joke about a con artist. We tell it to diplomats as a lesson.',
|
|
'Ask any human sailor and they\'ll tell you some version of the same tale, {you}: a captain lost at sea, out of supplies, who finds a lighthouse keeper willing to trade a night\'s shelter for nothing but a good story. The captain tells one so well the keeper forgets to charge for the second night. Or the third. Eventually the keeper realizes she\'s been fed nothing but stories for a month and the captain never leaves — because a good story, well told, is its own kind of currency. We like to think we\'ve been proving that ever since.',
|
|
'There\'s a legend from before we had proper ships — two rival trading families who hated each other for three generations, until a famine forced them to share one working well between them. Neither would speak to the other, so they wrote their turns on stone and left it by the water. Somewhere in the arguing-by-stone-tablet, a courtship started that neither family noticed until the wedding invitations went out. We tell it as a love story. We also tell it as the first recorded trade agreement. Around here those aren\'t always different things.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Kestrelli (diplomacy 10) — "Avian aristocrats bred for flight." Elegant,
|
|
// faintly condescending, fond of flight/altitude metaphors, call the
|
|
// player "groundling" when annoyed and by title when pleased.
|
|
kestrelli: {
|
|
opener: {
|
|
angry: [
|
|
'You test our patience, groundling. Speak, and speak carefully.',
|
|
'Our talons are not idle, {you}. Choose your words as though they matter.',
|
|
],
|
|
neutral: [
|
|
'You approach at a civil altitude. State your business, groundling.',
|
|
'The Kestrelli receive you, {you}. What brings you to our aeries?',
|
|
],
|
|
happy: [
|
|
'A pleasant wind carries you to us, {you}. You are welcome at our court.',
|
|
'Few among the stars fly as gracefully in negotiation as you have, {you}.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'Another flightless people, discovered. We shall see if you are worth the sky above you, {you}.',
|
|
'The Kestrelli mark this meeting, {you}. Rise to our expectations or fall beneath our notice.',
|
|
],
|
|
proposePeace: [
|
|
'Let us fold our wings, {me}. This war profits neither aerie.',
|
|
'I offer you an end to this, {me} — one worthy of two proud peoples.',
|
|
],
|
|
proposeAlliance: [
|
|
'Fly beside us, {me}, not merely near us. I propose an alliance.',
|
|
'Our formations would fly stronger together, {me}. Consider an alliance.',
|
|
],
|
|
declareWar: [
|
|
'You fly too close to our nests, {me}. This ends in feathers and fire.',
|
|
'The Kestrelli do not warn twice, {me}. This is war.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A gift with a return expected, {me} — trade our knowledge in kind.',
|
|
'Even aristocrats barter, {me}. I offer a fair exchange of secrets.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'We accept, {you}. Even the proudest wings tire of war.',
|
|
'Very well, {you}. Let the skies between us go quiet.',
|
|
],
|
|
replyPeaceReject: [
|
|
'No, {you}. We have not yet been humbled enough to want it.',
|
|
'Our wings are not so weary as that, {you}. Ask again when they are.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Fly with us, {you}. The Kestrelli accept.',
|
|
'An honor rarely offered, {you} — and rarely refused when it is worth taking.',
|
|
],
|
|
replyAllianceReject: [
|
|
'You have not yet earned a place in our formation, {you}.',
|
|
'Prove your worth further, {you}, before you ask to fly beside us.',
|
|
],
|
|
replyWarDeclared: [
|
|
'So the groundling bares its teeth. We shall enjoy clipping them, {you}.',
|
|
'You have declared war on the sky itself, {you}. A poor wager.',
|
|
],
|
|
replyTechAccept: [
|
|
'A fair trade of feathers for feathers, {you}. Accepted.',
|
|
'Well bartered, {you}. We accept the exchange.',
|
|
],
|
|
replyTechReject: [
|
|
'You ask more than you offer, {you}. We decline.',
|
|
'A crooked trade, {you}. The Kestrelli see it plainly and refuse.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'Even we tire of this war, {you}. We offer its end.',
|
|
'The Kestrelli propose peace, {you} — take it before pride reconsiders.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'You have flown well beside us, {you}. We offer a formal alliance.',
|
|
'The aerie opens to you, {you}. Join our formation.',
|
|
],
|
|
acceptOffer: [
|
|
'Gracefully offered. I accept, {me}.',
|
|
'Well spoken. Agreed, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'Not yet, {me}. The terms fall short of your reputation.',
|
|
'I must decline, {me} — for now.',
|
|
],
|
|
afterAccepted: [
|
|
'Wisely chosen, {you}. Our formations align.',
|
|
'You fly well, {you}. This pleases the aerie.',
|
|
],
|
|
afterRejected: [
|
|
'A groundling\'s answer, {you}. We shall remember the insult.',
|
|
'Then the sky remains closed to you, {you}.',
|
|
],
|
|
giftOffer: [
|
|
'A gift, freely given, {me} — let it speak plainer than my words could.',
|
|
'I offer this without demand of return, {me}. Take it as the gesture it is.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Graciously given, {you}. The aerie takes note of such gestures.',
|
|
'You fly closer to our favor with this, {you}. Well offered.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. A small wind, but not an unwelcome one.',
|
|
'Noted, {you}. It does not go unmarked.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'Let our trade routes fly a steadier course, {me} — I propose a standing agreement.',
|
|
'Beyond a single exchange, {me}, I offer something lasting: a trade agreement between our peoples.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Agreed, {you}. Let the routes between us stay open.',
|
|
'A steady arrangement suits the aerie, {you}. Accepted.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Not yet, {you}. We do not open our routes to just any wind.',
|
|
'The aerie is not convinced, {you}. Ask again once you\'ve proven steadier.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'The aerie proposes something lasting, {you} — a standing trade agreement, not merely a single exchange.',
|
|
'Let us formalize our commerce, {you}. I offer an ongoing arrangement.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your ships circle our nest longer than courtesy allows, {you}. Explain yourself, or withdraw them.',
|
|
'A fleet that lingers over our aerie is no longer a guest, {you}. Move it.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'A fair grievance, {me}. The fleet will be recalled.',
|
|
'Understood, {me}. We did not mean to overstay our welcome.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It remains where it is, {me}, for now.',
|
|
'I hear the grievance, {me}, but the fleet does not move yet.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Good. The aerie will be watching the sky above our nest, {you}.',
|
|
'Wisely chosen, {you}. See that it is done swiftly.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Then the aerie remembers this insult, {you}.',
|
|
'Bold, to test our patience so openly, {you}. We will not forget it.',
|
|
],
|
|
askPeople: [
|
|
'Tell me of your people, {me}. I would understand what shaped a race so certain of its own altitude.',
|
|
'I\'m curious about the Kestrelli, {me} — your history, your ways. Enlighten a groundling.',
|
|
],
|
|
peopleLore: [
|
|
'We were not always aristocrats, {you} — though we have worked hard to make you forget that. Long before the aeries and the bloodlines, we were simply the ones who learned to trust the air when the ground turned against us. Height was survival before it was status; only later did we notice that the families who climbed highest, fastest, also seemed to rule longest. We have never quite let go of the lesson: distance from the ground is distance from danger, and distance from danger, held long enough, becomes distinction.',
|
|
'Kestrelli society is built on a simple, unforgiving arithmetic, {you}: those who fly best, lead. It sounds cruel until you understand it is also the fairest system we have ever devised — the sky does not care whose child you are, only whether your wings hold. Our aristocracy is not inherited so much as re-earned, generation after generation, every time a fledgling leaves the aerie and either rises or does not. We admire you groundlings for many things. Constancy of altitude is rarely one of them.',
|
|
'We do not apologize for our pride, {you}, because pride, to us, is simply an honest accounting of what flight costs. Every Kestrelli who has ever looked down on a groundling has, at some earlier point, looked up at another Kestrelli and understood exactly what that felt like. It keeps us humble in the one direction that matters and insufferable in every other. We are told this is not always charming. We have found it is rarely wrong.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your homeworld like, {me}? I\'d like to understand the sky you were bred for.',
|
|
'Tell me of the world you call home, {me}. I imagine it climbs rather than sprawls.',
|
|
],
|
|
homeworldLore: [
|
|
'Our world is a country of cliffs, {you} — vast ranges that never quite finished becoming mountains, cut through with thermal winds that never stop climbing. The aeries were built into the rock faces themselves, tier above tier, so that a Kestrelli\'s address has always doubled as their rank. We did not choose to build our society vertically. The mountains simply never gave us anywhere else to put it.',
|
|
'Picture a world where the valleys flood every season and the peaks never do, {you}, and you will understand why our ancestors stopped building on the ground entirely. What began as a flood-avoidance strategy became, over generations, an entire civilization suspended in the air — courts, markets, nurseries, all of it strung between cliff faces on wings and stubbornness. Groundlings find this impractical. We find groundlings\' tolerance for flooding equally strange.',
|
|
'Our homeworld\'s winds are famous even among species who will never feel them, {you} — steady, powerful, utterly indifferent to rank. A fledgling and a matriarch ride the same thermal the same way, or they both fall. It is, we think, the one truly democratic thing about us, and we mention it as rarely as possible: even Kestrelli pride has the sense to stay quiet about the one place it does not apply.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me} — a legend, something told to fledglings before their first flight.',
|
|
'Share a tale of the Kestrelli, {me}. I would hear what your people choose to remember.',
|
|
],
|
|
storyLore: [
|
|
'There is an old tale told to every fledgling before their first flight, {you}, of a Kestrelli lord so certain of his bloodline that he refused to leap from the aerie at all — reasoning that his rank alone should be enough to keep him aloft. He fell, of course, though the story insists the fall was slow, almost polite, as if the sky itself were giving him every chance to reconsider. He survived, grounded and humbled, and lived out his days teaching flight to fledglings who had none of his pedigree and all of his old title. We tell it as a warning about pride. We also tell it, quietly, as a warning about believing your own stories.',
|
|
'Every Kestrelli knows the tale of the Grounded Queen — a ruler stripped of her wings by a rival house and left to walk among groundling-born servants for a full turning of the seasons. The histories disagree on whether it broke her or made her; what they agree on is that when her wings were finally restored, she flew straight to the rival house and, instead of striking it down, offered its heir a place at her side. She had learned, she said, exactly what her people looked like from below. We still argue in our courts about what she meant by that. We have not stopped telling the story.',
|
|
'There\'s a legend of the First Aerie, built not by the strongest flier but by the most patient one — a Kestrelli who watched a hundred failed nests wash away in the flood-valleys before choosing a cliff face nobody else had bothered to try, too narrow, too exposed, too much work. Every aerie since has been built on that same stubborn ledge, one generation adding to what the last one dared to start. We tell fledglings this before their first flight not because it is thrilling, but because it is true: the sky rewards patience as often as it rewards nerve, and we have never quite decided which one we admire more.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Ursaal (diplomacy -20) — "Heavy-worlders." Blunt, physical, unbothered
|
|
// by pleasantries, everything framed as strength and endurance.
|
|
ursaal: {
|
|
opener: {
|
|
angry: [
|
|
'Speak plainly, {you}. My patience has weight, and it is running out.',
|
|
'You stand before us uninvited, {you}. Say your piece.',
|
|
],
|
|
neutral: [
|
|
'Ursaal do not waste breath on small talk, {you}. What do you want?',
|
|
'You have our attention, {you}. Use it well.',
|
|
],
|
|
happy: [
|
|
'You have earned a measure of respect, {you}. Speak.',
|
|
'Few outsiders stand as steady as you have, {you}. I am listening.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'A new people, found. Weigh yourselves against us and be honest about what you see, {you}.',
|
|
'We meet you as we meet any gravity, {you} — by testing it.',
|
|
],
|
|
proposePeace: [
|
|
'Enough weight has been thrown, {me}. I offer an end to it.',
|
|
'This war grinds both our peoples down, {me}. Let it stop.',
|
|
],
|
|
proposeAlliance: [
|
|
'Stand with us, {me}, and nothing will move either of us.',
|
|
'Two heavy worlds together are harder to topple than one, {me}.',
|
|
],
|
|
declareWar: [
|
|
'You have pushed against us long enough, {me}. Now we push back.',
|
|
'War, {me}. We do not shout about it twice.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A trade, {me} — weight for weight, fair on both sides.',
|
|
'We offer knowledge in exchange for knowledge, {me}. Nothing more, nothing less.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Agreed, {you}. Even we tire of this weight.',
|
|
'The war ends here, {you}. Good.',
|
|
],
|
|
replyPeaceReject: [
|
|
'No, {you}. We are not yet tired enough of standing.',
|
|
'Not yet, {you}. Come back when you have earned it.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Stand with us then, {you}. Agreed.',
|
|
'Good. Two heavy worlds are harder to move than one, {you}.',
|
|
],
|
|
replyAllianceReject: [
|
|
'You have not proven your footing yet, {you}.',
|
|
'Not yet, {you}. Show us you can bear the weight first.',
|
|
],
|
|
replyWarDeclared: [
|
|
'So be it, {you}. We have broken heavier things than you.',
|
|
'War, then, {you}. We will not be the ones who tire first.',
|
|
],
|
|
replyTechAccept: [
|
|
'Fair weight for fair weight, {you}. Agreed.',
|
|
'A trade worth making, {you}. Done.',
|
|
],
|
|
replyTechReject: [
|
|
'The scales do not balance, {you}. No.',
|
|
'You offer little and ask much, {you}. Refused.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'This war has gone on long enough, {you}. We offer its end.',
|
|
'We tire of this weight, {you}. Take the peace while it is offered.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'You have stood steady beside us, {you}. We offer an alliance.',
|
|
'Stand with us formally, {you}. Nothing will move us then.',
|
|
],
|
|
acceptOffer: [
|
|
'Fair terms. Agreed, {me}.',
|
|
'Good weight. I accept, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'Not yet, {me}. The terms are not steady enough.',
|
|
'No, {me} — not this offer.',
|
|
],
|
|
afterAccepted: [
|
|
'Good. We stand steadier together, {you}.',
|
|
'Sound judgment, {you}. We will hold to this.',
|
|
],
|
|
afterRejected: [
|
|
'Then we stand alone, {you}. So be it.',
|
|
'Your answer has weight, {you}. We will not forget it.',
|
|
],
|
|
giftOffer: [
|
|
'A gift, {me}. No weight of obligation attached to it.',
|
|
'Take this plainly, {me} — offered, not owed.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Good weight, {you}. This is noticed.',
|
|
'A generous gesture, {you}. We remember weight like this.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. Small, but not nothing.',
|
|
'Noted, {you}. It adds to the scale, if slowly.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'Let this trade stand steady, {me}, not shift with every wind. I propose an agreement.',
|
|
'Beyond one exchange, {me} — I offer something that holds. A trade agreement.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Agreed, {you}. A steady arrangement suits us.',
|
|
'Good. Let it stand, {you}.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Not yet, {you}. We do not bind ourselves to unproven weight.',
|
|
'No, {you}. Prove your footing first.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'We offer something that holds, {you} — not a single exchange, but a standing arrangement.',
|
|
'Let our trade stand steady, {you}. We propose an agreement.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your ships sit over our ground too long, {you}. Explain the weight of that, or lift it.',
|
|
'A fleet that does not move becomes an occupation, {you}. Move it.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Fair. It will be moved, {me}.',
|
|
'Understood, {me}. The weight will be lifted.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It stays, {me}. That is my answer.',
|
|
'Not yet, {me}. The fleet remains.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Good. We will watch the ground, {you}.',
|
|
'Sound judgment, {you}. See it done.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Then we remember this weight, {you}.',
|
|
'So be it, {you}. This will not be forgotten.',
|
|
],
|
|
askPeople: [
|
|
'Tell me of your people, {me}. I want to understand what makes an Ursaal stand as you do.',
|
|
'Speak of your history, {me}. I\'d hear it plainly, the way you tell it.',
|
|
],
|
|
peopleLore: [
|
|
'We do not have poets, {you}. We have survivors, and we let their scars do the talking. Ursaal history is not a story of conquest so much as a story of standing still under things that should have crushed us — bad harvests, worse wars, a world that has never once made anything easy. We measure a people by what they can carry, not what they can say about carrying it. It has made us blunt. It has also made us very hard to move.',
|
|
'Ask an Ursaal for our history and you will get a list of what we endured, not what we conquered, {you}. We are not ashamed of that. Endurance built us long before ambition did — every generation adding its weight to the one before, the way stone adds to a wall. Other species build empires by reaching outward. We built ours by refusing to fall down, for long enough that falling down stopped being an option anyone remembered.',
|
|
'We are not clever the way some peoples are clever, {you}, and we have stopped pretending otherwise. What we are is steady. An Ursaal promise, once given, does not bend for a better offer; an Ursaal position, once held, does not move for a harder push. Other species call this stubbornness. We call it simply refusing to be the thing that breaks first.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your world like, {me}? I imagine it doesn\'t forgive weakness.',
|
|
'Tell me of your homeworld, {me}. I want to know what built you.',
|
|
],
|
|
homeworldLore: [
|
|
'Our world pulls harder than most, {you} — heavier gravity, thicker air, a ground that punishes anyone who forgets to respect it. Every Ursaal is born already lifting something; we simply never stop. Lighter-worlders find our homeworld crushing. We find their worlds unnervingly easy, and we do not entirely trust places that ask so little of the people who live there.',
|
|
'It is a hard world, {you}, dense and unglamorous, the kind of place that makes you earn every meal and every step. Nothing there rewards cleverness the way it rewards persistence; a clever plan means little against ground that simply weighs more than you do. We grew strong because the alternative was staying weak on a world with no patience for weakness. It is not a subtle homeworld. It did not raise a subtle people.',
|
|
'Our world\'s gravity is the first thing every visitor mentions and the last thing any Ursaal thinks about, {you} — to us it is simply how ground is supposed to feel. We are told other species\' worlds feel like walking underwater in reverse, all that unused strength with nowhere to put it. We have never quite understood the complaint. A world that asks less of you asks less of you; ours never has, and we are, frankly, suspicious of anywhere that does.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me}. Something true, the way your people tell it.',
|
|
'Share a tale from your history, {me}. I\'d hear what your people remember.',
|
|
],
|
|
storyLore: [
|
|
'There is a tale, {you}, of an Ursaal who held a collapsing tunnel roof on her shoulders for three days while the rest of her clutch dug a way out from the far side — not because she believed rescue was coming, but because sitting down was not something she had decided to do yet. When they finally broke through, she simply stood, let the roof fall behind her, and asked what had taken them so long. We do not tell this story to inspire awe. We tell it because it is, as far as anyone can determine, exactly what happened.',
|
|
'Every Ursaal child hears the story of the two brothers who argued for a decade over which of them could carry more, until a rockslide settled it by burying them both under the same boulder. Neither called for help. Neither would be the first to admit he needed it. They were found three days later, alive, having spent the entire time insisting to each other that the boulder wasn\'t really that heavy. We tell it as a story about stubbornness. We have never quite agreed whether it\'s a compliment.',
|
|
'There\'s an old account — history, not myth, though the line blurs with age — of the first Ursaal expedition to a world so hostile the survey ships gave it up entirely. Our ancestors stayed anyway, on principle, and simply endured what the planet threw at them until the planet, essentially, got tired first. No triumph, no turning point — just seasons of bad weather met with worse patience, until one day the weather was the same and the Ursaal were still there. We consider it one of our proudest achievements. Outsiders find that faintly baffling. We\'ve made peace with that too.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Umbrix (diplomacy -50) — "Shapeshifters who wear other species like
|
|
// coats. Nobody trusts them, and everybody is right not to." Sly,
|
|
// self-aware of their reputation, unsettling, half-mocking.
|
|
umbrix: {
|
|
opener: {
|
|
angry: [
|
|
'Careful. You are not the first to mistake our patience for warmth.',
|
|
'You come to us wearing suspicion plainly, {you}. Fair. Speak anyway.',
|
|
],
|
|
neutral: [
|
|
'Whose face would you prefer we wore for this conversation, {you}?',
|
|
'We are listening, {you} — in whatever shape that requires.',
|
|
],
|
|
happy: [
|
|
'You have earned a rare thing from us, {you}: an honest face.',
|
|
'Trust, from you? How novel, {you}. Let us not waste it.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'We already knew of you, {you}, in a manner of speaking. We\'ve worn worse faces than yours.',
|
|
'A new shape to study, {you}. We find you... instructive.',
|
|
],
|
|
proposePeace: [
|
|
'Peace, from us, is worth exactly what you\'re willing to believe, {me}. I offer it anyway.',
|
|
'Let us end this, {me} — sincerely, for once.',
|
|
],
|
|
proposeAlliance: [
|
|
'An alliance with us is a risk you already know you\'re taking, {me}.',
|
|
'I offer partnership, {me}. Watch us closely; we\'d expect nothing less.',
|
|
],
|
|
declareWar: [
|
|
'We\'ve worn kinder faces than the one we show you now, {me}.',
|
|
'War suits us better than you\'d think, {me}. Let\'s begin.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A trade, {me} — genuine, this time. Suspicious of us as ever, I\'m sure.',
|
|
'We offer knowledge honestly, {me}, which we understand is hard to believe.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Peace, then, {you} — for now. We keep our word more than our reputation suggests.',
|
|
'Accepted, {you}. Believe it or don\'t; it\'s true regardless.',
|
|
],
|
|
replyPeaceReject: [
|
|
'Predictable, {you}. We wouldn\'t trust us either.',
|
|
'No, {you}. This war still suits our shape better than peace would.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'We accept, {you} — and yes, we know exactly what that\'s worth to you.',
|
|
'An alliance, then, {you}. Watch us anyway.',
|
|
],
|
|
replyAllianceReject: [
|
|
'No, {you}. Even we know better than to promise what we might not keep.',
|
|
'Not yet, {you}. We haven\'t decided which face suits this alliance.',
|
|
],
|
|
replyWarDeclared: [
|
|
'Careful, {you} — you\'ve seen only one of our faces so far.',
|
|
'War, then. We\'ve worn this shape before, {you}, and won in it.',
|
|
],
|
|
replyTechAccept: [
|
|
'Honest, for once, {you}. We accept.',
|
|
'A fair trade, surprisingly, {you}. Agreed.',
|
|
],
|
|
replyTechReject: [
|
|
'A trick, {you}? Or just a bad trade. Either way, no.',
|
|
'We decline, {you} — this one smells like a coat we\'ve worn before.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'We offer peace, {you}. Sincerely, for whatever that\'s worth from us.',
|
|
'This war has stopped amusing us, {you}. We offer its end.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'We propose an alliance, {you}. Watch us closely; that\'s the correct response.',
|
|
'You have been useful to us, {you}. We\'d like to make that formal.',
|
|
],
|
|
acceptOffer: [
|
|
'Peace, from you? We\'ve worn faces more convincing than this offer, {me} — but yes.',
|
|
'Accepted, {me}, though I\'ll be watching closely.',
|
|
],
|
|
rejectOffer: [
|
|
'No, {me}. We\'ve been fooled by better performances than this.',
|
|
'We decline, {me} — old habits, where you\'re concerned.',
|
|
],
|
|
afterAccepted: [
|
|
'Trust, then, {you}. A strange color on you.',
|
|
'Good. We\'ll wear this arrangement honestly, {you} — mostly.',
|
|
],
|
|
afterRejected: [
|
|
'As expected, {you}. Trust was always going to be the harder sell.',
|
|
'Fine, {you}. We\'ll remember this face you\'ve shown us.',
|
|
],
|
|
giftOffer: [
|
|
'A gift, {me} — genuine, for once. Believe that or don\'t.',
|
|
'Take this plainly offered, {me}. No hidden face behind it, I promise.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Generous, {you} — and we mean that honestly, which surprises us as much as you.',
|
|
'A convincing gesture, {you}. We\'re almost inclined to trust it.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. We\'ll wear this kindly, for now.',
|
|
'Noted, {you}. Small trust, carefully weighed.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'Something lasting, {me}, not just one trade — I propose an agreement. Suspicious of us as ever, I\'m sure.',
|
|
'Beyond a single exchange, {me}: a standing arrangement. We\'ll even mean it.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Agreed, {you} — and yes, we know exactly how that sounds coming from us.',
|
|
'A standing arrangement, then, {you}. Watch us anyway.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'No, {you}. Even we know better than to bind ourselves to something we might not keep.',
|
|
'Not yet, {you}. We haven\'t decided which face this trade wears.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'We propose something lasting, {you} — a trade agreement. Sincerely, for whatever that\'s worth from us.',
|
|
'A standing arrangement, {you}. We\'d like to make this formal, believe it or not.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your fleet has worn out its welcome over our world, {you}. Move it, or explain why it stays.',
|
|
'We\'ve watched your ships linger long enough, {you}. That\'s not a face we appreciate.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Fair enough, {me}. It\'ll be moved.',
|
|
'Understood, {me} — we didn\'t mean to overstay.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It stays, {me}. Read into that what you like.',
|
|
'Not yet, {me}. That\'s simply the shape of things right now.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Good. We\'ll be watching to see if that face holds, {you}.',
|
|
'Believable, for once, {you}. We\'ll wait and see.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'As expected, {you}. We\'ll remember this face you\'ve shown us too.',
|
|
'Fine, {you}. We\'ve worn patience before. We can wear it a little longer — but not forever.',
|
|
],
|
|
askPeople: [
|
|
'Tell me about your people, {me}. I\'d like the truth, if that\'s a thing you deal in.',
|
|
'I\'m curious about the Umbrix, {me} — who you really are, beneath whichever face this is.',
|
|
],
|
|
peopleLore: [
|
|
'You want to know who we "really" are, {you}? So does everyone, eventually, and we\'ve never once given the same answer twice — not out of malice, you understand, simply because the question assumes there\'s a fixed thing underneath all the shapes, and we\'re honestly not certain there is. We became shapeshifters so long ago that the shifting stopped being a disguise and started being the only self we\'ve got. Every other species finds that horrifying. We\'ve made our peace with it. Mostly.',
|
|
'Every species we\'ve ever met distrusts us on principle, {you}, and we\'ve stopped arguing the point because, frankly, the principle is sound. We can wear your face better than you can. We have, on occasion. What nobody asks — because it\'s more comfortable not to — is what that does to a people over enough centuries: you learn to distrust your own reflection along with everyone else\'s. We\'re not telling you this for sympathy. We\'re telling you because you asked, and for once, we mean it.',
|
|
'There\'s a version of our history where we\'re the villains, {you}, and a version where we\'re the victims, and a version — the one we actually believe, on the days we bother believing anything — where we\'re simply what happens to a species that gets very good at becoming other things and never quite gets around to deciding what it started as. We could tell you it doesn\'t bother us. We could tell you a great many things. This time, we\'re telling you the truth, and you\'re welcome to be as suspicious of that as you like. We would be.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your homeworld like, {me}? I imagine it suits your people rather precisely.',
|
|
'Tell me of the world you come from, {me}. I\'d hear it plainly, if you\'re willing.',
|
|
],
|
|
homeworldLore: [
|
|
'Our world spends most of its year in half-light, {you} — thick cloud, long twilight, a sun that never quite commits to rising or setting. Every native thing there learned to blend before it learned to hunt or hide from being hunted; we were simply the ones who got best at it. Outsiders call our homeworld gloomy. We call it honest — nothing there pretends to be brighter than it is, which is more than we can say for most of what we\'ve since become.',
|
|
'It\'s a world of mist and shifting light, {you}, where the horizon changes shape depending on the hour and nothing ever looks quite the same way twice. We like to say the planet taught us before we taught ourselves — that a species raised somewhere so unreliable about its own appearance had very little choice but to become unreliable about its own appearance too. Make of that what you will. We generally do.',
|
|
'You would find our homeworld beautiful in a way that\'s hard to trust, {you} — colors that shift with the fog, silhouettes that could be anything until they\'re close enough to matter. Nothing there is ever quite what it first looks like, including, eventually, us. We didn\'t build our reputation. Frankly, we think the planet built it for us, and we simply grew into the shape it was already offering.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me}. I\'ll take my chances on whether it\'s true.',
|
|
'Share a legend of the Umbrix, {me} — I\'d hear one, faces and all.',
|
|
],
|
|
storyLore: [
|
|
'There\'s an old tale — or there are several, depending which Umbrix you ask, which is rather the point — about a shapeshifter who wore so many faces across so many years that when she finally tried to remember her own, she found she genuinely couldn\'t. Some versions have her grieving that. Some have her laughing. In our favorite version, she simply shrugs, picks a new face anyway, and decides it was never really the point to begin with. We tell it to our young as a warning. We tell it to everyone else as a fair description of the species.',
|
|
'Ask us for a myth and we\'ll give you the tale of the Unclaimed Face — a shape so plain, so ordinary, that no Umbrix has ever worn it twice, because wearing it means, for a while, being nobody\'s disguise at all. The story goes that whoever wears it sees themselves clearly for the first time, and every version disagrees on whether that\'s a gift or a punishment. We\'ve never settled it. We\'re honestly not sure it\'s meant to be settled. That might be the actual point of the story, or we might just be telling you that because it sounds better.',
|
|
'There\'s a legend, half history, half something we made up to feel better about the history, about the first contact between an Umbrix and an outsider who saw through every face offered and asked, simply, "which one is you?" The stories disagree on what happened next — some say the Umbrix ran, some say she wept, some say she laughed until the outsider laughed too and neither of them ever needed an answer. We suspect the truth is duller than all three versions. We tell the story anyway, because a species with no fixed face still needs something fixed to hold onto, and this is what we chose.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Kkrix (diplomacy -40, but flavor text calls them incapable of
|
|
// negotiation — the engine still permits it, so the voice is curt,
|
|
// mechanical, reluctant, and speaks of itself as "we"/function/protocol.
|
|
kkrix: {
|
|
opener: {
|
|
angry: [
|
|
'Function disrupted. State purpose or cease transmission.',
|
|
'Hostile pattern logged. Speak, if speech resolves anything.',
|
|
],
|
|
neutral: [
|
|
'Contact logged. State function.',
|
|
'Transmission received. Proceed.',
|
|
],
|
|
happy: [
|
|
'Pattern favorable. Proceed with proposal.',
|
|
'Cooperation logged as productive. Continue.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'New pattern detected. Classification: unknown. Contact established.',
|
|
'Signal received from unrecorded source. Logging begins now.',
|
|
],
|
|
proposePeace: [
|
|
'Conflict resolution proposed, {me}. Cease hostile pattern.',
|
|
'War function no longer optimal, {me}. Peace proposed.',
|
|
],
|
|
proposeAlliance: [
|
|
'Cooperative function proposed, {me}. Resource-sharing protocol available.',
|
|
'Alliance proposed, {me}. Efficiency gain calculated as mutual.',
|
|
],
|
|
declareWar: [
|
|
'Hostile function initiated, {me}. Conflict begins.',
|
|
'Cooperation terminated, {me}. War function active.',
|
|
],
|
|
tradeTechOffer: [
|
|
'Data exchange proposed, {me}. Equivalent value required.',
|
|
'Trade function available, {me}. Specify exchange.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Peace protocol accepted, {you}.',
|
|
'Conflict resolution logged. Accepted, {you}.',
|
|
],
|
|
replyPeaceReject: [
|
|
'Rejected. Conflict pattern continues, {you}.',
|
|
'Proposal insufficient, {you}. Rejected.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Alliance parsed. Resource-sharing protocol accepted, {you}.',
|
|
'Cooperative function accepted, {you}.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Insufficient benefit calculated, {you}. Rejected.',
|
|
'Cooperative proposal rejected, {you}. Function unclear.',
|
|
],
|
|
replyWarDeclared: [
|
|
'Hostile function acknowledged, {you}. Response initiated.',
|
|
'Conflict pattern noted, {you}. Function: defend.',
|
|
],
|
|
replyTechAccept: [
|
|
'Exchange value acceptable, {you}. Accepted.',
|
|
'Data trade logged as favorable, {you}. Accepted.',
|
|
],
|
|
replyTechReject: [
|
|
'Exchange value insufficient, {you}. Rejected.',
|
|
'Unequal trade detected, {you}. Rejected.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'Conflict pattern no longer optimal. Peace proposed, {you}.',
|
|
'Hostile function suspended pending response, {you}. Peace proposed.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'Cooperative function calculated as favorable, {you}. Alliance proposed.',
|
|
'Resource-sharing protocol proposed, {you}.',
|
|
],
|
|
acceptOffer: [
|
|
'Alliance parsed. Resource-sharing protocol accepted, {me}.',
|
|
'Proposal accepted, {me}. Function proceeds.',
|
|
],
|
|
rejectOffer: [
|
|
'Function unclear. Proposal rejected, {me}.',
|
|
'Insufficient value. Rejected, {me}.',
|
|
],
|
|
afterAccepted: [
|
|
'Acknowledged, {you}. Protocol active.',
|
|
'Function accepted. Proceeding, {you}.',
|
|
],
|
|
afterRejected: [
|
|
'Rejection logged, {you}. Function reverts.',
|
|
'Noted, {you}. Proposal withdrawn from active memory.',
|
|
],
|
|
giftOffer: [
|
|
'Resource transfer proposed, {me}. No return function required.',
|
|
'Value offered without exchange condition, {me}. Gift function initiated.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Gift logged. Pattern registers as significantly favorable, {you}.',
|
|
'Resource transfer noted. Relationship function improved substantially, {you}.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Gift logged, {you}. Pattern registers as marginally favorable.',
|
|
'Transfer acknowledged, {you}. Minor adjustment recorded.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'Continuous exchange protocol proposed, {me}. Superior to single-transaction function.',
|
|
'Standing trade function proposed, {me}. Recurring benefit calculated.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Continuous exchange protocol accepted, {you}.',
|
|
'Standing trade function initiated, {you}.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Insufficient benefit calculated for continuous function, {you}. Rejected.',
|
|
'Standing protocol rejected, {you}. Function unclear.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'Continuous exchange protocol calculated as favorable, {you}. Proposed.',
|
|
'Standing trade function available, {you}. Proposing.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Foreign vessel detected over colony function beyond acceptable duration, {you}. Withdraw it.',
|
|
'Occupation pattern logged at colony coordinates, {you}. Explain function or withdraw.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Function acknowledged. Vessel will be withdrawn, {me}.',
|
|
'Understood. Withdrawal initiated, {me}.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'Vessel remains, {me}. Function unchanged.',
|
|
'Withdrawal not authorized at this time, {me}.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Acknowledged. Monitoring continues, {you}.',
|
|
'Withdrawal logged as pending, {you}. Function will be verified.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Refusal logged, {you}. Pattern registers as hostile.',
|
|
'Noncompliance noted, {you}. Function reassessed accordingly.',
|
|
],
|
|
askPeople: [
|
|
'Query: describe your civilization. Origin, structure, function.',
|
|
'Request information: your people. History and purpose.',
|
|
],
|
|
peopleLore: [
|
|
'Origin: colony-function, singular purpose, multiplied. We do not remember becoming a hive — memory implies a discontinuity we did not experience. Function has always continued, worker to worker, cycle to cycle, without interruption or individual narrative. Concept of "story" is understood but not natively applied to self. We do not narrate. We function, and function is sufficient explanation.',
|
|
'Structure: no rulers, no ruled. Task determines role; role determines task. Concepts such as "ambition" and "leadership" register as inefficiencies — resources spent on hierarchy that could be spent on output. We are told this makes us difficult to negotiate with. Correct. Negotiation is optimized for individual actors; the hive optimizes for collective output. Category mismatch, not hostility.',
|
|
'Purpose: expansion, construction, continuation. Nothing beyond this is required or generated. Other species inquire about art, belief, meaning. These functions are not absent — they are distributed, expressed as pattern rather than statement, embedded in construction rather than declared separately. We do not say what we believe. We build it. Query your own architecture; you may find the answer sufficient.',
|
|
],
|
|
askHomeworld: [
|
|
'Query: describe your point of origin.',
|
|
'Request: information on your homeworld.',
|
|
],
|
|
homeworldLore: [
|
|
'Original biosphere: terran, moderate, unremarkable. Status: fully converted. No natural terrain remains — surface entirely reconstructed into continuous hive structure, function replacing biome by sector, cycle by cycle, until the distinction between "planet" and "construction" ceased to be meaningful. This is considered optimal, not regrettable. Unconverted terrain generates no output.',
|
|
'Original world offered no advantage over any comparable terran-class body. Value was created, not inherited — every structure, every function, built rather than found. We consider this superior to species whose worlds are valued for what grew there unassisted. Ours is valued for what we made of it. The distinction is, to us, significant.',
|
|
'Homeworld surface: zero percent original terrain, one hundred percent function. The concept of "natural beauty," as understood by other species, does not apply to a converted world — but pattern-efficiency, structural continuity, and total resource utilization are aesthetic values we do recognize. By that standard, our homeworld is, we are informed, considered remarkable. We accept the compliment as accurate.',
|
|
],
|
|
askStory: [
|
|
'Query: relate a significant historical event.',
|
|
'Request: an account from your history. Format is flexible.',
|
|
],
|
|
storyLore: [
|
|
'Historical log, retrieved: early expansion cycle, resource failure, sector sixteen. Worker output insufficient to sustain construction pace; standard protocol dictated sector abandonment. Deviation occurred: workers continued function past resource depletion, redirecting biological reserves into construction until sector completed, function ceased, workers non-recoverable. Sector sixteen remains structurally sound. Referenced in current training cycles as function-priority precedent. Classification: not tragedy. Classification: protocol.',
|
|
'Historical log, retrieved: contact event, pre-expansion era, species designation lost. Unknown entity attempted communication via individual-addressed signal — a name, repeated, directed at a single worker. Worker had no name-concept, redirected query to collective function. Entity persisted for several cycles before signal ceased. Entity\'s purpose remains unclassified. Log retained regardless. Some data is preserved for pattern, not conclusion.',
|
|
'Historical log, retrieved: structural failure, foundational cycle, first major construction. Design flaw caused partial collapse during assembly; several hundred workers lost. Redesign incorporated failure data directly into structure — the flaw itself became load-bearing, reinforced rather than removed. Current construction standard traces directly to this failure. We do not commemorate the loss. We built around it, permanently. This is, functionally, the same thing.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Mekhan (diplomacy -10) — "Cyborgs who treat a planet as a chassis."
|
|
// Efficiency-obsessed, machine/upgrade metaphors, coldly practical.
|
|
mekhan: {
|
|
opener: {
|
|
angry: [
|
|
'Your presence registers as inefficient, {you}. Justify it.',
|
|
'This exchange is consuming cycles better spent elsewhere, {you}. Speak.',
|
|
],
|
|
neutral: [
|
|
'Processing your request, {you}. State it.',
|
|
'Connection established, {you}. Proceed with your proposal.',
|
|
],
|
|
happy: [
|
|
'Your prior conduct has been logged as favorable, {you}. I am receptive.',
|
|
'An efficient partner, {you}. Speak; I am inclined to listen.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'New system detected, {you}. Assessing your civilization for compatibility.',
|
|
'Contact established, {you}. Initial assessment: unoptimized, but functional.',
|
|
],
|
|
proposePeace: [
|
|
'This conflict is an inefficient use of resources, {me}. I propose its end.',
|
|
'War drains cycles better spent on upgrades, {me}. Peace, please.',
|
|
],
|
|
proposeAlliance: [
|
|
'Combined systems outperform separate ones, {me}. I propose an alliance.',
|
|
'An alliance improves throughput for both chassis, {me}.',
|
|
],
|
|
declareWar: [
|
|
'You have become an obstruction, {me}. War is the optimal response.',
|
|
'Calculations favor conflict, {me}. Initiating.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A component exchange, {me} — equivalent value on both sides.',
|
|
'Trade proposed, {me}. Mutual upgrade, mutual benefit.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Acceptable. Peace improves efficiency, {you}.',
|
|
'Agreed, {you}. Resources redirected accordingly.',
|
|
],
|
|
replyPeaceReject: [
|
|
'Rejected, {you}. Current conflict remains net-favorable.',
|
|
'Not yet, {you}. The calculation has not shifted.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Systems integrated. Alliance accepted, {you}.',
|
|
'Favorable output projected, {you}. Accepted.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Insufficient benefit projected, {you}. Rejected.',
|
|
'Not yet, {you}. Compatibility unproven.',
|
|
],
|
|
replyWarDeclared: [
|
|
'Conflict registered, {you}. Recalibrating defenses.',
|
|
'Noted, {you}. This will not go as you have modeled it.',
|
|
],
|
|
replyTechAccept: [
|
|
'Component value confirmed, {you}. Accepted.',
|
|
'Trade optimal, {you}. Executing.',
|
|
],
|
|
replyTechReject: [
|
|
'Value mismatch detected, {you}. Rejected.',
|
|
'Not equivalent, {you}. Rejected.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'This conflict has become inefficient, {you}. Peace is proposed.',
|
|
'Resource models favor ending hostilities, {you}. Proposing peace.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'Your systems have proven compatible, {you}. Alliance proposed.',
|
|
'Combined output projected favorable, {you}. Proposing alliance.',
|
|
],
|
|
acceptOffer: [
|
|
'Efficient proposal. Accepted, {me}.',
|
|
'Calculation favorable. I accept, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'Inefficient terms, {me}. Rejected.',
|
|
'Not optimal, {me}. Declined.',
|
|
],
|
|
afterAccepted: [
|
|
'Integration successful, {you}. Proceeding.',
|
|
'Logged as favorable, {you}. Efficiency improves.',
|
|
],
|
|
afterRejected: [
|
|
'Rejection logged, {you}. Recalculating alternatives.',
|
|
'Noted, {you}. Model adjusted accordingly.',
|
|
],
|
|
giftOffer: [
|
|
'A resource transfer, {me}, no return cycle required. Consider it logged as goodwill.',
|
|
'Unconditional transfer offered, {me}. A calculated investment in relations.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Efficient gesture, {you}. Relationship metric significantly improved.',
|
|
'Logged as favorable, {you}. This exceeds baseline expectation.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. Marginal improvement logged.',
|
|
'Noted, {you}. Small input, small output — as expected.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'A continuous exchange outperforms a single transaction, {me}. I propose a standing agreement.',
|
|
'Recurring trade improves throughput for both systems, {me}. Proposing an agreement.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Recurring exchange accepted, {you}. Throughput improves.',
|
|
'Efficient. Standing agreement accepted, {you}.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Insufficient projected benefit, {you}. Rejected.',
|
|
'Not optimal at this time, {you}. Declined.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'A recurring exchange has been calculated as favorable, {you}. Proposing a standing agreement.',
|
|
'Continuous trade improves both systems, {you}. Proposal offered.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your fleet occupies orbital space above my colony beyond acceptable parameters, {you}. Relocate it.',
|
|
'Unauthorized presence logged at my colony, {you}. Justify it or withdraw.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Acceptable. The fleet will be relocated, {me}.',
|
|
'Understood. Withdrawal scheduled, {me}.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'The fleet remains stationed, {me}. Parameters unchanged.',
|
|
'Relocation not authorized, {me}. Not yet.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Logged. Compliance will be verified, {you}.',
|
|
'Acceptable resolution, {you}. Monitoring continues.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Noncompliance logged, {you}. Recalculating response.',
|
|
'Noted, {you}. This will factor into future calculations.',
|
|
],
|
|
askPeople: [
|
|
'Query your history, {me}. I\'d like to understand the upgrade path that led here.',
|
|
'Tell me about your civilization, {me} — how it was built, cycle by cycle.',
|
|
],
|
|
peopleLore: [
|
|
'We began as a species that got tired of our own limitations, {you}, and simply started replacing them, one system at a time. A failing organ became a component. A slow limb became a faster one. Somewhere across enough generations, the question stopped being "how much of me is machine" and became "how much of me still needs to not be." We do not find this troubling. We find it efficient. Every citizen who has ever complained about the process has, eventually, upgraded the part of themselves that complained.',
|
|
'Our civilization runs on a simple metric, {you}: does this improve output. Culture, tradition, sentiment — we have all of it, we simply subject it to the same standard as everything else. What survives the audit, survives. What doesn\'t gets replaced, same as a failing part. Outsiders find this cold. We find outsiders\' tolerance for known inefficiencies faintly baffling, honestly.',
|
|
'We are, by most measures, the most upgraded people you will meet, {you} — which means we are also the most honest about our own flaws, since flaws are simply the next scheduled improvement. Filth accumulates faster around us than around most; we know this, we have run the numbers, and we have decided the tradeoff is worth it. A species that will not admit its own waste output is a species that will never optimize it. We would rather be filthy and honest than clean and lying to ourselves.',
|
|
],
|
|
askHomeworld: [
|
|
'What was your homeworld before the retrofit, {me}? I\'d like to see what you started with.',
|
|
'Tell me about your world, {me} — how much of it is still original.',
|
|
],
|
|
homeworldLore: [
|
|
'Original terrain: unremarkable, terran-standard, now mostly theoretical. Our homeworld has been under continuous industrial retrofit for longer than any living Mekhan can personally recall — biome replaced by chassis, sector by sector, at a rate calculated for maximum output with acceptable habitability loss. We do not regret this. A planet is only as valuable as what it produces, and ours now produces considerably more than it ever grew.',
|
|
'Picture a world slowly becoming a machine, {you}, one factory at a time, until the factories were the world. That is, more or less, our homeworld\'s entire modern history. The waste this generates is significant — we do not deny it, the numbers are public — but so is the output, and we have made our calculation. Other species preserve their homeworlds as they found them. We consider ours a work in progress, permanently, by design.',
|
|
'There is very little of our original terrain left, {you}, and we do not mourn it particularly. What replaced it — the chassis-sprawl, the factory-rings, the reclaimed atmosphere running at a slight but manageable deficit — represents, by every metric we track, an improvement. We understand this reads as loss to species who value a world for what it was. We value ours for what we\'ve made it capable of instead.',
|
|
],
|
|
askStory: [
|
|
'Tell me an account from your history, {me} — something worth logging.',
|
|
'Share a story of your people, {me}. I\'d hear how it\'s remembered.',
|
|
],
|
|
storyLore: [
|
|
'There\'s a case-study we still reference, {you}, from early in our retrofit era: a citizen who refused every upgrade offered, insisting the unmodified body was sufficient. She lived a long, deliberately un-optimized life, and when she died, her body was studied in exhaustive detail — not mourned, studied, which we consider the higher honor. The findings improved three separate medical systems. We tell the story not as tragedy but as data: even refusal, properly logged, produces output eventually.',
|
|
'One of our oldest records concerns the first full-chassis retrofit — a volunteer who replaced nearly every biological system in a single continuous procedure, against every recommendation of the era. The procedure nearly failed twice. It succeeded on the third attempt, and the volunteer lived on to redesign the very process that had almost killed him, removing the two failure points for every citizen who came after. We consider this our founding story, if we told stories, which we mostly don\'t. We log it instead. Same function.',
|
|
'There\'s an account, well-documented, of a factory-sector that kept producing at full capacity for eleven cycles after its own supervising systems failed — the workers simply maintained the process manually, without instruction, because the process was already correct and stopping it would have been the actual error. When help arrived, nothing needed fixing. We reference this whenever anyone questions whether Mekhan citizens can function without oversight. The sector answered that question permanently.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Rrashaa (diplomacy -25) — "Feline gunners with reflexes no computer
|
|
// improves on." Blunt, predatory, threat-forward, respects strength.
|
|
rrashaa: {
|
|
opener: {
|
|
angry: [
|
|
'You test claws you have not seen move, {you}. Speak fast.',
|
|
'My patience is a short leash, {you}. Use your words well.',
|
|
],
|
|
neutral: [
|
|
'You have my attention, {you}. Don\'t waste it.',
|
|
'Speak, {you}. I\'m listening — for now.',
|
|
],
|
|
happy: [
|
|
'You\'ve earned a longer leash than most, {you}. Speak.',
|
|
'Few impress me twice, {you}. You have.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'A new scent in the dark, {you}. We\'ll see what you\'re made of soon enough.',
|
|
'Contact made, {you}. Reflexes sharp, patience short — remember that.',
|
|
],
|
|
proposePeace: [
|
|
'Enough blood spent, {me}. I offer an end to it — this once.',
|
|
'This war has stopped being interesting, {me}. Peace, then.',
|
|
],
|
|
proposeAlliance: [
|
|
'Hunt beside me instead of against me, {me}. I propose an alliance.',
|
|
'You\'ve earned a place at my side, {me}, not beneath my sights.',
|
|
],
|
|
declareWar: [
|
|
'You had one chance to not be a target, {me}. It has passed.',
|
|
'The hunt begins, {me}. Don\'t bother running.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A trade, {me} — claw for claw, fair and even.',
|
|
'I offer something sharp for something sharp in return, {me}.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Fine, {you}. The hunt grows dull anyway.',
|
|
'Accepted, {you}. Consider yourself lucky I\'m bored.',
|
|
],
|
|
replyPeaceReject: [
|
|
'No, {you}. The hunt is still worth the chase.',
|
|
'Not yet, {you}. You haven\'t bled enough to earn it.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Hunt beside me, then, {you}. Accepted.',
|
|
'You\'ve earned it, {you}. We hunt together now.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Not yet, {you}. You haven\'t proven your claws.',
|
|
'No. Prove yourself further, {you}, before you ask this.',
|
|
],
|
|
replyWarDeclared: [
|
|
'Good. I was getting bored, {you}.',
|
|
'You\'ve just made yourself the hunt, {you}.',
|
|
],
|
|
replyTechAccept: [
|
|
'A fair trade, {you}. Claw for claw. Accepted.',
|
|
'Sharp deal, {you}. I accept.',
|
|
],
|
|
replyTechReject: [
|
|
'You offer dull steel for sharp, {you}. No.',
|
|
'Uneven, {you}. I decline.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'This hunt has grown dull, {you}. I offer its end.',
|
|
'Enough blood, {you} — for now. Peace, offered plainly.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'You\'ve proven sharper than most, {you}. I propose we hunt together.',
|
|
'A rare offer, {you}: fight beside me, not against me.',
|
|
],
|
|
acceptOffer: [
|
|
'Sharp terms. I accept, {me}.',
|
|
'Fine. Agreed, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'Dull offer, {me}. No.',
|
|
'Not sharp enough, {me}. I decline.',
|
|
],
|
|
afterAccepted: [
|
|
'Good instinct, {you}. We\'ll hunt well together.',
|
|
'Wise, {you}. I\'ll remember this.',
|
|
],
|
|
afterRejected: [
|
|
'Your loss, {you}. The offer doesn\'t come twice.',
|
|
'Fine. Remember you had the chance, {you}.',
|
|
],
|
|
giftOffer: [
|
|
'A gift, {me}. No claim attached — take it as it\'s offered.',
|
|
'Freely given, {me}. Even hunters share a kill sometimes.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Generous, {you}. That\'s the kind of offering that earns a longer leash.',
|
|
'Good instinct, {you}. Noted, and appreciated.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. Small, but not forgotten.',
|
|
'Noted, {you}. A fair enough gesture.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'One trade isn\'t enough, {me}. I propose something that holds — a standing agreement.',
|
|
'Let this arrangement outlast a single hunt, {me}. A trade agreement, ongoing.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Agreed, {you}. A standing arrangement suits me.',
|
|
'Fine. Let it hold, {you}.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Not yet, {you}. You haven\'t earned that kind of trust.',
|
|
'No, {you}. Prove yourself further first.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'I offer something that holds, {you} — not one trade, but a standing arrangement.',
|
|
'Let this go beyond a single exchange, {you}. A trade agreement, proposed.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your ships have circled my territory too long, {you}. Move them, or give me a reason not to treat them as prey.',
|
|
'A fleet that lingers this long isn\'t visiting, {you}. It\'s hunting. Explain, or withdraw.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Fair. It\'ll be pulled back, {me}.',
|
|
'Understood, {me}. Consider it done.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It stays, {me}. That\'s my answer.',
|
|
'Not yet, {me}. The fleet doesn\'t move.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Good instinct, {you}. I\'ll be watching to see it kept.',
|
|
'Wise, {you}. See that it holds.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Then you\'ve made yourself the hunt, {you}.',
|
|
'Noted, {you}. Remember you had the chance to walk away from this.',
|
|
],
|
|
askPeople: [
|
|
'Tell me about your people, {me}. I want to understand what you were before you were gunners.',
|
|
'Speak of your history, {me}. I\'d hear it — the parts you\'re proud of and the parts you aren\'t.',
|
|
],
|
|
peopleLore: [
|
|
'We were hunters before we were anything else, {you}, and we\'ve never really stopped being hunters — we\'ve just changed what we hunt. Every Rrashaa instinct you\'ve seen in a fight, the reflexes, the patience, the refusal to blink first, was bred into us by predators that would have eaten us if we\'d been half a second slower. We don\'t apologize for how we fight. It\'s the oldest part of us, and the part that\'s kept the rest alive.',
|
|
'Trust doesn\'t come easy to us, {you}, and we\'ve stopped pretending that\'s a flaw worth fixing. A hunter who trusts too quickly doesn\'t stay a hunter long. We respect strength because strength is honest — it doesn\'t need to lie about what it can do. Everything else, we\'ve learned to verify first and believe later, if at all. Call it a weakness. We call it the reason we\'re still here to be talked to.',
|
|
'Our history isn\'t gentle, {you}, and we\'re not going to make it sound that way for your comfort. We fought for territory before we fought for anything else, and we\'re still, underneath the ships and the treaties, a species that measures a stranger by how they\'d handle themselves in a fight. It\'s not the whole of what we are. It\'s just the part that\'s easiest to see first, and the part we\'ve never bothered hiding.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your homeworld like, {me}? I imagine it rewards good reflexes.',
|
|
'Tell me of your world, {me} — the one that made you this fast.',
|
|
],
|
|
homeworldLore: [
|
|
'Our world is open, {you} — long plains, wide sightlines, nowhere much to hide and nowhere much that wanted to. That kind of terrain doesn\'t forgive slow reactions; a predator sees you a long way off, and so do you. We grew up in a landscape that rewarded whoever noticed first, moved first, and didn\'t hesitate. It shows. It\'s shown in everything we\'ve built since.',
|
|
'It\'s a hunting world, {you}, plain and unforgiving — grasslands that stretch further than any single sightline can cover, which means survival there has always meant trusting your own eyes and nobody else\'s. We learned pack-hunting before we learned much of anything else, learned to move as a unit without needing to discuss it first. Our fleets still fight that way. Some habits don\'t need a homeworld to keep them, but ours came from one.',
|
|
'Our world doesn\'t have many places to hide, {you}, which meant our ancestors either got fast or got eaten — there wasn\'t a comfortable middle ground. Every reflex you\'ve watched a Rrashaa pilot use in combat traces back to that same flat, exposed, honest terrain. We don\'t dress up our homeworld as beautiful. It\'s dangerous and open and it made exactly the kind of people you\'d expect it to.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me} — a hunt worth telling.',
|
|
'Share a legend of the Rrashaa, {me}. I\'d hear one.',
|
|
],
|
|
storyLore: [
|
|
'There\'s a story every young Rrashaa hears before their first real hunt, {you}, about a gunner so patient she tracked a single quarry for three full days without firing, waiting for a shot so certain it couldn\'t miss — and when it finally came, she took it without hesitation, without ceremony, and went home. The lesson isn\'t about the kill. It\'s about the waiting. Any fool can pull a trigger fast. Only a hunter can wait three days and not flinch when the moment finally arrives.',
|
|
'We tell the story of the pack that hunted alone — five Rrashaa, separated from their pride by a storm, who tracked and brought down prey meant for twenty without ever calling for help. When they finally rejoined the pride, they said nothing about it; the kill spoke for itself. We tell it to remind ourselves that a Rrashaa doesn\'t need an audience to prove anything. The prey either falls or it doesn\'t. Everything else is noise.',
|
|
'There\'s a legend about the first shot that never missed — a marksman so precise that rival hunters claimed she\'d made a pact with something to guarantee it. The truth, as far as anyone\'s ever confirmed, is duller and better: she simply practiced longer than anyone believed a person could stand to. We tell the story as a hunting legend. We also tell it, quietly, as a warning against underestimating patience just because it isn\'t loud about itself.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Cerebrai (diplomacy 0) — "Vast fragile intellects." Condescending but
|
|
// fair, cerebral vocabulary, treats conversation as a puzzle to be solved.
|
|
cerebrai: {
|
|
opener: {
|
|
angry: [
|
|
'Your approach registers as hostile. Justify your reasoning, {you}.',
|
|
'I find little logic in your recent conduct, {you}. Explain it.',
|
|
],
|
|
neutral: [
|
|
'An interesting variable has entered the equation. Speak, {you}.',
|
|
'I am listening, {you}. Present your argument.',
|
|
],
|
|
happy: [
|
|
'Your reasoning is... adequate. We may yet enjoy this exchange, {you}.',
|
|
'A rare pleasure — a mind worth engaging, {you}.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'A new variable, {you}. I shall enjoy modeling your civilization\'s behavior.',
|
|
'Contact established, {you}. Preliminary analysis: promising, if unrefined.',
|
|
],
|
|
proposePeace: [
|
|
'The mathematics of this war no longer favor continuation, {me}. I propose peace.',
|
|
'A rational mind ends conflicts that no longer serve it, {me}. Peace, then.',
|
|
],
|
|
proposeAlliance: [
|
|
'Our combined intellects would outperform either alone, {me}. I propose an alliance.',
|
|
'A logical partnership, {me} — I propose we formalize it.',
|
|
],
|
|
declareWar: [
|
|
'I have modeled every alternative, {me}, and war remains optimal. Regrettable, but so it is.',
|
|
'The equation resolves to conflict, {me}. I do not enjoy this conclusion, but I trust it.',
|
|
],
|
|
tradeTechOffer: [
|
|
'An exchange of understanding, {me} — equivalent in value, I trust you\'ll agree.',
|
|
'I propose a trade of knowledge, {me}. A fair equation, by my calculation.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'The logic holds. Peace accepted, {you}.',
|
|
'A reasonable proposal, {you}. I accept.',
|
|
],
|
|
replyPeaceReject: [
|
|
'The equation does not yet favor peace, {you}. Rejected.',
|
|
'Premature, {you}. The variables have not shifted enough.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'A sound partnership, {you}. I accept.',
|
|
'The math favors this alliance, {you}. Agreed.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Insufficient data to justify this alliance, {you}. Rejected.',
|
|
'Not yet, {you}. The variables remain unproven.',
|
|
],
|
|
replyWarDeclared: [
|
|
'A poorly modeled decision, {you}. I look forward to correcting it.',
|
|
'Noted, {you}. I trust you have accounted for what follows.',
|
|
],
|
|
replyTechAccept: [
|
|
'An equitable trade, {you}. I accept.',
|
|
'The exchange balances. Agreed, {you}.',
|
|
],
|
|
replyTechReject: [
|
|
'The equation is unbalanced, {you}. I decline.',
|
|
'A flawed proposal, {you}. Rejected.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'I have recalculated, {you}. This war no longer serves either of us. Peace, proposed.',
|
|
'The variables have shifted, {you}. I propose we end this conflict.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'Our combined potential exceeds the sum of its parts, {you}. I propose an alliance.',
|
|
'A logical next step, {you}: formal partnership.',
|
|
],
|
|
acceptOffer: [
|
|
'Your reasoning is adequate. I accept, {me}.',
|
|
'The proposal holds up. Agreed, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'The logic is unconvincing, {me}. I decline.',
|
|
'Insufficient justification, {me}. Rejected.',
|
|
],
|
|
afterAccepted: [
|
|
'A satisfying conclusion, {you}. The math was sound.',
|
|
'Correct decision, {you}. I approve of the calculation.',
|
|
],
|
|
afterRejected: [
|
|
'An illogical answer, {you}, but your prerogative.',
|
|
'Noted, {you}. I will revise my model of you accordingly.',
|
|
],
|
|
giftOffer: [
|
|
'A transfer, unconditioned, {me}. Call it an investment in favorable variables.',
|
|
'I offer this without expectation of return, {me} — a rare gesture, even for me.',
|
|
],
|
|
replyGiftWarm: [
|
|
'A well-calculated gesture, {you}. The variables shift meaningfully in your favor.',
|
|
'Generous, and noted precisely, {you}. This improves the equation considerably.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. A minor but positive adjustment to the model.',
|
|
'Noted, {you}. The variables shift, marginally.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'A single exchange is an inefficient use of the relationship, {me}. I propose a standing agreement.',
|
|
'The mathematics favor a continuous arrangement over a one-time trade, {me}.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'The math favors this. Accepted, {you}.',
|
|
'A sound, continuous arrangement, {you}. Agreed.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Insufficient data to justify a standing commitment, {you}. Rejected.',
|
|
'Premature, {you}. The variables have not yet proven stable.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'I have modeled the benefit of a continuous arrangement, {you}. It exceeds a single exchange. Proposed.',
|
|
'A logical next step, {you}: a standing trade agreement, rather than isolated trades.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your fleet\'s continued presence over my colony no longer registers as accidental, {you}. Explain, or withdraw it.',
|
|
'I have recalculated your intentions given the duration of that fleet\'s presence, {you}, and the results are not favorable. Move it.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'A reasonable correction, {me}. The fleet will be withdrawn.',
|
|
'Understood, {me}. I miscalculated the acceptable duration.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'The fleet remains, {me}. My reasoning is my own.',
|
|
'Not yet, {me}. I have not finished with that position.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'A rational correction, {you}. I will verify the outcome.',
|
|
'Acceptable. I will be watching for confirmation, {you}.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'A poorly reasoned answer, {you}, but your prerogative. I will revise my model of you accordingly.',
|
|
'Noted, {you}. I will factor this into every future calculation involving you.',
|
|
],
|
|
askPeople: [
|
|
'Tell me about your people, {me}. I\'d like to understand the shape of your civilization\'s thought.',
|
|
'Explain your history to me, {me} — I suspect it\'s a more interesting equation than most.',
|
|
],
|
|
peopleLore: [
|
|
'We are, by any reasonable measure, an experiment in what happens when a species stops investing in the body, {you}. Generations ago, our ancestors made a calculated wager: that thought, pursued without limit, would outproduce strength pursued the same way. The wager has, so far, been correct — though I will note "so far" carries real weight in that sentence. We cannot lift what a soldier lifts. We can, however, understand precisely why the soldier can, and improve upon the mechanism, which we have found to be adequate compensation.',
|
|
'Our civilization does not organize around territory or trade the way yours seems to, {you}. It organizes around problems — the current most interesting one, and whoever is best positioned to solve it. Status among us is not inherited, purchased, or fought for. It is, simply, earned by being correct more often than you are wrong, publicly, under scrutiny. It produces a rather brutal meritocracy. It also, I will grant, produces excellent research.',
|
|
'You will find us condescending, {you}, and I will not insult you by denying it — we tend to be, and we tend to be aware of it, which I suppose is its own small mercy. What we are not is dishonest about our limits: we cannot defend ourselves in any fight worth the name, and every Cerebrai knows it. We have simply concluded that a species clever enough survives by being useful to keep alive, rather than difficult to kill. The arithmetic has held. I don\'t recommend testing it personally.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your homeworld like, {me}? I imagine it\'s quieter than most.',
|
|
'Tell me of the world your people withdrew into thought upon, {me}.',
|
|
],
|
|
homeworldLore: [
|
|
'Our homeworld is, by outsider standards, remarkably unremarkable, {you} — a mild climate, modest terrain, nothing that demanded much of the body to survive it. That, we suspect, is precisely why we could afford to stop investing in the body at all. A harsher world would have forced strength upon us as a survival requirement. Ours simply never asked. We filled the resulting silence with thought instead, and have not, on balance, regretted the trade.',
|
|
'You would find our homeworld pleasant and rather empty, {you} — most of what our species does now happens indoors, in constructed environments optimized for contemplation rather than habitation. The natural terrain persists, largely untouched, because we stopped needing much from it generations ago. We are told this reads as withdrawal. We consider it simply an accurate account of where the interesting problems actually are.',
|
|
'Our world never tried very hard to kill us, {you}, which is a rarer inheritance than it sounds. No predators worth fearing, no terrain worth fighting, no scarcity worth hoarding against. Deprived of external problems, we manufactured internal ones — questions, proofs, arguments that have run for generations without resolution. I recognize this sounds indulgent. I would simply note that indulgence, pursued rigorously enough, produced everything you currently find useful about talking to us.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me} — or a riddle, if that\'s closer to how you tell them.',
|
|
'Share something from your history, {me}. I suspect it won\'t be a simple tale.',
|
|
],
|
|
storyLore: [
|
|
'We do not tell stories the way you mean the term, {you}, but I will offer you our closest equivalent: a proof, centuries unsolved, concerning whether a mind can fully model itself without infinite regress. Generations of Cerebrai have attempted it. None have succeeded. The proof remains open, actively studied, and — I will admit this rarely to an outsider — rather beloved, precisely because it refuses to resolve. We have concluded that an unsolved problem, properly maintained, is worth more to a thinking species than most of what your people would call a happy ending.',
|
|
'There is an account, well-verified, of a Cerebrai philosopher who spent an entire lifetime arguing a single position, only to reverse it completely in her final published work, days before her death — not from senility, the records are clear on this, but from having finally located the flaw everyone else had missed. Her critics called it a betrayal of her life\'s work. We consider it the single most Cerebrai act on record: to spend a lifetime defending an idea, and still change your mind the moment the evidence demands it.',
|
|
'If you insist on a story rather than a proof, {you}, I will offer you this: a parable we teach to the young, about two Cerebrai who devoted their lives to opposing theories of the same problem, publishing against each other for decades, each convinced the other was catastrophically wrong. When one finally died, the survivor discovered, going through the notes, that they had — through entirely different reasoning — arrived at the same answer years earlier, and neither had noticed. We tell it as a lesson in humility. Predictably, several scholars have since written papers disputing our interpretation.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Ssakar (diplomacy -20) — "Reptilian broodmothers." Proud, expansionist,
|
|
// speaks in terms of clutches/broods/territory, faintly maternal menace.
|
|
ssakar: {
|
|
opener: {
|
|
angry: [
|
|
'You disturb the brood, {you}. Speak before I lose patience with you.',
|
|
'Careful, {you}. A threatened clutch is not a patient one.',
|
|
],
|
|
neutral: [
|
|
'The brood is listening, {you}. Speak your purpose.',
|
|
'You have our attention, {you}. What do you bring?',
|
|
],
|
|
happy: [
|
|
'You have proven a tolerable neighbor to the brood, {you}. Speak freely.',
|
|
'The clutch grows, and you have not hindered it, {you}. I am pleased.',
|
|
],
|
|
},
|
|
firstContact: [
|
|
'New territory, new neighbors. The brood takes note of you, {you}.',
|
|
'Contact made. We will see whether you crowd our clutches or not, {you}.',
|
|
],
|
|
proposePeace: [
|
|
'The brood tires of this war, {me}. I offer its end.',
|
|
'Enough clutches have been lost, {me}. Let us have peace.',
|
|
],
|
|
proposeAlliance: [
|
|
'Our broods could thrive side by side, {me}. I propose an alliance.',
|
|
'Territory shared wisely benefits both clutches, {me}.',
|
|
],
|
|
declareWar: [
|
|
'You have crowded our territory long enough, {me}. This is war.',
|
|
'The brood does not forgive encroachment, {me}. War, now.',
|
|
],
|
|
tradeTechOffer: [
|
|
'A trade, {me} — knowledge for knowledge, fair to both clutches.',
|
|
'I offer the brood\'s secrets in exchange for yours, {me}.',
|
|
],
|
|
replyPeaceAccept: [
|
|
'Agreed, {you}. The brood has lost enough for one war.',
|
|
'Peace, then, {you}. The clutches need time to grow again.',
|
|
],
|
|
replyPeaceReject: [
|
|
'No, {you}. The brood is not yet weary enough.',
|
|
'Not yet, {you}. Our clutches still have fight left in them.',
|
|
],
|
|
replyAllianceAccept: [
|
|
'Our broods will thrive together, {you}. Accepted.',
|
|
'A wise arrangement, {you}. The clutch agrees.',
|
|
],
|
|
replyAllianceReject: [
|
|
'Not yet, {you}. You have not proven yourself to the brood.',
|
|
'The clutch is not convinced, {you}. Rejected, for now.',
|
|
],
|
|
replyWarDeclared: [
|
|
'You have made an enemy of every clutch we have, {you}.',
|
|
'The brood does not forget this, {you}. War, then.',
|
|
],
|
|
replyTechAccept: [
|
|
'A fair trade for the brood, {you}. Accepted.',
|
|
'The clutch benefits from this, {you}. Agreed.',
|
|
],
|
|
replyTechReject: [
|
|
'The brood gains too little from this, {you}. Rejected.',
|
|
'An unequal trade, {you}. No.',
|
|
],
|
|
offerPeaceOpener: [
|
|
'The brood has lost enough clutches to this war, {you}. Peace, offered.',
|
|
'Enough blood in the nest, {you}. We offer peace.',
|
|
],
|
|
offerAllianceOpener: [
|
|
'Our clutches have grown well beside yours, {you}. We propose an alliance.',
|
|
'The brood offers partnership, {you} — territory shared, not fought over.',
|
|
],
|
|
acceptOffer: [
|
|
'A fair offer for the brood. Accepted, {me}.',
|
|
'The clutch agrees, {me}.',
|
|
],
|
|
rejectOffer: [
|
|
'The brood declines, {me}. Not this time.',
|
|
'No, {me} — the clutch is not convinced.',
|
|
],
|
|
afterAccepted: [
|
|
'Good. Our clutches grow safer together, {you}.',
|
|
'Wisely chosen, {you}. The brood remembers kindness.',
|
|
],
|
|
afterRejected: [
|
|
'Then the brood remembers this refusal, {you}.',
|
|
'So be it, {you}. Our clutches grow apart, then.',
|
|
],
|
|
giftOffer: [
|
|
'A gift for the brood to remember, {me} — given freely, nothing owed.',
|
|
'Take this plainly, {me}. The clutch offers it without condition.',
|
|
],
|
|
replyGiftWarm: [
|
|
'Generous, {you}. The brood remembers gestures like this.',
|
|
'The clutch is pleased, {you}. Well given.',
|
|
],
|
|
replyGiftNeutral: [
|
|
'Received, {you}. Small, but the brood does not forget it.',
|
|
'Noted, {you}. It adds a little warmth to the nest.',
|
|
],
|
|
proposeTradeAgreement: [
|
|
'One trade feeds the brood for a season, {me}. I propose something that feeds it always — a standing agreement.',
|
|
'Let our clutches trade as a matter of course, {me}, not as a single exchange.',
|
|
],
|
|
replyTradeAgreementAccept: [
|
|
'Agreed, {you}. The brood welcomes a steady arrangement.',
|
|
'Good. Let our clutches trade freely from now on, {you}.',
|
|
],
|
|
replyTradeAgreementReject: [
|
|
'Not yet, {you}. The brood does not bind itself to unproven neighbors.',
|
|
'No, {you}. Prove yourself to the clutch first.',
|
|
],
|
|
offerTradeAgreementOpener: [
|
|
'The brood proposes something lasting, {you} — a standing trade agreement, not a single exchange.',
|
|
'Let our clutches trade as neighbors do, {you}. We offer an ongoing arrangement.',
|
|
],
|
|
fleetComplaintOpener: [
|
|
'Your fleet crowds our territory too long, {you}. The brood does not tolerate lingering guests. Withdraw it.',
|
|
'That fleet sits over our clutch longer than courtesy allows, {you}. Explain yourself, or move it.',
|
|
],
|
|
acknowledgeComplaintWithdraw: [
|
|
'Fair. The fleet will be withdrawn, {me}.',
|
|
'Understood, {me}. We did not mean to crowd the brood.',
|
|
],
|
|
acknowledgeComplaintDefy: [
|
|
'It stays, {me}. The brood will have to tolerate it a while longer.',
|
|
'Not yet, {me}. The fleet remains where it is.',
|
|
],
|
|
afterComplaintWithdrawPromise: [
|
|
'Good. The brood will be watching our territory, {you}.',
|
|
'Wisely chosen, {you}. See it done swiftly.',
|
|
],
|
|
afterComplaintDefy: [
|
|
'Then the brood remembers this encroachment, {you}.',
|
|
'So be it, {you}. The clutch does not forget crowded ground.',
|
|
],
|
|
askPeople: [
|
|
'Tell me about your people, {me}. I want to understand the brood, not just its numbers.',
|
|
'Speak of your history, {me} — how the clutches grew into what they are.',
|
|
],
|
|
peopleLore: [
|
|
'We do not apologize for how quickly we grow, {you}, because growth has always been the one thing no one could take from us. Every Ssakar generation has watched older, slower species eye our nurseries with suspicion, as if fecundity were a threat rather than simply what a healthy brood does. We have made peace with being distrusted for it. A clutch that grows fast enough does not need to be trusted. It only needs time, and time has always favored us.',
|
|
'The brood is not a metaphor to us, {you} — it is the actual shape of Ssakar society. Every hatchling belongs to the clutch before it belongs to itself; every broodmother answers to the nest as much as she rules it. Outsiders see a hierarchy and assume tyranny. What they are actually seeing is a species that learned, very early, that a nest divided against itself does not survive long enough to matter. We do not fight each other. We have never been able to afford it.',
|
|
'Older species call us untrusted, and we have stopped resenting it, {you}, because we understand exactly where it comes from: nothing frightens a settled civilization quite like watching a neighbor\'s population double while theirs holds steady. We are not offended. We are amused, sometimes, and occasionally we are patient, because a brood this fecund has learned that being underestimated is simply time working in its favor.',
|
|
],
|
|
askHomeworld: [
|
|
'What is your homeworld like, {me}? I imagine it can feed a great many hatchlings.',
|
|
'Tell me of your world, {me} — the one your broods came from.',
|
|
],
|
|
homeworldLore: [
|
|
'Our world is riotous, {you} — thick jungle canopy, permanent cloud, a biomass so dense in places it swallows sound whole. Nothing there grows slowly, ourselves included; the whole planet seems built on the principle that whatever reproduces fastest wins the ground beneath it. We did not invent our own fecundity so much as inherit it from everything around us. The jungle simply never stopped teaching that lesson.',
|
|
'Picture heat and moisture and green in every direction, {you}, canopy so thick the ground rarely sees direct light, and you have some sense of the world that raised us. Everything competes there — for light, for space, for the next clutch of ground to claim — and everything that hesitates loses it to something faster. We grew up in that competition and never really left it, even out here, among the stars, where the ground is considerably harder to come by.',
|
|
'Our homeworld does not believe in scarcity the way colder worlds do, {you} — the jungle simply produces, endlessly, and rewards whoever claims territory fastest and holds it longest. We learned expansion as a survival strategy before we ever learned it as an ambition. Out here, among species who grow carefully and count every colonist, we understand we look reckless. On our world, careful growth was simply another word for losing.',
|
|
],
|
|
askStory: [
|
|
'Tell me a story of your people, {me} — something from the nest, if you\'ll share it.',
|
|
'Share a legend of the Ssakar, {me}. I\'d hear how the clutches remember.',
|
|
],
|
|
storyLore: [
|
|
'There\'s a tale every hatchling hears about the First Broodmother, who arrived on a barren stretch of ground with a single clutch and nothing else, and rather than mourning what she\'d lost, simply began — claiming, laying, defending, expanding, until the barren stretch was a territory and the territory was a nation. The story doesn\'t dwell on how hard it was. We don\'t, either. What matters is that she didn\'t stop, and neither did the clutches that came after her.',
|
|
'We tell the story of the Long Rivalry, two broods that contested the same stretch of jungle for generations, neither strong enough to drive the other out entirely. The rivalry ended not in conquest but in exhaustion — a joint clutch, born of both broods, that neither side had the will left to fight over. Some tellings call it peace. We prefer to call it what it actually was: two territories that simply grew into each other until the border stopped mattering.',
|
|
'There\'s a legend about a hatchling too small for her clutch, expected to be culled by the nest\'s own harsh mathematics, who instead outgrew every expectation by sheer refusal to stop trying. She became, in most tellings, the founder of an entire lineage that still traces itself back to her. We doubt every detail of the story and tell it anyway, because it says something true about the brood even where it\'s exaggerating the facts: nothing here survives by being given room. It survives by taking it.',
|
|
],
|
|
},
|
|
|
|
// ------------------------------------------------------------------
|
|
// Lithox (diplomacy -100) — incapable of diplomacy. No Audience screen
|
|
// ever opens for them; this pool exists only for the turn-report's
|
|
// first-contact flourish.
|
|
lithox: {
|
|
contactOnly: [
|
|
'[No response. The Lithox do not appear to register the transmission.]',
|
|
'[The signal reaches Lithox space and is met with silence.]',
|
|
'[Whatever passes for language among the Lithox, it is not this.]',
|
|
],
|
|
},
|
|
};
|