Merge branch 'panlord-colour'
authorSteve Melenchuk <smelenchuk@gmail.com>
Sun, 30 Nov 2014 05:56:06 +0000 (22:56 -0700)
committerSteve Melenchuk <smelenchuk@gmail.com>
Sun, 30 Nov 2014 05:56:06 +0000 (22:56 -0700)
56 files changed:
crawl-ref/source/describe.cc
crawl-ref/source/rltiles/dc-demon.txt
crawl-ref/source/rltiles/mon/panlord/demon_body_armour.png
crawl-ref/source/rltiles/mon/panlord/demon_body_caterpillar.png
crawl-ref/source/rltiles/mon/panlord/demon_body_crouch.png
crawl-ref/source/rltiles/mon/panlord/demon_body_fat.png
crawl-ref/source/rltiles/mon/panlord/demon_body_fatter.png
crawl-ref/source/rltiles/mon/panlord/demon_body_mantis.png
crawl-ref/source/rltiles/mon/panlord/demon_body_normal.png
crawl-ref/source/rltiles/mon/panlord/demon_body_skeletal.png
crawl-ref/source/rltiles/mon/panlord/demon_body_spiked.png
crawl-ref/source/rltiles/mon/panlord/demon_body_spotty.png
crawl-ref/source/rltiles/mon/panlord/demon_body_succubus.png
crawl-ref/source/rltiles/mon/panlord/demon_body_tentacley.png
crawl-ref/source/rltiles/mon/panlord/demon_body_thin.png
crawl-ref/source/rltiles/mon/panlord/demon_head_bird.png
crawl-ref/source/rltiles/mon/panlord/demon_head_boxes.png
crawl-ref/source/rltiles/mon/panlord/demon_head_brain.png
crawl-ref/source/rltiles/mon/panlord/demon_head_butterfly.png
crawl-ref/source/rltiles/mon/panlord/demon_head_cow_skull.png
crawl-ref/source/rltiles/mon/panlord/demon_head_cthulhu.png
crawl-ref/source/rltiles/mon/panlord/demon_head_elephant.png
crawl-ref/source/rltiles/mon/panlord/demon_head_eyeball.png
crawl-ref/source/rltiles/mon/panlord/demon_head_fly.png
crawl-ref/source/rltiles/mon/panlord/demon_head_frog.png
crawl-ref/source/rltiles/mon/panlord/demon_head_fungus.png
crawl-ref/source/rltiles/mon/panlord/demon_head_hair.png
crawl-ref/source/rltiles/mon/panlord/demon_head_helmet.png
crawl-ref/source/rltiles/mon/panlord/demon_head_horn.png
crawl-ref/source/rltiles/mon/panlord/demon_head_horns.png
crawl-ref/source/rltiles/mon/panlord/demon_head_horse.png
crawl-ref/source/rltiles/mon/panlord/demon_head_incubus.png
crawl-ref/source/rltiles/mon/panlord/demon_head_medusa.png
crawl-ref/source/rltiles/mon/panlord/demon_head_monkey.png
crawl-ref/source/rltiles/mon/panlord/demon_head_mouse.png
crawl-ref/source/rltiles/mon/panlord/demon_head_ram.png
crawl-ref/source/rltiles/mon/panlord/demon_head_rhino.png
crawl-ref/source/rltiles/mon/panlord/demon_head_skull.png
crawl-ref/source/rltiles/mon/panlord/demon_head_succubus.png
crawl-ref/source/rltiles/mon/panlord/demon_head_teeth.png
crawl-ref/source/rltiles/mon/panlord/demon_head_tentacles.png
crawl-ref/source/rltiles/mon/panlord/demon_head_worm.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_bat.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_bones.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly_small.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_demonic.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_dragonfly.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_hooked.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_knobs.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_large.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_medium.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_red.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_sparrow.png
crawl-ref/source/rltiles/mon/panlord/demon_wings_torn.png
crawl-ref/source/tilemcache.cc

index 0ebdd85..0e5c25e 100644 (file)
@@ -608,56 +608,41 @@ int str_to_trap(const string &s)
 //---------------------------------------------------------------
 static string _describe_demon(const string& name, flight_type fly)
 {
-    const uint32_t seed = hash32(&name[0], name.length());
+    const uint32_t seed = hash32(&name[0], name.size());
     #define HRANDOM_ELEMENT(arr, id) arr[hash_rand(ARRAYSZ(arr), seed, id)]
 
     const char* body_descs[] =
     {
-        "huge, barrel-shaped ",
-        "wispy, insubstantial ",
-        "spindly ",
-        "skeletal ",
-        "horribly deformed ",
-        "spiny ",
-        "waif-like ",
-        "scaly ",
-        "sickeningly deformed ",
-        "bruised and bleeding ",
-        "sickly ",
-        "mass of writhing tentacles for a ",
-        "mass of ropey tendrils for a ",
-        "tree trunk-like ",
-        "hairy ",
-        "furry ",
-        "fuzzy ",
-        "obese ",
+        "armoured ",
+        "vast, spindly ",
         "fat ",
-        "slimy ",
-        "wrinkled ",
-        "metallic ",
-        "glassy ",
-        "crystalline ",
+        "obese ",
         "muscular ",
-        "icky ",
-        "swollen ",
-        "lumpy ",
-        "armoured ",
-        "carapaced ",
+        "spiked ",
+        "splotchy ",
         "slender ",
+        "tentacled ",
+        "emaciated ",
+        "bug-like ",
+        "skeletal ",
+        "mantis ",
     };
 
     const char* wing_names[] =
     {
-        " with small insectoid wings",
-        " with large insectoid wings",
-        " with moth-like wings",
-        " with butterfly wings",
-        " with huge, bat-like wings",
-        " with fleshy wings",
         " with small, bat-like wings",
-        " with hairy wings",
-        " with great feathered wings",
-        " with shiny metal wings",
+        " with bony wings",
+        " with sharp, metallic wings",
+        " with the wings of a moth",
+        " with thin, membranous wings",
+        " with dragonfly wings",
+        " with large, powerful wings",
+        " with fluttering wings",
+        " with great, sinister wings",
+        " with hideous, tattered wings",
+        " with sparrow-like wings",
+        " with hooked wings",
+        " with strange knobs attached",
     };
 
     const char* lev_names[] =
@@ -666,36 +651,35 @@ static string _describe_demon(const string& name, flight_type fly)
         " with sacs of gas hanging from its back",
     };
 
-    const char* nonfly_names[] =
+    const char* head_names[] =
     {
-        " covered in tiny crawling spiders",
-        " covered in tiny crawling insects",
-        " and the head of a crocodile",
-        " and the head of a hippopotamus",
-        " and a cruel curved beak for a mouth",
-        " and a straight sharp beak for a mouth",
-        " and no head at all",
+        " and a cubic structure in place of a head",
+        " and a brain for a head",
         " and a hideous tangle of tentacles for a mouth",
-        " and an elephantine trunk",
-        " and an evil-looking proboscis",
-        " and dozens of eyes",
-        " and two ugly heads",
-        " and a long serpentine tail",
-        " and a pair of huge tusks growing from its jaw",
-        " and a single huge eye in the centre of its forehead",
-        " and spikes of black metal for teeth",
-        " and a disc-shaped sucker for a head",
-        " and huge, flapping ears",
-        " and a huge, toothy maw in the centre of its chest",
-        " and a giant snail shell on its back",
-        " and a dozen heads",
-        " and the head of a jackal",
-        " and the head of a baboon",
-        " and a huge, slobbery tongue",
-        " which is covered in oozing lacerations",
+        " and the head of an elephant",
+        " and an eyeball for a head",
+        " and wears a helmet over its head",
+        " and a horn in place of a head",
+        " and a thick, horned head",
+        " and the head of a horse",
+        " and a vicious glare",
+        " and snakes for hair",
+        " and the face of a baboon",
+        " and the head of a mouse",
+        " and a ram's head",
+        " and the head of a rhino",
+        " and eerily human features",
+        " and a gigantic mouth",
+        " and a mass of tentacles growing from its neck",
+        " and a thin, worm-like head",
+        " and huge, compound eyes",
         " and the head of a frog",
-        " and the head of a yak",
-        " and eyes out on stalks",
+        " and an insectoid head",
+        " and a great mass of hair",
+        " and a skull for a head",
+        " and a cow's skull for a head",
+        " and the head of a bird",
+        " and a large fungus growing from its neck",
     };
 
     const char* misc_descs[] =
@@ -718,37 +702,53 @@ static string _describe_demon(const string& name, flight_type fly)
         " It shimmers before your eyes.",
         " It is surrounded by a brilliant glow.",
         " It radiates an aura of extreme power.",
+        " It seems utterly heartbroken.",
+        " It seems filled with irrepressible glee.",
+        " It constantly shivers and twitches.",
+        " Blue sparks crawl across its body.",
+        " It seems uncertain.",
+        " A cloud of flies swarms around it.",
+        " The air ripples with heat as it passes.",
+        " It appears supremely confident.",
+        " Its skin is covered in a network of cracks.",
+        " Its skin has a disgusting oily sheen.",
+        " It seems completely insane!",
+        " It seems somehow familiar."
     };
 
     ostringstream description;
-    description << "A powerful demon, " << name << " has ";
+    description << "One of the many lords of Pandemonium, " << name << " has ";
 
-    const string a_body = HRANDOM_ELEMENT(body_descs, 1);
+    const string a_body = HRANDOM_ELEMENT(body_descs, 2);
     description << article_a(a_body) << "body";
 
+    string head_desc = HRANDOM_ELEMENT(head_names, 1);
+
     switch (fly)
     {
     case FL_WINGED:
-        description << HRANDOM_ELEMENT(wing_names, 2);
+        description << HRANDOM_ELEMENT(wing_names, 3);
+        if (head_desc.find(" with") == 0)
+            description << " and";
         break;
 
     case FL_LEVITATE:
-        description << HRANDOM_ELEMENT(lev_names, 2);
+        description << HRANDOM_ELEMENT(lev_names, 3);
+        if (head_desc.find(" with") == 0)
+            description << " and";
         break;
 
-    case FL_NONE:  // does not fly
-        if (hash_rand(4, seed, 3))
-            description << HRANDOM_ELEMENT(nonfly_names, 2);
+    default:
         break;
     }
 
-    description << ".";
+    description << head_desc << ".";
 
     if (hash_rand(40, seed, 4) < 3)
     {
         if (you.can_smell())
         {
-            switch (hash_rand(3, seed, 5))
+            switch (hash_rand(4, seed, 5))
             {
             case 0:
                 description << " It stinks of brimstone.";
@@ -757,6 +757,9 @@ static string _describe_demon(const string& name, flight_type fly)
                 description << " It is surrounded by a sickening stench.";
                 break;
             case 2:
+                description << " It smells delicious!";
+                break;
+            case 3:
                 description << " It smells like rotting flesh"
                             << (you.species == SP_GHOUL ? " - yum!"
                                                        : ".");
@@ -765,7 +768,7 @@ static string _describe_demon(const string& name, flight_type fly)
         }
     }
     else if (hash_rand(2, seed, 6))
-        description << RANDOM_ELEMENT(misc_descs);
+        description << HRANDOM_ELEMENT(misc_descs, 5);
 
     return description.str();
 }
index 9bd328e..edcb663 100644 (file)
@@ -1,7 +1,10 @@
+# Please update describe.cc with descriptions matching the bodies, heads,
+# and wings if you are adding them here.
+
 %rim 0
 %sdir mon/panlord
 
-demon_body_armour DEMON_BODY
+demon_body_armour DEMON_BODY DEMON_BODY_CYAN
 demon_body_crouch
 demon_body_fat
 demon_body_fatter
@@ -15,7 +18,167 @@ demon_body_caterpillar
 demon_body_skeletal
 demon_body_mantis
 
-demon_head_boxes DEMON_HEAD
+%variation DEMON_BODY red
+%hue 180 0
+%hue 181 1
+%hue 182 2
+%hue 50 30
+%hue 51 31
+%repeat DEMON_BODY DEMON_BODY_RED
+%resetcol
+
+%variation DEMON_BODY blue
+%hue 180 240
+%hue 181 241
+%hue 182 242
+%hue 50 180
+%hue 51 181
+%repeat DEMON_BODY DEMON_BODY_BLUE
+%resetcol
+
+%variation DEMON_BODY green
+%hue 180 140
+%hue 181 141
+%hue 182 142
+%hue 50 10
+%hue 51 11
+%repeat DEMON_BODY DEMON_BODY_GREEN
+%resetcol
+
+%variation DEMON_BODY magenta
+%hue 180 270
+%hue 181 271
+%hue 182 272
+%desat 50
+%desat 51
+%repeat DEMON_BODY DEMON_BODY_MAGENTA
+%resetcol
+
+%variation DEMON_BODY brown
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -10
+%lum 181 -10
+%lum 182 -10
+%hue 50 30
+%hue 51 31
+%repeat DEMON_BODY DEMON_BODY_BROWN
+%resetcol
+
+%variation DEMON_BODY lightgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -20
+%lum 181 -20
+%lum 182 -20
+%desat 50
+%desat 51
+%repeat DEMON_BODY DEMON_BODY_LIGHTGRAY
+%resetcol
+
+%variation DEMON_BODY darkgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -30
+%lum 181 -30
+%lum 182 -30
+%hue 50 280
+%hue 51 281
+%repeat DEMON_BODY DEMON_BODY_DARKGRAY
+%resetcol
+
+%variation DEMON_BODY lightred
+%hue 180 10
+%hue 181 11
+%hue 182 12
+%lum 180 10
+%lum 181 10
+%lum 182 10
+%hue 50 230
+%hue 51 231
+%lum 50 10
+%lum 51 11
+%repeat DEMON_BODY DEMON_BODY_LIGHTRED
+%resetcol
+
+%variation DEMON_BODY lightblue
+%hue 180 210
+%hue 181 211
+%hue 182 212
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 340
+%hue 51 341
+%lum 50 -5
+%lum 51 -5
+%repeat DEMON_BODY DEMON_BODY_LIGHTBLUE
+%resetcol
+
+%variation DEMON_BODY lightgreen
+%hue 180 110
+%hue 181 111
+%hue 182 112
+%hue 50 80
+%hue 51 81
+%repeat DEMON_BODY DEMON_BODY_LIGHTGREEN
+%resetcol
+
+%variation DEMON_BODY lightcyan
+%lum 180 20
+%lum 181 20
+%lum 182 20
+%lum 50 10
+%lum 51 10
+%repeat DEMON_BODY DEMON_BODY_LIGHTCYAN
+%resetcol
+
+%variation DEMON_BODY lightmagenta
+%hue 180 300
+%hue 181 301
+%hue 182 302
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 270
+%hue 51 271
+%lum 50 5
+%lum 51 5
+%repeat DEMON_BODY DEMON_BODY_LIGHTMAGENTA
+%resetcol
+
+%variation DEMON_BODY yellow
+%hue 180 60
+%hue 181 61
+%hue 182 62
+%lum 180 15
+%lum 181 15
+%lum 182 15
+%lum 50 -20
+%lum 51 -20
+%hue 50 120
+%hue 51 121
+%repeat DEMON_BODY DEMON_BODY_YELLOW
+%resetcol
+
+%variation DEMON_BODY white
+%desat 180
+%desat 181
+%desat 182
+%lum 180 30
+%lum 181 30
+%lum 182 30
+%hue 50 30
+%hue 51 31
+%lum 50 30
+%lum 51 30
+%repeat DEMON_BODY DEMON_BODY_WHITE
+%resetcol
+
+demon_head_boxes DEMON_HEAD DEMON_HEAD_CYAN
 demon_head_brain
 demon_head_cthulhu
 demon_head_elephant
@@ -43,7 +206,167 @@ demon_head_cow_skull
 demon_head_bird
 demon_head_fungus
 
-demon_wings_bat DEMON_WINGS
+%variation DEMON_HEAD red
+%hue 180 0
+%hue 181 1
+%hue 182 2
+%hue 50 30
+%hue 51 31
+%repeat DEMON_HEAD DEMON_HEAD_RED
+%resetcol
+
+%variation DEMON_HEAD blue
+%hue 180 240
+%hue 181 241
+%hue 182 242
+%hue 50 180
+%hue 51 181
+%repeat DEMON_HEAD DEMON_HEAD_BLUE
+%resetcol
+
+%variation DEMON_HEAD green
+%hue 180 140
+%hue 181 141
+%hue 182 142
+%hue 50 10
+%hue 51 11
+%repeat DEMON_HEAD DEMON_HEAD_GREEN
+%resetcol
+
+%variation DEMON_HEAD magenta
+%hue 180 270
+%hue 181 271
+%hue 182 272
+%desat 50
+%desat 51
+%repeat DEMON_HEAD DEMON_HEAD_MAGENTA
+%resetcol
+
+%variation DEMON_HEAD brown
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -10
+%lum 181 -10
+%lum 182 -10
+%hue 50 30
+%hue 51 31
+%repeat DEMON_HEAD DEMON_HEAD_BROWN
+%resetcol
+
+%variation DEMON_HEAD lightgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -20
+%lum 181 -20
+%lum 182 -20
+%desat 50
+%desat 51
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTGRAY
+%resetcol
+
+%variation DEMON_HEAD darkgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -30
+%lum 181 -30
+%lum 182 -30
+%hue 50 280
+%hue 51 281
+%repeat DEMON_HEAD DEMON_HEAD_DARKGRAY
+%resetcol
+
+%variation DEMON_HEAD lightred
+%hue 180 10
+%hue 181 11
+%hue 182 12
+%lum 180 10
+%lum 181 10
+%lum 182 10
+%hue 50 230
+%hue 51 231
+%lum 50 10
+%lum 51 11
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTRED
+%resetcol
+
+%variation DEMON_HEAD lightblue
+%hue 180 210
+%hue 181 211
+%hue 182 212
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 340
+%hue 51 341
+%lum 50 -5
+%lum 51 -5
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTBLUE
+%resetcol
+
+%variation DEMON_HEAD lightgreen
+%hue 180 110
+%hue 181 111
+%hue 182 112
+%hue 50 80
+%hue 51 81
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTGREEN
+%resetcol
+
+%variation DEMON_HEAD lightcyan
+%lum 180 20
+%lum 181 20
+%lum 182 20
+%lum 50 10
+%lum 51 10
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTCYAN
+%resetcol
+
+%variation DEMON_HEAD lightmagenta
+%hue 180 300
+%hue 181 301
+%hue 182 302
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 270
+%hue 51 271
+%lum 50 5
+%lum 51 5
+%repeat DEMON_HEAD DEMON_HEAD_LIGHTMAGENTA
+%resetcol
+
+%variation DEMON_HEAD yellow
+%hue 180 60
+%hue 181 61
+%hue 182 62
+%lum 180 15
+%lum 181 15
+%lum 182 15
+%lum 50 -20
+%lum 51 -20
+%hue 50 120
+%hue 51 121
+%repeat DEMON_HEAD DEMON_HEAD_YELLOW
+%resetcol
+
+%variation DEMON_HEAD white
+%desat 180
+%desat 181
+%desat 182
+%lum 180 30
+%lum 181 30
+%lum 182 30
+%hue 50 30
+%hue 51 31
+%lum 50 30
+%lum 51 30
+%repeat DEMON_HEAD DEMON_HEAD_WHITE
+%resetcol
+
+demon_wings_bat DEMON_WINGS DEMON_WINGS_CYAN
 demon_wings_bones
 demon_wings_butterfly
 demon_wings_butterfly_small
@@ -56,3 +379,163 @@ demon_wings_torn
 demon_wings_sparrow
 demon_wings_hooked
 demon_wings_knobs
+
+%variation DEMON_WINGS red
+%hue 180 0
+%hue 181 1
+%hue 182 2
+%hue 50 30
+%hue 51 31
+%repeat DEMON_WINGS DEMON_WINGS_RED
+%resetcol
+
+%variation DEMON_WINGS blue
+%hue 180 240
+%hue 181 241
+%hue 182 242
+%hue 50 180
+%hue 51 181
+%repeat DEMON_WINGS DEMON_WINGS_BLUE
+%resetcol
+
+%variation DEMON_WINGS green
+%hue 180 140
+%hue 181 141
+%hue 182 142
+%hue 50 10
+%hue 51 11
+%repeat DEMON_WINGS DEMON_WINGS_GREEN
+%resetcol
+
+%variation DEMON_WINGS magenta
+%hue 180 270
+%hue 181 271
+%hue 182 272
+%desat 50
+%desat 51
+%repeat DEMON_WINGS DEMON_WINGS_MAGENTA
+%resetcol
+
+%variation DEMON_WINGS brown
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -10
+%lum 181 -10
+%lum 182 -10
+%hue 50 30
+%hue 51 31
+%repeat DEMON_WINGS DEMON_WINGS_BROWN
+%resetcol
+
+%variation DEMON_WINGS lightgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -20
+%lum 181 -20
+%lum 182 -20
+%desat 50
+%desat 51
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTGRAY
+%resetcol
+
+%variation DEMON_WINGS darkgray
+%desat 180
+%desat 181
+%desat 182
+%lum 180 -30
+%lum 181 -30
+%lum 182 -30
+%hue 50 280
+%hue 51 281
+%repeat DEMON_WINGS DEMON_WINGS_DARKGRAY
+%resetcol
+
+%variation DEMON_WINGS lightred
+%hue 180 10
+%hue 181 11
+%hue 182 12
+%lum 180 10
+%lum 181 10
+%lum 182 10
+%hue 50 230
+%hue 51 231
+%lum 50 10
+%lum 51 11
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTRED
+%resetcol
+
+%variation DEMON_WINGS lightblue
+%hue 180 210
+%hue 181 211
+%hue 182 212
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 340
+%hue 51 341
+%lum 50 -5
+%lum 51 -5
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTBLUE
+%resetcol
+
+%variation DEMON_WINGS lightgreen
+%hue 180 110
+%hue 181 111
+%hue 182 112
+%hue 50 80
+%hue 51 81
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTGREEN
+%resetcol
+
+%variation DEMON_WINGS lightcyan
+%lum 180 20
+%lum 181 20
+%lum 182 20
+%lum 50 10
+%lum 51 10
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTCYAN
+%resetcol
+
+%variation DEMON_WINGS lightmagenta
+%hue 180 300
+%hue 181 301
+%hue 182 302
+%lum 180 5
+%lum 181 5
+%lum 182 5
+%hue 50 270
+%hue 51 271
+%lum 50 5
+%lum 51 5
+%repeat DEMON_WINGS DEMON_WINGS_LIGHTMAGENTA
+%resetcol
+
+%variation DEMON_WINGS yellow
+%hue 180 60
+%hue 181 61
+%hue 182 62
+%lum 180 15
+%lum 181 15
+%lum 182 15
+%lum 50 -20
+%lum 51 -20
+%hue 50 120
+%hue 51 121
+%repeat DEMON_WINGS DEMON_WINGS_YELLOW
+%resetcol
+
+%variation DEMON_WINGS white
+%desat 180
+%desat 181
+%desat 182
+%lum 180 30
+%lum 181 30
+%lum 182 30
+%hue 50 30
+%hue 51 31
+%lum 50 30
+%lum 51 30
+%repeat DEMON_WINGS DEMON_WINGS_WHITE
+%resetcol
index ff60367..bba88fd 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_armour.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_armour.png differ
index dd9de4a..fdf56d6 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_caterpillar.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_caterpillar.png differ
index 896f1b9..4fd86e7 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_crouch.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_crouch.png differ
index 4007a59..1a5b18a 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_fat.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_fat.png differ
index f6f6943..d4db907 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_fatter.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_fatter.png differ
index c6e9d65..f3031d0 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_mantis.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_mantis.png differ
index f4737c8..801d4c9 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_normal.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_normal.png differ
index 50d1d74..cf81ec1 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_skeletal.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_skeletal.png differ
index f0a6e4d..5e0b3f1 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_spiked.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_spiked.png differ
index 7b25d40..2885153 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_spotty.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_spotty.png differ
index a2837e1..b6a1604 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_succubus.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_succubus.png differ
index 293a56d..5d37105 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_tentacley.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_tentacley.png differ
index def9d4e..32436a6 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_body_thin.png and b/crawl-ref/source/rltiles/mon/panlord/demon_body_thin.png differ
index 2084b15..f370b7a 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_bird.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_bird.png differ
index d434489..134d6a6 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_boxes.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_boxes.png differ
index 20052e4..f14fdd9 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_brain.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_brain.png differ
index 375fdc3..dd4d1ea 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_butterfly.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_butterfly.png differ
index 4c26e25..95a4bd3 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_cow_skull.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_cow_skull.png differ
index 3ba3417..8b56044 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_cthulhu.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_cthulhu.png differ
index e131dfd..f5dfd5e 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_elephant.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_elephant.png differ
index ec1f310..f25d3c7 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_eyeball.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_eyeball.png differ
index a2d15ff..9c7f2d9 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_fly.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_fly.png differ
index 776d6a2..111e135 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_frog.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_frog.png differ
index 47c31a2..16f9baa 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_fungus.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_fungus.png differ
index 5d7e75b..155060f 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_hair.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_hair.png differ
index da091c8..afc0cb8 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_helmet.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_helmet.png differ
index a50b9f3..9c900e1 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_horn.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_horn.png differ
index 6776fd3..5e69b07 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_horns.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_horns.png differ
index 75958bf..833c21e 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_horse.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_horse.png differ
index 7e12896..d4e5eb7 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_incubus.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_incubus.png differ
index b017586..456256a 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_medusa.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_medusa.png differ
index 9d04c1e..e5c2917 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_monkey.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_monkey.png differ
index 419aa5e..e6cb5d5 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_mouse.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_mouse.png differ
index 8eebd42..267d752 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_ram.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_ram.png differ
index 77d263b..dd7d6ad 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_rhino.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_rhino.png differ
index 6311894..0920a26 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_skull.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_skull.png differ
index ed51d27..daa795a 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_succubus.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_succubus.png differ
index 300b758..12a484e 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_teeth.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_teeth.png differ
index e3dbc2e..f5718f5 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_tentacles.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_tentacles.png differ
index 1ce75b6..f069345 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_head_worm.png and b/crawl-ref/source/rltiles/mon/panlord/demon_head_worm.png differ
index 31bb915..c738400 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_bat.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_bat.png differ
index ed1aa21..9d73cb2 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_bones.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_bones.png differ
index dfe49aa..bbfd6be 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly.png differ
index 6bd886e..da099e1 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly_small.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_butterfly_small.png differ
index fca04bc..91912c9 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_demonic.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_demonic.png differ
index 2fd7539..822a6b5 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_dragonfly.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_dragonfly.png differ
index cf56279..1382968 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_hooked.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_hooked.png differ
index 7a83ba7..c988c19 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_knobs.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_knobs.png differ
index 2ecf34e..fc7715a 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_large.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_large.png differ
index 3736a94..09293dd 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_medium.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_medium.png differ
index 743c454..257cc8b 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_red.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_red.png differ
index 6f25cf8..249e9cf 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_sparrow.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_sparrow.png differ
index 672a146..c1d8bd2 100644 (file)
Binary files a/crawl-ref/source/rltiles/mon/panlord/demon_wings_torn.png and b/crawl-ref/source/rltiles/mon/panlord/demon_wings_torn.png differ
index f8fb83d..85af623 100644 (file)
@@ -3,6 +3,7 @@
 #ifdef USE_TILE
 #include "tilemcache.h"
 
+#include "colour.h"
 #include "env.h"
 #include "libutil.h"
 #include "misc.h"
@@ -1433,15 +1434,18 @@ mcache_demon::mcache_demon(const monster_info& minf)
 
     const uint32_t seed = hash32(&minf.mname[0], minf.mname.size());
 
-    m_demon.head = TILEP_DEMON_HEAD
-                   + hash_rand(tile_player_count(TILEP_DEMON_HEAD), seed, 1);
-    m_demon.body = TILEP_DEMON_BODY
-                   + hash_rand(tile_player_count(TILEP_DEMON_BODY), seed, 2);
+    m_demon.head = tile_player_coloured(TILEP_DEMON_HEAD,
+                                        element_colour(minf.colour()))
+        + hash_rand(tile_player_count(TILEP_DEMON_HEAD), seed, 1);
+    m_demon.body = tile_player_coloured(TILEP_DEMON_BODY,
+                                        element_colour(minf.colour()))
+        + hash_rand(tile_player_count(TILEP_DEMON_BODY), seed, 2);
 
     if (minf.fly)
     {
-        m_demon.wings = TILEP_DEMON_WINGS
-                        + hash_rand(tile_player_count(TILEP_DEMON_WINGS), seed, 3);
+        m_demon.wings = tile_player_coloured(TILEP_DEMON_WINGS,
+                                             element_colour(minf.colour()))
+            + hash_rand(tile_player_count(TILEP_DEMON_WINGS), seed, 3);
     }
     else
         m_demon.wings = 0;