Ledger v3 · C# · Godot 4.7 Get started

Blizzard

A channel lasting 6 s of the world's time while a haste quickens its beats, finishing, and an interrupt reading its time left

✓ 3 plays, 32 steps, all passingFrom the raid, its content\party.ledger, channels.play and interrupts.play
every D clock STATchannel D clock worldremaining(ACTOR)

A caster's Blizzard, from the raid's channels (its content\party.ledger's Blizzard, Hasted, Quicken and ShieldBash, channels.play and interrupts.play): a channel lasting 6 s of the world's time while its beats run on the cast's clock, so a haste brings more beats into the same 6 s; it ends Finished, its bar is 6 s long, and an interrupt reads its time left on the world's clock. Its beats name their clock apart from its length's.

content/cookbook/mechanics/blizzard.ledgerthe content
1# A caster's Blizzard, from the raid's channels (its content\party.ledger's Blizzard, Hasted, Quicken and ShieldBash,
2# channels.play and interrupts.play): a channel lasting 6 s of the world's time while its beats run on the cast's
3# clock, so a haste brings more beats into the same 6 s; it ends Finished, its bar is 6 s long, and an interrupt reads
4# its time left on the world's clock. Its beats name their clock apart from its length's.
5
6rate 60
7stat MaxHealth
8stat MaxMana
9stat CastSpeed default 1
10pool Health max MaxHealth
11pool Mana max MaxMana
12damage Health
13link team
14allegiance team
15tags Spell
16event Moved
17phases clock CastSpeed
18archetype Side
20effect Hasted
21 stack refresh
22 lasts 8s
23 CastSpeed + 50%
25effect Locked
26 stack refresh
28# 6 s of the world's time; a haste quickens its beats, not its end
29ability Blizzard
30 tags Spell
31 target one enemy within 25
32 cost Mana 40
33 cooldown 15s
34 channel 6s clock world
35 broken by Moved of holder
36 every 1s clock CastSpeed
37 deal 12 to all enemies within 4 of target
39ability Quicken
40 target self
41 cooldown 40s
42 apply Hasted to holder
44# a cast cut with a second or less left locks its caster 8 s, else 4
45ability ShieldBash
46 target one enemy within 3
47 requires active(target) > 0 else "not casting"
48 cooldown 12s
49 let left = remaining(target)
50 stop target
51 apply Locked to target for 1s * if(left > 0 and left <= 1s, 8, 4)
53archetype Mage
54 base MaxHealth 400
55 base MaxMana 800
56 full Health Mana
57 grants Blizzard Quicken
59archetype Warden
60 base MaxHealth 900
61 full Health
62 grants ShieldBash
64archetype Dummy
65 base MaxHealth 100000
66 full Health
content/cookbook/mechanics/blizzard.playwhat it must do
1catalog blizzard.ledger
2
3# The raid's numbers: Blizzard channels 6 s of the world's time, 12 to each foe within 4 of its target every 1 s of its
4# caster's CastSpeed; Quicken hastens that clock 50%, so the beats come every 40 ticks.
5
6play "Blizzard at no haste: six beats in 6 s, the sixth on its last tick, and it finishes; its bar 6 s long"
7 make r Side
8 make b Side
9 make m Mage with team = r at 0 0
10 make d Dummy with team = b at 10 0
11 act m Blizzard at d
12 expect done
13 expect m active Blizzard elapsed 0s remaining 6s next beat 1s from content: channel 6s clock world, every 1s clock CastSpeed
14 advance 6s
15 expect d.Health = 99928 from content: 100000 less six beats of 12, at 1 to 6 s
16 expect m finished Blizzard
18play "Blizzard quickened 50%: nine beats in the same 6 s, and it finishes"
19 make r Side
20 make b Side
21 make m Mage with team = r at 0 0
22 make d Dummy with team = b at 10 0
23 act m Quicken
24 act m Blizzard at d
25 expect m active Blizzard remaining 6s next beat 40t from content: the world's 6 s; 1 s of CastSpeed at 1.5
26 advance 6s
27 expect d.Health = 99892 from content: 100000 less nine beats of 12, every 40 ticks to 360
28 expect m finished Blizzard
30play "a ShieldBash 1 s from Blizzard's end reads that second left and locks its caster 8 s"
31 make r Side
32 make b Side
33 make m Mage with team = r at 0 0
34 make w Warden with team = b at 2 0
35 act m Quicken
36 act m Blizzard at w
37 advance 5s
38 act w ShieldBash at m
39 expect done
40 expect m stopped Blizzard Interrupted
41 expect m remaining Locked = 8s from content: 1 s of the world's 6 left, a second or less: 8
42 expect w.Health = 816 from content: 900 less seven beats of 12, every 40 ticks to 280

Run it yourself

ledger check content/cookbook/mechanics/blizzard.ledger content/cookbook/mechanics/blizzard.play
ledger play content/cookbook/mechanics/blizzard.play