From dc1341888ccd8cfb3d6cd2518103670a12601745 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Wed, 19 Aug 2009 15:22:26 +0000 Subject: Fix draconians not being handled correctly in the doll edit screen. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10579 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/tilepick.cc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'crawl-ref/source/tilepick.cc') diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index a7138bb9c7..9a529e3aef 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -2902,6 +2902,16 @@ int tilep_species_to_base_tile(int sp, int level) } } +void tilep_draconian_init(int sp, int level, int &base, int &head, int &wing) +{ + const int colour_offset = _draconian_colour(sp, level); + base = TILEP_BASE_DRACONIAN + colour_offset * 2; + head = tile_player_part_start[TILEP_PART_DRCHEAD] + colour_offset; + + if (player_mutation_level(MUT_BIG_WINGS)) + wing = tile_player_part_start[TILEP_PART_DRCWING] + colour_offset; +} + void tilep_race_default(int sp, int gender, int level, int *parts) { if (gender == -1) @@ -2964,17 +2974,8 @@ void tilep_race_default(int sp, int gender, int level, int *parts) case SP_MOTTLED_DRACONIAN: case SP_PALE_DRACONIAN: { - const int colour_offset = _draconian_colour(sp, level); - result = TILEP_BASE_DRACONIAN + colour_offset * 2; + tilep_draconian_init(sp, level, result, head, wing); hair = 0; - int st = tile_player_part_start[TILEP_PART_DRCHEAD]; - head = st + colour_offset; - - if (player_mutation_level(MUT_BIG_WINGS)) - { - st = tile_player_part_start[TILEP_PART_DRCWING]; - wing = st + colour_offset; - } break; } case SP_MINOTAUR: -- cgit v1.2.3-54-g00ecf