PRC8/nwn/nwnprc/trunk/include/prc_inc_material.nss
Jaysyn904 7307efab11 Changed UserType for ToB Maneuvers
Changed UserType for ToB Maneuvers.  Removed free Imp Combat Casting from ToB base classes.  Fixed typo in Arcane Trickster skill list. Fixed bad value in damagehitvisual.2da.  Fixed typos in ecl.2da. Fixed targeting bug with Profane Lifeleech. Started working on updated materials system.  Fixed overlong filenames in materialcomp.2da and prc_spells.2da.  Fixed typo in prc_effect_inc.nss.  Added Daylight Adaptation as iprp_feat.  Fixed issue where Karsite's couldn't use spell cast from magical items.  Added missing Reth Dekala entangling blade.  Added Light Fortification for Warforged.  Added Fortification for Reth Dekala.  Added moderate fortification for Warforged Charger.  Removed Imp. Fortification from races that shouldn't have it.  Fixed missing Monstrous marker feat on Yuan-Ti Pureblood.  Updated TLK.  Updated release archive.
2024-12-13 11:33:43 -05:00

984 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
//::////////////////////////////////////////////////////////////////////////////////
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(){}