summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilepick.cc
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-08 06:53:21 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-08 06:53:21 -0500
commiteb35aeaf1c639f7b575f75f15dfff72b02fbee34 (patch)
treebf181c6b44f222df5fa04f5eb671416c0d387672 /crawl-ref/source/tilepick.cc
parent3b9a193c883f8c0f8cd36415002da249fae18c14 (diff)
downloadcrawl-ref-eb35aeaf1c639f7b575f75f15dfff72b02fbee34.tar.gz
crawl-ref-eb35aeaf1c639f7b575f75f15dfff72b02fbee34.zip
Attempt to make the new (very) ugly thing tiles map to their colors
properly.
Diffstat (limited to 'crawl-ref/source/tilepick.cc')
-rw-r--r--crawl-ref/source/tilepick.cc70
1 files changed, 47 insertions, 23 deletions
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index c6957f0972..ccb6bf102c 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -115,6 +115,30 @@ static int _bow_offset(const monsters *mon)
}
}
+static int _ugly_thing_colour_offset(const monsters *mon)
+{
+ if (mon->type != MONS_UGLY_THING && mon->type != MONS_VERY_UGLY_THING)
+ return (0);
+
+ switch (make_low_colour(mon->colour))
+ {
+ case GREEN:
+ return (0);
+ case CYAN:
+ return (1);
+ case RED:
+ return (2);
+ case MAGENTA:
+ return (3);
+ case BROWN:
+ return (4);
+ case LIGHTGREY:
+ return (5);
+ default:
+ return (0);
+ }
+}
+
int tileidx_monster_base(const monsters *mon, bool detected)
{
bool in_water = grid_is_water(grd(mon->pos()));
@@ -352,9 +376,9 @@ int tileidx_monster_base(const monsters *mon, bool detected)
// ugly things ('u')
case MONS_UGLY_THING:
- return TILEP_MONS_UGLY_THING;
+ return TILEP_MONS_UGLY_THING + _ugly_thing_colour_offset(mon);
case MONS_VERY_UGLY_THING:
- return TILEP_MONS_VERY_UGLY_THING;
+ return TILEP_MONS_VERY_UGLY_THING + _ugly_thing_colour_offset(mon);
// vortices ('v')
case MONS_FIRE_VORTEX:
@@ -671,7 +695,7 @@ int tileidx_monster_base(const monsters *mon, bool detected)
// large abominations ('X')
case MONS_ABOMINATION_LARGE:
- return TILEP_MONS_ABOMINATION_LARGE + ((mon->colour)%7);
+ return TILEP_MONS_ABOMINATION_LARGE + ((mon->colour) % 7);
case MONS_TENTACLED_MONSTROSITY:
return TILEP_MONS_TENTACLED_MONSTROSITY;
case MONS_ORB_GUARDIAN:
@@ -3044,32 +3068,32 @@ static int _draconian_colour(int race, int level)
{
switch (race)
{
- case MONS_DRACONIAN: return 0;
- case MONS_BLACK_DRACONIAN: return 1;
- case MONS_YELLOW_DRACONIAN: return 2;
- case MONS_GREEN_DRACONIAN: return 4;
- case MONS_MOTTLED_DRACONIAN:return 5;
- case MONS_PALE_DRACONIAN: return 6;
- case MONS_PURPLE_DRACONIAN: return 7;
- case MONS_RED_DRACONIAN: return 8;
- case MONS_WHITE_DRACONIAN: return 9;
+ case MONS_DRACONIAN: return (0);
+ case MONS_BLACK_DRACONIAN: return (1);
+ case MONS_YELLOW_DRACONIAN: return (2);
+ case MONS_GREEN_DRACONIAN: return (4);
+ case MONS_MOTTLED_DRACONIAN:return (5);
+ case MONS_PALE_DRACONIAN: return (6);
+ case MONS_PURPLE_DRACONIAN: return (7);
+ case MONS_RED_DRACONIAN: return (8);
+ case MONS_WHITE_DRACONIAN: return (9);
}
}
if (level < 7)
- return 0;
+ return (0);
switch (race)
{
- case SP_BLACK_DRACONIAN: return 1;
- case SP_YELLOW_DRACONIAN: return 2;
- case SP_GREY_DRACONIAN: return 3;
- case SP_GREEN_DRACONIAN: return 4;
- case SP_MOTTLED_DRACONIAN: return 5;
- case SP_PALE_DRACONIAN: return 6;
- case SP_PURPLE_DRACONIAN: return 7;
- case SP_RED_DRACONIAN: return 8;
- case SP_WHITE_DRACONIAN: return 9;
+ case SP_BLACK_DRACONIAN: return (1);
+ case SP_YELLOW_DRACONIAN: return (2);
+ case SP_GREY_DRACONIAN: return (3);
+ case SP_GREEN_DRACONIAN: return (4);
+ case SP_MOTTLED_DRACONIAN: return (5);
+ case SP_PALE_DRACONIAN: return (6);
+ case SP_PURPLE_DRACONIAN: return (7);
+ case SP_RED_DRACONIAN: return (8);
+ case SP_WHITE_DRACONIAN: return (9);
}
- return 0;
+ return (0);
}
int get_gender_from_tile(int parts[])