Tuesday, November 28, 2006

New class/realm.magic/spells system.

HI,

This is how spells will be defined :

spell_type spells[MAX_REALM][32] =
{
/*Miracles */
{/* Level , Mana, Fail, Exp for first time, spellname, spoiler*/
{ 1, 1, 30, 4, "Detect Evil", "Detects all evil creatures that are nearby.",},
{ 3, 2, 35, 4, "Cure Light Wounds", "Cures you of 2d10 damage, and reduces bleeding.",},
{ 4, 3, 35, 4, "Bless", "Blesses you, giving you a +5 bonus to armour class and a +10 bonus to hit.",},
{ 5, 5, 35, 4, "Remove Fear", "Stops you from being afraid. ",},
{ 7, 7, 35, 4, "Call Light", "Lights the area that you are in with a permanent light - possibly damaging some creatures",},
{ 9, 8, 40, 4, "Detect Traps and Secret Doors" "Finds all traps, stairs and secret doors in your surrounding area.",},
{ 12, 12, 40, 3, "Cure Medium Wounds", "Cures you of 4d10 damage, and reduces bleeding.",},
{ 15, 14, 45, 3, "Satisfy Hunger", "Removes all hunger, leaving you comfortably full.",},

etc...

This is how class related spell casting will be defined, with 'the mage' as the gold standard.

class_magic realms_info[] = {
/*Class Name Book Xtra Stat, Type, Level, Encumbrance, MIRACLES SORCERY NATURE CHAOS DEATH TAROT CHARMS SOMATIC DEMONIC*/
/*Warrior */{ 0, 0, A_STR, 0, 99, 0, { NO, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*Mage */{ TV_SORCERY_BOOK, 0, A_INT, 0, 1, 300, { SAME, SAME, SAME, SAME, SAME, SAME, SAME, SAME, SAME, },},
/*Priest */{ TV_MIRACLES_BOOK, 0, A_WIS, 1, 1, 350, { SUPER, WORSE, SAME, WORSE, SUPER, WORSE, WORSE, WORSE, POOR, },},
/*Rogue */{ TV_SORCERY_BOOK, 0, A_INT, 0, 5, 350, { POOR, SAME, POOR, SAME, BETTER, SAME, BETTER, WORSE, WORSE, },},
/*Ranger */{ TV_MIRACLES_BOOK, 0, A_INT, 0, 3, 400, { NO, NO, BETTER, WORSE, POOR, WORSE, WORSE, WORSE, NO, },},
/*Paladin */{ TV_MIRACLES_BOOK, 0, A_WIS, 1, 1, 400, { BETTER, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*Warrior-Mage*/{ TV_SORCERY_BOOK, 0, A_INT, 0, 1, 350, { WORSE, WORSE, WORSE, WORSE, WORSE, WORSE, SUPER, WORSE, WORSE, },},
/*Hell Knight */{ TV_MIRACLES_BOOK, 0, A_INT, 1, 2, 400, { NO, NO, NO, NO, NO, NO, NO, NO, BETTER, },},
/*Mystic */{ TV_MIRACLES_BOOK, 0, A_WIS, 0, 1, 300, { NO, NO, NO, NO, NO, NO, NO, SUPER, NO, },},
/*Mindcrafter */{ TV_MIRACLES_BOOK, 0, A_WIS, 0, 99, 300, { NO, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*High Mage */{ TV_SORCERY_BOOK, 0, A_INT, 0, 1, 300, { BETTER, BETTER, BETTER, BETTER, BETTER, BETTER, BETTER, BETTER, BETTER, },},
/*Druid */{ TV_MIRACLES_BOOK, 0, A_WIS, 1, 1, 350, { NO, NO, SUPER, NO, NO, NO, NO, NO, NO, },},
/*Warlock */{ TV_SORCERY_BOOK, 0, A_INT, 0, 1, 300, { WORSE, WORSE, WORSE, BETTER, WORSE, WORSE, WORSE, WORSE, BETTER, },},
};

I am planning on
- Deep objects that can increase your skill-level ( Sorcerous Orb, etc ) in 1 realm , potentially more but unlikely
- A race matrix that can increase or decrease your skill level per realm ( ogre descendant should be good with death )
- Catalogue all spells and allow races / birthsigns maybe even classes to be better in a specific set of spells
( example : catalog all spells : violet/non-violent and allow Palladins/Hell Knights to be be more proficient with the violent ones )
( example : catalog all spells with a GF_FLAG, then let kobolds be more proficient with spells that have GF_POISON ( poison cloud etc. )

I have also completely revamped corruptions into something more structured so I can more easily get it into my T-Module :

corruption_type corruptions[COUNT_CORRUPTIONS]={
/*Byte Flag Gain message Odds Loose Message Description */
{ 1, COR1_SPIT_ACID, "You gain the ability to spit acid.", 4,"You lose the ability to spit acid.", " You can spit acid (dam lvl).", },
{ 1, COR1_BR_FIRE, "You gain the ability to breathe fire.", 3,"You lose the ability to breathe fire.", " You can breathe fire (dam lvl * 2).", },
{ 1, COR1_HYPN_GAZE, "Your eyes look mesmerizing...", 2,"Your eyes look uninteresting.", " Your gaze is hypnotic.", },
{ 1, COR1_TELEKINES, "You gain the ability to move objects telekinetically.", 2,"You lose the ability to move objects telekinetically.", " You are telekinetic.", },



No comments:

Post a Comment