Stacks
Stacks counted and spent.
v2's cookbook, stacks counted and spent (G317-G323): a dispel of one stack and one of everything magic, combo points a finisher spends three of or all of, an attack that lands only on five sunders, bark a blow strips a layer of, and three charges of cheating death.
1
# v2's cookbook, stacks counted and spent (G317-G323): a dispel of one stack and one of everything magic, combo points2
# a finisher spends three of or all of, an attack that lands only on five sunders, bark a blow strips a layer of, and3
# three charges of cheating death.5
rate 606
stat MaxHealth7
stat Armor8
pool Health max MaxHealth9
damage Health10
stages Final11
tags Magic12
event Died Lifted14
effect Mortal15
after Depleted Health of holder16
raise Died of holder17
destroy holder19
archetype Rogue20
base MaxHealth 10021
full Health22
has Mortal23
grants DispelOne MassDispel Jab Eviscerate Rupture SunderArmor Expose Barkskin Mend CheatDeath25
# ---- G317 G318 a dispel of one stack, the oldest magic first; and one of every magic effect, whatever its stacks ----27
effect Hex28
tags Magic29
stack add max 530
lasts 20s31
Armor - 232
end33
raise Lifted of holder35
effect Slow36
tags Magic37
stack add max 538
lasts 20s40
effect Taunted41
lasts 20s43
ability DispelOne44
target one45
remove all Magic 1 from target47
ability MassDispel48
target one49
remove all Magic from target51
# ---- G319 G320 combo points: a jab builds one, ten seconds each, five at most; eviscerate spends three for 30, and52
# rupture spends every one for 15 each ----54
effect Combo55
stack separate max 556
lasts 10s58
ability Jab59
target one60
deal 5 to target61
apply Combo to holder63
ability Eviscerate64
target one65
requires stacks(holder, Combo) >= 3 else "not enough combo points"66
remove Combo 367
deal 30 to target69
ability Rupture70
target one71
requires has(holder, Combo) else "no combo points"72
let n = stacks(holder, Combo)73
remove Combo74
deal 15 * n to target76
# ---- G321 expose lands only on five sunders, and leaves them ----78
effect Sunder79
stack add max 580
lasts 15s81
Armor - 183
effect Exposed84
lasts 6s86
ability SunderArmor87
target one88
apply Sunder to target90
ability Expose91
target one92
if stacks(target, Sunder) >= 593
apply Exposed to target95
# ---- G322 barkskin: three layers of 10 armour for 20 seconds, each blow taking one; a heal takes none ----97
effect Bark98
stack add max 399
lasts 20s100
Armor + 10101
each Damage of holder removes 1103
ability Barkskin104
apply Bark 3 to holder106
ability Mend107
heal 10 to holder109
# ---- G323 undying: for 30 seconds a blow that would kill leaves 1 health and spends a charge of three ----111
effect Undying112
stack add max 3113
lasts 30s114
before Damage of holder at Final when event.amount >= holder.Health115
at most holder.Health - 1116
remove Undying 1118
ability CheatDeath119
apply Undying 3 to holder1
catalog stacks.ledger2
row G317 Hex Slow DispelOne Rogue3
row G318 Hex Slow Taunted MassDispel Rogue4
row G319 Combo Jab Eviscerate Rogue5
row G320 Combo Jab Rupture Rogue6
row G321 Sunder Exposed SunderArmor Expose Rogue7
row G322 Bark Barkskin Mend Rogue8
row G323 Mortal Undying CheatDeath Rogue10
play G317 "A hex of three, older than a slow, loses one stack to a dispel, 6 armour off down to 4, and nothing says it ended; two more and the third is its last, and it is lifted"11
make r Rogue12
make t Rogue13
apply Hex 3 to t14
apply Slow 2 to t15
expect t.Armor = -6 from G317: t.Armor + "three stacks" * "each -2 armor"16
act r DispelOne at t17
expect t has Hex 2 from G317: "drops to two"18
expect t has Slow 2 from G317: "Slow 2"19
expect t.Armor = -4 from G317: t.Armor + "drops to two" * "each -2 armor"20
expect no event Lifted21
save22
act r DispelOne at t23
act r DispelOne at t24
expect t lacks Hex25
expect event Lifted of t 1 time from G317: count "apply Hex 3 to t"26
act r DispelOne at t27
expect t has Slow 1 from G317: "Slow 2" - "takes one stack"29
play G318 "A mass dispel takes a hex of three and a slow of two whole, and leaves the taunt"30
make r Rogue31
make t Rogue32
apply Hex 3 to t33
apply Slow 2 to t34
apply Taunted to t35
save36
act r MassDispel at t37
expect t lacks Hex38
expect t lacks Slow39
expect t has Taunted41
play G319 "Two jabs aren't enough for eviscerate, and nothing is spent; a third, and it deals 30 and spends three; a point jabbed ten seconds before is gone"42
make r Rogue43
make t Rogue44
act r Jab at t45
act r Jab at t46
act r Eviscerate at t47
expect refused Requirement "not enough combo points"48
expect r has Combo 2 from G319: count "act r Jab at t"49
act r Jab at t50
act r Jab at t51
save52
act r Eviscerate at t53
expect t.Health = 50 from content: G319 gives Eviscerate's 30 but no jab damage or health; the content's jabs of 5 four times and the 30, off its 100: 100 - 20 - 30 = 5054
expect r has Combo 1 from G319: count "act r Jab at t" - "costs three points"55
act r Jab at t56
act r Jab at t57
advance 10s58
expect r lacks Combo59
act r Jab at t60
act r Jab at t61
advance 9s62
act r Jab at t63
advance 1s64
expect r has Combo 1 from content: G319's points last 10 seconds but the row leaves open whether one is gone at exactly 10 s; the content's is, so of the jabs at 0, 0 and 9 s only the last stands at 10 s: 165
act r Eviscerate at t66
expect refused Requirement68
play G320 "Rupture spends three points for 45, and none are left; with none it is refused"69
make r Rogue70
make t Rogue71
act r Jab at t72
act r Jab at t73
act r Jab at t74
save75
act r Rupture at t76
expect t.Health = 40 from content: G320 gives the 45 for three points but no jab damage or health; the content's three jabs of 5 and the 45, off its 100: 100 - 15 - 45 = 4077
expect r lacks Combo78
act r Rupture at t79
expect refused Requirement "no combo points"80
covers concept step82
play G321 "Expose on four sunders does nothing and leaves them; on five it exposes for 6 seconds, and the five stay"83
make r Rogue84
make t Rogue85
repeat 486
act r SunderArmor at t87
act r Expose at t88
expect t lacks Exposed89
expect t has Sunder 4 from G321: "repeat 4"90
act r SunderArmor at t91
save92
act r Expose at t93
expect t remaining Exposed = 6s from G321: "6 seconds only"94
expect t has Sunder 5 from G321: "already has five sunders"95
expect t.Armor = -5 from content: G321 leaves open whether armor goes below 0; the content's doesn't stop at 0, so five sunders of 1 take t's 0 to -597
play G322 "Barkskin is 30 armour; a blow takes a layer, 20; a heal takes none; two more blows and the bark is gone"98
make r Rogue99
act r Barkskin100
expect r.Armor = 30 from G322: "30 armor"101
deal 10 to r102
expect r.Armor = 20 from G322: "30 armor" - "10 armor"103
act r Mend104
expect r.Health = 100 from content: G322 gives no heal or health; the content's Mend of 10 takes the rogue back to its full 100105
expect r.Armor = 20 from G322: "30 armor" - "10 armor"106
save107
deal 10 to r108
deal 10 to r109
expect r lacks Bark110
expect r.Armor = 0 from G322: "30 armor" - "10 armor" - "10 armor" - "10 armor"112
play G323 "Undying: a blow of 50, which doesn't kill, spends no charge; one of 150 leaves 1 and spends one; the second and third lethal blows leave 1 and spend the rest; the fourth kills"113
make r Rogue114
act r CheatDeath115
deal 50 to r116
expect r.Health = 50 from G323: r.Health - "deal 50"117
expect r has Undying 3 from G323: "three charges"118
deal 150 to r119
expect r.Health = 1 from G323: "on 1 health"120
expect r has Undying 2 from G323: "three charges" - "spends one"121
save122
deal 150 to r123
expect r.Health = 1 from G323: "on 1 health"124
deal 150 to r125
expect r.Health = 1 from G323: "on 1 health"126
expect r lacks Undying127
deal 150 to r128
expect r goneWhat a change to Health meets
Every rule in this recipe a change to Health passes through, in order. Each line is a link to the rule.
Health: a change to it meets 1 rule, in this order before, at Final Undying: Damage of holder at Final when event.amount >= holder.Health (content/cookbook/stacks.ledger:114) caps it, changes the world beyond it; applied by CheatDeath no archetype lacks a layer its like hold
Run it yourself
ledger check content/cookbook/stacks.ledger content/cookbook/stacks.play
ledger play content/cookbook/stacks.play
ledger pipeline content/cookbook/stacks.ledger Health