(Re)allow partial spell names when using &Z in wizmode.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2543 c06c8d41-db1a-0410-9941-cceddc491573
4PGOIN7EO5PXZHDRHBIWFTT4UI6QTINSWVN333R7S6VHFMOYQYIAC
MO63AQNSXTPSLZE4AQEEEZXXBDZ6HFB4PYB6GS3QHL3HX3JMCA2AC
PAYI4UTJCR3XZSFOX5L35EURHRXQ6STO4Z7AQ3525QPNL3QYLNBAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
spell_type spell_by_name(std::string name);
spell_type spell_by_name(std::string name, bool partial_match = false);
spell_type spell_by_name(std::string name)
spell_type spell_by_name(std::string name, bool partial_match)
int spellmatch = -1;
if (name == lowercase_string(sptitle))
const std::string spell_name = lowercase_string(sptitle); if (name == spell_name)
const std::string spell_name = lowercase_string(sptitle);
if (name == spell_name)
if (partial_match && spell_name.find(name) != std::string::npos) spellmatch = i;
if (partial_match && spell_name.find(name) != std::string::npos)
spellmatch = i;
return (SPELL_NO_SPELL);
return (spellmatch != -1? static_cast<spell_type>(spellmatch) : SPELL_NO_SPELL);
return (spellmatch != -1? static_cast<spell_type>(spellmatch)
: SPELL_NO_SPELL);
beam.damage = calc_dice( 6, 15 + powc );
beam.damage = calc_dice( 9, 20 + powc );
spell_type type = spell_by_name(specs);
spell_type type = spell_by_name(specs, true);
pbolt.damage = dice_def( 2, 4 + power / 8 ); // 25: 2d7 50: 2d10 pbolt.hit = 5 + power / 10; // 25: 6 50: 7
pbolt.damage = dice_def( 2, 4 + power / 8 ); // 25: 2d7 50: 2d10
pbolt.hit = 5 + power / 10; // 25: 6 50: 7
pbolt.damage = dice_def( 2, 5 + power / 7 ); // 25: 2d8 50: 2d12 pbolt.hit = 8 + power / 10; // 25: 10 50: 13
pbolt.damage = dice_def( 2, 5 + power / 7 ); // 25: 2d8 50: 2d12
pbolt.hit = 8 + power / 10; // 25: 10 50: 13
pbolt.flavour = BEAM_MMISSILE; // unresistable
pbolt.flavour = BEAM_MMISSILE; // irresistible
pbolt.damage = calc_dice( 6, 20 + (power * 3) / 4 );
pbolt.damage = calc_dice( 6, 18 + power * 2 / 3 );
pbolt.range = 7 + random2(10); pbolt.damage = calc_dice( 12, 30 + (power * 4) / 3 );
pbolt.range = 7 + random2(10);
pbolt.damage = calc_dice( 12, 30 + (power * 4) / 3 );
pbolt.range = 6 + random2(4); pbolt.damage = calc_dice( 10, 23 + power );
pbolt.range = 6 + random2(4);
pbolt.damage = calc_dice( 10, 23 + power );
pbolt.damage = calc_dice( 6, 15 + power );
pbolt.damage = calc_dice( 10, 18 + power );