An idea for better magic

This sounds like a really great idea. I've never really been satisfied with the magic system in FFH: it's very rigid, relies heavily on memorisation (once you have the basic concept of mage promotions down it's just about knowing what tier 2/3 spells there are and which ones you want), makes it rarely worthwhile to focus on a single mana type or small group of mana types as opposed to getting 1 of everything useful... And adding new spells to the existing system is a matter of swapping out for existing spells with no real room for unique/multimana/etc. spells. The ability to just add a spell one off, with a variety of potential limitations and restrictions, would be HUGE for modmods. Heck, if I could do most of the work to create a new spell by adding a new promotion, *I* might even get off my lazy arse and modmod FF ;)

There are two things I don't see a lot of discussion of so far that merit serious consideration: balance and AI.

As for balance... Many spells are core parts of either offence or building. The terraforming spells, for example, are crucial to some civs (sidenote - terraforming could seem less like an accidental feature now, with its own spell branch and promo line instead of the pieces to a terraformer being scattered across spell spheres with no indication to a non-FFH vet where they are or how to use them), and obviously combat spells play a big part of the game. You'll have to look very carefully at how you redesign spells like Fireball or Scorch within the new system - any significant change in when they come around or what techs/mana/etc. a civ needs to get there should be considered and tested carefully.

Onto AI. The AI sucks at using magic, it's no secret. Without going on and on on a topic I know little about, I'll just ask: any idea how these changes might affect the AI's ability to use magic, or be taught to use magic in the future? I don't have a clue how the AI deals with promos.

Love the idea, I've thought of similar changes to make the magic system less rigid and move it closer to other games' approaches but your idea is a lot more concrete and thought out than any of mine ever were. I hope you manage to create this so I can play it! (:
 
AI hasn't been told too much about magic. In general though, if you make a spell use only XML, AI might use it intelligently when the opportunity pops up (but won't ever move itself so as to MAKE the opportunity available). If you use a lot of python though, you need to write the python Prereq such that the AI is only ALLOWED to cast it when it makes sense to do so, and then inflate the AIWeight value to a high number so that if able, they ALWAYS cast the spell. Or just do the AI Weight and be happy with them always casting the spell if capable of doing so (or use a small value in AI Weight so that some other spells may get cast instead on occasion)
 
  1. Setting up the actual spell slot system. There needs to be a promotion requirement of 'available spell slot', arcane units need to automatically gain one spell slot per level, promotions need to be able to grant additional spell slots, and for future modding flexibility it would probably be good to have a promotion option to change the number of slots a single spell uses.
  2. A way of identifying spell promotions as different from other promotions, so that an 'upgrade spellbook' ability can simply remove all promotions of that type, without having to individually list each spell (I might need some help creating that ability, too)
It's actually not looking like as much work as it sounds. Yes, there are 96 spells I want to fiddle with, but it only requires changing one line each in SpellInfos and most of the work creating the new promotions is copy/paste.
If you can help with any the things at the bottom of the first post, that would be huge. Otherwise, there's not much to help with right now.
So...

1) I think I have an idea that could do with the current XML. You have introduced the concept of "spellbook". I think we could use that for the slots. Each slot would equal one scroll/page. This scroll thing would only use one promotion. The first one would be on the caster since its creation. Each other one would be bought for a small fee when the caster can. An ability would be used in order to check if the caster can buy it (many factors can determine if he can). Every spell should require it (since it represents the slot) and overwrite it (since it fill the slot). Since you have to be in a city to write down your new spells, you would have to be in a city too to buy more slots.

The function determining if the caster can buy a new slot should count how many slots it has available and they compare it to the filled slots... aka the spells. If number of slots > to number of spells, then it can buy one slot. If it already has one free slot, it has to fill it before it can buy another.

I think it would be functional and flavorful. Since you have a spellbook, you need material to write things down... In the case of slots, you need scrolls to add to your spellbook. Maybe one good promotion would be Writing Tools, allowing "buying" new slots and writing new spells even if not in a city.

2) Considering my idea above, one easy way to check how many spells the unit has learned and how many of its promotions are spells would be to check for the PROMOTION_SCROLL as a prereq. Since, supposedly, all spells would require this promotion, the counting is easy and the discarding is too.

By the way, the Discard Spellbook ability by itself wouldn't be hard to write. I can help you or even do it.

Another rather sketchy thing: a promotion Spellbook would be useful as a prereq for a promotion Scroll. Plus, it could further divide Divine/Arcane units, the former not having spellbooks and only getting their spells from gods.

Hope it helps and that you like those ideas :)
 
Thank you everyone for your comments and advice. I'm going to be out of town over the weekend, and when I get back I'm going to dive into making this mod work. The original post will be updated with a design plan momentarily.

Any chance you could change it so a person only has to have the spell sphere, and the requirements are level based? I'm sick of having to buy the second level of the spells and never having time for other improvements like combat or mobility.
I'm actually going one step further than that, and removing spell sphere promotions entirely. If your civ has access to the right types of mana, your arcane units can pick up the spell.
Would this change generally make arcane units have even fever spells?
At any one time, probably. Barring special circumstances, each arcane unit would have one spell per level (so a fresh mage at level 4 could have four spells at a time). The primary change is that they can swap out those spells at any city, so they would have many more available spells.
This sounds like a really great idea. I've never really been satisfied with the magic system in FFH: it's very rigid, relies heavily on memorisation (once you have the basic concept of mage promotions down it's just about knowing what tier 2/3 spells there are and which ones you want), makes it rarely worthwhile to focus on a single mana type or small group of mana types as opposed to getting 1 of everything useful... And adding new spells to the existing system is a matter of swapping out for existing spells with no real room for unique/multimana/etc. spells. The ability to just add a spell one off, with a variety of potential limitations and restrictions, would be HUGE for modmods. Heck, if I could do most of the work to create a new spell by adding a new promotion, *I* might even get off my lazy arse and modmod FF ;)

There are two things I don't see a lot of discussion of so far that merit serious consideration: balance and AI.

As for balance... Many spells are core parts of either offence or building. The terraforming spells, for example, are crucial to some civs (sidenote - terraforming could seem less like an accidental feature now, with its own spell branch and promo line instead of the pieces to a terraformer being scattered across spell spheres with no indication to a non-FFH vet where they are or how to use them), and obviously combat spells play a big part of the game. You'll have to look very carefully at how you redesign spells like Fireball or Scorch within the new system - any significant change in when they come around or what techs/mana/etc. a civ needs to get there should be considered and tested carefully.

Onto AI. The AI sucks at using magic, it's no secret. Without going on and on on a topic I know little about, I'll just ask: any idea how these changes might affect the AI's ability to use magic, or be taught to use magic in the future? I don't have a clue how the AI deals with promos.

Love the idea, I've thought of similar changes to make the magic system less rigid and move it closer to other games' approaches but your idea is a lot more concrete and thought out than any of mine ever were. I hope you manage to create this so I can play it! (:
You just quite nicely summed up most of the reasons I'm so attached to this idea.
Regarding balance - I've been starting to work through a lot of the current spells and figuring out what to do with them, and the end result is that a lot of the very basic spells are actually easier to get to than before, because they can have more than one potential requirement. Balance will be a huge concern, though.
Regarding AI - I'm basically operating under the assumption that the AI already can't understand magic very well. At this stage, I'm only modifying how spells are acquired, so the actual AI use of them shouldn't be affected positively or negatively so long as they can figure out how to learn spells.
So...

1) I think I have an idea that could do with the current XML. You have introduced the concept of "spellbook". I think we could use that for the slots. Each slot would equal one scroll/page. This scroll thing would only use one promotion. The first one would be on the caster since its creation. Each other one would be bought for a small fee when the caster can. An ability would be used in order to check if the caster can buy it (many factors can determine if he can). Every spell should require it (since it represents the slot) and overwrite it (since it fill the slot). Since you have to be in a city to write down your new spells, you would have to be in a city too to buy more slots.

The function determining if the caster can buy a new slot should count how many slots it has available and they compare it to the filled slots... aka the spells. If number of slots > to number of spells, then it can buy one slot. If it already has one free slot, it has to fill it before it can buy another.

I think it would be functional and flavorful. Since you have a spellbook, you need material to write things down... In the case of slots, you need scrolls to add to your spellbook. Maybe one good promotion would be Writing Tools, allowing "buying" new slots and writing new spells even if not in a city.

2) Considering my idea above, one easy way to check how many spells the unit has learned and how many of its promotions are spells would be to check for the PROMOTION_SCROLL as a prereq. Since, supposedly, all spells would require this promotion, the counting is easy and the discarding is too.

By the way, the Discard Spellbook ability by itself wouldn't be hard to write. I can help you or even do it.

Another rather sketchy thing: a promotion Spellbook would be useful as a prereq for a promotion Scroll. Plus, it could further divide Divine/Arcane units, the former not having spellbooks and only getting their spells from gods.

Hope it helps and that you like those ideas :)
What I'm envisioning is the addition of two new fields for promotions - <iRequiresSpellSlot> and <iAddsSpellSlot>, the first indicating how many spell slots a promotion requires, and the second indicating how many spell slots a promotion provides. If I'm understanding you correctly, you're talking about adding a Scroll promotion that requires a spell slot and acts as a prerequisite for spells, and I think it would be simpler just to have spell promotions require spell slots directly.
Your ideas have given me an idea for a better way to run upgrading the spellbook, though. Rather than messing around with removing all promotions of a particular type, what if 'Upgrade Spellbook' simply added a one-turn promotion that allowed the caster to individually unlearn spells? It would mean doubling the amount of spells (there would need to be a 'forget' spell for each actual spell), but the code for each of those would be identical except for the name and promotion removed. The advantages are that you could keep spells that you don't want to get rid of (useful if you have a hard-to-get one)

AI hasn't been told too much about magic. In general though, if you make a spell use only XML, AI might use it intelligently when the opportunity pops up (but won't ever move itself so as to MAKE the opportunity available). If you use a lot of python though, you need to write the python Prereq such that the AI is only ALLOWED to cast it when it makes sense to do so, and then inflate the AIWeight value to a high number so that if able, they ALWAYS cast the spell. Or just do the AI Weight and be happy with them always casting the spell if capable of doing so (or use a small value in AI Weight so that some other spells may get cast instead on occasion)

Until I get to the second phase of this design and start making new spells, I will only be changing the way spells are acquired, not how they are cast. Do you think the AI would understand the system I'm envisioning? I don't need it to necessarily pick spells intelligently or change spells at a later time, I just want to make sure it will still know to add spells to its arcane units when they are available.
 
If I'm understanding you correctly, you're talking about adding a Scroll promotion that requires a spell slot and acts as a prerequisite for spells, and I think it would be simpler just to have spell promotions require spell slots directly.
No, this scroll promotion would be the spell slot. It would act like one. Everytime a unit has the Scroll promotion, it can learn a new spell; learning it would remove the Scroll promotion. The Scroll promotion would only be buyable in cities. It would only be buyable under some conditions. I thought that all spells/promotions could require the Scroll promotion in order to make it easy to detect a spell; if a promotion requires the Scroll promotion, then it's a spell.
 
No, this scroll promotion would be the spell slot. It would act like one. Everytime a unit has the Scroll promotion, it can learn a new spell; learning it would remove the Scroll promotion. The Scroll promotion would only be buyable in cities. It would only be buyable under some conditions. I thought that all spells/promotions could require the Scroll promotion in order to make it easy to detect a spell; if a promotion requires the Scroll promotion, then it's a spell.

I got that part. The thing I'm having trouble understanding is how you're making "under some conditions" not include checking how many spells the unit already has and comparing that to how many it's allowed to have. That check is the sole purpose of the two spell slot tags I'm trying to create.

On a broader level, because you seem to be envisioning further costs to the Scroll promotion, I want to stay away from making the basis of every spell have a cost (other than simply using up a spell slot) because I think any additional costs and requirements are better handled by individual spells.
 
I got that part. The thing I'm having trouble understanding is how you're making "under some conditions" not include checking how many spells the unit already has and comparing that to how many it's allowed to have. That check is the sole purpose of the two spell slot tags I'm trying to create.
As the Scroll promotion could only be acquired in a city by casting a BUY_SCROLL ability, an easy python check could be added, checking if the unit has room for one Scroll. How to do so? Checking the level of the unit and comparing it to the number of promotion that requires Scroll that the unit actually has. If the two values are equals, then the unit is not allowed to buy a new slot. If the level value is superior, then it is allowed to buy a new slot.

Maybe I should use an example.

The unit Zoey the Adept is created in Cevedes. It starts with a Spellbook, allowing acquisition of Scrolls (or Slots) and with one empty Scroll (PROMOTION_SCROLL). The unit starts at level 1 with a free promotion. Since she has one Scroll, she chooses to gain Life I. Doing so make her lose her Scroll promotion, replaced by Life I (so the slot is filled).

Later, she gains one level, passing to level 2, choosing, say, Combat I. When she enters a city, the game checks her level (2) and her promotions (Spellbook, Life I, Combat I). There is a spell (Life I) which is detected because it required the Scroll promotion. So, because 2 is superior to 1, she's able to buy the Scroll promotion (whether it is free or not is irrelevant, it just isn't automatically acquired). They, as she has the Scroll promotion and as she is in a city, she can learn a new spell.

I came up with this idea to avoid two things:
- setting multiple "slot proms" with each a different MinLevel requirement;
- adding new XML tags

On a broader level, because you seem to be envisioning further costs to the Scroll promotion, I want to stay away from making the basis of every spell have a cost (other than simply using up a spell slot) because I think any additional costs and requirements are better handled by individual spells.
That was just an idea. Mostly, I wanted to say that the Scroll promotion isn't automatically acquired. It has to be clicked on (even if it costs no XP nor gold)... just because I don't like AutoAcquire promotion.
 
As the Scroll promotion could only be acquired in a city by casting a BUY_SCROLL ability, an easy python check could be added, checking if the unit has room for one Scroll. How to do so? Checking the level of the unit and comparing it to the number of promotion that requires Scroll that the unit actually has. If the two values are equals, then the unit is not allowed to buy a new slot. If the level value is superior, then it is allowed to buy a new slot.

Maybe I should use an example.

The unit Zoey the Adept is created in Cevedes. It starts with a Spellbook, allowing acquisition of Scrolls (or Slots) and with one empty Scroll (PROMOTION_SCROLL). The unit starts at level 1 with a free promotion. Since she has one Scroll, she chooses to gain Life I. Doing so make her lose her Scroll promotion, replaced by Life I (so the slot is filled).

Later, she gains one level, passing to level 2, choosing, say, Combat I. When she enters a city, the game checks her level (2) and her promotions (Spellbook, Life I, Combat I). There is a spell (Life I) which is detected because it required the Scroll promotion. So, because 2 is superior to 1, she's able to buy the Scroll promotion (whether it is free or not is irrelevant, it just isn't automatically acquired). They, as she has the Scroll promotion and as she is in a city, she can learn a new spell.

I came up with this idea to avoid two things:
- setting multiple "slot proms" with each a different MinLevel requirement;
- adding new XML tags
Now I understand. I was confused because I thought you were proposing a system that only involved XML. Using Python makes the idea make a lot more sense. I'm still partial to adding XML tags, though, because I want the ability to make promotions that increase or decrease the number of available spell slots. I also think it will be useful for future modders to be able to make a spell use up more than one spell slot. Besides, I have to learn the DLL anyway to add PrereqPromotionOR to SpellInfos. If I don't do that it means creating a second copy of every single spell in the game that a non-arcane units needs to cast.

The idea of multiple autoacquire slot promotions with different level requirements is only a backup if I can't figure out a way to determine base spell slots automatically.
 
Now I understand. I was confused because I thought you were proposing a system that only involved XML. Using Python makes the idea make a lot more sense. I'm still partial to adding XML tags, though, because I want the ability to make promotions that increase or decrease the number of available spell slots. I also think it will be useful for future modders to be able to make a spell use up more than one spell slot. Besides, I have to learn the DLL anyway to add PrereqPromotionOR to SpellInfos. If I don't do that it means creating a second copy of every single spell in the game that a non-arcane units needs to cast.

The idea of multiple autoacquire slot promotions with different level requirements is only a backup if I can't figure out a way to determine base spell slots automatically.
You're right. Making some spells cost more slots could be a nice feature (although it could also be done in python :p). Quite frankly, if you manage to do it with the XML, then it would be pretty easier. I only thought of this python assisted system because it didn't involved DLL changes. Anyway, having this idea gave me another idea for my own modmod... So it's kind of thanks to you :goodjob:
 
You're right. Making some spells cost more slots could be a nice feature (although it could also be done in python :p). Quite frankly, if you manage to do it with the XML, then it would be pretty easier. I only thought of this python assisted system because it didn't involved DLL changes. Anyway, having this idea gave me another idea for my own modmod... So it's kind of thanks to you :goodjob:

Glad I could help. The conversation also gave me an idea as well - one of the spell promotions will be 'blank scroll'. Unlike all of the others, it won't actually allow a spell directly, but could be used in future spell designs to make a unique terrain feature the requirement for learning a spell (so you go to a city, pick up a blank scroll, head to the unique terrain feature, and the new spell replaces the blank scroll).
 
At this point you'd mostly just have to focus on teaching the AI the value of promotions which provide spellslots. If you are using our code, then just searching for New Tag Defs (PromotionInfos) will automatically place you in the right location to fill this information in during the whole process (I won't ever really mention it in the Idiot's Guide because I assume few people will use MY code, but I always leave a nice "New Tag Defs" search breadcrumb which outlines all of the generically utilized areas of the code. Makes new fields REALLY easy to handle later on).


When you add PrereqPromotionOR to Spells, make sure you do it as an array or list so that you can add as many as you want, instead of as a single INT which only allows one entry. (basically, look at one of my fields instead of one of the Firaxis fields. Even though it will be more complicated since you are new to DLL work)
 
At this point you'd mostly just have to focus on teaching the AI the value of promotions which provide spellslots. If you are using our code, then just searching for New Tag Defs (PromotionInfos) will automatically place you in the right location to fill this information in during the whole process (I won't ever really mention it in the Idiot's Guide because I assume few people will use MY code, but I always leave a nice "New Tag Defs" search breadcrumb which outlines all of the generically utilized areas of the code. Makes new fields REALLY easy to handle later on).
That makes little sense to me now, but I assume it will as I learn more. Thanks for the info in any case.
When you add PrereqPromotionOR to Spells, make sure you do it as an array or list so that you can add as many as you want, instead of as a single INT which only allows one entry. (basically, look at one of my fields instead of one of the Firaxis fields. Even though it will be more complicated since you are new to DLL work)
That was exactly what I had assumed was necessary, it's good to get confirmation I'm on the right track.

While I'm thinking of it, do you happen to know of anything else in the game that does something similar to what I'm planning for spell slots? It would be nice to know if there's something that would function as a guide or if I'm going into completely uncharted territory.
 
Kind of a vague question. Similar in what respect? Cargo allows you to have a limit to some action which can be modified by a promotion to go up or down, but it also requires linking units to each other so is more messy than what you need.

Honestly most of what you have spelt out so far isn't too difficult, so I don't think you'll have any issues beyond just figuring out how to work in the DLL. It is a decent first project to jump right in at the metaphorical 4 foot zone of the pool and learn how to swim. Won't quite drown, but you'll get a nice lungfull if things take a wrong turn.
 
If we do this, we should have units be able to learn spells at unique features, so MoH allows a new spell for Sun I, II, III, Yggdrasil Creation I, II, III... blah blah blah
 
Kind of a vague question. Similar in what respect? Cargo allows you to have a limit to some action which can be modified by a promotion to go up or down, but it also requires linking units to each other so is more messy than what you need.

Honestly most of what you have spelt out so far isn't too difficult, so I don't think you'll have any issues beyond just figuring out how to work in the DLL. It is a decent first project to jump right in at the metaphorical 4 foot zone of the pool and learn how to swim. Won't quite drown, but you'll get a nice lungfull if things take a wrong turn.
Similar in the sense of assigning a numerical attribute to a unit and then letting other things use up that attribute without permanently decreasing it. So, exactly like cargo without other units being involved. I can't believe I didn't think of that as an example.

Good to know I've set realistic goals for myself:). As soon as I get back home from the weekend I plan to dive into the DLL.

If we do this, we should have units be able to learn spells at unique features, so MoH allows a new spell for Sun I, II, III, Yggdrasil Creation I, II, III... blah blah blah
In principle, yes. That's exactly what that Blank Scroll promotion I mentioned a few posts up would be for. In practice - three news spells per unique feature is WAY too many, and besides that I'm trying to get away from the strict -mana type- I,II,III system.
 
At a casual glance I couldn't understand everything. That is bad. Well, that is my only gripe about FFH. And FF. Any everything similar. I really like it very much BUT:
- civilopedia is a mess, links are nonexistant, lots of stuff missing
- its all so very complicated
- its messy, my army having 50 promotions and 30 possible actions to click? the heck...

IMHO besides the "cool" factor FFH/FF needs something to make it more fun. As it is now it is very tedious most of the time. It is cool and nice but tedious. Ok, maybe this comment belongs more into FFH2 forum, but heck, since this topic is about the most frustrating thing in FFH...

My suggestion is to keep it clean and simple. And well documented so we can find spells in a list or something. In civilopedia. And merge this mod into FFH :D (dream on yeah)

Damn its so hard to be clean and concise... here my short list, hope its helpful:
- clean
- transparent
- simple
- flexible
- spell requirement mentioned in first post seem nice, but will need to be documented or somehow apparent to players; more requirements per spell are a must esp. for stronger
- some kind of promotion branching on mages to make em flexible
- not too many spells per mage... 1/level is A LOT
- spell learning in cities (mostly) is good; should require buildings for all but the most basic
- one-time cast for uber spells is nice (gives defender huge a bonus though, watch for this)
- no more tier system, but still some safeguards to balance out stuff, maybe weighted slots, one idea here I had is to have a spellbook of 1-3 spells at start, then possible promotions to increase the size of spellbook OR promotions to upgrade spellbooks for bigger(better) spells. So in fact you would still have to use promotions for spells, but not directly, you would just develop the type of your mage. Force a player to make some compromise :D just like in original civ... where I usually specialize promotions to get better effect. You could have a mage with 6 slots for cheap spells or a mage with 2 uber strong slots for fireball/maelstorm or you could have a mage with 1 slot and promotions to upgrade his summons...

Ok I might have duplicated some thoughts here, no offense, I hope it will help to make something better.
 
So far this appears to be shaping up very nicely. There's not any really viable way I see to help, but if you'd like I'd be more than happy to help write some concept/flavor texts when you start rolling out the spells, and in any other way I can make myself useful.

Keep it up! :goodjob:
 
its messy, my army having 50 promotions and 30 possible actions to click? the heck...
That's a big part of my irritation as well, which is why I want to make a spell system that allows you to pick spells individually without having to also learn other spells you don't use. The only time you'll have a huge number of abilities on a unit is when you hit the button that lets you modify a spell selection.
My suggestion is to keep it clean and simple. And well documented so we can find spells in a list or something. In civilopedia. And merge this mod into FFH :D (dream on yeah)
It'll probably never make it to FFH, because FF has a whole lot of extra stuff you can do with promotions. The ideal goal, though, is to make something worthy of being absorbed into FF. As far as the civilopedia goes, this system will be a little easier to figure out because all of the requirements for a spell will be listed in a single place - on the promotion that leads to it.
- not too many spells per mage... 1/level is A LOT
You might have a point there. If it proves unbalanced, it should be easy to tweak the number to 1 per 2 levels.
- one-time cast for uber spells is nice (gives defender huge a bonus though, watch for this)
I will watch for it, but it's also partially intentional. Taking on a wizard in his own tower is supposed to be a bad idea.
- no more tier system, but still some safeguards to balance out stuff, maybe weighted slots, one idea here I had is to have a spellbook of 1-3 spells at start, then possible promotions to increase the size of spellbook OR promotions to upgrade spellbooks for bigger(better) spells. So in fact you would still have to use promotions for spells, but not directly, you would just develop the type of your mage. Force a player to make some compromise :D just like in original civ... where I usually specialize promotions to get better effect. You could have a mage with 6 slots for cheap spells or a mage with 2 uber strong slots for fireball/maelstorm or you could have a mage with 1 slot and promotions to upgrade his summons...
This is more easily dealt with by having the powerful spells take up more than one spell slot. It gives the player fewer variables to keep track of, and means you don't need an encyclopedic knowledge of what spells require what level spell slot. You just know that more spell slots = more or better spells.

Because you and others have brought up questions about new arcane promotions, let me just sum up the ideas I have so far along those lines.

New Arcane Promotions:
Spoiler :

(Note &#8211; Spell extension and Twincast are gone)
All numerical promotions also require the previous promotion in the series.
Summoner 1 &#8211; summoned units gain +1 duration
Summoner 2 &#8211; summoned units gain Mobility 1 (requires Channeling 2)
Summoner 3 &#8211; summoned units gain Mobility 2, Strong
Scholar 1 &#8211; gain one additional spell slot
Scholar 2 &#8211; gain one additional spell slot
Scholar 3 &#8211; gain one additional spell slot
Battlemage 1 &#8211; lose two spell slots, gain +2 strength (requires Channeling 2)
Battlemage 2 &#8211; lose two spell slots, gain +1 first strike, +1 movement.
Field Mage &#8211; Unit can use Upgrade Spellbook when not in a city (requires Channeling 2, Level 8)
Blaster 1 &#8211; ranged strength 4, range 1, damage limit 20%. Lose 2 spell slots
Blaster 2 &#8211; ranged strength 6, range 1, damage limit 40% (requires Channeling 2)
Blaster 3 &#8211; ranged strength 8, range 2, damage limit 50% (requires Channeling 3)
Arcane Mastery 1 &#8211; opponents are -20% to resist spells (requires Magic Resistance)
Arcane Mastery 2 &#8211; opponents gain additional -20% spell resist, unit gains additional 20% spell resist (requires Level 6)
Arcane Mastery 3 &#8211; can cast two spells per turn. (requires Channeling 3, Level 10)
Apprentice Necromancer &#8211; Allows access to Raise Skeleton (and maybe a few other spells), allows one skeleton.

Specialties: each of these promotions requires Channeling 2 and level 5, their primary effect is to allow access to certain spells.
Dark Power &#8211; requires Infernal Pact. Removes Sanctified
Master Necromancer &#8211; requires Apprentice Necromancer and Necromancy (the tech). Allows 2 additional skeletons
Alchemist &#8211; requires Medicine AND Arcane Lore
Sanctified &#8211; requires Divination OR Priesthood. Removes Dark Power
Elementalist &#8211; requires Elementalism
Enchanter &#8211; requires Alteration
Stormlord &#8211; requires Elementalist AND Channeling 3
Wild Mage &#8211; requires Mutated
Natural Harmony &#8211; requires Divination OR Feral Bond
 
I love the Blaster promos. I think the main mod should incorporate the notion of a "ranged attack mage" for every plain adept/mage/archmage. This would solve the xp stagnation issue for the magi.
 
Back
Top Bottom