abilities (Zin's sustenance and Yred's injury mirror) in a less hackish way.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7593 c06c8d41-db1a-0410-9941-cceddc491573
RIGGVFYNCRFDUUCMIAN7SDEOUL4VMMZI6OYXZW72BVNI4WXJQXWQC
NFXK75IVZIF2JRTVQYLSR7NRD3OV4H24EZT33OBOIDGYYBNJGCKQC
EVAZZ7L2G3NWUUVG5YYFFVX2J5A5SQWQRNM7HVOG7HVZX7LZ2NHAC
OFPZBHMZ6DZ6NZ2NJTLRHPEDIQ4FVRASXBTA7TVQKFZ4CIKDDCNAC
BNRY5YIXLFE2TDNU2JQHWWXJQVWNSEWQ52DU7XUWIT5DZWKGBDDAC
JFSTKMNCLZPD25Y7W526LYXX3Y3SVGWGNC5W6CXRVQ6RJZT2AMQAC
V3D5CG4IQU2RUM64BMLOXVYZBK3OTU7AYENTD3HTARQR2U4AZPUAC
4GYZYBY7FFORRNPIEFTV4ZM2C7Z6D2KTQOM537ZCC2YBXT2TNSHAC
V4DWL5WBO2JCODVS5QQNWXDH4DAYZN3D5V3UDCHM2KKOMADOTEDQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
WNDCC2WZEUQ2SHRQZUAAK3A4QF5JGLDJ5D3WLKLNXYSCK4TZ7KZAC
SQFABNVS6OSVRBMJAIV6KIIZW2TYIOQ5BZGLPYJ6BPFD2HMRH4MAC
GF5VGZLKKWIATLVLTUJR4LVEQZAKR7CWMLNFMJXA67WLHP7JNUUAC
WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC
JBZ7NU4BB5PGQWCOSZHD5OQUHQIVOD4XGJLSJQ7BUGQEGPRTVGZQC
AXRXY7RSEN3QHQRK6SFEH2OZAAYJRR5RBBBFF4YJF756V2FPFJ3AC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
GTPAKUU3R5AS3LQNCCZIP3BWV473RM4EB2AIS4FXAJRXHEOVH2PAC
47NSOFQMBZCDIBHEAZSENFUGDSQCX3GJHFBUZ65ARDKCYIZ435LAC
DRQ6OBPWBA5MKPVQXELBHOWBN3I374QHD7OBTYSOEU3XQ2WBXUJQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC
HOUSHQ4DQK4MVKTCJ56MKYGYPDTF77HJCFVB5PYV7ALNZZJWFYFQC
4FQAKUKUO6PCAZ3N4HUR5XL6E4VA5UQUZ3AEDGRBLVY7W2LMWI7QC
WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
7K5P2GRF6QUXTMERG2R3BB6DZFQYJQ6V2KNPMBPFDLOP36NQILPAC
6UPCB64Z2W243QR3JQD7WPQMPVNVBPYRG7GTGZK6LTKKBBSKBHZQC
JW2KRJHES33W7UTWZ6NDO4TLMK4EFU4HKZXBWR2UJOMPCCOTR4CQC
UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC
GL7TJGUGV4JPLZCDWH6QVST4RYW7UJV6IP7UAEWEKNBWJO2H2ZHAC
X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
YMC3RKF4Z7DOHZNGG7INC343SXCTWOPK7ISD42I3WA3AZZNVBGIAC
DF5LOTJFSXOT7UBDHLBDLGA22OY4L7ZF6CVFP6H3KL4N5CHB5C5QC
L4UCVNVRFTHENDKDOY6X75LXIE2B7XIMSKGVKHBOXNID7RDTBQRAC
5I2C4CN57VS6M3X7PIQHT4SSYTS6B5CTVTA67J37OGXUSHX3EMZAC
2VUJ2IMYI7MYLFMSPYAH6IEXIMFG4JUSUYLVCW7SZELHSLPIEL3AC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
ODQ7LIJ2UROGGENIORRXZFWII3ZM2N45YD53FKWDQB7LLRXR4PHAC
BLEMEEWDXTMGHF35D2NYDKU6O2NCFOTRXDKDT6TISL3PJTKUALFAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
LNYPEXOYU2MHSCPQOFOA3LL22OY5ONJVQZYEB7DPZ37M6WE4CK5AC
SLDR32H45VDN74AVZ2JDPLNK7AZWXDS2YRTLMGK7E3FYW6OWOFJAC
AVSWNOP23Z2QCLQGXFDZV7TI4RC3XSXHIX2HDXFHXGKDEZSSIGJQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC
LL4FGIKVSJDKSCBNGS4ANIJGVTR6Q3LZPAJWGX3MY6V42P3BMZ6QC
LC2XZTUD56PLARIGBTDXDPJIYJNMJU446GFDGLRIFD2I4F66L6TAC
KBNY5FWKTEAKABFCLPC3QFKFSVZKAGXINPCIFV6WDSWFO4VCKNTAC
ZBTD5R4OOQ5D4W6ZRK2XEGLI3AWI37Z2G5X2EQ6IYPXDYKCKWMFAC
23PFLB2E4QHL5SF3Q2YV5FXRH6MFHENEU2ACVC572ZCYDXCBZVQAC
FXVDNB6MAAOSEP37HP7CIPPXNS7FDECN3GCRMT5UFFCKLHIL6IVAC
GMYJ4XEEKZASQWMXQZUME5VYCDBRODO7UJJUEZSVZBMSFVBFLK2AC
ABIL_KIKU_ENSLAVE_UNDEAD = 132, // 132
ABIL_KIKU_INVOKE_DEATH, // 133
ABIL_YRED_ANIMATE_REMAINS = 140, // 140
ABIL_KIKU_ENSLAVE_UNDEAD = 132,
ABIL_KIKU_INVOKE_DEATH,
ABIL_YRED_INJURY_MIRROR = 139,
ABIL_YRED_ANIMATE_REMAINS, // 140
static bool _print_god_abil_desc( int god, int numpower )
std::ostringstream buf;
buf << final_msg;
const int spacesleft = 79 - buf.str().length();
const std::string cost = "(" + make_cost_description(abil) + ")";
buf << std::setw(spacesleft) << cost;
cprintf("%s\n", buf.str().c_str());
return (true);
}
static bool _print_god_abil_desc(int god, int numpower)
if (abil != ABIL_NON_ABILITY)
{
const int spacesleft = 79 - buf.str().length();
const std::string cost = "(" + make_cost_description(abil) + ")";
buf << std::setw(spacesleft) << cost;
}
_print_final_god_abil_desc(god, buf, abil);
cprintf("Praying to %s will provide sustenance if starving."
EOL, god_name(which_god).c_str());
std::string buf = "Praying to ";
buf += god_name(which_god);
buf += " will provide sustenance if starving.";
_print_final_god_abil_desc(which_god, buf,
ABIL_ZIN_SUSTENANCE);
// XXX Mega-hack. Duplicates code in _print_god_abil_desc().
// FIXME.
std::ostringstream buf;
buf << "You can call upon " << god_name(which_god)
<< " to burn books in your surroundings.";
const int spacesleft = 79 - buf.str().length();
const std::string cost = "(" + make_cost_description(
ABIL_TROG_BURN_BOOKS) + ")";
buf << std::setw(spacesleft) << cost;
cprintf("%s" EOL, buf.str().c_str());
std::string buf = "You can call upon ";
buf += god_name(which_god);
buf += " to burn spellbooks in your surroundings.";
_print_final_god_abil_desc(which_god, buf,
ABIL_TROG_BURN_SPELLBOOKS);
cprintf("%s mirrors your injuries on your foes "
"during prayer." EOL, god_name(which_god).c_str());
std::string buf = god_name(which_god);
buf += " mirrors your injuries on your foes during prayer.";
_print_final_god_abil_desc(which_god, buf,
ABIL_YRED_INJURY_MIRROR);
ABFLAG_EXHAUSTION = 0x00000008, // fails if you.exhausted
ABFLAG_INSTANT = 0x00000010, // doesn't take time to use
ABFLAG_PERMANENT_HP = 0x00000020, // costs permanent HPs
ABFLAG_PERMANENT_MP = 0x00000040, // costs permanent MPs
ABFLAG_CONF_OK = 0x00000080 // can use even if confused
ABFLAG_PIETY = 0x00000008, // ability has its own piety cost
ABFLAG_EXHAUSTION = 0x00000010, // fails if you.exhausted
ABFLAG_INSTANT = 0x00000020, // doesn't take time to use
ABFLAG_PERMANENT_HP = 0x00000040, // costs permanent HPs
ABFLAG_PERMANENT_MP = 0x00000080, // costs permanent MPs
ABFLAG_CONF_OK = 0x00000100 // can use even if confused
{ ABIL_OKAWARU_MIGHT, ABIL_NON_ABILITY, ABIL_NON_ABILITY,
ABIL_NON_ABILITY, ABIL_OKAWARU_HASTE },
{ ABIL_OKAWARU_MIGHT, ABIL_NON_ABILITY, ABIL_NON_ABILITY, ABIL_NON_ABILITY,
ABIL_OKAWARU_HASTE },
{ ABIL_NEMELEX_DRAW_ONE, ABIL_NEMELEX_PEEK_TWO,
ABIL_NEMELEX_TRIPLE_DRAW, ABIL_NEMELEX_MARK_FOUR,
ABIL_NEMELEX_STACK_FIVE },
{ ABIL_NEMELEX_DRAW_ONE, ABIL_NEMELEX_PEEK_TWO, ABIL_NEMELEX_TRIPLE_DRAW,
ABIL_NEMELEX_MARK_FOUR, ABIL_NEMELEX_STACK_FIVE },
{ ABIL_LUGONU_ABYSS_EXIT, ABIL_LUGONU_BEND_SPACE,
ABIL_LUGONU_BANISH, ABIL_LUGONU_CORRUPT,
ABIL_LUGONU_ABYSS_ENTER },
{ ABIL_LUGONU_ABYSS_EXIT, ABIL_LUGONU_BEND_SPACE, ABIL_LUGONU_BANISH,
ABIL_LUGONU_CORRUPT, ABIL_LUGONU_ABYSS_ENTER },
{ ABIL_NON_ABILITY, ABIL_BEOGH_SMITING,
ABIL_NON_ABILITY, ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS,
ABIL_NON_ABILITY }
{ ABIL_NON_ABILITY, ABIL_BEOGH_SMITING, ABIL_NON_ABILITY,
ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, ABIL_NON_ABILITY }