Cataclysm-DDA
Cataclysm-DDA copied to clipboard
[Magiclysm] Spellcasting proficiencies
Summary
Mods "[Magiclysm] Add spellcasting proficiencies."
Purpose of change
Add some spellcasting proficiencies that characters can learn from casting spells. It seemed logical to me that wizards could become very skilled with a specific variety of spell based on what they did most often with their magical powers, such as Animists becoming very skilled with summoning things, or military personnel specializing in destructive magic. As such, I decided to add a way to reflect this.
Describe the solution
Add several spellcasting proficiencies, these being Evocation, Channeling, Conjuration, Enhancement, and Conveyance. Evocation covers fast-casting spells that require sudden releases of energy, often things like Firebolt and Magic Missile. Channeling covers spells with long casting times that require the caster to focus on them, like talking to trees or Crystalize Mana. Conjuration covers spells that involve summoning something or someone, such as an Animists Raise Dead or Golemancy Spells. Enhancement covers spells that improve a target in some way, all of the buff spells. Conveyance covers magic that moves a target, such as Translocate Self.
There's a list of things I need to do before this is ready:
- [x] Add spellcasting proficiencies.
- [x] Add EOCs to allow them to be gained from activities.
- [ ] Add spells that trigger these EOCs and add them as extra effects to existing spells.
- [ ] Have the proficiencies do something with the player or affect them in some way.
Currently, EOCs are used to add proficiencies from casting spells, which are triggered by some debug spells that are added as an extra effect of successfully casting a spell in a given category. I would have preferred to just add some flags to spells, and have an EOC search with that, but I learned that spell flags cannot be referenced in an EOC.
~These proficiencies don't do anything right now, but I plan for them to make spellcasting easier, shorten cast times, boost damage, make learning similar spells easier, or something else like that.~
Evocation proficiencies will improve the damage of evocation spells by a certain amount. Channeling will lower the mana cost of spells and improve casting times. Conjuration will lower mana cost and improve duration times. Enhancement will extend the durations of buffs and lower casting times. Conveyance will extend the range (if applicable) or lower casting times, and decrease mana cost.
Describe alternatives you've considered
Referencing a flag within a spell as part of an EOC to check what kind of spell it is, but I learned that was impossible.
Not doing this.
Testing
More testing is needed as content comes along.
Additional context
I've been considering doing something similar with Mind Over Matter's psionics, but that's for another time (I also don't know if that'd break lore).
I've also come to realize that a lot of the buff spells have long casting times, and could possibly cross over into channeling. I'm not entirely sure if this would be too powerful for a spell to train multiple proficiencies, but I suppose it could.
Suggestions for content are welcome!
Spell checker encountered unrecognized words in the in-game text added in this pull request. See below for details.
Click to expand
- You're familiar with the methods used to efficently channel mana in prolonged casting.
- You've mastered the art of letting magic flow through you in long streches.
This alert is automatically generated. You can simply disregard if this is inaccurate, or (optionally) you can also add the new words to tools/spell_checker/dictionary.txt so they will not trigger an alert next time.
That seems a pretty sensible breakdown between spells, category wise. Are there any spells that come to mind that don't belong in any of those categories?
Buff spells (Mage Armor, Thornskin, Haste) might be another useful category. Not sure what it could be called--Enhancement?
Transformation for spells like Polymorph or the various terrain-changing spells.
I've been considering doing something similar with Mind Over Matter's psionics, but that's for another time (I also don't know if that'd break lore).
Proficiencies within paths would fit in with existing lore--there's a proficiency for Electrokinetic contemplation, so there's no reason not to have one for Electrokinetic channeling (etc)
Buff spells (Mage Armor, Thornskin, Haste) might be another useful category. Not sure what it could be called--Enhancement?
What about Augmentation? This could cover not only the buff spells, but the polymorph ones as well to pad out the proficiency.
Enhancements, enchantments, augmentation, alteration, transmutation, lots of interesting options for names
I'm very interested in seeing how categories end up arising from our different spell options
I guess it's just that when I think augmentation, my mind unconsciously prefixes it with "cybernetic".
This could cover not only the buff spells, but the polymorph ones as well to pad out the proficiency.
Hmm...there are a lot of buff spells--I'd be more inclined to say they need splitting up rather than padding, but I guess it depends how many categories you want.
I thought of something else--movement. Maybe "Conveyance"? It could cover Translocation, of course, but also Magus Mark/Word of Recall, the Animist banishment spells, Sorcerer's Hand, those Stormshaper dash spells I forget the name of, Windrunning, Stony Sleep, etc.
I think that Transmutation could work for the polymorph or changing spells, and Enhancement could be for buffs & stuffs.
a bit late, but: "condition": { "math": [ "_spell_id", "==", "eoc_evocation_setup" ] }, - always return true, since it is math, it can't compare strings, and since both _spell_id and eoc_evocation_setup do not contain number values, the game assume it is 0; should be
{ "compare_string": [ "eoc_evocation_setup", { "context_val": "spell_id" } ] }