Ledger v3 · C# · Godot 4.7 Get started

Again

Going again after dying, what was banked kept.

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

v2's cookbook, going again after dying (G245-G247). The runner is one actor for the whole session: it dies, gets up and goes again, so what it banked is a pool on it, which its death leaves alone. What an attempt gave it carries the Attempt tag, and the attempt's end takes everything with the tag; what it bought with salvage doesn't carry it.

content/cookbook/again.ledgerthe content
1# v2's cookbook, going again after dying (G245-G247). The runner is one actor for the whole session: it dies, gets up
2# and goes again, so what it banked is a pool on it, which its death leaves alone. What an attempt gave it carries the
3# Attempt tag, and the attempt's end takes everything with the tag; what it bought with salvage doesn't carry it.
4
5rate 60
6stat MaxHealth
7pool Health max MaxHealth
8pool Salvage max 9999
9damage Health
10tags Attempt
11event Died AttemptEnded
13effect Mortal
14 after Depleted Health of holder
15 raise Died of holder
16 destroy holder
18# ---- G245 a kill is worth 25 salvage to whoever made it, banked on the runner itself ----
20effect Salvaging
21 after Died credited to holder
22 gain Salvage 25
24# ---- G246 the attempt's end: not dead but up again, at half its health, without what the attempt gave it ----
26effect Running
27 after Depleted Health of holder
28 raise AttemptEnded of holder
29 after AttemptEnded of holder
30 remove all Attempt
31 set Health holder.MaxHealth / 2
33effect Sharpened
34 tags Attempt
35 MaxHealth + 10
37# ---- G247 bought between attempts for 40 salvage, refused with nothing spent when it isn't there, and kept ----
39effect Grit
40 stack add
41 MaxHealth + 40
43ability BuyGrit
44 target self
45 cost Salvage 40
46 apply Grit
48archetype Runner
49 base MaxHealth 100
50 full Health
51 pools Salvage
52 has Salvaging
53 has Running
54 grants BuyGrit
56archetype Husk
57 base MaxHealth 10
58 full Health
59 has Mortal
content/cookbook/again.playwhat it must do
1catalog again.ledger
2row G245 Mortal Salvaging Runner Husk
3row G246 Running Sharpened Runner
4row G247 Grit BuyGrit Runner
5
6play G245 "Two kills bank 50 salvage on the runner; its death takes none of it, and it starts the next attempt with 50"
7 make r Runner
8 make a Husk
9 make b Husk
10 deal 10 to a from r
11 deal 10 to b from r
12 expect a gone
13 expect r.Salvage = 50 from G245: "25 salvage" + "25 salvage"
14 save
15 deal 100 to r
16 expect event AttemptEnded of r
17 expect r.Salvage = 50 from G245: "still 50"
18 expect r.Health = 50 from content: G245 says nothing of the runner's health after a death; the content brings it back at half its 100
20play G246 "Sharpened and with grit bought, the runner holds 150; its attempt's end brings it back at half of 140, 70, the sharpening gone, the grit and its salvage kept"
21 make r Runner
22 make a Husk
23 make b Husk
24 deal 10 to a from r
25 deal 10 to b from r
26 act r BuyGrit
27 apply Sharpened to r
28 expect max r.Health = 150 from G246: max r.Health + "+40 max health" in G247 + "+10 max health"
29 save
30 deal 200 to r
31 expect r lacks Sharpened
32 expect r has Grit
33 expect max r.Health = 140 from G246: max r.Health + "+40 max health" in G247
34 expect r.Health = 70 from content: G246 leaves open whether half the maximum is taken before or after the stripping; the content takes it after, half of 140
35 expect r.Salvage = 10 from G246: "25 salvage" in G245 + "25 salvage" in G245 - "spends 40 salvage" in G247
37play G247 "Grit costs 40 salvage and is 40 health for good; with 10 left it is refused and nothing is spent; it outlives the runner's death"
38 make r Runner
39 make a Husk
40 make b Husk
41 deal 10 to a from r
42 deal 10 to b from r
43 act r BuyGrit
44 expect done
45 expect r.Salvage = 10 from G247: "25 salvage" in G245 + "25 salvage" in G245 - "spends 40 salvage"
46 expect max r.Health = 140 from G247: max r.Health + "+40 max health"
47 act r BuyGrit
48 expect refused CannotAfford
49 expect r.Salvage = 10 from G247: "25 salvage" in G245 + "25 salvage" in G245 - "spends 40 salvage"
50 save
51 deal 200 to r
52 expect max r.Health = 140 from G247: max r.Health + "+40 max health"
53 expect r.Health = 70 from content: the play plays G247 alone, which says nothing of the health after a death; the content brings the runner back at half its 140

Run it yourself

ledger check content/cookbook/again.ledger content/cookbook/again.play
ledger play content/cookbook/again.play