Programming Game
- Game
- Resources
- Docs
New spell mechanics, several bug fixes
August 25, 2025 - v0.4.0
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.
- You can cast spells up to the index of your total equipped
Miscellaneous
- The
items
export fromprogramming-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 allunique
items will be 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
programming-game/constants
has been removed.- You can now get a constants object from the
heartbeat
.
- You can now get a constants object from the
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.