Hello crawlers. This is Part II of the trunk updates, you can read Part I here. This post will start with a quick summary of the changes to magic that have landed in trunk, followed by a bit of a discussion of the process that led to them.

The magic changes were aimed at three goals: better differentiate among the magic schools, increase positional considerations in using spells (better differentiation from ranged attacks), and better UI. The changes are in trunk now but will continue to evolve over the 0.25 development cycle as more play testing feedback comes in.

So without further ado, here are the changes (and the spell schools themes).

  • Fire spells are centered around semi-controlled explosions and setting things on fire.
    • A new spell Foxfire (L1 Conjurations/Fire) conjures two foxfire projectiles that home in on the nearest target and burn them. Foxfire replaces Flame Tongue, which is removed.
    • Conjure Flame now creates a cloud of embers at the caster’s position. They ignite into flame if, after the player’s next action, nothing is in the embers cell; or if the player casts the spell a second time.
    • Inner Flame creates a flame cloud under the affected monster whenever they take damage in addition to the explosion on death.
    • A new spell Starburst (L6 Conjurations/Fire) fires a range 5 bolt of fire in each of the principal directions. Starburst replaces Bolt of Fire, which is removed.
    • Throw Flame is removed.
    • Firestorm, Ignition, and Starburst now burn trees, and all squares of a Fireball burn trees as well.
  • Air is bouncy, pointy, and often hard to direct.
    • Airstrike damage now scales with the number of unoccupied cells adjacent to the target.
  • Earth is directed and single target.
    • Borgnjor’s Vile Clutch is now a range 6 beam of hands, instead of a smite-targeted 3×3 explosion.
  • Ice is diffuse and subtle.
    • A new spell Hailstorm (L4 Conjurations/Ice) creates a ring of damaging hail at distance 2 and 3 from the caster. This damage is partly physical but icy monsters are immune. Hailstorm replaces Throw Icicle which is removed.
    • Ozocubu’s Refrigeration is buffed to do more damage and not damage the caster.
    • Throw Frost and Bolt of Cold are removed.
    • Ice Elementalists no longer start with conjurations skill, the extra skill being put into Ice Magic instead.
  • Conjurations are pure magic which have good accuracy in some way.
    • Iskenderun’s Mystic Blast is now Conjurations/Translocations and makes a range 2 explosion around the caster that damages and pushes back monsters, potentially causing damaging collisions.
    • Dazzling Flash (L3 Conjurations/Hexes) replaces Dazzling Spray. The flash is a range 2-3 silent explosion with a chance of blinding monsters (it does no damage).
    • Searing Ray now follows the chosen target; the rays all penetrate, are fired to full range, and have the same damage and to-hit.
    • Spellforged Servitor only receives one player spell, the highest level servitor-compatible spell the player has. The spell description indicates which spell the servitor will cast.
    • Force Lance is removed.
  • Poison is an alchemical discipline, focused on poison and other alchemy.
    • Sting is now a range 3 Poison/Transmutations spell that is only partially resistible.
    • New spell Eringya’s Noxious Bog (L6 Poison/Transmutations) grants the caster a temporary “Bog” status, which causes them to transform terrain behind them into toxic bog. Toxic bogs impose the penalties of shallow water and do partially resistible poison damage of the same flavor as sting to monsters and players in them.
    • Venom Bolt and Poison Arrow are removed.
    • Ignite Poison is added to The Young Poisoner’s Handbook
    • Venom Mages now start with Transmutations skill instead of Conjurations.
  • Necromancy has begun transitioning into more of a melee-support school (either the caster’s or their undead minion’s melee).
    • Agony and Dispel Undead are now range 1.
    • Bolt of Draining is removed.
    • Corpse Rot creates miasma in a ring around the player (using one corpse in LOS per cloud).

A bit about the development of these changes 

Just reading the change summaries blog might not give a clear impression of where and how crawl changes come about. For the curious, here’s the story behind these magic changes.

The desire to differentiate crawl magic schools from one another and from ranged has been around for a very long time. About a year ago, based on some player conversations, I started a brainstorm thread on Tavern with the goal of generating some specific ideas for approaching these goals. After some time letting the results of the brainstorm simmer over the summer, in late September I wrote an initial design doc (which has since been revised and now isn’t exactly up to date with the final implementation) and shared it with the same Tavern thread as well as the devteam for initial feedback and shaping. After iterating on the raw design implementation started in October, continuing through mid-November. Early during the implementation phase several more dedicated players compiled early drafts and gave initial feedback, as well as the usual input from the rest of the devteam.

By mid-November the branch was mostly stable in its initial implementation, and I moved into the next phase. chequers (CPO admin) and floraline (CKO admin) were kind enough to set up online versions of the experimental build; sdynet (community contributor) distributed a playable executable in the Korean rogue likes community and translated feedback. I also created play testing posts on Tavern and the DCSS subreddit. Over the next three weeks the changes were tweaked, adjusted, and occasionally significantly changed as a result of this testing, shaping them up to the version that arrived in trunk on December 1st. As long time players are well aware, arriving in trunk is not the same as “finished for all time”, so these new and revised spells will continue to evolve.

With this brief history written, I want to extend my thanks to the members of the community who gave input and helped out. Making large changes to crawl is a tricky business and a team effort always comes out better. I am of course grateful to my fellow devteam members for their input (especially advil, gammafunk, ontoclasm, and CanOfWorms who made part of the changes). I also want to thank:

  • sdynet for collecting and translating feedback from the Korean community
  • chequers and floraline for hosting experimental branches
  • hellmonk, tealizard, Doesnt, EN0N, Bacchus, minmay, kitchen_ace, and members of the Korean community (sdynet did not include usernames in their summary) for specific ideas to improve the branch.