Economic Stats Expansion

I also got rid of the "Sector" and "Gov" parts of the tokens, they were just pointless elongation.
This commit is contained in:
2023-04-04 10:33:14 -07:00
parent d2f89f5bd4
commit ccd141ddc5
2 changed files with 238 additions and 49 deletions

View File

@@ -13,14 +13,14 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr("[current policy] Your war chief is presntly monitoring the situation, building up your military, and securing your creches."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 100
p.Stats.SectorScavengingIncome.Value += 0.01
p.Stats.GovWarExpense.Value += 0.02
p.Stats.ScavengingIncome.Value += 0.01
p.Stats.WarExpense.Value += 0.02
return cardsim.MsgStr("Kobolds are known to be born warriors."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value -= 100
p.Stats.SectorScavengingIncome.Value -= 0.01
p.Stats.GovWarExpense.Value -= 0.02
p.Stats.ScavengingIncome.Value -= 0.01
p.Stats.WarExpense.Value -= 0.02
return nil
},
CanDo: YesWeCan,
@@ -30,14 +30,14 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr("[current policy] Your head miner is presently leading a project to dig as far away from the surface as possible."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 40
p.Stats.SectorMiningIncome.Value += 0.02
p.Stats.GovBureaucracyExpense.Value += 0.01
p.Stats.MiningIncome.Value += 0.02
p.Stats.BureaucracyExpense.Value += 0.01
return cardsim.MsgStr("Kobolds are known to be cowards hiding in the dark."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value -= 40
p.Stats.SectorMiningIncome.Value -= 0.02
p.Stats.GovBureaucracyExpense.Value -= 0.01
p.Stats.MiningIncome.Value -= 0.02
p.Stats.BureaucracyExpense.Value -= 0.01
return nil
},
CanDo: YesWeCan,
@@ -47,14 +47,14 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr("[current policy] Military funding has been diverted into early childhood education."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value -= 40
p.Stats.SectorScavengingIncome.Value -= 0.01
p.Stats.GovWarExpense.Value -= 0.02
p.Stats.ScavengingIncome.Value -= 0.01
p.Stats.WarExpense.Value -= 0.02
return cardsim.MsgStr("An undefended hunting outpost near the surface was recently wiped out by a raid."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value += 40
p.Stats.SectorScavengingIncome.Value += 0.01
p.Stats.GovWarExpense.Value += 0.02
p.Stats.ScavengingIncome.Value += 0.01
p.Stats.WarExpense.Value += 0.02
return nil
},
CanDo: YesWeCan,
@@ -103,14 +103,14 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr("[current policy] Your bureaucrats are really looking forward to attending, where they can boast about how the festival boosted their salaries."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 80
p.Stats.SectorScavengingIncome.Value += 0.01
p.Stats.GovBureaucracyExpense.Value += 0.03
p.Stats.ScavengingIncome.Value += 0.01
p.Stats.BureaucracyExpense.Value += 0.03
return cardsim.MsgStr("Bureaucrats are considered pillars of society."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value -= 80
p.Stats.SectorScavengingIncome.Value -= 0.01
p.Stats.GovBureaucracyExpense.Value -= 0.03
p.Stats.ScavengingIncome.Value -= 0.01
p.Stats.BureaucracyExpense.Value -= 0.03
return nil
},
CanDo: YesWeCan,
@@ -120,15 +120,15 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr("[current policy] Your nation's policy is clear: the festival of bureaucracy is a chance to trade workers with other kobold nations in your attempts to build a more efficient government."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 20
p.Stats.GovBureaucracyExpense.Value -= 0.01
p.Stats.BureaucracyExpense.Value -= 0.01
return cardsim.MsgStr("Immigrant bureaucrats complain about being under-appreciated."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value -= 20
p.Stats.GovBureaucracyExpense.Value += 0.01
p.Stats.BureaucracyExpense.Value += 0.01
return nil
},
CanDo: func(p *Player) bool { return p.Stats.GovBureaucracyExpense.Value >= 0.02 },
CanDo: func(p *Player) bool { return p.Stats.BureaucracyExpense.Value >= 0.02 },
// CanDo: func(p *Player) bool {
// if p.Stats.GovBureaucracyExpense.Value >= 0.02 {
// return true
@@ -142,27 +142,27 @@ var cards = []Card{
EnactedDesc: cardsim.MsgStr(`[current policy] It's hard to find volunteer workers at the festival, but your nation is doing its best.`),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 10
p.Stats.GovBureaucracyExpense.Value -= 0.02
p.Stats.BureaucracyExpense.Value -= 0.02
return cardsim.MsgStr("The local bureaucracy is staffed by volunteer labor."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value -= 10
p.Stats.GovBureaucracyExpense.Value += 0.02
p.Stats.BureaucracyExpense.Value += 0.02
return nil
},
CanDo: func(p *Player) bool { return p.Stats.GovBureaucracyExpense.Value < 0.02 },
CanDo: func(p *Player) bool { return p.Stats.BureaucracyExpense.Value < 0.02 },
},
&BasicPolicy{
UnenactedDesc: cardsim.MsgStr(`One of your non-bureaucrat friends has been in a foul temper. "This festival is everything that's wrong with our society. Life isn't about filling out forms. We ought to snub this festival and outright fire some bureaucrats."`),
EnactedDesc: cardsim.MsgStr("Your nation currently bans the International Festival of Bureaucracy. There will be no local celebration without a policy change."),
Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value -= 80
p.Stats.GovBureaucracyExpense.Value -= 0.04
p.Stats.BureaucracyExpense.Value -= 0.04
return cardsim.MsgStr("A wave of bureaucrats just emigrated along with kobolds incensed by the nation's lack of respect for administration."), nil
},
Undo: func(p *Player) error {
p.Stats.Kobolds.Value += 80
p.Stats.GovBureaucracyExpense.Value += 0.04
p.Stats.BureaucracyExpense.Value += 0.04
return nil
},
CanDo: YesWeCan,
@@ -187,13 +187,13 @@ var cards = []Card{
&DisabledPolicy{cardsim.MsgStr("Neglecting the event would be less popular and more inefficient than our current policy.")},
&FuncPolicy{
OptionTextFunc: func(p *Player) (cardsim.Message, error) {
if p.Stats.GovBureaucracyExpense.Value >= -0.03 {
if p.Stats.BureaucracyExpense.Value >= -0.03 {
return cardsim.MsgStr("Permitting the festival will yield some immigration, but we'll be expected to rebuild our bureaucracy."), nil
}
return cardsim.MsgStr("Permitting the festival will yield some immigration."), nil
},
EnactFunc: func(p *Player) (cardsim.Message, error) {
if p.Stats.GovBureaucracyExpense.Value >= -0.03 {
if p.Stats.BureaucracyExpense.Value >= -0.03 {
return cardsim.MsgStr("A festival of bureaucracy just saw the nation's bureaucracy rebuilt."), ErrKeepMessage
}
return cardsim.MsgStr("A festival of bureaucracy brought in immigrants wondering at the nation's lack thereof."), ErrKeepMessage