git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1730 c06c8d41-db1a-0410-9941-cceddc491573
U6HLBU2OIMKVNWWZ55SERG56WKAW3GSFFEGUJBP4SQVYSESGXC2QC const char* spell_power_string( spell_type spell )
formatted_string spell_power_string(spell_type spell){formatted_string result;result.textcolor(spell_power_colour(spell));const int numbars = spell_power_bars(spell);if ( numbars < 0 )result.cprintf("N/A");elseresult.cprintf(std::string(numbars, '#'));return result;}int spell_power_colour(spell_type spell)
return "Maximum";return(power > 100) ? "Enormous" :(power > 90) ? "Huge" :(power > 80) ? "Massive" :(power > 70) ? "Major" :(power > 60) ? "Impressive" :(power > 50) ? "Reasonable" :(power > 40) ? "Moderate" :(power > 30) ? "Adequate" :(power > 20) ? "Mediocre" :(power > 10) ? "Minor": "Negligible";
return WHITE;if ( power * 3 < powercap )return RED;if ( power * 3 < powercap * 2 )return YELLOW;return GREEN;}int spell_power_bars( spell_type spell ){const int powercap = spell_power_cap(spell);if ( powercap == 0 )return -1;const int power = std::min(calc_spell_power(spell, true), powercap);const int breakpoints[] = { 5, 10, 15, 25, 35, 50, 75, 100, 150 };int result = 0;for ( unsigned int i = 0; i < ARRAYSIZE(breakpoints); ++i ){if ( power > breakpoints[i] )++result;}return result + 1;