Attached Files |
ogre_mage_spellbook.patch [^] (3,818 bytes) 2013-11-27 13:32 [Show Content] [Hide Content]From d6233fca2d75f02f53211e5b451a6eb57fb0ad34 Mon Sep 17 00:00:00 2001
From: Cedor <cedordark@yahoo.fr>
Date: Wed, 27 Nov 2013 12:28:03 +0100
Subject: [PATCH] add spell books for ogre mages and removing the special in
spell loading and monster description (replacing first spell by
SPELL_HASTE_OTHER)
---
crawl-ref/source/describe.cc | 5 ----
crawl-ref/source/mon-spll.h | 54 ++++++++++++++++++++++++++++++++++++++++++++
crawl-ref/source/mon-util.cc | 13 +++++++----
3 files changed, 62 insertions(+), 10 deletions(-)
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index b183375..84a42ee 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -3218,11 +3218,6 @@ static string _monster_spells_description(const monster_info& mi)
book_spells.push_back(spell);
}
- // Special casing for Ogre Mages (they always get their first spell
- // changed to Haste Other).
- if (mi.type == MONS_OGRE_MAGE)
- book_spells[0] = SPELL_HASTE_OTHER;
-
// Display spells for this book
if (num_books > 1)
result << (caster ? " Book " : " Set ") << i+1 << ": ";
diff --git a/crawl-ref/source/mon-spll.h b/crawl-ref/source/mon-spll.h
index fc3e646..b8be7b7 100644
--- a/crawl-ref/source/mon-spll.h
+++ b/crawl-ref/source/mon-spll.h
@@ -2271,4 +2271,58 @@
}
},
+ { MST_OGRE_MAGE_I,
+ {
+ SPELL_HASTE_OTHER,
+ SPELL_PARALYSE,
+ SPELL_HASTE,
+ SPELL_LIGHTNING_BOLT,
+ SPELL_CONFUSE,
+ SPELL_TELEPORT_SELF
+ }
+ },
+
+ { MST_OGRE_MAGE_II,
+ {
+ SPELL_HASTE_OTHER,
+ SPELL_ISKENDERUNS_MYSTIC_BLAST,
+ SPELL_INVISIBILITY,
+ SPELL_CONFUSE,
+ SPELL_SLOW,
+ SPELL_TELEPORT_SELF
+ }
+ },
+
+ { MST_OGRE_MAGE_III,
+ {
+ SPELL_HASTE_OTHER,
+ SPELL_LEHUDIBS_CRYSTAL_SPEAR,
+ SPELL_BLINK,
+ SPELL_BOLT_OF_FIRE,
+ SPELL_BOLT_OF_COLD,
+ SPELL_MINOR_HEALING
+ }
+ },
+
+ { MST_OGRE_MAGE_IV,
+ {
+ SPELL_HASTE_OTHER,
+ SPELL_STING,
+ SPELL_BLINK,
+ SPELL_LIGHTNING_BOLT,
+ SPELL_BANISHMENT,
+ SPELL_MINOR_HEALING
+ }
+ },
+
+ { MST_OGRE_MAGE_V,
+ {
+ SPELL_HASTE_OTHER,
+ SPELL_THROW_FLAME,
+ SPELL_INVISIBILITY,
+ SPELL_TELEPORT_OTHER,
+ SPELL_FIREBALL,
+ SPELL_TELEPORT_OTHER
+ }
+ },
#endif
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 17b5985..0820acf 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -2136,7 +2136,6 @@ vector<mon_spellbook_type> mons_spellbook_list(monster_type mon_type)
break;
case MONS_WIZARD:
- case MONS_OGRE_MAGE:
case MONS_EROLCHA:
books.push_back(MST_WIZARD_I);
books.push_back(MST_WIZARD_II);
@@ -2145,6 +2144,14 @@ vector<mon_spellbook_type> mons_spellbook_list(monster_type mon_type)
books.push_back(MST_WIZARD_V);
break;
+ case MONS_OGRE_MAGE:
+ books.push_back(MST_OGRE_MAGE_I);
+ books.push_back(MST_OGRE_MAGE_II);
+ books.push_back(MST_OGRE_MAGE_III);
+ books.push_back(MST_OGRE_MAGE_IV);
+ books.push_back(MST_OGRE_MAGE_V);
+ break;
+
case MONS_DRACONIAN_KNIGHT:
books.push_back(MST_DEEP_ELF_CONJURER);
books.push_back(MST_HELL_KNIGHT_I);
@@ -2213,10 +2220,6 @@ static void _mons_load_spells(monster* mon)
break;
}
}
-
- // (Dumb) special casing to give ogre mages Haste Other. -cao
- if (mon->type == MONS_OGRE_MAGE)
- mon->spells[0] = SPELL_HASTE_OTHER;
}
// Never hand out DARKGREY as a monster colour, even if it is randomly
--
1.8.4.msysgit.0
|