Magic Mapping, and Identify. [*]
This leaves six spells in the Divinations school, of which Forescry and See Invisible could easily be moved to other schools; Detect Secret Doors could be removed; and Detect Traps/Items/Creatures should be moved to some kind of misc. item with charges (whether rechargeable or not). I didn't want to remove those until the replacement code is in.
I added a hack to make sure the probabilities of Xom "casting" magic mapping remain the same. That will have to be repaired later, preferrably by handling it together with Detect Items/Creatures as a separate Xom effect.
Shifts spells in saves and bones files.
*) This is different from the recent addition of the scroll of silence in that these four spells pose no risk whatsoever and can be spammed safely, making even the food and magic costs negligible.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10542 c06c8d41-db1a-0410-9941-cceddc491573
UWYK2M6I6P6EFAVHLWQGDK77STFO3SPO5SVOF5WZTOKUH2O6BBHQC QSPLWL6QWR5RGGORC4XJ3ICIII5JY6MLQFSD7JOI2QL664KNK5VQC QEPTJOPJFKTXH27KOHY7DMQSMTXWAM57OPL3Y7WYE4X2OFMZE5IAC QK7YLIH7SWBSL3OEBQJYVFNTW4XT5FF6U3GPKW7PEGHBLPV3TVQAC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC XYQFJLTMLSU7LC7VODUJVN5F2P47STH2KVSP7Q3BSCUUDRHROW7QC V25XPIUUPVMKRK663D33PWE3GFQR47XZAV642T2NYGRFWZR5LT6AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC CHO4U5JC3RNTLXVIDXXJYZMOBZJ4VXW2GVJWDOTBRKK3AJ36LDLQC SUWIERONPDATHPDMZRYO6GYIXSW6XIS5V5MK5IV23DWQH2LL7VIAC ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC PR2XIEELO6UJWT3EXDHWCJZGIZCCF3D6KF6LC67R6RWWAVNWEHWAC LS3DAZVRDCXVN2BKBC6RGCKO3R43Z7HKG4GXJWLBK4AKBL2G6QDQC 7BREK7U6OWZ6YU3JDSJSH4CMNNULDYABCKCAUHGZIUJZBIRJS5WQC 3WAR2UAC4C4D2GOK4AUV4JITGFSBO3NIBAXGQZXSMFUTNTCLTU4AC KATZLWENEIQMKKWIV4ZLXJ5HFUW6SU5K4ZU6NENBOL4XAAVTDUKAC TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC 25VJTGR3AWZJ7OHKYWS53VJ6TVMMU6UT7BA6V3QVVWDGI6FYKD7QC FY7SUVHPQO6D6EXYPZAZCNSBP53AOE32EL7HQHPN2J2CM3GDZ26QC OG5QJYVF3IPLPQR7ZASAIWQLAQLGVXTI7GIIVOUN2ZAXFPVFYUXAC CCDQMJMMVC6MIZRZ6JSKKCMEDPUGEVVSFPJUOC5WP63J6SX35MXAC N7CKO4LATD44HNNA6747FY7M4BA4UKTMSJRL7KXONYADP5VMHROAC LFJAIJGMBJHZQIYSLDJ57N56WFUY67LVM3GRWOPIDIVNELEQU5EAC T35GO7UD2HKES4FLJWS3VPJ2AIM5JE7ROGY6EUH6CKPG7WUBNG5QC I7QLYOTE6DLQZM7YWUWYLKHRJRB2A3STQ42ALSRGQICEWKD2QTEQC RKBFYX6A3ORSXOVFPBGZFHL25AMX754YAT6M23FNGYXBXZ4DSFAAC QG7MKYZECIRDJJZKVRFI6XTCH42GTKA55BFIWPJBQZ27CZVLUJDQC NHCEH7ZFP3IFRMZMC25ZA2X5ZSS3MOCHCYLVCSVY7RTY62WX7UAQC XGJNTDXOS4YOCBVTZSNS2KDRH6IHSZVPGHCDI4NMQYLDM2QGNTKAC // Handle magic mapping specially, now it's no longer a spell.if (spell == FAKE_SPELL_MAGIC_MAPPING){if (you.level_type == LEVEL_PANDEMONIUM)return (false);god_speaks(GOD_XOM, _get_xom_speech("spell effect").c_str());#if defined(DEBUG_DIAGNOSTICS) || defined(DEBUG_RELIGION) || defined(DEBUG_XOM)mprf(MSGCH_DIAGNOSTICS,"_xom_makes_you_cast_random_spell(); spell: %d, spellenum: %d",spell, spellenum);#endiftake_note(Note(NOTE_XOM_EFFECT, you.piety, tension, "magic mapping"),true);const int power = stepdown_value( sever, 10, 10, 40, 45 );magic_mapping( 5 + power, 50 + random2avg( power * 2, 2 ), false );return (true);}
{SPELL_IDENTIFY, "Identify",SPTYP_DIVINATION,SPFLAG_NONE,6,0,-1, -1,0,NULL,false,true},
},{SPELL_REMOVE_CURSE, "Remove Curse",SPTYP_ENCHANTMENT,SPFLAG_NONE,5,0,-1, -1,0,NULL,false,true
},{SPELL_DETECT_CURSE, "Detect Curse",SPTYP_DIVINATION,SPFLAG_NONE,3,0,-1, -1,0,NULL,false,true
SPELL_MAGIC_MAPPING, "Magic Mapping",SPTYP_DIVINATION | SPTYP_EARTH,SPFLAG_MAPPING,4,45,-1, -1,0,NULL,false,true},{
case SPELL_DETECT_CURSE:detect_curse(false);break;case SPELL_REMOVE_CURSE:remove_curse(false);break;case SPELL_IDENTIFY:identify(powc);break;
case SPELL_MAGIC_MAPPING:if (you.level_type == LEVEL_PANDEMONIUM)mpr("Your Earth magic cannot map Pandemonium.");else{powc = stepdown_value( powc, 10, 10, 40, 45 );magic_mapping( 5 + powc, 50 + random2avg( powc * 2, 2 ), false );}break;
0,-1, -1,0,NULL,false,true},{SPELL_IDENTIFY, "Identify",SPTYP_DIVINATION,SPFLAG_NONE,6,0,-1, -1,0,NULL,false,true},{SPELL_REMOVE_CURSE, "Remove Curse",SPTYP_ENCHANTMENT,SPFLAG_NONE,5,0,-1, -1,0,NULL,false,true},{SPELL_DETECT_CURSE, "Detect Curse",SPTYP_DIVINATION,SPFLAG_NONE,3,
Detect CurseThis spell alerts the caster to the presence of curses on his or her possessions.%%%%IdentifyThis spell allows the caster to determine the properties of an otherwise inscrutable magic item.%%%%Magic MappingThis spell reveals details about the caster's surroundings.%%%%Remove CurseThis spell removes curses from any items which are being used by the caster.%%%%