Disabled Hidden Talent until it's actually finished. Fixed a few typos & some formatting.
985 lines
63 KiB
Plaintext
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(){}
|