summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ng-init.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-02-21 10:17:02 -0700
committerSteve Melenchuk <smelenchuk@gmail.com>2014-02-21 10:40:48 -0700
commit24281500cb45cf5bd060bc4d68a1d6e4b0f27289 (patch)
tree45d191ef292b38626e196b91610d221a3c6f60e3 /crawl-ref/source/ng-init.cc
parent763b3b7df15d9d20024b5d9f9999ff4eae75ce29 (diff)
downloadcrawl-ref-24281500cb45cf5bd060bc4d68a1d6e4b0f27289.tar.gz
crawl-ref-24281500cb45cf5bd060bc4d68a1d6e4b0f27289.zip
Restore old blood / porridge item appearances (|amethyst).
Mainly so that blood is always red; it looks weird otherwise. They're still ID'd automatically, so this is entirely cosmetic. This partially reverts commit 1111ebd27a4060aa07678e1af2f67a414fff2594. Conflicts: crawl-ref/source/ng-setup.cc
Diffstat (limited to 'crawl-ref/source/ng-init.cc')
-rw-r--r--crawl-ref/source/ng-init.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/crawl-ref/source/ng-init.cc b/crawl-ref/source/ng-init.cc
index e446ecea46..9be49698f8 100644
--- a/crawl-ref/source/ng-init.cc
+++ b/crawl-ref/source/ng-init.cc
@@ -335,11 +335,61 @@ multi_overflow:
}
}
+static int _get_random_porridge_desc()
+{
+ return PDESCQ(PDQ_GLUGGY, one_chance_in(3) ? PDC_BROWN
+ : PDC_WHITE);
+}
+
+static int _get_random_coagulated_blood_desc()
+{
+ potion_description_qualifier_type qualifier = PDQ_NONE;
+ while (true)
+ {
+ switch (random2(4))
+ {
+ case 0:
+ qualifier = PDQ_GLUGGY;
+ break;
+ case 1:
+ qualifier = PDQ_LUMPY;
+ break;
+ case 2:
+ qualifier = PDQ_SEDIMENTED;
+ break;
+ case 3:
+ qualifier = PDQ_VISCOUS;
+ break;
+ }
+ potion_description_colour_type colour = (coinflip() ? PDC_RED
+ : PDC_BROWN);
+
+ int desc = PDESCQ(qualifier, colour);
+
+ if (you.item_description[IDESC_POTIONS][POT_BLOOD] != desc)
+ return desc;
+ }
+}
+
+static int _get_random_blood_desc()
+{
+ return PDESCQ(coinflip() ? PDQ_NONE :
+ coinflip() ? PDQ_VISCOUS
+ : PDQ_SEDIMENTED, PDC_RED);
+}
+
void initialise_item_descriptions()
{
// Must remember to check for already existing colours/combinations.
you.item_description.init(255);
+ you.item_description[IDESC_POTIONS][POT_PORRIDGE]
+ = _get_random_porridge_desc();
+ you.item_description[IDESC_POTIONS][POT_BLOOD]
+ = _get_random_blood_desc();
+ you.item_description[IDESC_POTIONS][POT_BLOOD_COAGULATED]
+ = _get_random_coagulated_blood_desc();
+
// The order here must match that of IDESC in describe.h
const int max_item_number[6] = { NUM_WANDS,
NUM_POTIONS,