chaining it.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4932 c06c8d41-db1a-0410-9941-cceddc491573
AROBKQGZEY7IBWUQ6XNGEJQJMI3XB7BXLMX5PHU3L6DWIATCH7EAC JDBTF7NKDHWDTAX5LRBQ75A5JBNELFITVYQ6KOGW5XM2SGW33STQC MUTULQLON4W77RIYPCQSKWD6ZMQFKTD3G36UPABQSP2DKKXU65TAC ZCSYP2AFLY5QD4NAZSLAO33QYTVITJVRAJMFOE33CZZRVCWYXHNQC AUFEDZ4RUY32ZAXOPTZ5OX6X6GUUYJHNDEFZD4GHUBBAFOQCVPWQC ZXYVKEDP7QYG66XFUCXXCKZXT7Z5OOEJWHICWOYAUZQ4SSLHIA4AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC MPQIZUHUAHOF2CKNTLSYCGMR7FIC3EPA2RHZIY6JOQKAS6H6YY4AC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC OZ5D37MVA3M2COBXAFMD3IZAW55RVPQRQBNTH5HARFWU7SW4PARAC 35NWNQBNLDOHPPHMYA2722IIFGAA57LUN5NOZPRUFZBD5EVCSYCAC FEXFEKY3QAJ4M2RIJB3SOV65ECDY6M6K5DQJ7FEOXNAGQDEYVKUAC C56DCU3P3IMGE6GC4X55ZCUCFY45KQWKPWPCD5UBKH3QMELDOTLAC HXAKQLE5VFM3TREGGSFH362HVJPZ2NE5JCQUTMKD5YBZCS4JTU4AC I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC }void revitalisation_chain(int amount){if (amount <= 0)return;const int old_value = you.duration[DUR_REVITALISATION_CHAIN];you.duration[DUR_REVITALISATION_CHAIN] += amount;if (you.duration[DUR_REVITALISATION_CHAIN] > 15)you.duration[DUR_REVITALISATION_CHAIN] = 15;if (old_value == 0){mpr("Zin magnifies your power of revitalisation!", MSGCH_DURATION);you.duration[DUR_REVITALISATION_CHAIN] += 3;}}void reduce_revitalisation_chain(int amount){if (you.duration[DUR_REVITALISATION_CHAIN] == 0 || amount <= 0)return;you.duration[DUR_REVITALISATION_CHAIN] -= amount;if (you.duration[DUR_REVITALISATION_CHAIN] <= 0){you.duration[DUR_REVITALISATION_CHAIN] = 0;mpr("Your vitality returns to normal.", MSGCH_DURATION);}
canned_msg(MSG_NOTHING_HAPPENS);step = 0;return 0;}
mprf("You feel %s %s.", (step == 0) ? "only nominally" :(step == 1) ? "very slightly" :(step == 2) ? "slightly" :(step == 3) ? "somewhat" :(step == 4) ? "appropriately": "impressively",(type == 0) ? "better" :(type == 1) ? "invigorated" :(type == 2) ? "powerful": "renewed");
// If it succeeded, display an appropriate message.mprf("You feel %s %s.", (step == 0) ? "only nominally" :(step == 1) ? "very slightly" :(step == 2) ? "slightly" :(step == 3) ? "somewhat" :(step == 4) ? "appropriately": "impressively",(type == 0) ? "better" :(type == 1) ? "invigorated" :(type == 2) ? "powerful": "renewed");
// The more the step counter has advanced, the greater the piety// cost is.int loss_amt = step + 1 + (random2(3) - 1);
// Increment the step counter.step++;
// If revitalisation has succeeded, and it hasn't succeeded as far// as possible, turn on revitalisation chaining for several turns.if (success && step != step_max)revitalisation_chain(3);// Otherwise, turn off revitalisation chaining.elsereduce_revitalisation_chain(15);
// If revitalisation has gone as far as possible, reset the step// counter and get out, indicating maximum success.if (step == step_max){step = 0;return step_max;}// Otherwise, get out, indicating normal success.return (step + 1);
return (success) ? (step + 1) : 0;