Commit Graph

55 Commits

Author SHA1 Message Date
37d3b639bf
Merge branch 'Rewrite-Stats-System' of https://git.chromaticdragon.app/kistaro/KoboldSim into effects_table
# Conflicts:
#	koboldsim/cards.go
#	koboldsim/stats.go

cards.go -- Rakeela fixed a card differently from how I did
stats.go -- expected; Rakeela added to the big switch statement I got rid of
2024-09-29 12:51:39 -07:00
Rakeela
39e4c94b6f Merge branch 'Rewrite-Stats-System' of https://git.chromaticdragon.app/kistaro/KoboldSim into Rewrite-Stats-System 2024-09-29 12:48:46 -07:00
Rakeela
99c5e5af6d Converting cards to effectstables 2024-09-29 12:48:19 -07:00
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
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
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