PRC8/nwn/nwnprc/trunk/include/prc_inc_material.nss
Jaysyn904 4fb9f2783b Disabled Hidden Talent until it's actually finished
Disabled Hidden Talent until it's actually finished.  Fixed a few typos & some formatting.
2025-02-07 19:11:46 -05:00

985 lines
63 KiB
Plaintext

//:: // Material ItemProperty library //
//::////////////////////////////////////////////////////////////////////////////
//:: prc_inc_material
//::
//:: Contains constants and functions for use with material itemproperties
//::
//:: Original by Axe Murderer
//::
//::////////////////////////////////////////////////////////////////////////////
#include "prc_x2_itemprop"
//:: Material Type Constants
//::////////////////////////////////////////////////////////////////////////////
const int MATERIAL_TYPE_INVALID = -1;
const int MATERIAL_TYPE_UNKNOWN = 0;
const int MATERIAL_TYPE_BONE = 1;
const int MATERIAL_TYPE_CERAMIC = 2;
const int MATERIAL_TYPE_CRYSTAL = 3;
const int MATERIAL_TYPE_FABRIC = 4;
const int MATERIAL_TYPE_LEATHER = 5;
const int MATERIAL_TYPE_METAL = 6;
const int MATERIAL_TYPE_PAPER = 7;
const int MATERIAL_TYPE_ROPE = 8;
const int MATERIAL_TYPE_STONE = 9;
const int MATERIAL_TYPE_WOOD = 10;
const string MATERIAL_TYPE_NAME_INVALID = "";
const string MATERIAL_TYPE_NAME_UNKNOWN = "Unknown";
const string MATERIAL_TYPE_NAME_BONE = "Bone";
const string MATERIAL_TYPE_NAME_CERAMIC = "Ceramic";
const string MATERIAL_TYPE_NAME_CRYSTAL = "Crystal";
const string MATERIAL_TYPE_NAME_FABRIC = "Fabric";
const string MATERIAL_TYPE_NAME_LEATHER = "Leather";
const string MATERIAL_TYPE_NAME_METAL = "Metal";
const string MATERIAL_TYPE_NAME_PAPER = "Paper";
const string MATERIAL_TYPE_NAME_ROPE = "Rope";
const string MATERIAL_TYPE_NAME_STONE = "Stone";
const string MATERIAL_TYPE_NAME_WOOD = "Wood";
//:: Material Itemproperty Constants
//::////////////////////////////////////////////////////////////////////////////////
//:: Bioware Materials
const int IP_MATERIAL_INVALID = -1;
const int IP_MATERIAL_UNKNOWN = 0;
const int IP_MATERIAL_ADAMANTINE = 1;
const int IP_MATERIAL_BRASS = 2;
const int IP_MATERIAL_BRONZE = 3;
const int IP_MATERIAL_CARBON = 4;
const int IP_MATERIAL_COLD_IRON = 5;
const int IP_MATERIAL_COPPER = 6;
const int IP_MATERIAL_DARKSTEEL = 7;
const int IP_MATERIAL_GOLD = 8;
const int IP_MATERIAL_IRON = 9;
const int IP_MATERIAL_LEAD = 10;
const int IP_MATERIAL_MITHRAL = 11;
const int IP_MATERIAL_PLATINUM = 12;
const int IP_MATERIAL_SILVER = 13;
const int IP_MATERIAL_SILVER_ALCHEMICAL = 14;
const int IP_MATERIAL_STEEL = 15;
const int IP_MATERIAL_BONE = 16;
const int IP_MATERIAL_HIDE = 17;
const int IP_MATERIAL_HIDE_SALAMANDER = 18;
const int IP_MATERIAL_HIDE_UMBER_HULK = 19;
const int IP_MATERIAL_HIDE_WYVERN = 20;
const int IP_MATERIAL_HIDE_DRAGON_BLACK = 21;
const int IP_MATERIAL_HIDE_DRAGON_BLUE = 22;
const int IP_MATERIAL_HIDE_DRAGON_BRASS = 23;
const int IP_MATERIAL_HIDE_DRAGON_BRONZE = 24;
const int IP_MATERIAL_HIDE_DRAGON_COPPER = 25;
const int IP_MATERIAL_HIDE_DRAGON_GOLD = 26;
const int IP_MATERIAL_HIDE_DRAGON_GREEN = 27;
const int IP_MATERIAL_HIDE_DRAGON_RED = 28;
const int IP_MATERIAL_HIDE_DRAGON_SILVER = 29;
const int IP_MATERIAL_HIDE_DRAGON_WHITE = 30;
const int IP_MATERIAL_LEATHER = 31;
const int IP_MATERIAL_SCALE = 32;
const int IP_MATERIAL_CLOTH = 33;
const int IP_MATERIAL_COTTON = 34;
const int IP_MATERIAL_SILK = 35;
const int IP_MATERIAL_WOOL = 36;
const int IP_MATERIAL_WOOD = 37;
const int IP_MATERIAL_WOOD_IRONWOOD = 38;
const int IP_MATERIAL_WOOD_DUSKWOOD = 39;
const int IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR = 40;
const int IP_MATERIAL_WOOD_ASH = 41;
const int IP_MATERIAL_WOOD_YEW = 42;
const int IP_MATERIAL_WOOD_OAK = 43;
const int IP_MATERIAL_WOOD_PINE = 44;
const int IP_MATERIAL_WOOD_CEDAR = 45;
const int IP_MATERIAL_ELEMENTAL = 46;
const int IP_MATERIAL_ELEMENTAL_AIR = 47;
const int IP_MATERIAL_ELEMENTAL_EARTH = 48;
const int IP_MATERIAL_ELEMENTAL_FIRE = 49;
const int IP_MATERIAL_ELEMENTAL_WATER = 50;
const int IP_MATERIAL_GEM = 51;
const int IP_MATERIAL_GEM_ALEXANDRITE = 52;
const int IP_MATERIAL_GEM_AMETHYST = 53;
const int IP_MATERIAL_GEM_AVENTURINE = 54;
const int IP_MATERIAL_GEM_BELJURIL = 55;
const int IP_MATERIAL_GEM_BLOODSTONE = 56;
const int IP_MATERIAL_GEM_BLUE_DIAMOND = 57;
const int IP_MATERIAL_GEM_CANARY_DIAMOND = 58;
const int IP_MATERIAL_GEM_DIAMOND = 59;
const int IP_MATERIAL_GEM_EMERALD = 60;
const int IP_MATERIAL_GEM_FIRE_AGATE = 61;
const int IP_MATERIAL_GEM_FIRE_OPAL = 62;
const int IP_MATERIAL_GEM_FLUORSPAR = 63;
const int IP_MATERIAL_GEM_GARNET = 64;
const int IP_MATERIAL_GEM_GREENSTONE = 65;
const int IP_MATERIAL_GEM_JACINTH = 66;
const int IP_MATERIAL_GEM_KINGS_TEAR = 67;
const int IP_MATERIAL_GEM_MALACHITE = 68;
const int IP_MATERIAL_GEM_OBSIDIAN = 69;
const int IP_MATERIAL_GEM_PHENALOPE = 70;
const int IP_MATERIAL_GEM_ROGUE_STONE = 71;
const int IP_MATERIAL_GEM_RUBY = 72;
const int IP_MATERIAL_GEM_SAPPHIRE = 73;
const int IP_MATERIAL_GEM_STAR_SAPPHIRE = 74;
const int IP_MATERIAL_GEM_TOPAZ = 75;
const int IP_MATERIAL_GEM_CRYSTAL_DEEP = 76;
const int IP_MATERIAL_GEM_CRYSTAL_MUNDANE = 77;
const int IP_MATERIAL_PAPER = 100;
const int IP_MATERIAL_GLASS = 101;
const int IP_MATERIAL_ICE = 102;
const int IP_MATERIAL_ROPE_HEMP = 103;
const int IP_MATERIAL_STONE = 104;
const int IP_MATERIAL_DEEP_CORAL = 105;
const int IP_MATERIAL_WOOD_LIVING = 106;
const int IP_MATERIAL_OBDURIUM = 107;
const int IP_MATERIAL_WOOD_BRONZE = 108;
const int IP_MATERIAL_BYESHK = 109;
const int IP_MATERIAL_CALOMEL = 110;
const int IP_MATERIAL_CRYSTEEL_RIEDRAN = 111;
const int IP_MATERIAL_DENSEWOOD = 112;
const int IP_MATERIAL_DRAGONSHARD = 113;
const int IP_MATERIAL_IRON_FLAMETOUCHED = 114;
const int IP_MATERIAL_LIVEWOOD = 115;
const int IP_MATERIAL_MOURNLODE_PURPLE = 116;
const int IP_MATERIAL_SOARWOOD = 117;
const int IP_MATERIAL_TARGATH = 118;
const int IP_MATERIAL_ASTRAL_DRIFTMETAL = 119;
const int IP_MATERIAL_ATANDUR = 120;
const int IP_MATERIAL_BLENDED_QUARTZ = 121;
const int IP_MATERIAL_CHITIN = 122;
const int IP_MATERIAL_DARKLEAF_ELVEN = 123;
const int IP_MATERIAL_DLARUN = 124;
const int IP_MATERIAL_DUSTWOOD = 125;
const int IP_MATERIAL_ELUKIAN_CLAY = 126;
const int IP_MATERIAL_ENTROPIUM = 127;
const int IP_MATERIAL_GREENSTEEL_BAATORIAN = 128;
const int IP_MATERIAL_HIZAGKUUR = 129;
const int IP_MATERIAL_IRON_FEVER = 130;
const int IP_MATERIAL_IRON_GEHENNAN_MORGHUTH = 131;
const int IP_MATERIAL_LEAFWEAVE = 132;
const int IP_MATERIAL_LIVING_METAL = 133;
const int IP_MATERIAL_MINDSTEEL_URDRUKAR = 134;
const int IP_MATERIAL_TRUESTEEL_SOLANIAN = 135;
const int IP_MATERIAL_WOOD_AGAFARI = 136;
const int IP_MATERIAL_CRYSTAL_DASL = 137;
const int IP_MATERIAL_DRAKE_IVORY = 138;
const int IP_MATERIAL_ROPE_GIANT_HAIR = 139;
const int IP_MATERIAL_OBSIDIAN = 140;
const int IP_MATERIAL_BAMBOO = 141;
const int IP_MATERIAL_POTTERY = 142;
const int IP_NUM_MATERIALS = 142;
const string IP_MATERIAL_NAME_INVALID = "";
const string IP_MATERIAL_NAME_UNKNOWN = "Unknown";
const string IP_MATERIAL_NAME_ADAMANTINE = "Adamantine";
const string IP_MATERIAL_NAME_BRASS = "Brass";
const string IP_MATERIAL_NAME_BRONZE = "Bronze";
const string IP_MATERIAL_NAME_CARBON = "Carbon";
const string IP_MATERIAL_NAME_COLD_IRON = "Cold Iron";
const string IP_MATERIAL_NAME_COPPER = "Copper";
const string IP_MATERIAL_NAME_DARKSTEEL = "Darksteel";
const string IP_MATERIAL_NAME_GOLD = "Gold";
const string IP_MATERIAL_NAME_IRON = "Iron";
const string IP_MATERIAL_NAME_LEAD = "Lead";
const string IP_MATERIAL_NAME_MITHRAL = "Mithral";
const string IP_MATERIAL_NAME_PLATINUM = "Platinum";
const string IP_MATERIAL_NAME_SILVER = "Silver";
const string IP_MATERIAL_NAME_SILVER_ALCHEMICAL = "Alchemical Silver";
const string IP_MATERIAL_NAME_STEEL = "Steel";
const string IP_MATERIAL_NAME_BONE = "Bone";
const string IP_MATERIAL_NAME_HIDE = "Hide";
const string IP_MATERIAL_NAME_HIDE_SALAMANDER = "Salamander Hide";
const string IP_MATERIAL_NAME_HIDE_UMBER_HULK = "Umber Hulk Hide";
const string IP_MATERIAL_NAME_HIDE_WYVERN = "Wyvern Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_BLACK = "Black Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_BLUE = "Blue Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_BRASS = "Brass Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE = "Bronze Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_COPPER = "Copper Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_GOLD = "Gold Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_GREEN = "Green Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_RED = "Red Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_SILVER = "Silver Dragon Hide";
const string IP_MATERIAL_NAME_HIDE_DRAGON_WHITE = "White Dragon Hide";
const string IP_MATERIAL_NAME_LEATHER = "Leather Hide";
const string IP_MATERIAL_NAME_SCALE = "Scale";
const string IP_MATERIAL_NAME_CLOTH = "Cloth";
const string IP_MATERIAL_NAME_COTTON = "Cotton";
const string IP_MATERIAL_NAME_SILK = "Silk";
const string IP_MATERIAL_NAME_WOOL = "Wool";
const string IP_MATERIAL_NAME_WOOD = "Wood";
const string IP_MATERIAL_NAME_WOOD_IRONWOOD = "Ironwood";
const string IP_MATERIAL_NAME_WOOD_DUSKWOOD = "Duskwood";
const string IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR = "Zalantar Darkwood";
const string IP_MATERIAL_NAME_WOOD_ASH = "Ash";
const string IP_MATERIAL_NAME_WOOD_YEW = "Yew";
const string IP_MATERIAL_NAME_WOOD_OAK = "Oak";
const string IP_MATERIAL_NAME_WOOD_PINE = "Pine";
const string IP_MATERIAL_NAME_WOOD_CEDAR = "Cedar";
const string IP_MATERIAL_NAME_ELEMENTAL = "Elemental";
const string IP_MATERIAL_NAME_ELEMENTAL_AIR = "Air Elemental";
const string IP_MATERIAL_NAME_ELEMENTAL_EARTH = "Earth Elemental";
const string IP_MATERIAL_NAME_ELEMENTAL_FIRE = "Fire Elemental";
const string IP_MATERIAL_NAME_ELEMENTAL_WATER = "Water Elemental";
const string IP_MATERIAL_NAME_GEM = "Gem";
const string IP_MATERIAL_NAME_GEM_ALEXANDRITE = "Alexandrite";
const string IP_MATERIAL_NAME_GEM_AMETHYST = "Amethyst";
const string IP_MATERIAL_NAME_GEM_AVENTURINE = "Aventurine";
const string IP_MATERIAL_NAME_GEM_BELJURIL = "Beljuril";
const string IP_MATERIAL_NAME_GEM_BLOODSTONE = "Bloodstone";
const string IP_MATERIAL_NAME_GEM_BLUE_DIAMOND = "Blue Diamond";
const string IP_MATERIAL_NAME_GEM_CANARY_DIAMOND = "Carary Diamond";
const string IP_MATERIAL_NAME_GEM_DIAMOND = "Diamond";
const string IP_MATERIAL_NAME_GEM_EMERALD = "Emerald";
const string IP_MATERIAL_NAME_GEM_FIRE_AGATE = "Agate";
const string IP_MATERIAL_NAME_GEM_FIRE_OPAL = "Opal";
const string IP_MATERIAL_NAME_GEM_FLUORSPAR = "Fluorspar";
const string IP_MATERIAL_NAME_GEM_GARNET = "Garnet";
const string IP_MATERIAL_NAME_GEM_GREENSTONE = "Greenstone";
const string IP_MATERIAL_NAME_GEM_JACINTH = "Jacinth";
const string IP_MATERIAL_NAME_GEM_KINGS_TEAR = "King's Tear";
const string IP_MATERIAL_NAME_GEM_MALACHITE = "Malachite";
const string IP_MATERIAL_NAME_GEM_OBSIDIAN = "Obsidian";
const string IP_MATERIAL_NAME_GEM_PHENALOPE = "Phenalope";
const string IP_MATERIAL_NAME_GEM_ROGUE_STONE = "Rogue Stone";
const string IP_MATERIAL_NAME_GEM_RUBY = "Ruby";
const string IP_MATERIAL_NAME_GEM_SAPPHIRE = "Sapphire";
const string IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE = "Star Sapphire";
const string IP_MATERIAL_NAME_GEM_TOPAZ = "Topaz";
const string IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP = "Deep Crystal";
const string IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE = "Mundane Crystal";
const string IP_MATERIAL_NAME_PAPER = "Paper";
const string IP_MATERIAL_NAME_GLASS = "Glass";
const string IP_MATERIAL_NAME_ICE = "Ice";
const string IP_MATERIAL_NAME_ROPE_HEMP = "Hemp Rope";
const string IP_MATERIAL_NAME_STONE = "Stone";
const string IP_MATERIAL_NAME_DEEP_CORAL = "Deep Coral";
const string IP_MATERIAL_NAME_WOOD_LIVING = "Living Wood";
const string IP_MATERIAL_NAME_OBDURIUM = "Obdurium";
const string IP_MATERIAL_NAME_WOOD_BRONZE = "Bronze Wood";
const string IP_MATERIAL_NAME_BYESHK = "Byeshk";
const string IP_MATERIAL_NAME_CALOMEL = "Calomel";
const string IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN = "Riedran Crysteel";
const string IP_MATERIAL_NAME_DENSEWOOD = "Densewood";
const string IP_MATERIAL_NAME_DRAGONSHARD = "Dragonshard";
const string IP_MATERIAL_NAME_IRON_FLAMETOUCHED = "Flametouched Iron";
const string IP_MATERIAL_NAME_LIVEWOOD = "Livewood";
const string IP_MATERIAL_NAME_MOURNLODE_PURPLE = "Purple Mournlode";
const string IP_MATERIAL_NAME_SOARWOOD = "Soarwood";
const string IP_MATERIAL_NAME_TARGATH = "Targath";
const string IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL = "Astral Driftmetal";
const string IP_MATERIAL_NAME_ATANDUR = "Atandur";
const string IP_MATERIAL_NAME_BLENDED_QUARTZ = "Blended Quartz";
const string IP_MATERIAL_NAME_CHITIN = "Chitin";
const string IP_MATERIAL_NAME_DARKLEAF_ELVEN = "Elven Darkleaf";
const string IP_MATERIAL_NAME_DLARUN = "Dlarun";
const string IP_MATERIAL_NAME_DUSTWOOD = "Dustwood";
const string IP_MATERIAL_NAME_ELUKIAN_CLAY = "Elukian Clay";
const string IP_MATERIAL_NAME_ENTROPIUM = "Entropium";
const string IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN = "Baatorian Greensteel";
const string IP_MATERIAL_NAME_HIZAGKUUR = "Hizagkuur";
const string IP_MATERIAL_NAME_IRON_FEVER = "Fever Iron";
const string IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH = "Gehennan Morghuth Iron";
const string IP_MATERIAL_NAME_LEAFWEAVE = "Leafweave";
const string IP_MATERIAL_NAME_LIVING_METAL = "Living Metal";
const string IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR = "Urdrukar Mindsteel";
const string IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN = "Solanian Truesteel";
const string IP_MATERIAL_NAME_WOOD_AGAFARI = "Agafari";
const string IP_MATERIAL_NAME_CRYSTAL_DASL = "Dasl";
const string IP_MATERIAL_NAME_DRAKE_IVORY = "Drake Ivory";
const string IP_MATERIAL_NAME_ROPE_GIANT_HAIR = "Giant Hair Rope";
const string IP_MATERIAL_NAME_OBSIDIAN = "Obsidian";
const string IP_MATERIAL_NAME_BAMBOO = "Bamboo";
const string IP_MATERIAL_NAME_POTTERY = "Pottery";
//::///////////////////////////////////////////////////////////////
// GetMaterialName( int iMaterialType, int bLowerCase = FALSE)
// Given a material type this function returns its name as a string.
//::///////////////////////////////////////////////////////////////
// Parameters: int iMaterialType - the material type number IP_MATERIAL_*
// int bLowerCase - if TRUE the returned string is all lower case
// if FALSE the returned string is first letter cap.
//
// Returns: the name of the material type as a string IP_MATERIAL_NAME_*.
// Returns IP_MATERIAL_NAME_INVALID if the material type is invalid.
//::///////////////////////////////////////////////////////////////
string GetMaterialName( int iMaterialType, int bLowerCase = FALSE);
string GetMaterialName( int iMaterialType, int bLowerCase = FALSE)
{ if( iMaterialType == IP_MATERIAL_INVALID) return IP_MATERIAL_NAME_INVALID;
string sName = "";
switch( iMaterialType)
{ case IP_MATERIAL_UNKNOWN: sName = IP_MATERIAL_NAME_UNKNOWN; break;
case IP_MATERIAL_ADAMANTINE: sName = IP_MATERIAL_NAME_ADAMANTINE; break;
case IP_MATERIAL_BRASS: sName = IP_MATERIAL_NAME_BRASS; break;
case IP_MATERIAL_BRONZE: sName = IP_MATERIAL_NAME_BRONZE; break;
case IP_MATERIAL_CARBON: sName = IP_MATERIAL_NAME_CARBON; break;
case IP_MATERIAL_COLD_IRON: sName = IP_MATERIAL_NAME_COLD_IRON; break;
case IP_MATERIAL_COPPER: sName = IP_MATERIAL_NAME_COPPER; break;
case IP_MATERIAL_DARKSTEEL: sName = IP_MATERIAL_NAME_DARKSTEEL; break;
case IP_MATERIAL_GOLD: sName = IP_MATERIAL_NAME_GOLD; break;
case IP_MATERIAL_IRON: sName = IP_MATERIAL_NAME_IRON; break;
case IP_MATERIAL_LEAD: sName = IP_MATERIAL_NAME_LEAD; break;
case IP_MATERIAL_MITHRAL: sName = IP_MATERIAL_NAME_MITHRAL; break;
case IP_MATERIAL_PLATINUM: sName = IP_MATERIAL_NAME_PLATINUM; break;
case IP_MATERIAL_SILVER: sName = IP_MATERIAL_NAME_SILVER; break;
case IP_MATERIAL_SILVER_ALCHEMICAL: sName = IP_MATERIAL_NAME_SILVER_ALCHEMICAL; break;
case IP_MATERIAL_STEEL: sName = IP_MATERIAL_NAME_STEEL; break;
case IP_MATERIAL_BONE: sName = IP_MATERIAL_NAME_BONE; break;
case IP_MATERIAL_HIDE: sName = IP_MATERIAL_NAME_HIDE; break;
case IP_MATERIAL_HIDE_SALAMANDER: sName = IP_MATERIAL_NAME_HIDE_SALAMANDER; break;
case IP_MATERIAL_HIDE_UMBER_HULK: sName = IP_MATERIAL_NAME_HIDE_UMBER_HULK; break;
case IP_MATERIAL_HIDE_WYVERN: sName = IP_MATERIAL_NAME_HIDE_WYVERN; break;
case IP_MATERIAL_HIDE_DRAGON_BLACK: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BLACK; break;
case IP_MATERIAL_HIDE_DRAGON_BLUE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BLUE; break;
case IP_MATERIAL_HIDE_DRAGON_BRASS: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BRASS; break;
case IP_MATERIAL_HIDE_DRAGON_BRONZE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE; break;
case IP_MATERIAL_HIDE_DRAGON_COPPER: sName = IP_MATERIAL_NAME_HIDE_DRAGON_COPPER; break;
case IP_MATERIAL_HIDE_DRAGON_GOLD: sName = IP_MATERIAL_NAME_HIDE_DRAGON_GOLD; break;
case IP_MATERIAL_HIDE_DRAGON_GREEN: sName = IP_MATERIAL_NAME_HIDE_DRAGON_GREEN; break;
case IP_MATERIAL_HIDE_DRAGON_RED: sName = IP_MATERIAL_NAME_HIDE_DRAGON_RED; break;
case IP_MATERIAL_HIDE_DRAGON_SILVER: sName = IP_MATERIAL_NAME_HIDE_DRAGON_SILVER; break;
case IP_MATERIAL_HIDE_DRAGON_WHITE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_WHITE; break;
case IP_MATERIAL_LEATHER: sName = IP_MATERIAL_NAME_LEATHER; break;
case IP_MATERIAL_SCALE: sName = IP_MATERIAL_NAME_SCALE; break;
case IP_MATERIAL_COTTON: sName = IP_MATERIAL_NAME_COTTON; break;
case IP_MATERIAL_CLOTH: sName = IP_MATERIAL_NAME_CLOTH; break;
case IP_MATERIAL_SILK: sName = IP_MATERIAL_NAME_SILK; break;
case IP_MATERIAL_WOOL: sName = IP_MATERIAL_NAME_WOOL; break;
case IP_MATERIAL_WOOD: sName = IP_MATERIAL_NAME_WOOD; break;
case IP_MATERIAL_WOOD_IRONWOOD: sName = IP_MATERIAL_NAME_WOOD_IRONWOOD; break;
case IP_MATERIAL_WOOD_DUSKWOOD: sName = IP_MATERIAL_NAME_WOOD_DUSKWOOD; break;
case IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR: sName = IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR; break;
case IP_MATERIAL_WOOD_ASH: sName = IP_MATERIAL_NAME_WOOD_ASH; break;
case IP_MATERIAL_WOOD_YEW: sName = IP_MATERIAL_NAME_WOOD_YEW; break;
case IP_MATERIAL_WOOD_OAK: sName = IP_MATERIAL_NAME_WOOD_OAK; break;
case IP_MATERIAL_WOOD_PINE: sName = IP_MATERIAL_NAME_WOOD_PINE; break;
case IP_MATERIAL_WOOD_CEDAR: sName = IP_MATERIAL_NAME_WOOD_CEDAR; break;
case IP_MATERIAL_ELEMENTAL: sName = IP_MATERIAL_NAME_ELEMENTAL; break;
case IP_MATERIAL_ELEMENTAL_AIR: sName = IP_MATERIAL_NAME_ELEMENTAL_AIR; break;
case IP_MATERIAL_ELEMENTAL_EARTH: sName = IP_MATERIAL_NAME_ELEMENTAL_EARTH; break;
case IP_MATERIAL_ELEMENTAL_FIRE: sName = IP_MATERIAL_NAME_ELEMENTAL_FIRE; break;
case IP_MATERIAL_ELEMENTAL_WATER: sName = IP_MATERIAL_NAME_ELEMENTAL_WATER; break;
case IP_MATERIAL_GEM: sName = IP_MATERIAL_NAME_GEM; break;
case IP_MATERIAL_GEM_ALEXANDRITE: sName = IP_MATERIAL_NAME_GEM_ALEXANDRITE; break;
case IP_MATERIAL_GEM_AMETHYST: sName = IP_MATERIAL_NAME_GEM_AMETHYST; break;
case IP_MATERIAL_GEM_AVENTURINE: sName = IP_MATERIAL_NAME_GEM_AVENTURINE; break;
case IP_MATERIAL_GEM_BELJURIL: sName = IP_MATERIAL_NAME_GEM_BELJURIL; break;
case IP_MATERIAL_GEM_BLOODSTONE: sName = IP_MATERIAL_NAME_GEM_BLOODSTONE; break;
case IP_MATERIAL_GEM_BLUE_DIAMOND: sName = IP_MATERIAL_NAME_GEM_BLUE_DIAMOND; break;
case IP_MATERIAL_GEM_CANARY_DIAMOND: sName = IP_MATERIAL_NAME_GEM_CANARY_DIAMOND; break;
case IP_MATERIAL_GEM_DIAMOND: sName = IP_MATERIAL_NAME_GEM_DIAMOND; break;
case IP_MATERIAL_GEM_EMERALD: sName = IP_MATERIAL_NAME_GEM_EMERALD; break;
case IP_MATERIAL_GEM_FIRE_AGATE: sName = IP_MATERIAL_NAME_GEM_FIRE_AGATE; break;
case IP_MATERIAL_GEM_FIRE_OPAL: sName = IP_MATERIAL_NAME_GEM_FIRE_OPAL; break;
case IP_MATERIAL_GEM_FLUORSPAR: sName = IP_MATERIAL_NAME_GEM_FLUORSPAR; break;
case IP_MATERIAL_GEM_GARNET: sName = IP_MATERIAL_NAME_GEM_GARNET; break;
case IP_MATERIAL_GEM_GREENSTONE: sName = IP_MATERIAL_NAME_GEM_GREENSTONE; break;
case IP_MATERIAL_GEM_JACINTH: sName = IP_MATERIAL_NAME_GEM_JACINTH; break;
case IP_MATERIAL_GEM_KINGS_TEAR: sName = IP_MATERIAL_NAME_GEM_KINGS_TEAR; break;
case IP_MATERIAL_GEM_MALACHITE: sName = IP_MATERIAL_NAME_GEM_MALACHITE; break;
case IP_MATERIAL_GEM_OBSIDIAN: sName = IP_MATERIAL_NAME_GEM_OBSIDIAN; break;
case IP_MATERIAL_GEM_PHENALOPE: sName = IP_MATERIAL_NAME_GEM_PHENALOPE; break;
case IP_MATERIAL_GEM_ROGUE_STONE: sName = IP_MATERIAL_NAME_GEM_ROGUE_STONE; break;
case IP_MATERIAL_GEM_RUBY: sName = IP_MATERIAL_NAME_GEM_RUBY; break;
case IP_MATERIAL_GEM_SAPPHIRE: sName = IP_MATERIAL_NAME_GEM_SAPPHIRE; break;
case IP_MATERIAL_GEM_STAR_SAPPHIRE: sName = IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE; break;
case IP_MATERIAL_GEM_TOPAZ: sName = IP_MATERIAL_NAME_GEM_TOPAZ; break;
case IP_MATERIAL_GEM_CRYSTAL_DEEP: sName = IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP; break;
case IP_MATERIAL_GEM_CRYSTAL_MUNDANE: sName = IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE; break;
case IP_MATERIAL_PAPER: sName = IP_MATERIAL_NAME_PAPER; break;
case IP_MATERIAL_GLASS: sName = IP_MATERIAL_NAME_GLASS; break;
case IP_MATERIAL_ICE: sName = IP_MATERIAL_NAME_ICE; break;
case IP_MATERIAL_ROPE_HEMP: sName = IP_MATERIAL_NAME_ROPE_HEMP; break;
case IP_MATERIAL_STONE: sName = IP_MATERIAL_NAME_STONE; break;
case IP_MATERIAL_DEEP_CORAL: sName = IP_MATERIAL_NAME_DEEP_CORAL; break;
case IP_MATERIAL_WOOD_LIVING: sName = IP_MATERIAL_NAME_WOOD_LIVING; break;
case IP_MATERIAL_OBDURIUM: sName = IP_MATERIAL_NAME_OBDURIUM; break;
case IP_MATERIAL_WOOD_BRONZE: sName = IP_MATERIAL_NAME_WOOD_BRONZE; break;
case IP_MATERIAL_BYESHK: sName = IP_MATERIAL_NAME_BYESHK; break;
case IP_MATERIAL_CALOMEL: sName = IP_MATERIAL_NAME_CALOMEL; break;
case IP_MATERIAL_CRYSTEEL_RIEDRAN: sName = IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN; break;
case IP_MATERIAL_DENSEWOOD: sName = IP_MATERIAL_NAME_DENSEWOOD; break;
case IP_MATERIAL_DRAGONSHARD: sName = IP_MATERIAL_NAME_DRAGONSHARD; break;
case IP_MATERIAL_IRON_FLAMETOUCHED: sName = IP_MATERIAL_NAME_IRON_FLAMETOUCHED; break;
case IP_MATERIAL_LIVEWOOD: sName = IP_MATERIAL_NAME_LIVEWOOD; break;
case IP_MATERIAL_MOURNLODE_PURPLE: sName = IP_MATERIAL_NAME_MOURNLODE_PURPLE; break;
case IP_MATERIAL_SOARWOOD: sName = IP_MATERIAL_NAME_SOARWOOD; break;
case IP_MATERIAL_TARGATH: sName = IP_MATERIAL_NAME_TARGATH; break;
case IP_MATERIAL_ASTRAL_DRIFTMETAL: sName = IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL; break;
case IP_MATERIAL_ATANDUR: sName = IP_MATERIAL_NAME_ATANDUR; break;
case IP_MATERIAL_BLENDED_QUARTZ: sName = IP_MATERIAL_NAME_BLENDED_QUARTZ; break;
case IP_MATERIAL_CHITIN: sName = IP_MATERIAL_NAME_CHITIN; break;
case IP_MATERIAL_DARKLEAF_ELVEN: sName = IP_MATERIAL_NAME_DARKLEAF_ELVEN; break;
case IP_MATERIAL_DLARUN: sName = IP_MATERIAL_NAME_DLARUN; break;
case IP_MATERIAL_DUSTWOOD: sName = IP_MATERIAL_NAME_DUSTWOOD; break;
case IP_MATERIAL_ELUKIAN_CLAY: sName = IP_MATERIAL_NAME_ELUKIAN_CLAY; break;
case IP_MATERIAL_ENTROPIUM: sName = IP_MATERIAL_NAME_ENTROPIUM; break;
case IP_MATERIAL_GREENSTEEL_BAATORIAN: sName = IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN; break;
case IP_MATERIAL_HIZAGKUUR: sName = IP_MATERIAL_NAME_HIZAGKUUR; break;
case IP_MATERIAL_IRON_FEVER: sName = IP_MATERIAL_NAME_IRON_FEVER; break;
case IP_MATERIAL_IRON_GEHENNAN_MORGHUTH: sName = IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH; break;
case IP_MATERIAL_LEAFWEAVE: sName = IP_MATERIAL_NAME_LEAFWEAVE; break;
case IP_MATERIAL_LIVING_METAL: sName = IP_MATERIAL_NAME_LIVING_METAL; break;
case IP_MATERIAL_MINDSTEEL_URDRUKAR: sName = IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR; break;
case IP_MATERIAL_TRUESTEEL_SOLANIAN: sName = IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN; break;
case IP_MATERIAL_WOOD_AGAFARI: sName = IP_MATERIAL_NAME_WOOD_AGAFARI; break;
case IP_MATERIAL_CRYSTAL_DASL: sName = IP_MATERIAL_NAME_CRYSTAL_DASL; break;
case IP_MATERIAL_DRAKE_IVORY: sName = IP_MATERIAL_NAME_DRAKE_IVORY; break;
case IP_MATERIAL_ROPE_GIANT_HAIR: sName = IP_MATERIAL_NAME_ROPE_GIANT_HAIR; break;
case IP_MATERIAL_OBSIDIAN: sName = IP_MATERIAL_NAME_OBSIDIAN; break;
case IP_MATERIAL_BAMBOO: sName = IP_MATERIAL_NAME_BAMBOO; break;
case IP_MATERIAL_POTTERY: sName = IP_MATERIAL_NAME_POTTERY; break;
default: return "";
}
return (bLowerCase ? GetStringLowerCase( sName) : sName);
}
//::///////////////////////////////////////////////////////////////
// int GetIPMaterial( string sMaterialName)
// Given a material name this function returns its type number (2da row)
//::///////////////////////////////////////////////////////////////
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
//
// Returns: the material type number IP_MATERIAL_* of the specified material
// name or IP_MATERIAL_INVALID if the type could not be determined
// from the specified name.
//::///////////////////////////////////////////////////////////////
int GetIPMaterial( string sMaterialName);
int GetIPMaterial( string sMaterialName)
{ if( sMaterialName == IP_MATERIAL_NAME_INVALID) return IP_MATERIAL_INVALID;
sMaterialName = GetStringUpperCase( sMaterialName);
if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_UNKNOWN)) return IP_MATERIAL_UNKNOWN;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ADAMANTINE)) return IP_MATERIAL_ADAMANTINE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BRASS)) return IP_MATERIAL_BRASS;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BRONZE)) return IP_MATERIAL_BRONZE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_CARBON)) return IP_MATERIAL_CARBON;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COLD_IRON)) return IP_MATERIAL_COLD_IRON;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COPPER)) return IP_MATERIAL_COPPER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_DARKSTEEL)) return IP_MATERIAL_DARKSTEEL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GOLD)) return IP_MATERIAL_GOLD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_IRON)) return IP_MATERIAL_IRON;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_LEAD)) return IP_MATERIAL_LEAD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_MITHRAL)) return IP_MATERIAL_MITHRAL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_PLATINUM)) return IP_MATERIAL_PLATINUM;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILVER)) return IP_MATERIAL_SILVER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILVER_ALCHEMICAL)) return IP_MATERIAL_SILVER_ALCHEMICAL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_STEEL)) return IP_MATERIAL_STEEL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BONE)) return IP_MATERIAL_BONE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE)) return IP_MATERIAL_HIDE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_SALAMANDER)) return IP_MATERIAL_HIDE_SALAMANDER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_UMBER_HULK)) return IP_MATERIAL_HIDE_UMBER_HULK;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_WYVERN)) return IP_MATERIAL_HIDE_WYVERN;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BLACK)) return IP_MATERIAL_HIDE_DRAGON_BLACK;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BLUE)) return IP_MATERIAL_HIDE_DRAGON_BLUE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BRASS)) return IP_MATERIAL_HIDE_DRAGON_BRASS;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE)) return IP_MATERIAL_HIDE_DRAGON_BRONZE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_COPPER)) return IP_MATERIAL_HIDE_DRAGON_COPPER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_GOLD)) return IP_MATERIAL_HIDE_DRAGON_GOLD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_GREEN)) return IP_MATERIAL_HIDE_DRAGON_GREEN;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_RED)) return IP_MATERIAL_HIDE_DRAGON_RED;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_SILVER)) return IP_MATERIAL_HIDE_DRAGON_SILVER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_WHITE)) return IP_MATERIAL_HIDE_DRAGON_WHITE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_LEATHER)) return IP_MATERIAL_LEATHER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SCALE)) return IP_MATERIAL_SCALE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COTTON)) return IP_MATERIAL_COTTON;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_CLOTH)) return IP_MATERIAL_CLOTH;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILK)) return IP_MATERIAL_SILK;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOL)) return IP_MATERIAL_WOOL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD)) return IP_MATERIAL_WOOD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_IRONWOOD)) return IP_MATERIAL_WOOD_IRONWOOD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_DUSKWOOD)) return IP_MATERIAL_WOOD_DUSKWOOD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR)) return IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_ASH)) return IP_MATERIAL_WOOD_ASH;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_YEW)) return IP_MATERIAL_WOOD_YEW;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_OAK)) return IP_MATERIAL_WOOD_OAK;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_PINE)) return IP_MATERIAL_WOOD_PINE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_CEDAR)) return IP_MATERIAL_WOOD_CEDAR;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL)) return IP_MATERIAL_ELEMENTAL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_AIR)) return IP_MATERIAL_ELEMENTAL_AIR;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_EARTH)) return IP_MATERIAL_ELEMENTAL_EARTH;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_FIRE)) return IP_MATERIAL_ELEMENTAL_FIRE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_WATER)) return IP_MATERIAL_ELEMENTAL_WATER;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM)) return IP_MATERIAL_GEM;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_ALEXANDRITE)) return IP_MATERIAL_GEM_ALEXANDRITE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_AMETHYST)) return IP_MATERIAL_GEM_AMETHYST;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_AVENTURINE)) return IP_MATERIAL_GEM_AVENTURINE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BELJURIL)) return IP_MATERIAL_GEM_BELJURIL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BLOODSTONE)) return IP_MATERIAL_GEM_BLOODSTONE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BLUE_DIAMOND)) return IP_MATERIAL_GEM_BLUE_DIAMOND;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CANARY_DIAMOND)) return IP_MATERIAL_GEM_CANARY_DIAMOND;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_DIAMOND)) return IP_MATERIAL_GEM_DIAMOND;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_EMERALD)) return IP_MATERIAL_GEM_EMERALD;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FIRE_AGATE)) return IP_MATERIAL_GEM_FIRE_AGATE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FIRE_OPAL)) return IP_MATERIAL_GEM_FIRE_OPAL;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FLUORSPAR)) return IP_MATERIAL_GEM_FLUORSPAR;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_GARNET)) return IP_MATERIAL_GEM_GARNET;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_GREENSTONE)) return IP_MATERIAL_GEM_GREENSTONE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_JACINTH)) return IP_MATERIAL_GEM_JACINTH;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_KINGS_TEAR)) return IP_MATERIAL_GEM_KINGS_TEAR;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_MALACHITE)) return IP_MATERIAL_GEM_MALACHITE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_OBSIDIAN)) return IP_MATERIAL_GEM_OBSIDIAN;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_PHENALOPE)) return IP_MATERIAL_GEM_PHENALOPE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_ROGUE_STONE)) return IP_MATERIAL_GEM_ROGUE_STONE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_RUBY)) return IP_MATERIAL_GEM_RUBY;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_SAPPHIRE)) return IP_MATERIAL_GEM_SAPPHIRE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE)) return IP_MATERIAL_GEM_STAR_SAPPHIRE;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_TOPAZ)) return IP_MATERIAL_GEM_TOPAZ;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP)) return IP_MATERIAL_GEM_CRYSTAL_DEEP;
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE)) return IP_MATERIAL_GEM_CRYSTAL_MUNDANE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_PAPER)) return IP_MATERIAL_PAPER;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_GLASS)) return IP_MATERIAL_GLASS;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ICE)) return IP_MATERIAL_ICE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ROPE_HEMP)) return IP_MATERIAL_ROPE_HEMP;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_STONE)) return IP_MATERIAL_STONE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DEEP_CORAL)) return IP_MATERIAL_DEEP_CORAL;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_LIVING)) return IP_MATERIAL_WOOD_LIVING;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_OBDURIUM)) return IP_MATERIAL_OBDURIUM;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_BRONZE)) return IP_MATERIAL_WOOD_BRONZE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BYESHK)) return IP_MATERIAL_BYESHK;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CALOMEL)) return IP_MATERIAL_CALOMEL;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN)) return IP_MATERIAL_CRYSTEEL_RIEDRAN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DENSEWOOD)) return IP_MATERIAL_DENSEWOOD;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DRAGONSHARD)) return IP_MATERIAL_DRAGONSHARD;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_FLAMETOUCHED)) return IP_MATERIAL_IRON_FLAMETOUCHED;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LIVEWOOD)) return IP_MATERIAL_LIVEWOOD;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_MOURNLODE_PURPLE)) return IP_MATERIAL_MOURNLODE_PURPLE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_SOARWOOD)) return IP_MATERIAL_SOARWOOD;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_TARGATH)) return IP_MATERIAL_TARGATH;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL)) return IP_MATERIAL_ASTRAL_DRIFTMETAL;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ATANDUR)) return IP_MATERIAL_ATANDUR;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BLENDED_QUARTZ)) return IP_MATERIAL_BLENDED_QUARTZ;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CHITIN)) return IP_MATERIAL_CHITIN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DARKLEAF_ELVEN)) return IP_MATERIAL_DARKLEAF_ELVEN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DLARUN)) return IP_MATERIAL_DLARUN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DUSTWOOD)) return IP_MATERIAL_DUSTWOOD;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ELUKIAN_CLAY)) return IP_MATERIAL_ELUKIAN_CLAY;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ENTROPIUM)) return IP_MATERIAL_ENTROPIUM;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN)) return IP_MATERIAL_GREENSTEEL_BAATORIAN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_HIZAGKUUR)) return IP_MATERIAL_HIZAGKUUR;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_FEVER)) return IP_MATERIAL_IRON_FEVER;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH)) return IP_MATERIAL_IRON_GEHENNAN_MORGHUTH;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LEAFWEAVE)) return IP_MATERIAL_LEAFWEAVE;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LIVING_METAL)) return IP_MATERIAL_LIVING_METAL;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR)) return IP_MATERIAL_MINDSTEEL_URDRUKAR;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN)) return IP_MATERIAL_TRUESTEEL_SOLANIAN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_AGAFARI)) return IP_MATERIAL_WOOD_AGAFARI;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CRYSTAL_DASL)) return IP_MATERIAL_CRYSTAL_DASL;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DRAKE_IVORY)) return IP_MATERIAL_DRAKE_IVORY;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ROPE_GIANT_HAIR)) return IP_MATERIAL_ROPE_GIANT_HAIR;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_OBSIDIAN)) return IP_MATERIAL_OBSIDIAN;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BAMBOO)) return IP_MATERIAL_BAMBOO;
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_POTTERY)) return IP_MATERIAL_POTTERY;
return IP_MATERIAL_INVALID;
}
//::///////////////////////////////////////////////////////////////
// string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE)
// Given an itempropety this function returns the material name of the property
// as a string if it is a material property. If the specified itemproperty is
// not a material property it returns IP_MATERIAL_NAME_INVALID.
//::///////////////////////////////////////////////////////////////
// Parameters: itemproperty ipMaterial - the itemproperty to check
// int bLowerCase - if TRUE the returned name is all lower case
// if FALSE the returned name is first letter cap
//
// Returns: the material name IP_MATERIAL_NAME_* of the material itemproperty
// or IP_MATERIAL_NAME_INVALID if the itemproperty is not a material
// itemproperty or is an invalid itemproperty.
//::///////////////////////////////////////////////////////////////
string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE);
string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE)
{
int iType = GetItemPropertyType( ipMaterial);
int iMaterial = GetItemPropertyCostTableValue( ipMaterial);
if( !GetIsItemPropertyValid( ipMaterial) || (iType != ITEM_PROPERTY_MATERIAL) || (iMaterial < IP_MATERIAL_UNKNOWN) || (iMaterial > IP_NUM_MATERIALS)) return IP_MATERIAL_NAME_INVALID;
return GetMaterialName( iMaterial, bLowerCase);
}
//::///////////////////////////////////////////////////////////////
// int IPGetMaterialType( itemproperty ipMaterial)
// Given an itempropety this function returns the material type of the property
// if it is a material itemproperty. If the specified itemproperty is invalid or
// not a material property it returns IP_MATERIAL_INVALID.
//::///////////////////////////////////////////////////////////////
// Parameters: itemproperty ipMaterial - the itemproperty to check
//
// Returns: the material type IP_MATERIAL_* of the material itemproperty or
// IP_MATERIAL_INVALID if the itemproperty is not a material itemproperty
// or is an invalid itemproperty.
//::///////////////////////////////////////////////////////////////
int IPGetMaterialType( itemproperty ipMaterial);
int IPGetMaterialType( itemproperty ipMaterial)
{
int iType = GetItemPropertyType( ipMaterial);
int iMaterial = GetItemPropertyCostTableValue( ipMaterial);
if( !GetIsItemPropertyValid( ipMaterial) || (iType != ITEM_PROPERTY_MATERIAL) || (iMaterial < IP_MATERIAL_UNKNOWN) || (iMaterial > IP_NUM_MATERIALS)) return IP_MATERIAL_INVALID;
return (((iMaterial > IP_MATERIAL_INVALID) && (iMaterial <= IP_NUM_MATERIALS)) ? iMaterial : IP_MATERIAL_INVALID);
}
//::///////////////////////////////////////////////////////////////
// itemproperty ItemPropertyMaterialByName( string sMaterialName)
// Given a valid material name this function returns a new material itemproperty of
// that type or and invalid itemproperty if the material name is not recognized.
//::///////////////////////////////////////////////////////////////
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
//
// Returns: a material itemproperty or an invalid itempropery if the specified
// material name is unrecognized.
//::///////////////////////////////////////////////////////////////
itemproperty ItemPropertyMaterialByName( string sMaterialName);
itemproperty ItemPropertyMaterialByName( string sMaterialName)
{
return ItemPropertyMaterial( GetIPMaterial( sMaterialName));
}
//::///////////////////////////////////////////////////////////////
// void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f)
// Adds a material itempropery specified by material type to an item for a
// given duration type and duration.
//::///////////////////////////////////////////////////////////////
// Parameters: int iMaterialType - the material type IP_MATERIAL_*
// int nDurationType - the duration type
// DURATION_TYPE_TEMPORARY, must also supply a duration
// DURATION_TYPE_PERMANENT, duration is ignored
// object oItem - the item to add the itempropery to.
// float fDuration - the duration in seconds that the itemproperty
// will stay on the item before being automatically
// removed. Ignored if duration type is permanent.
// Default = 0.0 seconds.
//
// Returns: none. Note this does not check to see if the material property already
// exists on the item and can add duplicate material properties to it.
//::///////////////////////////////////////////////////////////////
void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f);
void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f)
{
itemproperty ipMaterial = ItemPropertyMaterial( iMaterialType);
if( GetIsItemPropertyValid( ipMaterial)) AddItemProperty( nDurationType, ipMaterial, oItem, fDuration);
}
//::///////////////////////////////////////////////////////////////
// void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f)
// Adds a material itempropery specified by material name to an item for a
// given duration type and duration.
//::///////////////////////////////////////////////////////////////
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
// int nDurationType - the duration type
// DURATION_TYPE_TEMPORARY, must also supply a duration
// DURATION_TYPE_PERMANENT, duration is ignored
// object oItem - the item to add the itempropery to.
// float fDuration - the duration in seconds that the itemproperty
// will stay on the item before being automatically
// removed. Ignored if duration type is permanent.
// Default = 0.0 seconds.
//
// Returns: none. Note this does not check to see if the material property already
// exists on the item and can add duplicate material properties to it.
//::///////////////////////////////////////////////////////////////
void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f);
void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f)
{
IPAddMaterialProperty( GetIPMaterial( sMaterialName), nDurationType, oItem, fDuration);
}
//::///////////////////////////////////////////////////////////////
// void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
// Adds a material itempropery specified by material type to an item for a
// given duration. Checks to see if a material itemproperty of the same type
// already exists on the item and adds the new one based on the add/drop policy
// and ignore parameters specified.
//::///////////////////////////////////////////////////////////////
// Parameters: int iMaterialType - the material type IP_MATERIAL_*
// object oItem - the item to add the itempropery to.
// float fDuration - 0.0 for permanent, anything else is temporary
// Default = 0.0
// int nAddItemPropertyPolicy - the add/drop policy to use X2_IP_ADDPROP_POLICY_*
// Default = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING
// int bIgnoreDurationType - TRUE or FALSE to ignore existing itemproperty duration types.
// Default = FALSE
// int bIgnoreSubType - TRUE or FALSE to ignore existing itemproperty subtypes
// Default = FALSE
//
// Returns: none.
//::///////////////////////////////////////////////////////////////
void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE);
void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
{
itemproperty ipMaterial = ItemPropertyMaterial( iMaterialType);
if( GetIsItemPropertyValid( ipMaterial)) IPSafeAddItemProperty( oItem, ipMaterial, fDuration, nAddItemPropertyPolicy, bIgnoreDurationType, bIgnoreSubType);
}
//::///////////////////////////////////////////////////////////////
// void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
// Adds a material itempropery specified by material name to an item for a
// given duration. Checks to see if a material itemproperty of the same type
// already exists on the item and adds the new one based on the add/drop policy
// and ignore parameters specified.
//::///////////////////////////////////////////////////////////////
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
// object oItem - the item to add the itempropery to.
// float fDuration - 0.0 for permanent, anything else is temporary
// Default = 0.0
// int nAddItemPropertyPolicy - the add/drop policy to use X2_IP_ADDPROP_POLICY_*
// Default = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING
// int bIgnoreDurationType - TRUE or FALSE to ignore existing itemproperty duration types.
// Default = FALSE
// int bIgnoreSubType - TRUE or FALSE to ignore existing itemproperty subtypes
// Default = FALSE
//
// Returns: none.
//::///////////////////////////////////////////////////////////////
void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE);
void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
{
IPSafeAddMaterialProperty( GetIPMaterial( sMaterialName), oItem, fDuration, nAddItemPropertyPolicy, bIgnoreDurationType, bIgnoreSubType);
}
//::///////////////////////////////////////////////////////////////
// int GetItemHasMaterial( object oItem, int iMaterialType)
// Given a valid item and material type, this function returns TRUE if the
// item has an itemproperty of the specified type on it.
//::///////////////////////////////////////////////////////////////
// Parameters: object oItem - the item to check.
// int iMaterialType - the material type to check for IP_MATERIAL_*
//
// Returns: TRUE if the item is a valid item and has a material itemproperty of
// the specified type on it. FALSE otherwise.
//::///////////////////////////////////////////////////////////////
int GetItemHasMaterial( object oItem, int iMaterialType);
int GetItemHasMaterial( object oItem, int iMaterialType)
{
if( !GetIsObjectValid( oItem) || (GetObjectType( oItem) != OBJECT_TYPE_ITEM) ||
(iMaterialType <= IP_MATERIAL_INVALID) || (iMaterialType > IP_NUM_MATERIALS)) return FALSE;
itemproperty ipMaterial = GetFirstItemProperty( oItem);
while( GetIsItemPropertyValid( ipMaterial))
{
if( IPGetMaterialType( ipMaterial) == iMaterialType) return TRUE;
ipMaterial = GetNextItemProperty( oItem);
}
return FALSE;
}
//::///////////////////////////////////////////////////////////////
// int GetItemHasMaterialByName( object oItem, string sMaterialName)
// Given a valid item and material name, this function returns TRUE if the
// item has an itemproperty of the specified type on it.
//::///////////////////////////////////////////////////////////////
// Parameters: object oItem - the item to check.
// string sMaterialName - the material Name to check for IP_MATERIAL_NAME_*
//
// Returns: TRUE if the item is a valid item and has a material itemproperty of
// the specified type on it. FALSE otherwise.
//::///////////////////////////////////////////////////////////////
int GetItemHasMaterialByName( object oItem, string sMaterialName);
int GetItemHasMaterialByName( object oItem, string sMaterialName)
{
return GetItemHasMaterial( oItem, GetIPMaterial( sMaterialName));
}
//:: Returns the general type of material nMaterial is.
int GetMaterialType(int nMaterial);
int GetMaterialType(int nMaterial)
{
if ( nMaterial == IP_MATERIAL_INVALID )
return MATERIAL_TYPE_INVALID;
else if ( nMaterial == IP_MATERIAL_BONE
|| nMaterial == IP_MATERIAL_SCALE
|| nMaterial == IP_MATERIAL_CHITIN
|| nMaterial == IP_MATERIAL_DRAKE_IVORY )
return MATERIAL_TYPE_BONE;
else if ( nMaterial == IP_MATERIAL_ELUKIAN_CLAY
|| nMaterial == IP_MATERIAL_POTTERY )
return MATERIAL_TYPE_CERAMIC;
else if ( nMaterial == IP_MATERIAL_CLOTH
|| nMaterial == IP_MATERIAL_COTTON
|| nMaterial == IP_MATERIAL_SILK
|| nMaterial == IP_MATERIAL_WOOL )
return MATERIAL_TYPE_FABRIC;
else if ( nMaterial == IP_MATERIAL_GEM
|| nMaterial == IP_MATERIAL_GEM_ALEXANDRITE
|| nMaterial == IP_MATERIAL_GEM_AMETHYST
|| nMaterial == IP_MATERIAL_GEM_AVENTURINE
|| nMaterial == IP_MATERIAL_GEM_BELJURIL
|| nMaterial == IP_MATERIAL_GEM_BLOODSTONE
|| nMaterial == IP_MATERIAL_GEM_BLUE_DIAMOND
|| nMaterial == IP_MATERIAL_GEM_CANARY_DIAMOND
|| nMaterial == IP_MATERIAL_GEM_DIAMOND
|| nMaterial == IP_MATERIAL_GEM_EMERALD
|| nMaterial == IP_MATERIAL_GEM_FIRE_AGATE
|| nMaterial == IP_MATERIAL_GEM_FIRE_OPAL
|| nMaterial == IP_MATERIAL_GEM_FLUORSPAR
|| nMaterial == IP_MATERIAL_GEM_GARNET
|| nMaterial == IP_MATERIAL_GEM_GREENSTONE
|| nMaterial == IP_MATERIAL_GEM_JACINTH
|| nMaterial == IP_MATERIAL_GEM_KINGS_TEAR
|| nMaterial == IP_MATERIAL_GEM_MALACHITE
|| nMaterial == IP_MATERIAL_GEM_OBSIDIAN
|| nMaterial == IP_MATERIAL_GEM_PHENALOPE
|| nMaterial == IP_MATERIAL_GEM_ROGUE_STONE
|| nMaterial == IP_MATERIAL_GEM_RUBY
|| nMaterial == IP_MATERIAL_GEM_SAPPHIRE
|| nMaterial == IP_MATERIAL_GEM_STAR_SAPPHIRE
|| nMaterial == IP_MATERIAL_GEM_TOPAZ
|| nMaterial == IP_MATERIAL_GEM_CRYSTAL_DEEP
|| nMaterial == IP_MATERIAL_GEM_CRYSTAL_MUNDANE
|| nMaterial == IP_MATERIAL_GLASS
|| nMaterial == IP_MATERIAL_ICE
|| nMaterial == IP_MATERIAL_CRYSTAL_DASL
|| nMaterial == IP_MATERIAL_OBSIDIAN )
return MATERIAL_TYPE_CRYSTAL;
else if ( nMaterial == IP_MATERIAL_HIDE
|| nMaterial == IP_MATERIAL_HIDE_SALAMANDER
|| nMaterial == IP_MATERIAL_HIDE_UMBER_HULK
|| nMaterial == IP_MATERIAL_HIDE_WYVERN
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BLACK
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BLUE
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BRASS
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BRONZE
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_COPPER
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_GOLD
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_GREEN
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_RED
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_SILVER
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_WHITE
|| nMaterial == IP_MATERIAL_LEATHER
|| nMaterial == IP_MATERIAL_LEAFWEAVE )
return MATERIAL_TYPE_LEATHER;
else if ( nMaterial == IP_MATERIAL_ADAMANTINE
|| nMaterial == IP_MATERIAL_BRASS
|| nMaterial == IP_MATERIAL_COLD_IRON
|| nMaterial == IP_MATERIAL_DARKSTEEL
|| nMaterial == IP_MATERIAL_MITHRAL
|| nMaterial == IP_MATERIAL_SILVER_ALCHEMICAL
|| nMaterial == IP_MATERIAL_STEEL
|| nMaterial == IP_MATERIAL_BYESHK
|| nMaterial == IP_MATERIAL_CALOMEL
|| nMaterial == IP_MATERIAL_CRYSTEEL_RIEDRAN
|| nMaterial == IP_MATERIAL_IRON_FLAMETOUCHED
|| nMaterial == IP_MATERIAL_MOURNLODE_PURPLE
|| nMaterial == IP_MATERIAL_TARGATH
|| nMaterial == IP_MATERIAL_ASTRAL_DRIFTMETAL
|| nMaterial == IP_MATERIAL_ATANDUR
|| nMaterial == IP_MATERIAL_BLENDED_QUARTZ
|| nMaterial == IP_MATERIAL_DLARUN
|| nMaterial == IP_MATERIAL_ENTROPIUM
|| nMaterial == IP_MATERIAL_GREENSTEEL_BAATORIAN
|| nMaterial == IP_MATERIAL_HIZAGKUUR
|| nMaterial == IP_MATERIAL_IRON_FEVER
|| nMaterial == IP_MATERIAL_IRON_GEHENNAN_MORGHUTH
|| nMaterial == IP_MATERIAL_LIVING_METAL
|| nMaterial == IP_MATERIAL_MINDSTEEL_URDRUKAR
|| nMaterial == IP_MATERIAL_TRUESTEEL_SOLANIAN
|| nMaterial == IP_MATERIAL_BRONZE
|| nMaterial == IP_MATERIAL_COPPER
|| nMaterial == IP_MATERIAL_GOLD
|| nMaterial == IP_MATERIAL_IRON
|| nMaterial == IP_MATERIAL_LEAD
|| nMaterial == IP_MATERIAL_PLATINUM
|| nMaterial == IP_MATERIAL_SILVER
|| nMaterial == IP_MATERIAL_OBDURIUM )
return MATERIAL_TYPE_METAL;
else if ( nMaterial == IP_MATERIAL_PAPER )
return MATERIAL_TYPE_PAPER;
else if ( nMaterial == IP_MATERIAL_ROPE_HEMP
|| nMaterial == IP_MATERIAL_ROPE_GIANT_HAIR )
return MATERIAL_TYPE_ROPE;
else if ( nMaterial == IP_MATERIAL_CARBON
|| nMaterial == IP_MATERIAL_ELEMENTAL
|| nMaterial == IP_MATERIAL_ELEMENTAL_AIR
|| nMaterial == IP_MATERIAL_ELEMENTAL_EARTH
|| nMaterial == IP_MATERIAL_ELEMENTAL_FIRE
|| nMaterial == IP_MATERIAL_ELEMENTAL_WATER
|| nMaterial == IP_MATERIAL_STONE
|| nMaterial == IP_MATERIAL_DEEP_CORAL
|| nMaterial == IP_MATERIAL_DRAGONSHARD )
return MATERIAL_TYPE_STONE;
else if ( nMaterial == IP_MATERIAL_WOOD
|| nMaterial == IP_MATERIAL_WOOD_IRONWOOD
|| nMaterial == IP_MATERIAL_WOOD_DUSKWOOD
|| nMaterial == IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR
|| nMaterial == IP_MATERIAL_WOOD_ASH
|| nMaterial == IP_MATERIAL_WOOD_YEW
|| nMaterial == IP_MATERIAL_WOOD_OAK
|| nMaterial == IP_MATERIAL_WOOD_PINE
|| nMaterial == IP_MATERIAL_WOOD_CEDAR
|| nMaterial == IP_MATERIAL_WOOD_LIVING
|| nMaterial == IP_MATERIAL_WOOD_BRONZE
|| nMaterial == IP_MATERIAL_DENSEWOOD
|| nMaterial == IP_MATERIAL_LIVEWOOD
|| nMaterial == IP_MATERIAL_SOARWOOD
|| nMaterial == IP_MATERIAL_DARKLEAF_ELVEN
|| nMaterial == IP_MATERIAL_DUSTWOOD
|| nMaterial == IP_MATERIAL_WOOD_AGAFARI
|| nMaterial == IP_MATERIAL_BAMBOO )
return MATERIAL_TYPE_WOOD;
else { return MATERIAL_TYPE_UNKNOWN; }
}
//:: Returns the name of nMaterialType as a string.
string GetMaterialTypeName(int nMaterialType, int bLowerCase = FALSE);
string GetMaterialTypeName(int nMaterialType, int bLowerCase = FALSE)
{
string sName;
sName = Get2DACache("prc_materialtype", "Name", nMaterialType);
if (sName == "")
sName = "Invalid";
return (bLowerCase ? GetStringLowerCase( sName) : sName);
}
//:: Returns the Hardness of a material.
int GetIPMaterialHardness(int nMaterial);
int GetIPMaterialHardness(int nMaterial)
{
int nHardness;
nHardness = StringToInt(Get2DACache("prc_material", "Hardness", nMaterial));
if (nHardness < 0)
nHardness = 1000;
return nHardness;
}
//:: Returns the Hit Points Per Inch of a material.
int GetIPMaterialHitPointMod(int nMaterial);
int GetIPMaterialHitPointMod(int nMaterial)
{
int nHPMod;
nHPMod = StringToInt(Get2DACache("prc_material", "HitPointsPerInch", nMaterial));
if (nHPMod < 1)
nHPMod = 1000;
return nHPMod;
}
//:: void main(){}