Fully implement Festival of Bureaucracy.

This commit is contained in:
Kistaro Windrider 2023-04-03 20:24:01 -07:00
parent 140d7b6cbb
commit 7313ac0d73
Signed by: kistaro
SSH Key Fingerprint: SHA256:TBE2ynfmJqsAf0CP6gsflA0q5X5wD5fVKWPsZ7eVUg8

View File

@ -57,7 +57,7 @@ var cards = []Card{
}, },
}, },
&VerbosePolicy{ &VerbosePolicy{
BasicPolicy: &BasicPolicy{ Default: &BasicPolicy{
UnenactedDesc: cardsim.MsgStr("This isn't about a disaster and can probably be safely dismissed."), UnenactedDesc: cardsim.MsgStr("This isn't about a disaster and can probably be safely dismissed."),
Do: func(p *Player) (cardsim.Message, error) { Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value += 20 p.Stats.Kobolds.Value += 20
@ -67,23 +67,24 @@ var cards = []Card{
p.Stats.Kobolds.Value -= 20 p.Stats.Kobolds.Value -= 20
return nil return nil
}, },
CanDo: YesWeCan,
}, },
Content: []DescResult{ Variants: []Policy{
{ &BasicPolicy{
Desc: cardsim.MsgStr("Rejecting this issue will also reject the military's natalist stance."), UnenactedDesc: cardsim.MsgStr("Rejecting this issue will also reject the military's natalist stance."),
Result: cardsim.MsgStr("Militant natalism has been reduced by policy."), Do: OverrideMsg(cardsim.MsgStr("Militant natalism has been reduced by policy.")),
}, },
{ &BasicPolicy{
Desc: cardsim.MsgStr(`"Dig deeper" pressures in your nation may be excessive.`), UnenactedDesc: cardsim.MsgStr(`"Dig deeper" pressures in your nation may be excessive.`),
Result: cardsim.MsgStr("Some of the lower depths are being abandoned."), Do: OverrideMsg(cardsim.MsgStr("Some of the lower depths are being abandoned.")),
}, },
{ &BasicPolicy{
Desc: cardsim.MsgStr("Near-surface patrols may need to be increased."), UnenactedDesc: cardsim.MsgStr("Near-surface patrols may need to be increased."),
Result: cardsim.MsgStr("More and better-armed hunting outposts are being established."), Do: OverrideMsg(cardsim.MsgStr("More and better-armed hunting outposts are being established.")),
}, },
{ &BasicPolicy{
Desc: cardsim.MsgStr("This isn't about a disaster and can probably continue to be safely dismissed."), EnactedDesc: cardsim.MsgStr("This isn't about a disaster and can probably continue to be safely dismissed."),
Result: cardsim.MsgStr("Creche control doesn't shift that easily."), Do: OverrideMsg(cardsim.MsgStr("Creche control doesn't shift that easily.")),
}, },
}, },
}, },
@ -155,8 +156,9 @@ var cards = []Card{
}, },
}, },
&VerbosePolicy{ &VerbosePolicy{
BasicPolicy: &BasicPolicy{ Default: &BasicPolicy{
UnenactedDesc: cardsim.MsgStr("Some kobolds will attend the festival on their own, and we may face desertions for our lack of interest."), UnenactedDesc: cardsim.MsgStr("Some kobolds will attend the festival on their own, and we may face desertions for our lack of interest."),
EnactedDesc: cardsim.MsgStr("Some kobolds will attend the festival on their own. No change is expected."),
Do: func(p *Player) (cardsim.Message, error) { Do: func(p *Player) (cardsim.Message, error) {
p.Stats.Kobolds.Value -= 20 p.Stats.Kobolds.Value -= 20
return cardsim.MsgStr("A festival of bureaucracy lured away a few kobolds to other nations."), nil return cardsim.MsgStr("A festival of bureaucracy lured away a few kobolds to other nations."), nil
@ -165,6 +167,27 @@ var cards = []Card{
p.Stats.Kobolds.Value += 20 p.Stats.Kobolds.Value += 20
return nil return nil
}, },
CanDo: YesWeCan,
},
Variants: []Policy{
nil,
&DisabledPolicy{cardsim.MsgStr("TODO(rakeela): write")},
&DisabledPolicy{cardsim.MsgStr("TODO(rakeela): write")},
&FuncPolicy{
OptionTextFunc: func(p *Player) (cardsim.Message, error) {
if p.Stats.GovBureaucracyExpense.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 {
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
},
},
nil, // remember, if using a BasicPolicy, this uses EnactedDesc
}, },
}, },
}, },