a237fa81bf
pull try
out of Add
...
deferring a recovery handler is normal in Go but opaque. Pulling out a helper for this (`try`) makes it more obvious that this is just another "if this operation fails, return error" case.
2024-09-29 12:41:49 -07:00
68cab7d2be
Remove stale "Add case" snippet
...
The reflection-driven implementation of Add no longer contains a huge boilerplate `switch` statement so we no longer need a snippet for the boilerplate.
2024-09-29 12:20:53 -07:00
2d16f97314
Remiplement Add to use reflection.
...
Now it matters whether `FieldLabel`s are spelled correctly, but in return, we don't have to write and maintain that obnoxious `switch` statement.
2024-09-29 12:19:07 -07:00
8a28f38d4d
Finish converting second option of Pan-Tribal Festival of Bureaucracy.
2024-09-29 12:18:12 -07:00
b2099586fc
reimplement clamp as mid
...
removes an opportunity to write a bug by swapping low and high
2024-09-29 12:09:11 -07:00
Rakeela
c4427885ca
Converting cards to TablePolicy
2024-09-29 11:14:31 -07:00
219ff33d66
Rewrite Warborn military creche option
2024-09-29 10:32:57 -07:00
5b860135e9
EnactionDesc for enaction event
2024-09-29 10:32:01 -07:00
d2a00d2044
fix compilation errors and warnings
2024-09-29 10:27:15 -07:00
ba5171fd67
Prototype for TablePolicy
2024-09-29 10:19:19 -07:00
Rakeela
e018bd0ad6
Card 10, first PIP implementation
2024-09-29 09:29:50 -07:00
Rakeela
16f452b08f
Start on Implementing PIPs
2024-09-27 21:56:13 -07:00
Rakeela
18b221d972
Update stats.go
2024-09-27 16:04:17 -07:00
Rakeela
e45c5b3711
Test change
...
We'll see if this just works.
2024-09-27 15:45:34 -07:00
f53beb4b17
New card, update for crime stats
2023-05-23 11:30:21 -07:00
c30254a36d
Crime stats update
2023-05-23 11:30:09 -07:00
350fd0f777
Use Mean to calculate StatChaos.
2023-05-13 20:15:57 -07:00
816b5e8e7a
Mathematical mean helper.
2023-05-13 20:13:05 -07:00
e61d7571f0
Chaos Stat
2023-05-13 20:05:07 -07:00
6d6d0f5c8b
Squalor mechanic introduction
...
I haven't connected it to crime yet.
2023-04-19 22:33:24 -07:00
3ca17d8881
Update go.mod
2023-04-19 11:37:48 -07:00
976610b1bb
Food supply tweaks, new card
2023-04-19 11:37:40 -07:00
a4692712cc
Issue #7 , plus DimReturns
2023-04-13 16:06:56 -07:00
2ca8f3ed13
Economy Update,
...
Adding in diminishing returns.
2023-04-13 16:06:40 -07:00
0a39cc76d6
Two Kobolds In A Trenchcoat: grammar fix
2023-04-08 18:38:51 -07:00
de7092cf4b
SwitchingCard.IsValid: control drawability.
...
Cards can now specify conditions that must be met for them to be drawn into the hand.
Additionally, this improves the documentation of SwitchingCard.
2023-04-08 18:33:58 -07:00
d434e50897
Shuffle cards back by default.
...
If no After function is provided for a SwitchingCard, it uses ShuffleIntoBottomHalf.
This also modifies Then to be callable with a nil `o`, which it recognizes as "nothing happened but we need cleanup anyway", in preparation for the incoming "make cards sometimes not drawable" feature.
2023-04-08 18:18:00 -07:00
95a30cb522
Foreign Relations, Forestry, and a New Issue
...
I guess this project will continue growing for now.
2023-04-05 20:26:57 -07:00
f3fd0c582f
Expansion of Issue #4
...
Parks spending will have more features later.
2023-04-05 12:30:00 -07:00
de98cf8fb3
Obesity Stat Implementation
...
First sigmoid function!
2023-04-05 12:29:23 -07:00
d66e17a279
Partial New Policy Card
...
It works like this, but it needs more options.
2023-04-05 00:09:37 -07:00
caa5c2e60c
New Expense
...
I missed one from my notes
2023-04-05 00:09:12 -07:00
159508b202
New Issue, Food Supply Feature
2023-04-04 20:23:32 -07:00
301d8ae161
Hide unavailable options on SwitchingCard.
2023-04-04 20:21:12 -07:00
e0dad09045
Refactor, new menu, issue feature update
...
It's now possible to make issue options enabled or disabled conditional upon having taken other actions with that issue before.
2023-04-04 13:22:43 -07:00
ccd141ddc5
Economic Stats Expansion
...
I also got rid of the "Sector" and "Gov" parts of the tokens, they were just pointless elongation.
2023-04-04 10:33:14 -07:00
d2f89f5bd4
Issue #2 Option Validity Check
...
I also fixed the write to-do and changed an improbable mention of Education into a more likely mention of Finance.
2023-04-03 21:20:14 -07:00
f7bed6c4b9
Can't assume CanDo is always there.
...
BasicPolicy doesn't know how to do fallback, that's driven by the VerbosePolicy. But the VerbosePolicy isn't there if BasicPolicy is trying to use CanDo itself. Just remove the check.
2023-04-03 21:15:43 -07:00
1eedfb50e8
Fix enablement
2023-04-03 20:33:35 -07:00
c2d637b109
Fix out-of-range check.
2023-04-03 20:25:29 -07:00
7313ac0d73
Fully implement Festival of Bureaucracy.
2023-04-03 20:24:01 -07:00
140d7b6cbb
DisabledPolicy: a policy that doesn't
2023-04-03 20:12:06 -07:00
5af762474c
OverrideDefaultMsg and support in VerbosePolicy
...
For when you need a partially-functional message but don't want to repeatedly write the same Enact func.
2023-04-03 19:57:09 -07:00
2c1fc73ef5
FuncPolicy: function pointer policy
...
For when you don't want to go to the trouble of writing a type, but do need actual functions.
2023-04-03 19:52:47 -07:00
a1f55c865d
Refactor VerbosePolicy.
...
This allows it to switch between other complete policies, with fallbacks to a default if parts aren't impelemented. Complementing it is the change to BasicPolicy, which throws ErrUnimplemented if fields are missing, which VerbosePolicy uses as a "go ask the default" sign.
2023-04-03 19:41:32 -07:00
8ce6539c8a
IncompleteImplementationofSecondIssue
2023-04-03 16:18:26 -07:00
0e77206868
Change "Productivity" to "Income" and "Expense
...
Also fixes a typo and an incorrectly assigned variable.
2023-04-03 14:35:36 -07:00
4e983bd0f0
Fix nil deref and identity failure.
...
Also updates deps to pick up a message display fix.
2023-04-03 01:59:23 -07:00
c798ba31e1
Fix nil dereference.
2023-04-03 01:40:47 -07:00
47fa7c3d6b
tidy go.mod
2023-04-03 01:38:30 -07:00