git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7375 c06c8d41-db1a-0410-9941-cceddc491573
SA36K3OJ75PNVR2F4QAPNU2LUGFTVHNIAZVSXCBXBT2NLW2RTUPAC QIBABNGBNE2IHO5K6IYOF2XTGBGUB6T3TNEPR4ML6Y32KJUGB2UQC HHEQMWTLQUCVN6X3VPK5QE52UNSZG5KVJCJTJKPF2LBEVTSAKEFQC V7VKAKOQDTFNNSV246CCIQMIHOYTWF6DTWO2VNERQCYARWCP7MQAC 4Y4BVQ57OFLX3AS5WQ476JYSVDXRPRTRJFREEY3HMXS53JDZSGVAC W5N4OCBAXAMSJQXZ5ELP6MSQAPDWWINHH6WWWGR3YTJLB54LBZXQC 5G3BNY5AC56UJIA2ZQOENUJJECH2XO66MEU5FX7NEJVQOF3B47ZAC 4CAY6GVCRQWUZADPPCUPVSLRYSOYHRVIXISAWBG7RXMTXLKAQW5AC EDUH6KPERERLEVR3ARID7KSTD5WTY5MLO7XPKYYDZLBTE53OVKXAC EVAZZ7L2G3NWUUVG5YYFFVX2J5A5SQWQRNM7HVOG7HVZX7LZ2NHAC PTRDP6NBP3ZM3PEF7J4WJPJ2GPV25TLDFJ6XQ24DYOU7W6YYZ2TQC JSHUSNMOJRLZJF7EK5ETYH65G4C3YYFGLWTYIAH4KPVXKC5AUCDQC 35FHBDIH2RNGH3MQAFTCJMUTZPABFMLZTBY4WEISZAKYDLOQU2ZAC WEUUIXFTUICBHZ65N7EIBJ3VYMTYFEWCQ2ED7PMTO2UBMUICHNVQC YNPHNL4SCDSELDUFX23UZT4NVH3J3Z4IDAFGMTVCUGTKJYZHBYMQC 3EB4KPH75XXSFJY724VBTYUSPZTBBKZMEE2V47VWW6H2BEYDOYMQC VK7T7J3IKTOVP7YHXPOWNYC2GC6MFEMU7O3ESQSB7PO7HQ7GCK6AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC NNQPJEMQAJC6V45OOHEX7OA54DE5IEQI73SJTS5O6PPU3KMHF4WQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC B3HWU2BEQQ4E6WKVTW3JQQJFMWTVW3XWKY6BHFNBRHSZPRCF2OTQC IQGGFC563RBS7GDOACKCLXK752EE5RC3T6G5L6H446SXTMSA7T2AC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC 2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC BJPPSWEN35BG4KP3XTXPDMAJ2GAUMHXKHCNALAZ4B4OS6B3KDSUQC 3IJHKZOTXLU7B6F4UIKXCQCPXEVLKRX2M3VWAAPGRLL24IIP2T2QC PVLLIAYFIAU4TQFBIP7B4ARIBUX2CVTSBQECEU6VTONJV4ANHVFAC 6L4EP4ZRWWYLT55PD5KTTJON5J2JB5VV5MWNHF5VPZQZ5BKEYZ4QC NDKS43E4XVAU3FDY276OF5JW7E5SF6F5EJD2XLV5JLKZ5W6N554QC PYRDMGIYU5BUMTGRTYHRKD2D7WULYWCVOU46TJ4R5NSVEZVCZTUQC QCSLMPAVJIRPFKQRPQH2KGKHEWMVD3PD3EFEC3P5QM4Y5TMTDYMQC J2EXARCZZISVWZOPIPATFLWBKQVY7UL3GQ5LSPLEEVSRIBIBSV5AC HLDXVOZVU4R5WJWLRKRXXD4IB6URK5TJRLWZZTI4RYQXGJITPU3AC FRJDHZKBOJX3LPWYDK426RBIQXNC6WFQXE556YFMMXJ2F53OW4JAC R5HVRGDKUX6A2H4DRHGWFBC2P625VAJHDZTERDMLFVXWSZLMHKRAC ZDJ2CMPHHVPWTVDMDALWOARI5PA22VZ4FXIWR465PKZ4RVQOPJJAC UEGIR7RQHUYBINNXH75E4PEDA5XIVFDAC2MQ5H5J2ZFDNVPBC67QC 6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC MPQIZUHUAHOF2CKNTLSYCGMR7FIC3EPA2RHZIY6JOQKAS6H6YY4AC DK362IHKSDADMUPD35NOTKM4WESQM37KG2PNOJRV2FGELDWULYPQC KLBFYCPBHLKC5K3UYCZQ5ECWP7ECL6ZYLIBXZ7O466RLEI56A6RQC CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC U5EDSMYL25OHBJYMJ2MBV7VC2P45BJ2WQVVHSG24OZCHWCOUIXHAC QDBILCQHREAKSVXBJJGE2EPNR4ATTQWUZMV7BLJYZWWUI737TSKQC WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC KYVZGUJXV23ELA4CKPVQZO3NTJCODXMCWYAZJYWVWJVLPETNHLGQC 2Q3P7FHAAZRJ337GTR2ZLD72ECBUDJ42MROKVCNKNDV6CGMQOSYAC 3NRASCNNNVJPCVJTAEEWAFEQVHDWR7BKQNS3CGMR5J4TFEJIFD6AC BSM7LVUI3SSHMQJDHUQB2EDNRCXK4IMGKJKDZXJC3XL4N5X3VVKAC NDCVITU5R7TBEUC4FILNFRKWQGUNCJUGW5HA5KW3CQTU6AYRLYWQC ENQRCBNN7MKP6FFQAZ62FYXEVWCRJB5747LTYMZGRGINXQL6HT5AC TBLVONZGCKVUXW7NEG4NSDMFIIO6UZOG4FHTJGT6MKSSO3B5J46AC ZUWTZESSQN2JSW3LVGGJ7A7JYSFUCZ2FCBD2XFOLENBBOP4J5BOQC 6D63Q5KX6WA26VKOOGJPQLKFPZVCGULYCQTU6HJMOOUB6RDQUWTQC ODCWOILHAMEQQVMGVUU6PWRSMHAINWP3MYFMPVMQBQZ5RYKGO45AC 4YEAIFVCMFU6FLSLGNZQHA7YPMPVZVFAQMK726G6UBMWM7DHZODQC IYDUDWPDA7JST3MVKYBAAX7GYDSM6FXXQ2QMMIKEDQLT4VXTHOUAC 5LDEEBB7DT4CORJZOAYLQFXNI7FOURUJGAKVDVX7YL745NNRW63AC 7VHG6TWBIZ64QGRE64HCF324J542YUXE724KANC3MC2FAC2DTWLAC JM3SEYOSSVTS5BPBMEHOLIBCYMPZFDXAJ4JQN5DGIHZHZTC7IYZQC 264FLET5STFALEWUDOEFCR273Y5CY2WZDHL56WHZUAQ635RUN6MAC ODC6BAHQUNDR3CUPXEFXSKSGRACPWCQSQF4XTUYBVTVVMDSDI7KQC PKD2ZZF2LQ5WZJKTQD7WUTFD2CC34YDPANIXB4EBIDIBR22HS3JQC OEM4F45F24KHESQR73Y6RA3BNLANV3WE623LK6ELMSDPA7LILSWAC E42EFZ3RINKLTGOJJZAH2N5QF3P4S5NCO5T52HLXJRMBPP463HTAC FIYBXLWALQINNQTHG2KNDUUTAQAZRDDLXW2XOVSKDKBADJ3XCJ4AC ENOQQ6DEA6ECRNTBGYYNK7G3DFEILMKQBNKP4SUQIZW2L6HWVR7QC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC T45QB5GRYMAKNE2QRUUA435BQUJCHPRBNBT7G2YLKCBXYGKFDJWQC TFQQFUXNCKWDRDLMHZWXYQQS7CS5DHTLESFCOHIU7PIJ2VNFBAEQC WVFKGV3AMOYUZ53MWH2RWRITRRCPKKNPTO7QASA5WVKWAUGDJ2OQC VZUTMVHQCC54ILC5YOB6V5IWKPYOCXDAQR5LIPSLBAA5ZXMWLXLQC P2OYYNPHIBGOLT4CRLNTTIXDN34EU2QCMFQJNLAMUAHQXZTEDPXQC BEPZL7D7JJHJUUDCVLGJRKKWM7NUAC7X2SU5XJMEASE6YTB53P3AC 4LNX57GAARCBHAHC6JY73VFHAHV6B5DYUBPSF7RM6USDEAAMUR3QC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC 6OPIH7ZQWB6PKTR4GEWHUE6BLUENR5ELHAC4TV5IVMRLGWUQYLXAC simple_god_message(" forgives your inadvertent ""blood-drinking, just this once.");
case GOD_SHINING_ONE:if (!known){simple_god_message(" forgives your inadvertent ""blood-drinking, just this once.");break;}penance = level;// deliberate fall-throughcase GOD_ZIN:case GOD_ELYVILON:if (!known){simple_god_message(" forgives your inadvertent ""blood-drinking, just this once.");break;}piety_change = -2*level;retval = true;
}penance = level;// deliberate fall-throughcase GOD_ZIN:case GOD_ELYVILON:if (!known){simple_god_message(" forgives your inadvertent ""blood-drinking, just this once.");
default:
case DID_CANNIBALISM:switch (you.religion){case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:piety_change = -level;penance = level;ret = true;break;default:
case DID_CANNIBALISM:switch (you.religion){case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:piety_change = -level;penance = level;retval = true;break;default:break;}
// If you make some god like these acts, modify did_god_conduct call// in beam.cc with god_likes_necromancy check or something similarcase DID_NECROMANCY:case DID_UNHOLY:case DID_ATTACK_HOLY:switch (you.religion){case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:if (!known && thing_done != DID_ATTACK_HOLY)
case DID_NECROMANCY:case DID_UNHOLY:case DID_ATTACK_HOLY:switch (you.religion)
simple_god_message(" forgives your inadvertent unholy act, ""just this once.");
case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:if (!known && thing_done != DID_ATTACK_HOLY){simple_god_message(" forgives your inadvertent unholy act, ""just this once.");break;}piety_change = -level;if (known || thing_done == DID_ATTACK_HOLY&& victim->attitude != ATT_HOSTILE){penance = level * ((you.religion == GOD_SHINING_ONE) ? 2: 1);}retval = true;break;default:
penance = level * ((you.religion == GOD_SHINING_ONE) ? 2 : 1);
if (!known){simple_god_message(" forgives your inadvertent holy act, ""just this once.");break;}retval = true;piety_change = -level;penance = level * 2;
simple_god_message(" forgives your inadvertent holy act, ""just this once.");break;
if (thing_done == DID_UNCHIVALRIC_ATTACK){if (tso_unchivalric_attack_safe_monster(victim))break;if (!known){simple_god_message(" forgives your inadvertent ""dishonourable attack, just this ""once.");break;}}retval = true;piety_change = -level;penance = level * 2;
case DID_UNCHIVALRIC_ATTACK:case DID_POISON:if (you.religion == GOD_SHINING_ONE){if (thing_done == DID_UNCHIVALRIC_ATTACK)
case DID_ATTACK_NEUTRAL:switch (you.religion)
case DID_ATTACK_NEUTRAL:switch (you.religion){case GOD_SHINING_ONE:case GOD_ELYVILON:if (!known){simple_god_message(" forgives your inadvertent attack on a ""neutral, just this once.");
default:
simple_god_message(" forgives your inadvertent attack on a ""neutral, just this once.");break;
if (!known){simple_god_message(" forgives your inadvertent attack on ""an ally, just this once.");break;}piety_change = -level;if (known)penance = level * 3;retval = true;
default:
case DID_FRIEND_DIED:switch (you.religion){case GOD_ELYVILON: // healer god cares more about thisif (you.penance[GOD_ELYVILON])penance = 1; // if already under penance smaller bonuselsepenance = level;// fall throughcase GOD_ZIN: // in contrast to TSO, who doesn't mind martyrscase GOD_OKAWARU:piety_change = -level;retval = true;break;default:break;}
case DID_ATTACK_FRIEND:if (god_hates_attacking_friend(you.religion, victim)){if (!known)
case DID_DEDICATED_BUTCHERY: // a.k.a. field sacrificeswitch (you.religion)
piety_change = -level;if (known)penance = level * 3;ret = true;}break;
case GOD_OKAWARU:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:simple_god_message(" accepts your offering.");retval = true;if (random2(level + 10) > 5)piety_change = 1;break;
case DID_FRIEND_DIED:switch (you.religion){case GOD_ELYVILON: // healer god cares more about thisif (you.penance[GOD_ELYVILON])penance = 1; // if already under penance smaller bonuselsepenance = level;// fall throughcase GOD_ZIN: // in contrast to TSO, who doesn't mind martyrscase GOD_OKAWARU:piety_change = -level;ret = true;break;default:
default:break;}
case DID_DEDICATED_BUTCHERY: // a.k.a. field sacrificeswitch (you.religion){case GOD_ELYVILON:simple_god_message(" does not appreciate your butchering the dead ""during prayer!");ret = true;piety_change = -10;penance = 10;break;
case DID_KILL_LIVING:switch (you.religion){case GOD_ELYVILON:// killing only disapproved during prayerif (you.duration[DUR_PRAYER]){simple_god_message(" does not appreciate your shedding ""blood during prayer!");retval = true;piety_change = -level;penance = level * 2;}break;
case GOD_OKAWARU:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:simple_god_message(" accepts your offering.");ret = true;if (random2(level + 10) > 5)piety_change = 1;break;
case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_OKAWARU:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))break;
case DID_KILL_LIVING:switch (you.religion){case GOD_ELYVILON:// killing only disapproved during prayerif (you.duration[DUR_PRAYER]){simple_god_message(" does not appreciate your shedding blood ""during prayer!");ret = true;piety_change = -level;penance = level * 2;
default:break;
case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_OKAWARU:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))
case DID_KILL_UNDEAD:switch (you.religion){case GOD_SHINING_ONE:case GOD_OKAWARU:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))break;simple_god_message(" accepts your kill.");retval = true;// Holy gods are easier to please this wayif (random2(level + 18 - (is_good_god(you.religion) ? 0 :you.experience_level / 2)) > 4)piety_change = 1;
simple_god_message(" accepts your kill.");ret = true;if (random2(level + 18 - you.experience_level / 2) > 5)piety_change = 1;
default:break;}
default:break;}break;
case DID_KILL_DEMON:switch (you.religion){case GOD_SHINING_ONE:case GOD_OKAWARU:case GOD_MAKHLEB:case GOD_TROG:if (god_hates_attacking_friend(you.religion, victim))break;
case DID_KILL_UNDEAD:switch (you.religion){case GOD_SHINING_ONE:case GOD_OKAWARU:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))
simple_god_message(" accepts your kill.");retval = true;// Holy gods are easier to please this wayif (random2(level + 18 - (is_good_god(you.religion) ? 0 :you.experience_level / 2)) > 3)piety_change = 1;
simple_god_message(" accepts your kill.");ret = true;// Holy gods are easier to please this wayif (random2(level + 18 - (is_good_god(you.religion) ? 0 :you.experience_level / 2)) > 4)piety_change = 1;
default:break;}
case DID_KILL_DEMON:switch (you.religion){case GOD_SHINING_ONE:case GOD_OKAWARU:case GOD_MAKHLEB:case GOD_TROG:if (god_hates_attacking_friend(you.religion, victim))break;
case DID_KILL_CHAOTIC:if (you.religion == GOD_ZIN&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" appreciates your killing of a spawn of ""chaos.");retval = true;if (random2(level + 18) > 3)piety_change = 1;}break;
simple_god_message(" accepts your kill.");ret = true;// Holy gods are easier to please this wayif (random2(level + 18 - (is_good_god(you.religion) ? 0 :you.experience_level / 2)) > 3)piety_change = 1;
case DID_KILL_PRIEST:if (you.religion == GOD_BEOGH&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" appreciates your killing of a heretic ""priest.");retval = true;if (random2(level + 10) > 5)piety_change = 1;}
}break;
// Note that holy deaths are special, they are always noticed...// If you or any friendly kills one, you'll get the credit or// the blame.case DID_KILL_HOLY:case DID_HOLY_KILLED_BY_SERVANT:switch (you.religion){case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:if (testbits(victim->flags, MF_CREATED_FRIENDLY)|| testbits(victim->flags, MF_WAS_NEUTRAL)){level *= 3;penance = level;}piety_change = -level;retval = true;break;
case DID_KILL_NATURAL_EVIL:if (you.religion == GOD_SHINING_ONE&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" accepts your kill.");ret = true;if (random2(level + 18) > 3)piety_change = 1;}break;
case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_MAKHLEB:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))break;
case DID_KILL_CHAOTIC:if (you.religion == GOD_ZIN&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" appreciates your killing of a ""spawn of chaos.");ret = true;if (random2(level + 18) > 3)piety_change = 1;}break;
if (thing_done == DID_KILL_HOLY)simple_god_message(" accepts your kill.");elsesimple_god_message(" accepts your collateral kill.");retval = true;if (random2(level + 18) > 2)piety_change = 1;
case DID_KILL_PRIEST:if (you.religion == GOD_BEOGH&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" appreciates your killing of a ""heretic priest.");ret = true;if (random2(level + 10) > 5)piety_change = 1;}break;
if (you.religion == GOD_YREDELEMNUL&& thing_done == DID_KILL_HOLY){simple_god_message(" appreciates your killing of a holy ""being.");retval = true;if (random2(level + 10) > 5)piety_change = 1;}break;
case DID_KILL_WIZARD:if (you.religion == GOD_TROG&& !god_hates_attacking_friend(you.religion, victim)){simple_god_message(" appreciates your killing of a magic user.");ret = true;if (random2(level + 10) > 5)piety_change = 1;}break;
default:break;}break;
// Note that holy deaths are special, they are always noticed...// If you or any friendly kills one, you'll get the credit or the// blame.case DID_KILL_HOLY:case DID_HOLY_KILLED_BY_SERVANT:switch (you.religion){case GOD_ZIN:case GOD_SHINING_ONE:case GOD_ELYVILON:if (testbits(victim->flags, MF_CREATED_FRIENDLY)|| testbits(victim->flags, MF_WAS_NEUTRAL))
// Undead slave is any friendly undead monster. Kiku and Yred pay// attention to the undead, and both like the death of living// things.case DID_LIVING_KILLED_BY_UNDEAD_SLAVE:switch (you.religion)
level *= 3;penance = level;
case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:simple_god_message(" accepts your slave's kill.");retval = true;if (random2(level + 10 - you.experience_level/3) > 5)piety_change = 1;break;default:break;
case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_MAKHLEB:case GOD_LUGONU:if (god_hates_attacking_friend(you.religion, victim))
// Servants are currently any friendly or charmed monster, excluding// undead, which are handled above.case DID_LIVING_KILLED_BY_SERVANT:switch (you.religion){case GOD_KIKUBAAQUDGHA: // note: reapers aren't undeadcase GOD_VEHUMET:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:simple_god_message(" accepts your collateral kill.");retval = true;if (random2(level + 10 - you.experience_level/3) > 5)piety_change = 1;
simple_god_message(make_stringf(" accepts your %skill.",thing_done == DID_KILL_HOLY ? "" : "collateral ").c_str());ret = true;if (random2(level + 18) > 2)piety_change = 1;
default:break;}break;
simple_god_message(" appreciates your killing of a ""holy being.");ret = true;if (random2(level + 10) > 5)
case GOD_SHINING_ONE:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:simple_god_message(" accepts your collateral kill.");retval = true;if (random2(level + 10 - (is_good_god(you.religion) ? 0 :you.experience_level/3)) > 5){
default:
case DID_DEMON_KILLED_BY_SERVANT:switch (you.religion){case GOD_SHINING_ONE:case GOD_MAKHLEB:case GOD_TROG:simple_god_message(" accepts your collateral kill.");retval = true;if (random2(level + 10 - (is_good_god(you.religion) ? 0 :you.experience_level/3)) > 5){piety_change = 1;}break;default:break;}
// Undead slave is any friendly undead monster. Kiku and Yred pay// attention to the undead, and both like the death of living// things.case DID_LIVING_KILLED_BY_UNDEAD_SLAVE:switch (you.religion){case GOD_KIKUBAAQUDGHA:case GOD_YREDELEMNUL:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:simple_god_message(" accepts your slave's kill.");ret = true;if (random2(level + 10 - you.experience_level/3) > 5)piety_change = 1;break;default:break;}break;
case DID_NATURAL_EVIL_KILLED_BY_SERVANT:if (you.religion == GOD_SHINING_ONE){simple_god_message(" accepts your collateral kill.");retval = true;
// Servants are currently any friendly or charmed monster, excluding// undead, which are handled above.case DID_LIVING_KILLED_BY_SERVANT:switch (you.religion){case GOD_KIKUBAAQUDGHA: // note: reapers aren't undeadcase GOD_VEHUMET:case GOD_MAKHLEB:case GOD_TROG:case GOD_BEOGH:case GOD_LUGONU:simple_god_message(" accepts your collateral kill.");ret = true;if (random2(level + 10 - you.experience_level/3) > 5)piety_change = 1;break;default:
if (random2(level + 10) > 5)piety_change = 1;}
case DID_UNDEAD_KILLED_BY_SERVANT:switch (you.religion){case GOD_SHINING_ONE:case GOD_VEHUMET:case GOD_MAKHLEB:case GOD_LUGONU:simple_god_message(" accepts your collateral kill.");ret = true;if (random2(level + 10 - (is_good_god(you.religion) ? 0 :you.experience_level/3)) > 5)
case DID_SPELL_MEMORISE:if (you.religion == GOD_TROG)
case DID_DEMON_KILLED_BY_SERVANT:switch (you.religion){case GOD_SHINING_ONE:case GOD_MAKHLEB:case GOD_TROG:simple_god_message(" accepts your collateral kill.");ret = true;if (random2(level + 10 - (is_good_god(you.religion) ? 0 :you.experience_level/3)) > 5)
case DID_SPELL_CASTING:if (you.religion == GOD_TROG)
}break;case DID_NATURAL_EVIL_KILLED_BY_SERVANT:if (you.religion == GOD_SHINING_ONE){simple_god_message(" accepts your collateral kill.");ret = true;if (random2(level + 10) > 5)piety_change = 1;}break;case DID_SPELL_MEMORISE:if (you.religion == GOD_TROG){penance = level * 10;piety_change = -penance;ret = true;}break;case DID_SPELL_CASTING:if (you.religion == GOD_TROG){piety_change = -level;penance = level * 5;ret = true;}break;
case DID_SPELL_PRACTISE:// Like CAST, but for skill advancement.// Level is number of skill points gained... typically 10 * exerise,// but may be more/less if the skill is at 0 (INT adjustment), or// if the PC's pool is low and makes change.if (you.religion == GOD_SIF_MUNA){// Old curve: random2(12) <= spell-level, this is similar,// but faster at low levels (to help ease things for low level// Power averages about (level * 20 / 3) + 10 / 3 now. Also// note that spell skill practise comes just after XP gain, so// magical kills tend to do both at the same time (unlike melee).// This means high level spells probably work pretty much like// they used to (use spell, get piety).piety_change = div_rand_round( level + 10, 80 );
case DID_SPELL_PRACTISE:// Like CAST, but for skill advancement.// Level is number of skill points gained...// typically 10 * exercise, but may be more/less if the// skill is at 0 (INT adjustment), or if the PC's pool is// low and makes change.if (you.religion == GOD_SIF_MUNA){// Old curve: random2(12) <= spell-level, this is// similar, but faster at low levels (to help ease// things for low level spells). Power averages about// (level * 20 / 3) + 10 / 3 now. Also note that spell// skill practise comes just after XP gain, so magical// kills tend to do both at the same time (unlike// melee). This means high level spells probably work// pretty much like they used to (use spell, get piety).piety_change = div_rand_round(level + 10, 80);
// level == 0: stacked, deck not used up// level == 1: used up or nonstacked// level == 2: used up and nonstacked// and there's a 1/3 chance of an additional bonus point// for nonstacked cards.int chance = 0;switch (level)
case DID_CARDS:if (you.religion == GOD_NEMELEX_XOBEH)
case 0: chance = 0; break;case 1: chance = 40; break;case 2: chance = 70; break;default:case 3: chance = 100; break;}
piety_change = level;retval = true;// level == 0: stacked, deck not used up// level == 1: used up or nonstacked// level == 2: used up and nonstacked// and there's a 1/3 chance of an additional bonus point// for nonstacked cards.int chance = 0;switch (level){case 0: chance = 0; break;case 1: chance = 40; break;case 2: chance = 70; break;default:case 3: chance = 100; break;}
if (x_chance_in_y(chance, 100)&& you.attribute[ATTR_CARD_COUNTDOWN]){you.attribute[ATTR_CARD_COUNTDOWN]--;
if (x_chance_in_y(chance, 100)&& you.attribute[ATTR_CARD_COUNTDOWN]){you.attribute[ATTR_CARD_COUNTDOWN]--;
case DID_CAUSE_GLOWING:case DID_DELIBERATE_MUTATING:if (you.religion == GOD_ZIN){if (!known && thing_done != DID_CAUSE_GLOWING)
case DID_CAUSE_GLOWING:case DID_DELIBERATE_MUTATING:if (you.religion == GOD_ZIN)
simple_god_message(" forgives your inadvertent chaotic act, ""just this once.");break;
if (!known && thing_done != DID_CAUSE_GLOWING){simple_god_message(" forgives your inadvertent chaotic ""act, just this once.");break;}else{static long last_glowing_lecture = -1L;if (last_glowing_lecture != you.num_turns){simple_god_message(" does not appreciate the mutagenic ""glow surrounding you!");last_glowing_lecture = you.num_turns;}}piety_change = -level;retval = true;
static long last_glowing_lecture = -1L;if (last_glowing_lecture != you.num_turns){simple_god_message(" does not appreciate the mutagenic ""glow surrounding you!");last_glowing_lecture = you.num_turns;}
piety_change = -level * 5;if (level > 1)penance = 5;retval = true;
// level depends on intelligence: normal -> 1, high -> 2// cannibalism is still worsecase DID_EAT_SOULED_BEING:if (you.religion == GOD_ZIN){piety_change = -level * 5;if (level > 1)penance = 5;ret = true;}break;
case DID_DESTROY_ORCISH_IDOL:if (you.religion == GOD_BEOGH){piety_change = -level;penance = level * 3;retval = true;}break;
case DID_DESTROY_ORCISH_IDOL:if (you.religion == GOD_BEOGH){piety_change = -level;penance = level * 3;ret = true;
case DID_STABBING: // unusedcase DID_STIMULANTS: // unusedcase DID_EAT_MEAT: // unusedcase DID_CREATE_LIFE: // unusedcase DID_SPELL_NONUTILITY: // unusedcase NUM_CONDUCTS:break;
case DID_STABBING: // unusedcase DID_STIMULANTS: // unusedcase DID_EAT_MEAT: // unusedcase DID_CREATE_LIFE: // unusedcase DID_SPELL_NONUTILITY: // unusedcase NUM_CONDUCTS:break;
if (piety_change > 0)gain_piety(piety_change);else_dock_piety(-piety_change, penance);
if (piety_change > 0)gain_piety(piety_change);else_dock_piety(-piety_change, penance);