Wizardry 8 Web Site

How Spell Availability is Calculated in Wizardry 8




   How to Learn a Spell
<> Below is a copy of a message posted on VN Board's Official Wizardry 8 Forum from Alex Meduna (Wiz8 Lead Gameplay Programmer) which gives the details of how spells available for learning is calculated. The Wiz8SpellAbility spreadsheet grew from this information.

To become eligible to learn new higher level spells for your class, you
have to meet 2 requirements: 1) minimum level in *THAT* class (not over-
all), and 2) minimum skill, for *THAT* spell's spellbook & realm.

1) Minimum Level requirement:
Pure Caster Classes: Mage, Priest, Psionic, Alchemist, Bishop
Hybrid Caster Classes: Monk, Ninja, Ranger, Samurai, Lord, Valkyrie 

Spell Level .... Min. Class Level 
................. PURE .. HYBRID 
1 ................ 1 ....... 5 
2 ................ 3 ....... 7 
3 ................ 5 ....... 9 
4 ................ 8 ...... 12 
5 ............... 11 ...... 15 
6 ............... 14 ...... 18 
7 ............... 18 ...... 22 

2) Minimum Skill Requirement To calculate your effective skill level for
a given spell:
  • Take your highest spellbook skill (Wizardry, Divinity, Psionics, Alchemy) that the spell in question appears in. Important for bishops or class-changed characters, since many spells appear in multiple books.
  • Add 10% of your *natural* skill in that spell's realm. This doesn't include temporary skill bonuses such as those from items [or profession bonuses].
Spell Lvl ..... Min. Effective Skill Lvl 1 .................. 0 2 .................. 15 3 .................. 30 4 .................. 45 5 .................. 60 6 .................. 75 7 .................. 90 It's not as complicated as it sounds. Example: A mage, a pure caster, must be level 5 AND have an effective skill of 30 to learn Fireball, a third level Fire realm Mage spell. If he has 30+ skill in Wizardry, he's all set. He could also qualify if he has, say 28 in Wizardry and 20+ in Fire skill (10% rule).



   Spell Learning for Profession-Changed Characters
<> There is no fundamental change to the calculations for a character that has changed professions (no matter how many times), the only aspect that requires a little more attention is the first requirement, the number of levels.

Spells come from any of four spell books; Mage, Alchemist, Psionic and Priest. These relate directly with the four spellcaster professions, which are Wizardry, Alchemy, Psionics and Divinity. Therefore we can group the 15 professions available in Wizardry 8 in the following way;
Non-Spellcaster: Bard, Fighter, Gadgeteer, Rogue
Wizardry: Mage, Samurai, Bishop
Alchemy:  Alchemist, Ninja, Ranger, Bishop
Psionics: Psionic, Monk, Bishop
Divinity: Priest, Lord, Valkyrie, Bishop
(You will have noticed that the Bishop appears in all four of the spellcaster professions, this will be discussed later).

If we look at levels attained for each spell book separately instead of an overall, it starts to make sense. For example, lets take a level 10 Mage. A Mage is in the Wizardry profession group and can only learn from the Mage spell book and only adds to the Wizardry Mastery Skill. Looking at the table Alex provided, a Mage is a pure spellcaster and therefore at level 10 can learn up to Level 4 Spells.

Now, let's say we profession-change the Mage to a Bishop at the next level up, and fast-forward to when our Bishop is now at level 20. This character has 10 levels as a Mage, followed by 10 levels as a Bishop.

The character would now be able to learn Level 7 Mage Spells, but only Level 4 Alchemist, Priest and Psionic spells. How do we get to this? Here's how;

Since a Mage and Bishop can both learn from the Mage spell book, their levels in both professions are added together. 10 levels as a Mage + 10 levels as a Bishop = level 20. However, as a Mage, the character couldn't learn from the other spell books and so, only the 10 levels as a Bishop are used to evaluate spell availability for spells in the three remaining spell books.

So far so good, makes sense right?

Ok, let's take another character who starts as a Samurai, still able to learn from the Mage spell book, but according to the tables above, a Samurai is a hybrid spellcaster and therefore can only start to learn spells once they reach level 5. So as a level 10 Samurai, this character effectively has only 6 levels towards the Wizardry spell book, (10 levels - 4 for being a hybrid). So this Level 10 Samurai is only able to learn Level 3 Mage Spells.

So, if we wanted to write a formula to calculation how many levels in Wizardry a character has, we could write;
LevelsInWizardry = LevelsAsMage + LevelsAsSamuari-4 + LevelsAsBishop
However, what if our Samurai was only at Level 3? You would end up with (3 - 4) = -1, the character would actually go backwards! From testing, we know this is not right. So for hybrids, we need to use a method so when adding the various profession levels together, hybrids don't end up deducting levels. This is best explained programmatically in a function, we'll call NNR (Non Negative Return);
Function NNR(Value);
{
      If ( Value < 0 )
      Then Value = 0
}
So now, when calculating how many levels a character has in Wizardry, it will look like this;
LevelsInWizardry = LevelsAsMage + NNR(LevelsAsSamuari-4) + LevelsAsBishop
Taking the previous example, we profession-change the Level 10 Samurai to a Bishop and fast-forward to when the character has reached level 20, 10 levels as a Samurai and 10 levels as a Bishop. We can calculate that the character would have 16 levels in Wizardry, by substituting values into the above formula, we get;
LevelsInWizardry = 0 + NNR(10-4) + 10 = 16
Therefore our character will have access to Level 6 Mage Spells, and Level 4 Spells in the other three spell books.

So in total, for each character we could devise the following formulas;
LevelsInWizardry = LevelsAsMage + NNR(LevelsAsSamuari-4) + LevelsAsBishop

LevelsInAlchemy = LevelsAsAchemist + NNR(LevelsAsNinja-4)
  + NNR(LevelsAsRanger-4) + LevelsAsBishop

LevelsInPsionics = LevelsAsPsionic + NNR(LevelsAsMonk-4) + LevelsAsBishop

LevelsInDivinity = LevelsAsPriest + NNR(LevelsAsLord-4)
  + NNR(LevelsAsValkyrie-4) + LevelsAsBishop
However, there is a problem with this! What about spells that appear in more than one spell book?

Again we know from testing, that when a spell is available in more than one spell book, Wizardry 8 will then add the levels achieved in the various spell books together. So for example, the Level 3 Spell 'Cure Poison' appears in both the Alchemist and Priest spell books. So, LevelsInAlchemy and LevelsInDivinity would be added together to give the effective number of levels for this spell.

But what would happen if the character had LevelsAsBishop? Answer, they'd get added twice, because we've added them in both the LevelsInAlchemy and LevelsInDivinity equations. Effectively doubling the number of levels as a Bishop!! This would be even worse for the Level 5 Spells 'Set Portal' and 'Return to Portal', as these are available in all four spell books!

So, what we need to do is break the LevelsAsBishop out of the previous equations and then add them in separately when evaluating each spell individually for availability. This gives us the five following formulas;
NonBishopWizardryLevels = LevelsAsMage + NNR(LevelsAsSamuari-4)

NonBishopAlchemyLevels = LevelsAsAchemist + NNR(LevelsAsNinja-4)
  + NNR(LevelsAsRanger-4)

NonBishopPsionicsLevels = LevelsAsPsionic + NNR(LevelsAsMonk-4)

NonBishopDivinityLevels = LevelsAsPriest + NNR(LevelsAsLord-4)
  + NNR(LevelsAsValkyrie-4)

BishopLevels = LevelsAsBishop
For those of you who use the Wiz8SpellAbility spreadsheet, you will find the results of these formulas on the [Data Sheet] at cell references L5 to L8 and N8.


Below you will find some examples, refer to Appendix 1 of your Wizardry 8 Game Manual which starts on Page 81 for the spell definitions. Note: These examples only cover if the required number of character levels has been reached. As detailed in the message in the section above, there are two requirements, enough Character levels, and Skill points before a spell is available to be learnt.

Examples:

Level 1 Spell: 'Itching Skin'
Spell books: Alchemist

If (NonBishopAlchemyLevels + BishopLevels) => 1, then Ok


Level 3 Spell: 'Cure Poison'
Spell books: Alchemist, Priest

If (NonBishopAlchemyLevels + NonBishopDivinityLevels + BishopLevels) => 5, then Ok


Level 5 Spells: 'Set Portal' and 'Return to Portal'
Spell books: Mage, Alchemist, Psionic, and Priest

If (NonBishopWizardryLevels + NonBishopAlchemyLevels + NonBishopPsionicsLevels + NonBishopDivinityLevels + BishopLevels) => 11, then Ok


You can click here if you have any further questions or comments.

Wolfie (wizardry8 AT mail.com)
Last Update: April 18, 2002


Source: Alex Meduna, Wizardry 8 Lead Gameplay Programmer / Designer.
Wizardry 8 is a registered trademark of Sir-Tech Canada, all rights reserved.