git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8020 c06c8d41-db1a-0410-9941-cceddc491573
OO5PVQJ7B3HMIV46B5BIEKJNBZHQSXL3DJOGINRLLSTGSM67KYZAC
IRKYQBQCI4P66N2RS567ULXXLQZPYBLN36JTRWI7OC4QLCFW2ZEAC
KCEQH65NZXFROENETT7U3XWM3VGONENEORO5G32SNEGR22D3FWJAC
CB7U6IEEN2Z74672EYQQHWTB4GXVNNMAYDRQYAGY6K3QSDYYEHYAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
355HO2F6CLJGKAPTBSGTDZK4YTCDKBS57B2TBUWIXQJ5A4UYRPAQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
XHFG7QUF4UF7OYU7KWT2EB6XITI2BZDHH2D2FD7YP33C3M4GRBKQC
QG7MKYZECIRDJJZKVRFI6XTCH42GTKA55BFIWPJBQZ27CZVLUJDQC
3GRGONHWIZ7PTTNMJ6CIZEMIKC7N2DTU62BLJ5QG4E7RGA5O2XMAC
SJP5BHX6MFWF3OSQPEF4WUWZWPUGMOVURTT2CUVT6H3A66LETXUAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
VEPHAIXR3GSPHBLOW5DWFFU4ULEMVWRQG4G5PKSKRA2I6RHYROUAC
M7UBBA4B6VWC4UDEJWOYB3VW7QCLRKJHOKVRJE6JFZW3JSMQCYTAC
AS44S4DVL3XJD5P6PQXTBWF5XZSXQJTRBWLAVIKGFMBX4ZRL2UTAC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
XNSBXTNKIHKTFUAAVT2H6Y2DCJVVS57CN4E7645OSSC5SKAI2QHAC
2TZT4GURBCNHSVOXO5ZMN7XEIO3K4GWJCDPVSYUCMVZ6UFDL4DIQC
VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC
2OQFLBVWCTXCWUPSDM76KNXTNC3YPAKRI5KLDAEU4KQLN4DEOLYQC
7BBEAPSUBQMBK4XC2Q6YJ2JPSVSPCSBJUYXM6EWXHNTQG4AEJX3QC
3ZNI2YMHYXRVEONY5CGWXSRMFSLOATZMKU7H6HRY3CC2W6OZAM7QC
3DA4J6TJVXWRM4FYYGE3IFZETWVCWTH5B72MTHBT6GKSWLBBORRAC
RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC
/* ******************************************************
// base draconian
{
90, // SK_FIGHTING
100, // SK_SHORT_BLADES
100, // SK_LONG_BLADES
100, // SK_UNUSED_1
100, // SK_AXES
100, // SK_MACES_FLAILS
100, // SK_POLEARMS
100, // SK_STAVES
120, // SK_SLINGS
120, // SK_BOWS
120, // SK_CROSSBOWS
120, // SK_DARTS
120, // SK_THROWING
200, // SK_ARMOUR
120, // SK_DODGING
120, // SK_STEALTH
100, // SK_STABBING
100, // SK_SHIELDS
100, // SK_TRAPS_DOORS
100, // SK_UNARMED_COMBAT
100, // undefined
100, // undefined
100, // undefined
100, // undefined
100, // undefined
100, // SK_SPELLCASTING
100, // SK_CONJURATIONS
120, // SK_ENCHANTMENTS
100, // SK_SUMMONINGS
100, // SK_NECROMANCY
100, // SK_TRANSLOCATIONS
100, // SK_TRANSMIGRATION
100, // SK_DIVINATIONS
100, // SK_FIRE_MAGIC
100, // SK_ICE_MAGIC
100, // SK_AIR_MAGIC
100, // SK_EARTH_MAGIC
100, // SK_POISON_MAGIC
100, // SK_INVOCATIONS
100, // SK_EVOCATIONS
},
****************************************************** */
// Max. charges are 3 times this value.
int wand_charge_value(int type)
{
switch (type)
{
case WAND_INVISIBILITY:
case WAND_FIREBALL:
case WAND_TELEPORTATION:
case WAND_HEALING:
case WAND_HASTING:
return 3;
case WAND_LIGHTNING:
case WAND_DRAINING:
return 4;
case WAND_FIRE:
case WAND_COLD:
return 5;
default:
return 8;
}
}
switch (wand.sub_type)
{
case WAND_INVISIBILITY:
case WAND_FIREBALL:
case WAND_TELEPORTATION:
case WAND_HEALING:
case WAND_HASTING:
charge_gain = 3;
break;
charge_gain = wand_charge_value(wand.sub_type);
case WAND_LIGHTNING:
case WAND_DRAINING:
charge_gain = 4;
break;
case WAND_FIRE:
case WAND_COLD:
charge_gain = 5;
break;
default:
charge_gain = 8;
break;
}
if (item_ident( item, ISFLAG_KNOW_PLUSES ) && item.plus == 0)
description << "Unfortunately, it has no charges left.";
if (item_type_known(item))
{
const int max_charges = 3 * wand_charge_value(item.sub_type);
if (item.plus < max_charges)
{
description << "$It can have at most " << max_charges
<< " charges.";
}
else
description << "$It is fully charged.";
}
if (item_ident( item, ISFLAG_KNOW_PLUSES ) && item.plus == 0
|| item.plus2 == ZAPCOUNT_EMPTY)
{
description << "$Unfortunately, it has no charges left.";
}