with 2 or more variants get a random one whenever the buffer is refilled. Right now the following tiles are variable like that:
I also added tiles for the crystal spear (nice) and the ratskin cloak (abysmal). I also tidied up the tiles some more.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10043 c06c8d41-db1a-0410-9941-cceddc491573
22ZPAVDZLX4R66AODFVA56HH4T3XU62UUON6LYZG3GGTXCTD3YVAC
U4H2RZWN4ALJBYBARBKQOFXLDNZJEUM3PZFXIITBYB5FLI3INPZAC
HPV2KABLOLNNUC3L2E5XQOWDOAOVLIGASQ2Z7SVS33QKON34OT4QC
FXBL4U6STDF7SMNC4XROYTY7MI667D4J2RXESMUTTV2M5UVYL3MQC
BMF6Y2AW2UKQ4J2KKWZOF4MFRMIU4PJG5DT72D4H6ZUV56MXR7SQC
LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC
DCZMEKDHQWSQCQYQD6ZXB3XOMWLVLPSPVSBVVMPXMSZF7GO3BVCAC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
NHDY5NMP7SGSOFT6PQS2PN6YPLUEFRTD3LXNLYFHHL5G27QY65FQC
F7X6HVUKHZXYURABYAZJHRYBV7UZTIPOWJMGCMDK26FQ66WGKFZAC
7IERR3KESLBDHEMGSFRYGA66PZBPGKPUGMFDCSFR3WDX7RXD5OTAC
MEVM2U3HOBYD6BF3GWKVARU54HLOC37IZKWG2YOJYY34N6OYLJ7AC
PUQVSISR5TQFRV6UKOFREN45ZM4YSCST5QSJ2J5CHIHOSYK62MOQC
LP5EK64IEM7AHNYQID4GGKOQJQNZLKY4DCCZN47SIUZ6IXAXH5UAC
HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC
OCGSM3TA4KYVM4JXHTHPA2SLY7EF6NPSIU4LJDRSQ2PJ6X7BP6CQC
HWYCA6OHOSVFTVIEDSNB2UJG6EQ2Y7FF5DWCKWAUSDUEVKAJADPAC
WFG3MHLJUHQEHV65SPAIOI74NIZTGM447T4WKWKF7CMUIUNRUQOAC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
UPUR43MXCLHJOHYGKGRA4XAGB4GXW4RNCGCDCB2MXJDV3DIEISIAC
OELSU5HUOEW6D2AAZJUYB5G25OOGR3YU7UZKNA57EJG5HRMCQ7UAC
RG2VANNJZSWPOX2EZZOMANGRV7CK43BTOYMFTUFSDKTAJWEF5ISQC
case UNRAND_DOOM_KNIGHT: return TILE_URAND_DOOM_KNIGHT;
case UNRAND_EOS: return TILE_URAND_EOS;
case UNRAND_BOTONO: return TILE_URAND_BOTONO;
case UNRAND_OCTOPUS_KING: return TILE_URAND_OCTOPUS_KING;
case UNRAND_ARGA: return TILE_URAND_ARGA;
case UNRAND_ELEMENTAL_STAFF: return TILE_URAND_ELEMENTAL;
case UNRAND_SNIPER: return TILE_URAND_SNIPER;
case UNRAND_PLUTONIUM_SWORD: return TILE_URAND_PLUTONIUM;
case UNRAND_UNDEADHUNTER: return TILE_URAND_UNDEADHUNTER;
case UNRAND_WYRMBANE: return TILE_URAND_WYRMBANE;
case UNRAND_SPRIGGANS_KNIFE: return TILE_URAND_SPRIGGANS_KNIFE;
case UNRAND_SERPENT_SCOURGE: return TILE_URAND_SERPENT_SCOURGE;
case UNRAND_ACCURACY: return TILE_URAND_KNIFE_OF_ACCURACY;
case UNRAND_HELLFIRE: return TILE_URAND_FIERY_DEVIL;
case UNRAND_PIERCER: return TILE_URAND_PIERCER;
case UNRAND_CRYSTAL_SPEAR: return TILE_URAND_CRYSTAL_SPEAR;
// Armour
case UNRAND_IGNORANCE: return TILE_URAND_IGNORANCE;
case UNRAND_AUGMENTATION: return TILE_URAND_AUGMENTATION;
case UNRAND_THIEF: return TILE_URAND_THIEF;
case UNRAND_BULLSEYE: return TILE_URAND_BULLSEYE;
case UNRAND_DYROVEPREVA: return TILE_URAND_DYROVEPREVA;
case UNRAND_MISFORTUNE: return TILE_URAND_MISFORTUNE;
case UNRAND_FLASH: return TILE_URAND_FLASH;
case UNRAND_MAGE: return TILE_URAND_MAGE;
case UNRAND_WYRMBANE: return TILE_URAND_WYRMBANE;
case UNRAND_SPRIGGANS_KNIFE: return TILE_URAND_SPRIGGANS_KNIFE;
case UNRAND_BOOTS_ASSASSIN: return TILE_URAND_BOOTS_ASSASSIN;
case UNRAND_RATSKIN_CLOAK: return TILE_URAND_RATSKIN_CLOAK;
// Jewellery
case UNRAND_SHADOWS: return TILE_URAND_SHADOWS;
case UNRAND_AIR: return TILE_URAND_AIR;
case UNRAND_CEKUGOB: return TILE_URAND_CEKUGOB;
case UNRAND_FOUR_WINDS: return TILE_URAND_FOUR_WINDS;
case UNRAND_BLOODLUST: return TILE_URAND_BLOODLUST;
case UNRAND_SHAOLIN: return TILE_URAND_SHAOLIN;
case UNRAND_ROBUSTNESS: return TILE_URAND_ROBUSTNESS;
case UNRAND_MAGE: return TILE_URAND_MAGE;
case UNRAND_BLOODBANE: return TILEP_HAND1_BLOODBANE;
case UNRAND_FLAMING_DEATH: return TILEP_HAND1_FLAMING_DEATH;
case UNRAND_BRILLIANCE: return TILEP_HAND1_MACE_OF_BRILLIANCE;
case UNRAND_LEECH: return TILEP_HAND1_LEECH;
case UNRAND_CHILLY_DEATH: return TILEP_HAND1_CHILLY_DEATH;
case UNRAND_MORG: return TILEP_HAND1_MORG;
case UNRAND_FINISHER: return TILEP_HAND1_FINISHER;
case UNRAND_PUNK: return TILEP_HAND1_PUNK;
case UNRAND_KRISHNA: return TILEP_HAND1_KRISHNA;
case UNRAND_SKULLCRUSHER: return TILEP_HAND1_GIANT_CLUB_SLANT;
case UNRAND_GUARD: return TILEP_HAND1_GLAIVE_OF_THE_GUARD;
case UNRAND_JIHAD: return TILEP_HAND1_JIHAD;
case UNRAND_HELLFIRE: return TILEP_HAND1_FIERY_DEVIL;
case UNRAND_DOOM_KNIGHT: return TILEP_HAND1_DOOM_KNIGHT;
case UNRAND_EOS: return TILEP_HAND1_EOS;
case UNRAND_BOTONO: return TILEP_HAND1_VOODOO;
case UNRAND_OCTOPUS_KING: return TILEP_HAND1_TRIDENT_OCTOPUS_KING;
case UNRAND_ARGA: return TILEP_HAND1_ARGA;
case UNRAND_ELEMENTAL_STAFF: return TILEP_HAND1_ELEMENTAL_STAFF;
case UNRAND_SNIPER: return TILEP_HAND1_SNIPER;
case UNRAND_PLUTONIUM_SWORD: return TILEP_HAND1_PLUTONIUM_SWORD;
case UNRAND_BLOWGUN_ASSASSIN: return TILEP_HAND1_BLOWGUN_ASSASSIN;
case UNRAND_WYRMBANE: return TILEP_HAND1_WYRMBANE;
case UNRAND_SPRIGGANS_KNIFE: return TILEP_HAND1_SPRIGGANS_KNIFE;
case UNRAND_SERPENT_SCOURGE: return TILEP_HAND1_SERPENT_SCOURGE;
case UNRAND_ACCURACY: return TILEP_HAND1_KNIFE_OF_ACCURACY;
case UNRAND_PIERCER: return TILEP_HAND1_GREAT_BOW;
case UNRAND_BLOODBANE: return TILEP_HAND1_BLOODBANE;
case UNRAND_FLAMING_DEATH: return TILEP_HAND1_FLAMING_DEATH;
case UNRAND_BRILLIANCE: return TILEP_HAND1_MACE_OF_BRILLIANCE;
case UNRAND_LEECH: return TILEP_HAND1_LEECH;
case UNRAND_CHILLY_DEATH: return TILEP_HAND1_CHILLY_DEATH;
case UNRAND_MORG: return TILEP_HAND1_MORG;
case UNRAND_FINISHER: return TILEP_HAND1_FINISHER;
case UNRAND_PUNK: return TILEP_HAND1_PUNK;
case UNRAND_KRISHNA: return TILEP_HAND1_KRISHNA;
case UNRAND_SKULLCRUSHER: return TILEP_HAND1_GIANT_CLUB_SLANT;
case UNRAND_GUARD: return TILEP_HAND1_GLAIVE_OF_THE_GUARD;
case UNRAND_JIHAD: return TILEP_HAND1_JIHAD;
case UNRAND_HELLFIRE: return TILEP_HAND1_FIERY_DEVIL;
case UNRAND_DOOM_KNIGHT: return TILEP_HAND1_DOOM_KNIGHT;
case UNRAND_EOS: return TILEP_HAND1_EOS;
case UNRAND_BOTONO: return TILEP_HAND1_BOTONO;
case UNRAND_OCTOPUS_KING: return TILEP_HAND1_TRIDENT_OCTOPUS_KING;
case UNRAND_ARGA: return TILEP_HAND1_ARGA;
case UNRAND_ELEMENTAL_STAFF: return TILEP_HAND1_ELEMENTAL_STAFF;
case UNRAND_SNIPER: return TILEP_HAND1_SNIPER;
case UNRAND_PLUTONIUM_SWORD: return TILEP_HAND1_PLUTONIUM_SWORD;
case UNRAND_BLOWGUN_ASSASSIN: return TILEP_HAND1_BLOWGUN_ASSASSIN;
case UNRAND_WYRMBANE: return TILEP_HAND1_WYRMBANE;
case UNRAND_SPRIGGANS_KNIFE: return TILEP_HAND1_SPRIGGANS_KNIFE;
case UNRAND_SERPENT_SCOURGE: return TILEP_HAND1_SERPENT_SCOURGE;
case UNRAND_ACCURACY: return TILEP_HAND1_KNIFE_OF_ACCURACY;
case UNRAND_PIERCER: return TILEP_HAND1_GREAT_BOW;
case UNRAND_CRYSTAL_SPEAR: return TILEP_HAND1_CRYSTAL_SPEAR;
// robe of Augmentation
case 7: return TILEP_BODY_ROBE_WHITE_BLUE;
// robe of Misfortune
case 14: return TILEP_BODY_ROBE_MISFORTUNE;
// Lear's chain mail
case 26: return TILEP_BODY_LEARS_CHAIN_MAIL;
// skin of Zhor
case 27: return TILEP_BODY_ZHOR; break;
// salamander hide armour
case 29: return TILEP_BODY_LEATHER_RED;
// robe of Folly
case 33: return TILEP_BODY_ROBE_RED2;
// Maxwell's patent armour
case 38: return TILEP_BODY_MAXWELL;
// robe of Night
case 46: return TILEP_BODY_ROBE_OF_NIGHT;
// armour of the Dragon King
case 49: break;
case UNRAND_AUGMENTATION: return TILEP_BODY_ROBE_WHITE_BLUE;
case UNRAND_MISFORTUNE: return TILEP_BODY_ROBE_MISFORTUNE;
case UNRAND_LEAR: return TILEP_BODY_LEARS_CHAIN_MAIL;
case UNRAND_ZHOR: return TILEP_BODY_ZHOR;
case UNRAND_SALAMANDER: return TILEP_BODY_LEATHER_RED;
case UNRAND_FOLLY: return TILEP_BODY_ROBE_RED2;
case UNRAND_MAXWELL: return TILEP_BODY_MAXWELL;
case UNRAND_NIGHT: return TILEP_BODY_ROBE_OF_NIGHT;
default: break;
// We've got a zillion robes; let's use 'em!
case BLACK: return TILEP_BODY_ROBE_BLACK_RED;
case BLUE: return TILEP_BODY_ROBE_BLUE;
case LIGHTBLUE: return TILEP_BODY_ROBE_BLUE_WHITE;
case GREEN: return TILEP_BODY_ROBE_GREEN;
case LIGHTGREEN: return TILEP_BODY_ROBE_BLUE_GREEN;
case CYAN: return TILEP_BODY_ROBE_WHITE_GREEN;
case LIGHTCYAN: return TILEP_BODY_ROBE_CYAN;
case RED: return TILEP_BODY_ROBE_RED;
case LIGHTRED: return TILEP_BODY_ROBE_RED_GOLD;
case MAGENTA: return TILEP_BODY_ROBE_MAGENTA;
case LIGHTMAGENTA:return TILEP_BODY_ROBE_RED3;
case BROWN: return TILEP_BODY_ROBE_BROWN;
case YELLOW: return TILEP_BODY_ROBE_YELLOW;
case LIGHTGREY: return TILEP_BODY_ROBE_GRAY2;
case DARKGREY: return TILEP_BODY_GANDALF_G;
case WHITE: return TILEP_BODY_ROBE_WHITE;
default: return 0;
// We've got a zillion robes; let's use 'em!
case BLACK: return TILEP_BODY_ROBE_BLACK_RED;
case BLUE: return TILEP_BODY_ROBE_BLUE;
case LIGHTBLUE: return TILEP_BODY_ROBE_BLUE_WHITE;
case GREEN: return TILEP_BODY_ROBE_GREEN;
case LIGHTGREEN: return TILEP_BODY_ROBE_BLUE_GREEN;
case CYAN: return TILEP_BODY_ROBE_WHITE_GREEN;
case LIGHTCYAN: return TILEP_BODY_ROBE_CYAN;
case RED: return TILEP_BODY_ROBE_RED;
case LIGHTRED: return TILEP_BODY_ROBE_RED_GOLD;
case MAGENTA: return TILEP_BODY_ROBE_MAGENTA;
case LIGHTMAGENTA:return TILEP_BODY_ROBE_RED3;
case BROWN: return TILEP_BODY_ROBE_BROWN;
case YELLOW: return TILEP_BODY_ROBE_YELLOW;
case LIGHTGREY: return TILEP_BODY_ROBE_GRAY2;
case DARKGREY: return TILEP_BODY_GANDALF_G;
case WHITE: return TILEP_BODY_ROBE_WHITE;
default: return 0;
// shield of Ignorance
case 5: return TILEP_HAND2_SHIELD_OF_IGNORANCE;
// Bullseye
case 10: return TILEP_HAND2_BULLSEYE;
// shield of Resistance
case 32: return TILEP_HAND2_SHIELD_OF_RESISTANCE;
case UNRAND_IGNORANCE: return TILEP_HAND2_SHIELD_OF_IGNORANCE;
case UNRAND_BULLSEYE: return TILEP_HAND2_BULLSEYE;
case UNRAND_RESISTANCE: return TILEP_HAND2_SHIELD_OF_RESISTANCE;
default: break;
case 11: // crown of Dyrovepreva
return TILEP_HELM_DYROVEPREVA;
case 41: // mask of the Dragon
return TILEP_HELM_ART_DRAGONHELM;
case 50: // hat of the Alchemist
return TILEP_HELM_TURBAN_PURPLE;
case UNRAND_DYROVEPREVA: return TILEP_HELM_DYROVEPREVA;
case UNRAND_DRAGONMASK: return TILEP_HELM_ART_DRAGONHELM;
case UNRAND_ALCHEMIST: return TILEP_HELM_TURBAN_PURPLE;
default: break;
floor/lava0 DNGN_LAVA
floor/lava1
floor/lava2
floor/lava3
dngn_deep_water DNGN_DEEP_WATER
dngn_shallow_water DNGN_SHALLOW_WATER
dngn_shallow_water_disturbance DNGN_SHALLOW_WATER_DISTURBANCE
dngn_deep_water_murky DNGN_DEEP_WATER_MURKY
dngn_shallow_water_murky DNGN_SHALLOW_WATER_MURKY
dngn_shallow_water_murky_disturbance DNGN_SHALLOW_WATER_MURKY_DISTURBANCE
## from here on multiple tile definitions are CHANGEABLE, i.e. they may
## change from turn to turn
floor/lava0 DNGN_LAVA
floor/lava1
floor/lava2
floor/lava3
dngn_deep_water DNGN_DEEP_WATER
dngn_shallow_water DNGN_SHALLOW_WATER
dngn_shallow_water_disturbance DNGN_SHALLOW_WATER_DISTURBANCE
dngn_deep_water_murky DNGN_DEEP_WATER_MURKY
dngn_shallow_water_murky DNGN_SHALLOW_WATER_MURKY
dngn_shallow_water_murky_disturbance DNGN_SHALLOW_WATER_MURKY_DISTURBANCE