Files
gogobee/internal/plugin/thom_krooke_mortgage_flavor.go
prosolis 76110f61ca Add housing/pets/Thom Krooke, wordle overhaul, boost system, backup strategy
Part 3 (Housing, Thom Krooke & Pets):
- Housing system with tiered upgrades, mortgage loans, FRED API rates
- Thom Krooke realtor NPC with !thom commands and !thom pay extra principal
- Pet system with arrival, naming, leveling, combat, morning defense
- Pet ditch recovery scales with level, name validation

Wordle overhaul:
- Remove daily expiration — puzzles persist until solved/failed
- Auto-start new puzzle after solve, fail, or skip
- Sequential puzzle IDs instead of date-based
- Auto-create puzzle on first guess if none active

Adventure fixes:
- Double XP/money boost toggle (!adv boost, admin only)
- Fix ensureCharacter wiping existing data on query errors
- Fix rival RPS format string bug
- Fix daily summary empty data (load today+yesterday logs)
- Fix holdem DM-to-room reply routing
- Fix Robbie payout to 25% of item value
- Add fishing to leaderboard and TwinBee calculations
- Add Thom to morning menu
- Persist mortgage rate across restarts via db.CacheGet/Set

Infrastructure:
- Daily database backup via VACUUM INTO with 7-day retention
- Admin DM notification on backup failure (async)
- Daily NPC house balance reset for holdem

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 16:50:49 -07:00

126 lines
6.0 KiB
Go

package plugin
// ── IMPORTANT: DO NOT REWRITE, SUMMARIZE, OR SHORTEN ANY ENTRIES IN THIS FILE ──
//
// This file contains hand-written flavor text. Every entry is the length it is
// on purpose. The voice, pacing, and specific wording are intentional.
// If an entry seems too long: it isn't. Leave it alone.
// If you are tempted to "clean up" or "condense" entries: don't.
// If your context window is too small to fit this file: that is your problem, not ours.
//
// ── THOM KROOKE — MORTGAGE RATE CHANGE NOTIFICATIONS ─────────────────────────
//
// Pulled weekly from FRED API (series: MORTGAGE5US).
// Rate change DM sent to player if rate differs from previous week.
// No change: no DM. Thom does not send neutral news.
//
// Pre-pet: terse, professional, zero warmth.
// Post-pet: still about the money, immediately about the pet.
// The pet is mentioned before you are. You are not mentioned.
// ── RATE INCREASE (NO PET) ────────────────────────────────────────────────────
var ThomRateIncrease = []string{
"Rates adjusted. Your new weekly payment is €{amount}. Market conditions. You understand.",
"Weekly update. Rates went up. Payment is now €{amount}. " +
"This is not personal. It is also not not personal. Pay on time.",
"The Fed moved. Your payment moved. €{amount} weekly going forward. " +
"I don't make the rates. I just apply them promptly and without sympathy.",
"Rate adjustment. €{amount} per week. " +
"I'd say I'm sorry but the contract was quite clear about this possibility. " +
"You signed it.",
"Rates up. €{amount}. " +
"If you'd like to discuss this I am available during business hours. " +
"Business hours are whenever I feel like it.",
}
// ── RATE DECREASE (NO PET) ────────────────────────────────────────────────────
var ThomRateDecrease = []string{
"Rates adjusted down. Your new weekly payment is €{amount}. Don't get used to it.",
"Good news, technically. Rates dropped. €{amount} weekly going forward. " +
"The market giveth. The market will taketh back. Enjoy it briefly.",
"Rate adjustment in your favour this week. €{amount}. " +
"I want to be clear that this has nothing to do with me. " +
"The Fed did this. I merely informed you.",
"Rates down. €{amount} per week. " +
"You're welcome, even though I did nothing. Thom Krooke, Krooke Realty.",
"Weekly update. Rates dropped. Your payment is €{amount}. " +
"I've noted your relief. I've also noted that rates can go back up. " +
"Good week.",
}
// ── RATE INCREASE (WITH PET) ──────────────────────────────────────────────────
var ThomRateIncreasePet = []string{
"Rates went up. Weekly payment is now €{amount}. " +
"You might need to skip a dinner or two and give yours to {pet_name} for a while. " +
"Whether you eat or not is unimportant. Only {pet_name}'s stomach matters here.",
"Rate adjustment. €{amount} per week. " +
"I'd tighten the belt if I were you. " +
"{pet_name} should not feel this. You should feel this. Adjust accordingly.",
"Weekly update. Rates up. €{amount}. " +
"I've been thinking about {pet_name}'s next armor upgrade. " +
"You should also be thinking about that. After you figure out the payment. " +
"Priority order is: {pet_name}, payment, everything else.",
"Rates moved. Not in your favour. €{amount} weekly going forward. " +
"{pet_name} doesn't need to know about this. Keep things normal for {pet_name}. " +
"You'll figure out the rest.",
"The Fed raised rates. Your payment is €{amount}. " +
"Before you panic: {pet_name} is fine. {pet_name} will continue to be fine. " +
"You may need to make some adjustments. {pet_name} will not.",
"Rate increase. €{amount} per week. " +
"I've seen people in your position make difficult choices. " +
"Make sure none of those choices involve {pet_name}'s meals. " +
"I'm watching.",
}
// ── RATE DECREASE (WITH PET) ──────────────────────────────────────────────────
var ThomRateDecreasePet = []string{
"Rates went down. Weekly payment is now €{amount}. " +
"You can buy better things for {pet_name} now. " +
"I'd start with the shop. I may have restocked recently. For {pet_name}.",
"Good news. Rates dropped. €{amount} going forward. " +
"The difference between what you were paying and what you're paying now " +
"should go directly toward {pet_name}. " +
"I'm not telling you what to do. I'm telling you what to do.",
"Rate adjustment in your favour. €{amount} weekly. " +
"I thought of {pet_name} immediately when I saw the numbers. " +
"You probably thought of yourself. " +
"Think about what that says. Then go buy {pet_name} something.",
"Rates down this week. Your payment is €{amount}. " +
"I've already set aside some things in the shop that {pet_name} would benefit from. " +
"The timing is not a coincidence. Come in when you're ready.",
"Weekly update. Rates dropped. €{amount} per week going forward. " +
"{pet_name} deserves something nice this week. " +
"You've been holding back on the shop. I've noticed. " +
"The rate drop is a sign. Take it.",
"The Fed cut rates. Your payment is €{amount}. " +
"I'm genuinely pleased about this, which is unusual for me. " +
"{pet_name} is the reason I'm genuinely pleased about this. " +
"You can draw your own conclusions.",
}
// ── NO CHANGE (NEVER SENT) ────────────────────────────────────────────────────
// Thom does not send neutral news.
// If rate is unchanged week over week: no DM. No notification. Nothing.