Ledger v3 · C# · Godot 4.7 Get started

Meetings

When two applications meet.

✓ 3 plays, 51 steps, all passingFrom v2's cookbook

v2's cookbook, when two applications meet (G272-G274): a blessing compared by its strength, venom kept apart for each poisoner, and a brand compared by rank that takes nothing more once it is full.

content/cookbook/meetings.ledgerthe content
1# v2's cookbook, when two applications meet (G272-G274): a blessing compared by its strength, venom kept apart for
2# each poisoner, and a brand compared by rank that takes nothing more once it is full.
3
4rate 60
5stat MaxHealth
6stat Armor
7stat Faith
8stat Rank
9pool Health max MaxHealth
10damage Health
11tags Venom Fire
13archetype Priest
14 base MaxHealth 100
15 base Faith 10
16 full Health
17 grants Bless
19archetype Bishop
20 base MaxHealth 100
21 base Faith 25
22 full Health
23 grants Bless
25archetype Knight
26 base MaxHealth 200
27 full Health
29# ---- G272 a blessing is armour equal to its caster's faith: a stronger one replaces a weaker, an equal one refreshes,
30# a weaker one is refused, naming the one held ----
32effect Blessed
33 stack refresh stronger by source.Faith
34 lasts 30s
35 Armor + source.Faith
37ability Bless
38 target one
39 apply Blessed to target
41# ---- G273 venom is each snake's own: three stacks at most from one, and another's beside it; 2 a stack a second for
42# 6 seconds ----
44effect Venom
45 tags Venom
46 stack add max 3 per source
47 lasts 6s
48 every 1s
49 deal 2 * self.stacks Venom to holder
51ability Bite
52 target one
53 apply Venom to target
55archetype Snake
56 base MaxHealth 30
57 full Health
58 grants Bite
60# ---- G274 a brand by rank: 3 a stack every 2 seconds for 20, three stacks at most; a higher rank replaces a lower,
61# starting again at one, a lower is refused, and a full brand refuses even a higher ----
63effect Brand
64 tags Fire
65 stack add max 3 then refuse stronger by source.Rank
66 lasts 20s
67 every 2s
68 deal 3 * self.stacks Fire to holder
70ability BrandMark
71 target one
72 apply Brand to target
74archetype Brander
75 base MaxHealth 100
76 base Rank 1
77 full Health
78 grants BrandMark
80archetype Adept
81 base MaxHealth 100
82 base Rank 2
83 full Health
84 grants BrandMark
86archetype Master
87 base MaxHealth 100
88 base Rank 3
89 full Health
90 grants BrandMark
content/cookbook/meetings.playwhat it must do
1catalog meetings.ledger
2row G272 Blessed Bless Priest Bishop Knight
3row G273 Venom Bite Knight Snake
4row G274 Brand BrandMark Knight Brander Adept Master
5
6play G272 "A priest's blessing is 10 armour; a bishop's 25 replaces it; the priest's again is refused and the armour stays 25; another bishop's, as strong, refreshes it"
7 make p Priest
8 make b Bishop
9 make c Bishop
10 make k Knight
11 act p Bless at k
12 expect k.Armor = 10 from G272: "priest 10"
13 act b Bless at k
14 expect k.Armor = 25 from G272: "bishop 25"
15 advance 10s
16 apply Blessed to k from p
17 expect already
18 expect k.Armor = 25 from G272: "bishop 25"
19 expect k remaining Blessed = 20s from content: G272 gives no blessing duration; the content's 30 seconds less the play's 10s
20 save
21 act c Bless at k
22 expect k.Armor = 25 from G272: "bishop 25"
23 expect k remaining Blessed = 30s from content: G272 leaves open what refreshing does to the timer; the content's restarts its 30 seconds
25play G273 "Venom is each snake's own: one snake's three bites are three stacks and a fourth is still three; another's bite is its own beside them, and four stacks bite 8 a second"
26 make s Snake
27 make t Snake
28 make k Knight
29 act s Bite at k
30 act s Bite at k
31 act s Bite at k
32 act s Bite at k
33 expect k has Venom 3 from s from G273: "three stacks"
34 act t Bite at k
35 expect k has Venom 1 from t from G273: count "act t Bite"
36 save
37 advance 1s
38 expect k.Health = 192 from G273: k.Health - "8 damage in a second"
40play G274 "A rank-1 brand twice is two stacks; a rank-2 replaces it at one; a rank-1 is then refused; two more rank-2 fill it to three, and a full brand refuses even a rank-3. Three stacks burn 9 every 2 seconds"
41 make k Knight
42 make r Brander
43 make a Adept
44 make m Master
45 act r BrandMark at k
46 act r BrandMark at k
47 expect k has Brand 2 from G274: count "act r BrandMark"
48 act a BrandMark at k
49 expect k has Brand 1 from G274: "restarting at one stack"
50 expect k has Brand 1 from a from G274: "restarting at one stack"
51 apply Brand to k from r
52 expect already
53 save
54 act a BrandMark at k
55 act a BrandMark at k
56 expect k has Brand 3 from G274: "three stacks"
57 apply Brand to k from m
58 expect already
59 expect k has Brand 3 from a from G274: "three stacks"
60 advance 2s
61 expect k.Health = 191 from content: G274 leaves open when the first pulse lands; the content's lands at 2s, 3 a stack for three stacks off its 200

Run it yourself

ledger check content/cookbook/meetings.ledger content/cookbook/meetings.play
ledger play content/cookbook/meetings.play