is not retroactive, it only affects items that are created after the option is set.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1072 c06c8d41-db1a-0410-9941-cceddc491573
D77K7ISUWRLGNSQGYH5P2KEJZCNYQHDZC5AMLSKTXVBIRNG6F5KQC
SN7Z6RDZ7SJOAWZCUTWJ63A4XR4EG4SF7L2H4HQVEJY7NEPJF5KAC
SIKFXNXSAMU6IYRGDG6SWP3LOX6SEE7PDFA7RVQAGG2SLWQ72D2QC
F2BIF3CG3F2THAJQZVE7N63F3NLOMA2PY4SUBA2FJOP2ANKIFYGQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
MXSHWV5RWY6U3WF3NUGDTT7IQBPGUSCXM5XAXLLYKOQU24XN2LZQC
KZNUAHJQUBM6MEVUSSWG734AXZ3NZYMRJ2XFQLRGXJ3MSTBV7ELQC
ADVIPOKG372YZEF5GFW5COZ5AMEJ5IJIBMOQT7DJXB2NMGNV3VRQC
EHSY6DVGUMI6C67WKET3GDJVLWJWGYBYQONNDK5JVT7BCTHBEZVAC
RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC
XPCGZBHHSL6MB3ORMUJI64BAERU6AZTIY6RK56BBW7SNB3IK24IAC
2ZFV5PKZU3HDHMLJWVWPPFV43NUNUON6YSAITHB26D7L4XIVWUHQC
7TLJ2HSES5TLOSAVWAWVVCKHGWNDXYDEYRN3AONEZDC2LSY5SBUQC
U5IBPFKQSOUYHVCULUKZC3NUAUB5XPAFW2R7SZYTGZZVMRF5DH2AC
static int newwave_weapon_colour(const item_def &item)
{
int item_colour = BLACK;
if (is_range_weapon( item ))
{
switch (range_skill(item))
{
case SK_BOWS:
item_colour = BLUE;
break;
case SK_CROSSBOWS:
item_colour = RED;
break;
case SK_DARTS:
item_colour = WHITE;
break;
case SK_SLINGS:
item_colour = BROWN;
break;
default:
// huh?
item_colour = MAGENTA;
break;
}
}
else
{
switch (weapon_skill(item))
{
case SK_SHORT_BLADES:
item_colour = CYAN;
break;
case SK_LONG_SWORDS:
item_colour = LIGHTCYAN;
break;
case SK_AXES:
item_colour = DARKGREY;
break;
case SK_MACES_FLAILS:
item_colour = LIGHTGREY;
break;
case SK_POLEARMS:
item_colour = LIGHTGREEN;
break;
case SK_STAVES:
item_colour = GREEN;
break;
default:
// huh?
item_colour = random_colour();
break;
}
}
return (item_colour);
}
static int classic_weapon_colour(const item_def &item)
{
int item_colour = BLACK;
if (is_range_weapon( item ))
item_colour = BROWN;
else
{
switch (item.sub_type)
{
case WPN_CLUB:
case WPN_GIANT_CLUB:
case WPN_GIANT_SPIKED_CLUB:
case WPN_ANCUS:
case WPN_WHIP:
case WPN_QUARTERSTAFF:
item_colour = BROWN;
break;
case WPN_QUICK_BLADE:
item_colour = LIGHTBLUE;
break;
case WPN_EXECUTIONERS_AXE:
item_colour = RED;
break;
default:
item_colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item_colour = CYAN;
break;
}
}
return (item_colour);
}
static int weapon_colour(const item_def &item)
{
return (Options.classic_item_colours?
classic_weapon_colour(item) : newwave_weapon_colour(item));
}
static int newwave_missile_colour(const item_def &item)
{
int item_colour = BLACK;
switch (item.sub_type)
{
case MI_STONE:
case MI_LARGE_ROCK:
item_colour = BROWN;
break;
case MI_ARROW:
item_colour = BLUE;
break;
case MI_NEEDLE:
item_colour = WHITE;
break;
case MI_BOLT:
item_colour = RED;
break;
case MI_DART:
item_colour = LIGHTRED;
break;
default:
// huh?
item_colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item_colour = CYAN;
break;
}
return (item_colour);
}
static int classic_missile_colour(const item_def &item)
{
int item_colour = BLACK;
switch (item.sub_type)
{
case MI_STONE:
case MI_LARGE_ROCK:
case MI_ARROW:
item_colour = BROWN;
break;
case MI_NEEDLE:
item_colour = WHITE;
break;
default:
item_colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item_colour = CYAN;
break;
}
return (item_colour);
}
static int missile_colour(const item_def &item)
{
return (Options.classic_item_colours?
classic_missile_colour(item) : newwave_missile_colour(item));
}
static int newwave_armour_colour(const item_def &item)
{
int item_colour = BLACK;
switch (item.sub_type)
{
case ARM_CLOAK:
item_colour = WHITE;
break;
case ARM_NAGA_BARDING:
item_colour = LIGHTGREEN;
break;
case ARM_CENTAUR_BARDING:
item_colour = GREEN;
break;
case ARM_ROBE:
case ARM_CAP:
item_colour = random_uncommon_colour();
break;
case ARM_HELMET:
//caps and wizard's hats are random coloured
if (get_helmet_type(item) == THELM_CAP
|| get_helmet_type(item) == THELM_WIZARD_HAT)
{
item_colour = random_uncommon_colour();
}
else
item_colour = DARKGREY;
break;
case ARM_BOOTS:
item_colour = BLUE;
break;
case ARM_GLOVES:
item_colour = LIGHTBLUE;
break;
case ARM_LEATHER_ARMOUR:
item_colour = BROWN;
break;
case ARM_CRYSTAL_PLATE_MAIL:
item_colour = WHITE;
break;
case ARM_ANIMAL_SKIN:
item_colour = YELLOW;
break;
default:
item_colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item_colour = CYAN;
break;
}
return (item_colour);
}
static int classic_armour_colour(const item_def &item)
{
int item_colour = BLACK;
switch (item.sub_type)
{
case ARM_CLOAK:
case ARM_ROBE:
case ARM_NAGA_BARDING:
case ARM_CENTAUR_BARDING:
case ARM_CAP:
item_colour = random_colour();
break;
case ARM_HELMET:
// caps and wizard's hats are random coloured
if (get_helmet_type(item) == THELM_CAP
|| get_helmet_type(item) == THELM_WIZARD_HAT)
{
item_colour = random_colour();
}
else
item_colour = LIGHTCYAN;
break;
case ARM_BOOTS: // maybe more interesting boot colours?
case ARM_GLOVES:
case ARM_LEATHER_ARMOUR:
item_colour = BROWN;
break;
case ARM_CRYSTAL_PLATE_MAIL:
item_colour = LIGHTGREY;
break;
case ARM_ANIMAL_SKIN:
item_colour = BROWN;
break;
default:
item_colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item_colour = CYAN;
break;
}
return (item_colour);
}
static int armour_colour(const item_def &item)
{
return (Options.classic_item_colours?
classic_armour_colour(item) : newwave_armour_colour(item));
}
else if (is_range_weapon( item ))
{
switch (range_skill(item))
{
case SK_BOWS:
item.colour = BLUE;
break;
case SK_CROSSBOWS:
item.colour = RED;
break;
case SK_DARTS:
item.colour = WHITE;
break;
case SK_SLINGS:
item.colour = BROWN;
break;
default:
// huh?
item.colour = MAGENTA;
break;
}
}
{
switch (weapon_skill(item))
{
case SK_SHORT_BLADES:
item.colour = CYAN;
break;
case SK_LONG_SWORDS:
item.colour = LIGHTCYAN;
break;
case SK_AXES:
item.colour = DARKGREY;
break;
case SK_MACES_FLAILS:
item.colour = LIGHTGREY;
break;
case SK_POLEARMS:
item.colour = LIGHTGREEN;
break;
case SK_STAVES:
item.colour = GREEN;
break;
default:
// huh?
item.colour = random_colour();
break;
}
}
item.colour = weapon_colour(item);
switch (item.sub_type)
{
case MI_STONE:
case MI_LARGE_ROCK:
item.colour = BROWN;
break;
case MI_ARROW:
item.colour = BLUE;
break;
case MI_NEEDLE:
item.colour = WHITE;
break;
case MI_BOLT:
item.colour = RED;
break;
case MI_DART:
item.colour = LIGHTRED;
break;
default:
// huh?
item.colour = LIGHTCYAN;
if (get_equip_race(item) == ISFLAG_DWARVEN)
item.colour = CYAN;
break;
}
item.colour = missile_colour(item);
case ARM_CLOAK:
item.colour = WHITE;
break;
case ARM_NAGA_BARDING:
item.colour = LIGHTGREEN;
break;
case ARM_CENTAUR_BARDING:
item.colour = GREEN;
break;
case ARM_ROBE:
case ARM_CAP:
item.colour = random_uncommon_colour();
break;
case ARM_HELMET:
//caps and wizard's hats are random coloured
if (get_helmet_type(item) == THELM_CAP
|| get_helmet_type(item) == THELM_WIZARD_HAT)
{
item.colour = random_uncommon_colour();
}
else
item.colour = DARKGREY;
break;
case ARM_BOOTS:
item.colour = BLUE;
break;
case ARM_GLOVES:
item.colour = LIGHTBLUE;
break;
case ARM_LEATHER_ARMOUR:
item.colour = BROWN;
break;
game of that character, it will be restored, otherwise you proceed to choose a race
and class (this can be done in either order). The choice of species affects
game of that character, it will be restored, otherwise you proceed to choose a
race and class (this can be done in either order). The choice of species affects