Programming Game

  • Game
  • Resources
  • Docs

New spell mechanics, several bug fixes

August 25, 2025 - v0.4.0

New spell mechanics, several bug fixes

You can now equip up to 15 spells directly to your new spellbook, and cast a subset of them based on your equipment.

New Features

  • Added a new spellbook field to all units.

    • The spellbook functions as a FIFO queue of up to 15 spells.
    • Spells equipped to your spellbook still count against your carry weight.
  • Added a new action equipSpell(spell)

    • This adds a new spell to the end of your spellbook, and takes 5 seconds.
  • Added a new action unequipSpell()

    • This removes the spell at index 0 of your spellbook, and consumes a global cooldown.
  • All weapons now have a spellCount field.

    • You can cast spells up to the index of your total equipped spellCount minus 1.

Miscellaneous

  • The items export from programming-game/items is officially deprecated.
    • The server will now send updated item definitions to all clients running outdated versions.
  • Aigor the Merchant now sells copperNeedle
  • Increased the price of copperNeedle to 500c.
  • Significantly increased the strength of the aid_digestion spell.

Breaking Changes

  • setSpellStones has been removed.
    • This will continue to work for players on old clients for a short while, but the intention is for all players to move to the new spellbook system. Eventually all unique items will be removed.
  • programming-game/constants has been removed.
    • You can now get a constants object from the heartbeat.

Bug Fixes

  • Actions that change a unit's stats will now be reflected more quickly in the client.
  • Crafting no longer completes instantly after server restarts.
  • Channeled spells no longer trigger the global cooldown on every tick.
  • Time spent casting a spell can no longer be shared with another spell by switching casts.
  • buyItems will now move to the target npc as long as the npc is in the unit's view.
  • unique items are now correctly handled by the client in the connection event.
  • NPCs will now update their trades to reflect the latest server-side changes.