From 9fcc7c41761ea968d0da075f2974a8908a2ef19b Mon Sep 17 00:00:00 2001 From: Jude Brown Date: Thu, 24 Dec 2009 20:34:29 +1000 Subject: New (rakshasa) unique: Mara, Lord of Ilusions. This re-uses several ideas from the Emerald Eye FR, and implements the spell "Mislead": this grants the "Misled" status effect to the player, and causes on-level monsters to appear (glyph, name and tile) to be other monsters. Only their appearance is changed. Healing potions and rain remove this status effect. Mara also has a beefed-up version of the Rakshasa clone spell: it instead creates an "exact" clone (slightly altered spells list, and non-unique status for his clones). Only two will ever be created at once. Finally, he has the spell "Summon Player Ghost". This spell creates a ghost of the player (though marked as a summon, meaning that it (shouldn't) register a milestone, though it will be treated as a self-ghost kill) that is hostile. Only one of these should be existant at any one point in time. I'm pretty sure that I haven't broken anything, but would definitely appreciate someone sanity-checking this commit. Known minor issue: Kirke's summon ugly things being cast while having the Misled status causes them to show up with no glyph. --- crawl-ref/source/mon-gear.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'crawl-ref/source/mon-gear.cc') diff --git a/crawl-ref/source/mon-gear.cc b/crawl-ref/source/mon-gear.cc index 1c261102a9..01edc35951 100644 --- a/crawl-ref/source/mon-gear.cc +++ b/crawl-ref/source/mon-gear.cc @@ -364,6 +364,13 @@ static item_make_species_type _give_weapon(monsters *mon, int level, 0); break; + case MONS_MARA: + item.base_type = OBJ_WEAPONS; + item.sub_type = random_choose(WPN_DEMON_BLADE, WPN_DEMON_TRIDENT, + WPN_DEMON_WHIP, -1); + level = MAKE_GOOD_ITEM; + break; + case MONS_DEEP_ELF_FIGHTER: case MONS_DEEP_ELF_HIGH_PRIEST: case MONS_DEEP_ELF_KNIGHT: @@ -1440,6 +1447,7 @@ void give_armour(monsters *mon, int level) case MONS_DRACONIAN_KNIGHT: case MONS_WIZARD: case MONS_ILSUIW: + case MONS_MARA: if (item_race == MAKE_ITEM_RANDOM_RACE) item_race = MAKE_ITEM_NO_RACE; item.base_type = OBJ_ARMOUR; -- cgit v1.2.3-54-g00ecf