git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2382 c06c8d41-db1a-0410-9941-cceddc491573
BFIEDGHSMI5CKOOFWYYB3XHPCZOWPERTBIA5U2HMRSCNWHE57VDQC
6TGMILC5XI6LSK23OFFZWUSA4CXIFQ5O7GELZDIDZJCVX4OVJYZAC
JT672SIJK4BOIUAGL2WQ6NR2NF4PSWP3BT6Q4HMNRF25UN6JQ2MAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
LL4FGIKVSJDKSCBNGS4ANIJGVTR6Q3LZPAJWGX3MY6V42P3BMZ6QC
L5CVPV5IUBSO4EE3WK4O6SQGIMIEPSMQONFBWEVGJBR2HATLPZIAC
2IJDLTWK74ULETLFTIPUIY2MSG6RNONVAFNFE7MADPT6UNYSSBDAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
AVSWNOP23Z2QCLQGXFDZV7TI4RC3XSXHIX2HDXFHXGKDEZSSIGJQC
struct generic_cost
{
int base, add, rolls;
generic_cost(int num)
: base(num), add((num + 1) / 2 + 1), rolls(1)
{
}
generic_cost(int num, int _add, int _rolls = 1)
: base(num), add(_add), rolls(_rolls)
{
}
static generic_cost fixed(int fixed)
{
return generic_cost(fixed, 0, 1);
}
static generic_cost range(int low, int high, int rolls = 1)
{
return generic_cost(low, high - low + 1, rolls);
}
int cost() const;
{ ABIL_LUGONU_BANISH, "Banish", 4, 0, 200, 5, ABFLAG_NONE },
{ ABIL_LUGONU_CORRUPT, "Corrupt", 7, 5, 500, 20, ABFLAG_NONE },
{ ABIL_LUGONU_ABYSS_ENTER, "Enter the Abyss", 9, 0, 500, 40, ABFLAG_NONE },
{ ABIL_LUGONU_BANISH, "Banish",
4, 0, 200, generic_cost::range(3, 4), ABFLAG_NONE },
{ ABIL_LUGONU_CORRUPT, "Corrupt",
7, 5, 500, generic_cost::fixed(10), ABFLAG_NONE },
{ ABIL_LUGONU_ABYSS_ENTER, "Enter the Abyss",
9, 0, 500, generic_cost::fixed(35), ABFLAG_NONE },
{ ABIL_BEOGH_SMITING, "Smiting", 3, 0, 80, 3, ABFLAG_NONE },
{ ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, "Recall Orcish Followers", 2, 0, 50, 0, ABFLAG_NONE },
{ ABIL_BEOGH_SMITING, "Smiting",
3, 0, 80, generic_cost::fixed(3), ABFLAG_NONE },
{ ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, "Recall Orcish Followers",
2, 0, 50, 0, ABFLAG_NONE },