From f3fd0c582ff4374153b73d332eab5c6963b0e0aa Mon Sep 17 00:00:00 2001 From: Rakeela Date: Wed, 5 Apr 2023 12:30:00 -0700 Subject: [PATCH] Expansion of Issue #4 Parks spending will have more features later. --- koboldsim/cards.go | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/koboldsim/cards.go b/koboldsim/cards.go index 1af45e8..e3c026a 100644 --- a/koboldsim/cards.go +++ b/koboldsim/cards.go @@ -382,13 +382,51 @@ var cards = []Card{ }, CanDo: YesWeCan, }, + &BasicPolicy{ + UnenactedDesc: cardsim.MsgStr(`Your Minister of Finance is scandalized. "A free service? And such an expensive one to construct? No, no, no. The baths must pull their weight in the budget if they're ot be made at all. We must set an entry fee."`), + EnactedDesc: cardsim.MsgStr("[current policy] Elite bathhouses serve paying customers in your largest sites."), + Do: func(p *Player) (cardsim.Message, error) { + p.Stats.ConstructionIncome += 0.01 + p.Stats.HospitalityIncome += 0.01 + p.Stats.ParksExpense += 0.02 + return cardsim.MsgStr("A dirty body is the mark of the lower classes."), nil + }, + Undo: func(p *Player) error { + p.Stats.ConstructionIncome -= 0.01 + p.Stats.HospitalityIncome -= 0.01 + p.Stats.ParksExpense -= 0.02 + return nil + }, + CanDo: YesWeCan, + }, + &BasicPolicy{ + UnenactedDesc: cardsim.MsgStr(`Your head diplomat chimes in with, "If you want to make the service self-sustaining, build a bath in a shallow cave and invite the surfacers in for a fee. Of course, we'll be giving up some of our secrecy, but it'll bring in foreign exchange to power our industries."`), + EnactedDesc: cardsim.MsgStr("[current policy] Conservative kobolds are scandalized: not only has the nation bathhouses, it has near-surface bathhouses for surfacers to visit."), + Do: func(p *Player) (cardsim.Message, error) { + p.Stats.ConstructionIncome += 0.02 + p.Stats.HospitalityIncome += 0.03 + p.Stats.ManufacturingIncome += 0.01 + p.Stats.ParksExpense += 0.03 + p.Stats.FoodSupply += 0.01 + return cardsim.MsgStr("Surfacers stink less in the nation's vicinity."), nil + }, // Reminder: When a Secrecy stat is implemented charge this option a secrecy penalty. + Undo: func(p *Player) error { + p.Stats.ConstructionIncome -= 0.02 + p.Stats.HospitalityIncome -= 0.03 + p.Stats.ManufacturingIncome -= 0.01 + p.Stats.ParksExpense -= 0.03 + p.Stats.FoodSupply -= 0.01 + return nil + }, + CanDo: YesWeCan, + }, &VerbosePolicy{ Default: &BasicPolicy{ - UnenactedDesc: cardsim.MsgStr("When is the right time to embark on building public baths? You can hew close to skeptics instead."), + UnenactedDesc: cardsim.MsgStr("Bathhouses are a big project that would displace other things in the city center. You could use the space for housing and services instead."), EnactedDesc: cardsim.MsgStr("When is the right time to embark on building public baths? You can hew close to skeptics instead."), Do: func(p *Player) (cardsim.Message, error) { p.Stats.BasePopulation += 5 - return cardsim.MsgStr("There are a few opponents of public baths to curry the support of."), nil + return cardsim.MsgStr("Opponents of public bathing won a recent political contest."), nil }, Undo: func(p *Player) error { p.Stats.BasePopulation -= 5