43 recipes and 22 concept pairs.
Copy the recipe nearest what you want into your game's content, then change its numbers and names, and its play with them.
Look here for a mechanic before forms.md. Each recipe in mechanics\ is a .ledger and its .play, lifted from one of the six game slices' committed content and cut to the one mechanic: it loads alone, its first comment names the slice and the file it came from, and its play's numbers are worked out from its content, each with its source. Every play passes in the kernel's gate. Four recipes came another way: the shield gate and the layer's rate (gate and rate) hold what no slice holds, from the owner's ask for the online shooter's layers, the party's fallen (fallen) from the raid's two witnesses in ledger-lab\raid\, and a caster's cast time (casting) from four more of them; the first comment of each names where it came from. ledger pipeline on any recipe shows its layers in the order a hit meets them.
The slices are the six games in ledger-lab\: the action RPG (arpg), tower defense (td), tactics, the card game (cards), the RTS (rts) and the shooter.
The backbonethe default way to write a build's affixes
Action RPG11 recipes
content\arena.ledgerwindupA cast with a windup at a point, broken by a heavy hit; a burst round the pointARPG, content\fireball.ledgerbeamA channel along a direction, paid a beat at a time, released or brokenARPG, content\frostbeam.ledgerstunA stun: no casting, a running windup stopped, no walkingARPG, content\arena.ledger, content\enemies.ledgerslowA slow and a haste that reach casts already running as well as the feetARPG, content\arena.ledgershieldA timed shield that soaks hits before HealthARPG, content\arena.ledgerpierceA shot the game flies that passes through two foes and stops in the thirdARPG, content\spear.ledgerconeA swing in a cone at the aimARPG, content\cleave.ledgersummonsSummons as strong as their summoner, as many as it has room forARPG, content\skeletons.ledgerauraAn aura round a planted banner that stands 20 sARPG, content\slice2.ledgerpickupA pickup walked over, its gift taken and it goneARPG, content\pickups.ledgerTower defence9 recipes
content\towers.ledgerlobA lobbed shell that bursts where it lands, never at a flyerTD, content\towers.ledgerpoisonA poison that stacks by its source and passes on at a deathTD, content\towers.ledgerbountyA bounty paid to whoever owns the killerTD, content\td.ledgerleakA creep walking a lane to the castle, costing lives; at none the player has lostTD, content\td.ledger, content\creeps.ledgerarmourArmour that takes a share off physical hits, and none off poisonTD, content\td.ledgersplitA foe that splits in two as it dies, the halves going on from where it fellTD, content\creeps.ledgerbuildBuilding on a spot, upgrading twice and selling for halfTD, content\build.ledgerwaveA wave's start paying the player, and the foes made tougher a waveTD, content\td.ledgerShooter6 recipes
content\weapons.ledgerrechargeA shield that refills after a pause each hit starts againShooter, content\arena.ledgerdodgeA dash with a moment of invulnerability, ahead of the shieldShooter, content\player.ledgerfuseCharges that come back, and a grenade on a fuseShooter, content\grenade.ledgergateA shield gate: a hit that breaks the shield spends none of itself on the Health behind itthe owner's ask, the online shooter's layersrateA layer's rate by damage type: electricity counts double on a shield, and not on the Health behind itthe owner's ask, the online shooter's layersTactics5 recipes
content\rules.ledgeroddsA shot's odds, hit, graze or miss, by aim, defence, cover and distanceTactics, content\rifle.ledgerwatchOverwatch: a reaction shot, fired on its own or offered to the player to answerTactics, content\overwatch.ledgergrenadeAn area round a point that hurts friend and foe, at a cell the side seesTactics, content\grenade.ledgersmokeMaking a thing at a place, lasting two roundsTactics, content\smoke.ledgerRTS5 recipes
content\economy.ledgergatherMining a patch in a windup and carrying the load homeRTS, content\economy.ledgerstimA buff paid in health that hastens attacksRTS, content\rifle.ledgermedicA healer that heals on its own, paying in energy for what landedRTS, content\medic.ledgeroutcomeA match won when the other side's last base fallsRTS, content\match.ledgerRaid4 recipes
fallen.ledger and cheat.ledgercastingA caster's slot holding off its instants, an interrupt reading the time left, a cast pushed back by hits, and a channel quickening each beatthe raid, its witnesses slot, time-left, pushback and quickenblizzardA channel lasting 6 s of the world's time while a haste quickens its beats, finishing, and an interrupt reading its time leftthe raid, its content\party.ledger, channels.play and interrupts.playboltA cast bar that looses a bolt landing by its range at its speed, missing past it, and a mirror turning it backthe raid, its content\party.ledger, boss.ledger and flights.playCards3 recipes
content\rules.ledger, content\firebolt.ledgerguardA guard the other side must attack first; an attack each way at onceCards, content\guard.ledger, content\rules.ledgerwardA ward that stops the first hit and goesCards, content\shield.ledgerConcept pairsported from v2's cookbook
Left out, and why
A slice's way round a form the language lacks isn't the way, so it isn't here; nor is a rule a slice keeps in C#.
- A drop on a death (ARPG,
content\slice2.ledger, Drops): its loot belongs to no side byteam = holder.team.team, since acreatecan't say no link (the slice's friction row 32). - The frost tower's slow, strongest holding (TD,
content\towers.ledger): a helper statSlow, sincestrongestkeeps the largest term (row 4). - The frost tower's and the TD banner's auras (TD,
content\towers.ledger): their reach written as a number beside aReachstat, since an aura's reach that reads a value is refused (row 8). - A training queue (RTS,
content\economy.ledger, Training): its next ticket foundexcept holder(row 6). - The storm (RTS,
content\seer.ledger): once a beat for each unit by a short-lived mark (row 7). - The siege's change of mode (RTS,
content\siege.ledger): two effects at once, one applying the next at its end (row 11). - Secrets (cards,
content\secrets.ledger): named twice, by tag and in a table, for the host to hide (row 6). - Kept in C#, so no recipe has them: the cleave's knockback (the game's space moves what the content requests), the waves' lists of foes (TD and the shooter), whose turn it is and the walks on the grid (tactics, cards), the fog and sight the spaces answer as facts (tactics, RTS), the units' standing orders (RTS), and the bearer's shield ended with its bearer (shooter).