summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/colour.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-04-13 12:05:03 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2014-05-07 18:23:23 -0600
commitf6243313170804d143b8d8d0bc946d71a8223c2b (patch)
tree9b4a2ef8d2df512c661fdd800fa0482d1851c203 /crawl-ref/source/colour.cc
parenta75deefc045927d0cf4cb3cfbd91641e6b18fcf9 (diff)
downloadcrawl-ref-f6243313170804d143b8d8d0bc946d71a8223c2b.tar.gz
crawl-ref-f6243313170804d143b8d8d0bc946d71a8223c2b.zip
Qazlal: enums, initial descriptions.
Diffstat (limited to 'crawl-ref/source/colour.cc')
-rw-r--r--crawl-ref/source/colour.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/crawl-ref/source/colour.cc b/crawl-ref/source/colour.cc
index f775d1ef82..aff28287df 100644
--- a/crawl-ref/source/colour.cc
+++ b/crawl-ref/source/colour.cc
@@ -171,6 +171,27 @@ static int _etc_waves(int, const coord_def& loc)
return CYAN;
}
+static int _etc_elemental(int, const coord_def& loc)
+{
+ int cycle = (you.elapsed_time / 200) % 4;
+ switch (cycle)
+ {
+ default:
+ case 0:
+ return element_colour(ETC_EARTH, false, loc);
+ case 1:
+ return element_colour(coinflip() ? ETC_AIR : ETC_ELECTRICITY,
+ false, loc);
+ case 2:
+ // Not ETC_FIRE, which is Makhleb; instead do magma-y colours.
+ if (coinflip())
+ return RED;
+ return coinflip() ? BROWN : LIGHTRED;
+ case 3:
+ return element_colour(ETC_ICE, false, loc);
+ }
+}
+
int get_disjunct_phase(const coord_def& loc)
{
static int turns = you.num_turns;
@@ -626,6 +647,9 @@ void init_element_colours()
40, MAGENTA,
40, BLUE,
0));
+ add_element_colour(new element_colour_calc(
+ ETC_ELEMENTAL, "elemental", _etc_elemental
+ ));
// redefined by Lua later
add_element_colour(new element_colour_calc(
ETC_DISCO, "disco", _etc_random