diff options
author | Steve Melenchuk <smelenchuk@gmail.com> | 2014-02-21 10:17:02 -0700 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2014-02-21 10:40:48 -0700 |
commit | 24281500cb45cf5bd060bc4d68a1d6e4b0f27289 (patch) | |
tree | 45d191ef292b38626e196b91610d221a3c6f60e3 /crawl-ref/source/ng-init.cc | |
parent | 763b3b7df15d9d20024b5d9f9999ff4eae75ce29 (diff) | |
download | crawl-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.cc | 50 |
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, |