Replies: 1 comment
-
Magic has been added, is scriptable and defineable in yaml files. A yaml file looks like: heal.yaml
script file looks like: heal.js
Spells are stored in the Character record, as a Positive integer records are "active", whereas negative integer records are "inactive", which allows for a mechanic of toggling spells on/off in the future (memorize X number of spells at a time). Also, the integer can presumably be utilized for some other purpose such as the level of the spell, how many times it has been cast, etc... currently just tracking number of times each spell has been cast (maybe to derive proficiency from this number later?) Closing this task for now. Spells command yields following output:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I've toyed with various ideas of implementing a proper magic system.
On the one hand
I am compelled to create a traditional "magic points" system where you have a resevoir of points to spend when casting spells. Spells then bake for X number of rounds before being cast. Magic points refill over time similar to HP. They can also be refilled with potions or have an accelerated refresh rate based on conditions/spells.
Your spellbook would look something like:
On the other hand
I like the idea of a unique magic system, or at least somewhat unique that breaks from the norms of MUD magic.
For example, spells can be memorized at some central location such as a wizards academy. When cast, these spells are forgotten and must be re-memorized, either at the same academy or via some rest mechanic.
So to see your spells/spellbook it would look something like:
This has the advantage of being able to change the spells available to you, while still forcing a degree of commitment to certain spells.
Or possibly spells are a randomized incantation of syllables that are changed every day, but once written to your magic book are valid until used... again "disappearing" after expending uses, requiring you to discover the new incantation.
Custom incantations seem interesting from a RPG perspective, but are probably just a burden on the player.
I do thing there's the seed of something interesting that could be done there, though. It makes spells a bit more of a rarity or a precious resource, and could encourage "gathering" of spells from various locations as a useful activity. Particularly powerful or special spells can be temporarily acquired and lost, either via quest-like mechanics or for money. Maybe spell incantations could be shared between players, copying from eachothers spellbook.
Your spellbook would look like:
Scriptability
I think ultimately all spells should probably be scriptable, since the nature of spells is very custom and not easily defined purely by data files.
a datafile could define what kind of targets can be specified as well as the default (none, self, other, all friendly, all aggro, all-room), and information about the spell - cost, name, description, etc.
Beta Was this translation helpful? Give feedback.
All reactions