2023-09-25 20:24:01 -04:00
|
|
|
/*--------------------------------------------------------
|
|
|
|
Script Name: gen_ench_config
|
|
|
|
----------------------------------------------------------
|
|
|
|
Created By: Genisys(Guile)
|
|
|
|
Created On: 4/13/09
|
|
|
|
----------------------------------------------------------
|
|
|
|
|
|
|
|
This is the configuration INLCUDE script, which must be
|
|
|
|
saved and then you must build the module, script only,
|
|
|
|
after you are done editing it, save the module.
|
|
|
|
----------------------------------------------------------*/
|
|
|
|
//Required Inlude (DO NOT DELETE!)
|
2024-02-20 22:24:11 -05:00
|
|
|
#include "prc_x2_itemprop"
|
|
|
|
|
|
|
|
//void main (){}
|
2023-09-25 20:24:01 -04:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////OPTIONAL SETTINGS///////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
//Adjust the Constants Below to your likings...
|
|
|
|
|
|
|
|
//Set this 1-100 # to the % chance you want the Gems to spawn
|
|
|
|
//in the treasure system (ie. 1 = 1% / 60 = 60%)
|
|
|
|
const int PERC_CHANCE_SPAWNED = 40; //30% Default..
|
|
|
|
|
|
|
|
//this is the second chest, and is the HIGH number of the roll
|
|
|
|
//Set this from 70-100 for the rare chance of it spawning
|
|
|
|
//in the treasure system 2 (ie. 95 = 5% / 73 = 27%)
|
|
|
|
const int CHANCE_SPAWNED = 70; //10% Default..
|
|
|
|
|
|
|
|
//Allow Enchanting on Plot Items?? TRUE or FALSE?
|
|
|
|
const int ENCH_PLOT_ITEMS = TRUE; //Default = TRUE (Allow)
|
|
|
|
|
|
|
|
//Max # of Item Properties allowed on ANY ITEM!
|
|
|
|
const int MAX_PROPERTIES = 12;
|
|
|
|
|
|
|
|
//Max # of Damage Bonuses Allowed on any Weapon
|
|
|
|
const int MAX_DMG_TYPES = 6;
|
|
|
|
|
|
|
|
//Set This to the Ability Bonus you want the Gems
|
|
|
|
//to apply when it's used on an item
|
|
|
|
const int ABILITY_BONUS = 12;
|
|
|
|
|
|
|
|
//Set this to the Damage Bonus you want the gems to apply to the item
|
|
|
|
//Note this is for Damage Bonus not Massive Criticals!
|
|
|
|
// 1 = 1d4 / 2 = 1d6 / 3 = 1d8 / 4 = 1d10
|
|
|
|
// 5 = 2d6 / 6 = 2d8 / 7 = 2d10 / 8 = 2d12 (This is the Max Possible!)
|
|
|
|
const int MAX_DAMAGE = 8;
|
|
|
|
|
|
|
|
//Max AC Allowed on an Item..
|
|
|
|
const int MAX_AC = 8;
|
|
|
|
|
|
|
|
//Max Attack Bonus or Enchantment Bonus allowed to any weapon...
|
|
|
|
const int MAX_AB = 16;
|
|
|
|
|
|
|
|
//Set this to the Amount of Damage Immunity you want ALL Gems to give..
|
|
|
|
//NOTE: You must use the proper IP_CONST_ !
|
|
|
|
const int DMG_IMMUNE = IP_CONST_DAMAGEIMMUNITY_5_PERCENT;
|
|
|
|
|
|
|
|
//Set this to the Amount of Damage Reduction you want ALL Gems to give..
|
|
|
|
//Note the gem determines the Power (ie. +1 etc)
|
|
|
|
//NOTE: You must use the proper IP_CONST_ !
|
|
|
|
const int DMG_SOAK = IP_CONST_DAMAGESOAK_15_HP;
|
|
|
|
|
|
|
|
//Set this to the amount of Regeneration you want the
|
|
|
|
//Gem to bestow upon the item..(You should keep this low!)
|
|
|
|
const int REGEN_BONUS = 6; //1-20 (acceptable ranges)
|
|
|
|
|
|
|
|
//Set this to the amount of Vampiric Regeneration you want
|
|
|
|
//The Gem to bestow upon the weapon / ammunition (over 5 = UBER!)
|
|
|
|
const int VAMP_BONUS = 8;
|
|
|
|
|
|
|
|
//Set this to the amount of Mighty you wish the gem to bestow
|
|
|
|
//upon the ranged weapon (1-20 is the acceptable range)
|
|
|
|
const int MIGHTY_BONUS = 16;
|
|
|
|
|
|
|
|
//Set this to the Amount of Skill Bonuses the gems will give. (set #)
|
|
|
|
const int SKILL_BONUS = 20;
|
|
|
|
|
|
|
|
//NOTE: This represents the Bonus that will be added to the item!
|
|
|
|
//This bonus will not stack, it is strictly what you set it here to be!
|
|
|
|
const int SAVE_BONUS = 5; // 1-20 = Possible Options..
|
|
|
|
|
|
|
|
//Max Spell Resistance on any item..
|
|
|
|
const int MAX_SPELL_RESIST = 32;
|
|
|
|
|
|
|
|
//Set the Damage Resistance (NON_HOU) (Use constant!)
|
|
|
|
//This is a one time use Gem..
|
|
|
|
const int MAX_DMG_RESIST = IP_CONST_DAMAGERESIST_30;
|
|
|
|
|
|
|
|
//Set the Damage Resist for HOU (ie. Magical / Divine / Positive/Negative)
|
|
|
|
//This is a one time use gem.. (Use constant!)
|
|
|
|
const int MAX_HOU_RESIST = IP_CONST_DAMAGERESIST_5;
|
|
|
|
|
|
|
|
//Set this to the Const On Hit Save DC You wish On Hit Items To Have..
|
|
|
|
const int ON_HIT_SAVE_DC = IP_CONST_ONHIT_SAVEDC_26;
|
|
|
|
|
|
|
|
//Set this to TRUE If you wish to allow AC to be enchanted on Weapons!
|
|
|
|
const int AC_ON_WEAPONS = TRUE; //Default = FALSE (Don't allow AC on Weapons!)
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////WARNING DO NOT TOUCH ANYTHING BELOW THIS LINE!!!//////////
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
//Define ALL major prototypes in this script...
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
//POROTYPE DEFINED
|
|
|
|
int GetIsLegalItem(object oItem, int nType)
|
|
|
|
{
|
|
|
|
int n;
|
|
|
|
|
|
|
|
if(nType == BASE_ITEM_BLANK_POTION || nType == BASE_ITEM_BLANK_SCROLL ||
|
|
|
|
nType == BASE_ITEM_BLANK_WAND || nType == BASE_ITEM_ARROW ||
|
|
|
|
nType == BASE_ITEM_BOLT || nType == BASE_ITEM_BOOK ||
|
|
|
|
nType == BASE_ITEM_BULLET || nType == BASE_ITEM_CRAFTMATERIALMED ||
|
|
|
|
nType == BASE_ITEM_CRAFTMATERIALSML || nType == BASE_ITEM_DART ||
|
|
|
|
nType == BASE_ITEM_ENCHANTED_POTION || nType == BASE_ITEM_ENCHANTED_SCROLL ||
|
|
|
|
nType == BASE_ITEM_ENCHANTED_WAND || nType == BASE_ITEM_GEM ||
|
|
|
|
nType == BASE_ITEM_GOLD || nType == BASE_ITEM_GRENADE ||
|
|
|
|
nType == BASE_ITEM_HEALERSKIT || nType == BASE_ITEM_INVALID ||
|
|
|
|
nType == BASE_ITEM_KEY || nType == BASE_ITEM_LARGEBOX ||
|
|
|
|
nType == BASE_ITEM_MAGICROD || nType == BASE_ITEM_MAGICWAND ||
|
|
|
|
nType == BASE_ITEM_MISCLARGE || nType == BASE_ITEM_MISCMEDIUM ||
|
|
|
|
nType == BASE_ITEM_BLANK_POTION || nType == BASE_ITEM_BLANK_POTION ||
|
|
|
|
nType == BASE_ITEM_MISCSMALL || nType == BASE_ITEM_MISCTALL ||
|
|
|
|
nType == BASE_ITEM_MISCTHIN || nType == BASE_ITEM_MISCWIDE ||
|
|
|
|
nType == BASE_ITEM_POTIONS || nType == BASE_ITEM_SHURIKEN ||
|
|
|
|
nType == BASE_ITEM_SPELLSCROLL || nType == BASE_ITEM_THROWINGAXE ||
|
|
|
|
nType == BASE_ITEM_TORCH || nType == BASE_ITEM_TRAPKIT)
|
|
|
|
{ n = 0; }
|
|
|
|
|
|
|
|
//If it's not one of the above it must be good to enchant!
|
|
|
|
else
|
|
|
|
{ n = 1; }
|
|
|
|
|
|
|
|
return n;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
int DefinePropertyType(string sType)
|
|
|
|
{
|
|
|
|
int n;
|
|
|
|
|
|
|
|
if(sType == "IP_CONST_ABILITY_CHA")
|
|
|
|
{ n = IP_CONST_ABILITY_CHA; }
|
|
|
|
else if(sType == "IP_CONST_ABILITY_CON")
|
|
|
|
{ n = IP_CONST_ABILITY_CON; }
|
|
|
|
else if(sType == "IP_CONST_ABILITY_DEX")
|
|
|
|
{ n = IP_CONST_ABILITY_DEX; }
|
|
|
|
else if(sType == "IP_CONST_ABILITY_INT")
|
|
|
|
{ n = IP_CONST_ABILITY_INT; }
|
|
|
|
else if(sType == "IP_CONST_ABILITY_STR")
|
|
|
|
{ n = IP_CONST_ABILITY_STR; }
|
|
|
|
else if(sType == "IP_CONST_ABILITY_WIS")
|
|
|
|
{ n = IP_CONST_ABILITY_WIS; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_BACKSTAB")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_BACKSTAB; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_CRITICAL_HITS")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_CRITICAL_HITS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_DEATH_MAGIC")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_DEATH_MAGIC; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_DISEASE")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_DISEASE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_FEAR")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_FEAR; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_KNOCKDOWN")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_KNOCKDOWN; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_MINDSPELLS")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_MINDSPELLS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_PARALYSIS")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_PARALYSIS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYMISC_POISON")
|
|
|
|
{ n = IP_CONST_IMMUNITYMISC_POISON; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_ACID")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_ACID; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_BLUDGEONING")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_BLUDGEONING; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_COLD")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_COLD; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_DIVINE")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_DIVINE; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_ELECTRICAL")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_ELECTRICAL; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_FIRE")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_FIRE; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_MAGICAL")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_MAGICAL; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_NEGATIVE")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_NEGATIVE; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_PIERCING")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_PIERCING; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_POSITIVE")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_POSITIVE; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_SLASHING")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_SLASHING; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGETYPE_SONIC")
|
|
|
|
{ n = IP_CONST_DAMAGETYPE_SONIC; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_1")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_1; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_2")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_2; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_3")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_3; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_4")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_4; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_5")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_5; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_6")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_6; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_7")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_7; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_8")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_8; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_9")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_9; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_10")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_10; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_11")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_11; }
|
|
|
|
else if(sType == "IP_CONST_DAMAGEREDUCTION_12")
|
|
|
|
{ n = IP_CONST_DAMAGEREDUCTION_12; }
|
|
|
|
|
|
|
|
else if(sType == "SKILL_ANIMAL_EMPATHY")
|
|
|
|
{ n = SKILL_ANIMAL_EMPATHY; }
|
|
|
|
else if(sType == "SKILL_APPRAISE")
|
|
|
|
{ n = SKILL_APPRAISE; }
|
|
|
|
else if(sType == "SKILL_BLUFF")
|
|
|
|
{ n = SKILL_BLUFF; }
|
|
|
|
else if(sType == "SKILL_CONCENTRATION")
|
|
|
|
{ n = SKILL_CONCENTRATION; }
|
|
|
|
else if(sType == "SKILL_CRAFT_ARMOR")
|
|
|
|
{ n = SKILL_CRAFT_ARMOR; }
|
|
|
|
else if(sType == "SKILL_CRAFT_TRAP")
|
|
|
|
{ n = SKILL_CRAFT_TRAP; }
|
|
|
|
else if(sType == "SKILL_CRAFT_WEAPON")
|
|
|
|
{ n = SKILL_CRAFT_WEAPON; }
|
|
|
|
else if(sType == "SKILL_DISABLE_TRAP")
|
|
|
|
{ n = SKILL_DISABLE_TRAP; }
|
|
|
|
else if(sType == "SKILL_DISCIPLINE")
|
|
|
|
{ n = SKILL_DISCIPLINE; }
|
|
|
|
else if(sType == "SKILL_HEAL")
|
|
|
|
{ n = SKILL_HEAL; }
|
|
|
|
else if(sType == "SKILL_HIDE")
|
|
|
|
{ n = SKILL_HIDE; }
|
|
|
|
else if(sType == "SKILL_INTIMIDATE")
|
|
|
|
{ n = SKILL_INTIMIDATE; }
|
|
|
|
else if(sType == "SKILL_LISTEN")
|
|
|
|
{ n = SKILL_LISTEN; }
|
|
|
|
else if(sType == "SKILL_LORE")
|
|
|
|
{ n = SKILL_LORE; }
|
|
|
|
else if(sType == "SKILL_MOVE_SILENTLY")
|
|
|
|
{ n = SKILL_MOVE_SILENTLY; }
|
|
|
|
else if(sType == "SKILL_OPEN_LOCK")
|
|
|
|
{ n = SKILL_OPEN_LOCK; }
|
|
|
|
else if(sType == "SKILL_PARRY")
|
|
|
|
{ n = SKILL_PARRY; }
|
|
|
|
else if(sType == "SKILL_PERFORM")
|
|
|
|
{ n = SKILL_PERFORM; }
|
|
|
|
else if(sType == "SKILL_PERSUADE")
|
|
|
|
{ n = SKILL_PERSUADE; }
|
|
|
|
else if(sType == "SKILL_PICK_POCKET")
|
|
|
|
{ n = SKILL_PICK_POCKET; }
|
|
|
|
else if(sType == "SKILL_RIDE")
|
|
|
|
{ n = SKILL_RIDE; }
|
|
|
|
else if(sType == "SKILL_SEARCH")
|
|
|
|
{ n = SKILL_SEARCH; }
|
|
|
|
else if(sType == "SKILL_SET_TRAP")
|
|
|
|
{ n = SKILL_SET_TRAP; }
|
|
|
|
else if(sType == "SKILL_SPELLCRAFT")
|
|
|
|
{ n = SKILL_SPELLCRAFT; }
|
|
|
|
else if(sType == "SKILL_SPOT")
|
|
|
|
{ n = SKILL_SPOT; }
|
|
|
|
else if(sType == "SKILL_TAUNT")
|
|
|
|
{ n = SKILL_TAUNT; }
|
|
|
|
else if(sType == "SKILL_TUMBLE")
|
|
|
|
{ n = SKILL_TUMBLE; }
|
|
|
|
else if(sType == "SKILL_USE_MAGIC_DEVICE")
|
|
|
|
{ n = SKILL_USE_MAGIC_DEVICE; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_ONHIT_ABILITYDRAIN")
|
|
|
|
{ n = IP_CONST_ONHIT_ABILITYDRAIN; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_BLINDNESS")
|
|
|
|
{ n = IP_CONST_ONHIT_BLINDNESS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_CONFUSION")
|
|
|
|
{ n = IP_CONST_ONHIT_CONFUSION; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DAZE")
|
|
|
|
{ n = IP_CONST_ONHIT_DAZE; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DEAFNESS")
|
|
|
|
{ n = IP_CONST_ONHIT_DEAFNESS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DISEASE")
|
|
|
|
{ n = IP_CONST_ONHIT_DISEASE; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DISPELMAGIC")
|
|
|
|
{ n = IP_CONST_ONHIT_DISPELMAGIC; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DOOM")
|
|
|
|
{ n = IP_CONST_ONHIT_DOOM; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_FEAR")
|
|
|
|
{ n = IP_CONST_ONHIT_FEAR; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_GREATERDISPEL")
|
|
|
|
{ n = IP_CONST_ONHIT_GREATERDISPEL; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_HOLD")
|
|
|
|
{ n = IP_CONST_ONHIT_HOLD; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_ITEMPOISON")
|
|
|
|
{ n = IP_CONST_ONHIT_ITEMPOISON; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_KNOCK")
|
|
|
|
{ n = IP_CONST_ONHIT_KNOCK; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_LESSERDISPEL")
|
|
|
|
{ n = IP_CONST_ONHIT_LESSERDISPEL; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_LEVELDRAIN")
|
|
|
|
{ n = IP_CONST_ONHIT_LEVELDRAIN; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_MORDSDISJUNCTION")
|
|
|
|
{ n = IP_CONST_ONHIT_MORDSDISJUNCTION; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SILENCE")
|
|
|
|
{ n = IP_CONST_ONHIT_SILENCE; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SLAYALIGNMENT")
|
|
|
|
{ n = IP_CONST_ONHIT_SLAYALIGNMENT; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SLAYALIGNMENTGROUP")
|
|
|
|
{ n = IP_CONST_ONHIT_SLAYALIGNMENTGROUP; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SLAYRACE")
|
|
|
|
{ n = IP_CONST_ONHIT_SLAYRACE; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SLEEP")
|
|
|
|
{ n = IP_CONST_ONHIT_SLEEP; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_SLOW")
|
|
|
|
{ n = IP_CONST_ONHIT_SLOW; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_STUN")
|
|
|
|
{ n = IP_CONST_ONHIT_STUN; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_VORPAL")
|
|
|
|
{ n = IP_CONST_ONHIT_VORPAL; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_WOUNDING")
|
|
|
|
{ n = IP_CONST_ONHIT_WOUNDING; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DURATION_10_PERCENT_4_ROUNDS")
|
|
|
|
{ n = IP_CONST_ONHIT_DURATION_10_PERCENT_4_ROUNDS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DURATION_25_PERCENT_3_ROUNDS")
|
|
|
|
{ n = IP_CONST_ONHIT_DURATION_25_PERCENT_3_ROUNDS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DURATION_5_PERCENT_5_ROUNDS")
|
|
|
|
{ n = IP_CONST_ONHIT_DURATION_5_PERCENT_5_ROUNDS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS")
|
|
|
|
{ n = IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS; }
|
|
|
|
else if(sType == "IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND")
|
|
|
|
{ n = IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_CHADAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_CHADAMAGE; }
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_CONDAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_CONDAMAGE; }
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_DEXDAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_DEXDAMAGE; }
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_INTDAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_INTDAMAGE; }
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_STRDAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_STRDAMAGE; }
|
|
|
|
else if(sType == "IP_CONST_POISON_1D2_WISDAMAGE")
|
|
|
|
{ n = IP_CONST_POISON_1D2_WISDAMAGE; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_ABERRATION")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_ABERRATION; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_ANIMAL")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_ANIMAL; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_BEAST")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_BEAST; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_CONSTRUCT")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_CONSTRUCT; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_DRAGON")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_DRAGON; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_DWARF")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_DWARF; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_ELEMENTAL")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_ELEMENTAL; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_ELF")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_ELF; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_FEY")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_FEY; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_GIANT")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_GIANT; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_GNOME")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_GNOME; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HALFELF")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HALFELF; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HALFLING")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HALFLING; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HALFORC")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HALFORC; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HUMAN")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HUMAN; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HUMANOID_GOBLINOID")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HUMANOID_GOBLINOID; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HUMANOID_MONSTROUS")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HUMANOID_MONSTROUS; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HUMANOID_ORC")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HUMANOID_ORC; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_HUMANOID_REPTILIAN")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_HUMANOID_REPTILIAN; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_MAGICAL_BEAST")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_MAGICAL_BEAST; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_OUTSIDER")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_OUTSIDER; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_SHAPECHANGER")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_SHAPECHANGER; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_UNDEAD")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_UNDEAD; }
|
|
|
|
else if(sType == "IP_CONST_RACIALTYPE_VERMIN")
|
|
|
|
{ n = IP_CONST_RACIALTYPE_VERMIN; }
|
|
|
|
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_1D6COLD")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_1D6COLD; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_1D6FIRE")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_1D6FIRE; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_1D6LIGHT")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_1D6LIGHT; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_BASIC")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_BASIC; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_PLUS1")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_PLUS1; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_PLUS2")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_PLUS2; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_PLUS3")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_PLUS3; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_PLUS4")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_PLUS4; }
|
|
|
|
else if(sType == "IP_CONST_UNLIMITEDAMMO_PLUS5")
|
|
|
|
{ n = IP_CONST_UNLIMITEDAMMO_PLUS5; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_ACID_FOG")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_ACID_FOG; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_BESTOW_CURSE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_BESTOW_CURSE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_BLINDNESS_AND_DEAFNESS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_BURNING_HANDS")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_BURNING_HANDS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CALL_LIGHTNING")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CALL_LIGHTNING; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CHAIN_LIGHTNING")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CHAIN_LIGHTNING; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CHARM_PERSON")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CHARM_PERSON; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CHARM_PERSON_OR_ANIMAL")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CHARM_PERSON_OR_ANIMAL; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DEATH")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DEATH; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DOOM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CIRCLE_OF_DOOM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CLOUDKILL")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CLOUDKILL; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_COLOR_SPRAY")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_COLOR_SPRAY; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CONE_OF_COLD")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CONE_OF_COLD; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CONFUSION")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CONFUSION; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_CONTAGION")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_CONTAGION; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_DARKNESS")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_DARKNESS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_DAZE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_DAZE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_DELAYED_BLAST_FIREBALL")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_DELAYED_BLAST_FIREBALL; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_DOOM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_DOOM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_ENERGY_DRAIN")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_ENERGY_DRAIN; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_ENTANGLE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_ENTANGLE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_EVARDS_BLACK_TENTACLES")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_EVARDS_BLACK_TENTACLES; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FEAR")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FEAR; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FEEBLEMIND")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FEEBLEMIND; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FINGER_OF_DEATH")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FINGER_OF_DEATH; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FIRE_STORM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FIRE_STORM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FIREBALL")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FIREBALL; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FLAME_ARROW")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FLAME_ARROW; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FLAME_LASH")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FLAME_LASH; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_FLAME_STRIKE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_FLAME_STRIKE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_HAMMER_OF_THE_GODS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_HARM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_HARM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_HOLD_PERSON")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_HOLD_PERSON; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_IMPLOSION")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_IMPLOSION; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_INCENDIARY_CLOUD")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_INCENDIARY_CLOUD; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_LIGHTNING_BOLT; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_MAGIC_MISSILE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_MASS_BLINDNESS_AND_DEAFNESS")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_MASS_BLINDNESS_AND_DEAFNESS; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_MASS_CHARM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_MASS_CHARM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_MELFS_ACID_ARROW; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_METEOR_SWARM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_METEOR_SWARM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_MIND_FOG")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_MIND_FOG; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_PHANTASMAL_KILLER")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_PHANTASMAL_KILLER; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_POISON")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_POISON; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_POWER_WORD_KILL; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_POWER_WORD_STUN")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_POWER_WORD_STUN; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_PRISMATIC_SPRAY; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_RAY_OF_ENFEEBLEMENT")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_RAY_OF_ENFEEBLEMENT; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_RAY_OF_FROST")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_RAY_OF_FROST; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SCARE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SCARE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SEARING_LIGHT")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SEARING_LIGHT; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SILENCE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SILENCE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SLAY_LIVING")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SLAY_LIVING; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SLEEP")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SLEEP; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SLOW")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SLOW; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SOUND_BURST")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SOUND_BURST; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_STINKING_CLOUD")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_STINKING_CLOUD; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_STORM_OF_VENGEANCE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_STORM_OF_VENGEANCE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_SUNBEAM")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_SUNBEAM; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_WAIL_OF_THE_BANSHEE")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_WAIL_OF_THE_BANSHEE; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_WAR_CRY")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_WAR_CRY; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_WEB")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_WEB; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_WEIRD")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_WEIRD; }
|
|
|
|
else if(sType == "IP_CONST_IMMUNITYSPELL_WORD_OF_FAITH")
|
|
|
|
{ n = IP_CONST_IMMUNITYSPELL_WORD_OF_FAITH; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_FEAT_ALERTNESS")
|
|
|
|
{ n = IP_CONST_FEAT_ALERTNESS; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_AMBIDEXTROUS")
|
|
|
|
{ n = IP_CONST_FEAT_AMBIDEXTROUS; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_ARMOR_PROF_HEAVY")
|
|
|
|
{ n = IP_CONST_FEAT_ARMOR_PROF_HEAVY; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_ARMOR_PROF_LIGHT")
|
|
|
|
{ n = IP_CONST_FEAT_ARMOR_PROF_LIGHT; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_ARMOR_PROF_MEDIUM")
|
|
|
|
{ n = IP_CONST_FEAT_ARMOR_PROF_MEDIUM; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_CLEAVE")
|
|
|
|
{ n = IP_CONST_FEAT_CLEAVE; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_COMBAT_CASTING")
|
|
|
|
{ n = IP_CONST_FEAT_COMBAT_CASTING; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_DISARM")
|
|
|
|
{ n = IP_CONST_FEAT_DISARM; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_DISARM_WHIP")
|
|
|
|
{ n = IP_CONST_FEAT_DISARM_WHIP; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_DODGE")
|
|
|
|
{ n = IP_CONST_FEAT_DODGE; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_EXTRA_TURNING")
|
|
|
|
{ n = IP_CONST_FEAT_EXTRA_TURNING; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_HIDE_IN_PLAIN_SIGHT")
|
|
|
|
{ n = IP_CONST_FEAT_HIDE_IN_PLAIN_SIGHT; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_IMPCRITUNARM")
|
|
|
|
{ n = IP_CONST_FEAT_IMPCRITUNARM; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_KNOCKDOWN")
|
|
|
|
{ n = IP_CONST_FEAT_KNOCKDOWN; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_MOBILITY")
|
|
|
|
{ n = IP_CONST_FEAT_MOBILITY; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_POINTBLANK")
|
|
|
|
{ n = IP_CONST_FEAT_POINTBLANK; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_POWERATTACK")
|
|
|
|
{ n = IP_CONST_FEAT_POWERATTACK; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_RAPID_SHOT")
|
|
|
|
{ n = IP_CONST_FEAT_RAPID_SHOT; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SHIELD_PROFICIENCY")
|
|
|
|
{ n = IP_CONST_FEAT_SHIELD_PROFICIENCY; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SNEAK_ATTACK_1D6")
|
|
|
|
{ n = IP_CONST_FEAT_SNEAK_ATTACK_1D6; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SNEAK_ATTACK_2D6")
|
|
|
|
{ n = IP_CONST_FEAT_SNEAK_ATTACK_2D6; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SNEAK_ATTACK_3D6")
|
|
|
|
{ n = IP_CONST_FEAT_SNEAK_ATTACK_3D6; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SNEAK_ATTACK_5D6")
|
|
|
|
{ n = IP_CONST_FEAT_SNEAK_ATTACK_5D6; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSABJ")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSABJ; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSCON")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSCON; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSDIV")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSDIV; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSENC")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSENC; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSEVO")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSEVO; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSILL")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSILL; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLFOCUSNEC")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLFOCUSNEC; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_SPELLPENETRATION")
|
|
|
|
{ n = IP_CONST_FEAT_SPELLPENETRATION; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_TWO_WEAPON_FIGHTING")
|
|
|
|
{ n = IP_CONST_FEAT_TWO_WEAPON_FIGHTING; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_USE_POISON")
|
|
|
|
{ n = IP_CONST_FEAT_USE_POISON; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPFINESSE")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPFINESSE; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPON_PROF_CREATURE")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPON_PROF_CREATURE; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPON_PROF_EXOTIC")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPON_PROF_EXOTIC; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPON_PROF_MARTIAL")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPON_PROF_MARTIAL; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPON_PROF_SIMPLE")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPON_PROF_SIMPLE; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WEAPSPEUNARM")
|
|
|
|
{ n = IP_CONST_FEAT_WEAPSPEUNARM; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WHIRLWIND")
|
|
|
|
{ n = IP_CONST_FEAT_WHIRLWIND; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_CE")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_CE; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_CG")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_CG; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_CN")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_CN; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_LE")
|
|
|
|
{ n = IP_CONST_FEAT_WHIRLWIND; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_LE")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_LE; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_LG")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_LG; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_LN")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_LN; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_NE")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_NE; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_NG")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_NG; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENT_TN")
|
|
|
|
{ n = IP_CONST_ALIGNMENT_TN; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_ALL")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_ALL; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_CHAOTIC")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_CHAOTIC; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_EVIL")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_EVIL; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_GOOD")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_GOOD; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_LAWFUL")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_LAWFUL; }
|
|
|
|
else if(sType == "IP_CONST_ALIGNMENTGROUP_NEUTRAL")
|
|
|
|
{ n = IP_CONST_ALIGNMENTGROUP_NEUTRAL; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_FEAT_WHIRLWIND")
|
|
|
|
{ n = IP_CONST_FEAT_WHIRLWIND; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WHIRLWIND")
|
|
|
|
{ n = IP_CONST_FEAT_WHIRLWIND; }
|
|
|
|
else if(sType == "IP_CONST_FEAT_WHIRLWIND")
|
|
|
|
{ n = IP_CONST_FEAT_WHIRLWIND; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_0")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_0; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_1")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_1; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_2")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_2; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_3")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_3; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_4")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_4; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_5")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_5; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_6")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_6; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_7")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_7; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_8")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_8; }
|
|
|
|
else if(sType == "IP_CONST_SPELLLEVEL_9")
|
|
|
|
{ n = IP_CONST_SPELLLEVEL_9; }
|
|
|
|
|
|
|
|
else if(sType == "IP_CONST_CLASS_BARBARIAN")
|
|
|
|
{ n = IP_CONST_CLASS_BARBARIAN; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_BARD")
|
|
|
|
{ n = IP_CONST_CLASS_BARD; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_CLERIC")
|
|
|
|
{ n = IP_CONST_CLASS_CLERIC; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_DRUID")
|
|
|
|
{ n = IP_CONST_CLASS_DRUID; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_FIGHTER")
|
|
|
|
{ n = IP_CONST_CLASS_FIGHTER; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_MONK")
|
|
|
|
{ n = IP_CONST_CLASS_MONK; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_PALADIN")
|
|
|
|
{ n = IP_CONST_CLASS_PALADIN; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_RANGER")
|
|
|
|
{ n = IP_CONST_CLASS_RANGER; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_ROGUE")
|
|
|
|
{ n = IP_CONST_CLASS_ROGUE; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_SORCERER")
|
|
|
|
{ n = IP_CONST_CLASS_SORCERER; }
|
|
|
|
else if(sType == "IP_CONST_CLASS_WIZARD")
|
|
|
|
{ n = IP_CONST_CLASS_WIZARD; }
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
//This returns the Massive Critical Damage to be applied to the weapon
|
|
|
|
int GetIsAmmo(int nType)
|
|
|
|
{
|
|
|
|
int n;
|
|
|
|
n = FALSE;
|
|
|
|
|
|
|
|
if(nType == BASE_ITEM_ARROW || nType == BASE_ITEM_BOLT ||
|
|
|
|
nType == BASE_ITEM_BULLET || nType == BASE_ITEM_DART ||
|
|
|
|
nType == BASE_ITEM_SHURIKEN || nType == BASE_ITEM_THROWINGAXE)
|
|
|
|
{ n = TRUE; }
|
|
|
|
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
//This returns the Massive Critical Damage to be applied to the weapon
|
|
|
|
int GetDmgBonus()
|
|
|
|
{
|
|
|
|
int n;
|
|
|
|
int a = MAX_DAMAGE;
|
|
|
|
if(a==1)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_1d4; }
|
|
|
|
else if(a==2)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_1d6; }
|
|
|
|
else if(a==3)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_1d8; }
|
|
|
|
else if(a==4)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_1d10; }
|
|
|
|
else if(a==5)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_2d6; }
|
|
|
|
else if(a==6)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_2d8; }
|
|
|
|
else if(a==7)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_2d10; }
|
|
|
|
else if(a==8)
|
|
|
|
{ n = IP_CONST_DAMAGEBONUS_2d12; }
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROROTYPE DEFINED
|
|
|
|
|
|
|
|
|
|
|
|
int GetIsACItem(object oItem, int nType)
|
|
|
|
{
|
|
|
|
//Not True unless we say it is!
|
|
|
|
int n;
|
|
|
|
|
|
|
|
//Only Allow AC on these types of items!
|
|
|
|
if(nType == BASE_ITEM_AMULET || nType == BASE_ITEM_BELT ||
|
|
|
|
nType == BASE_ITEM_BOOTS || nType == BASE_ITEM_BRACER ||
|
|
|
|
nType == BASE_ITEM_CLOAK || nType == BASE_ITEM_GLOVES ||
|
|
|
|
nType == BASE_ITEM_HELMET || nType == BASE_ITEM_SMALLSHIELD ||
|
|
|
|
nType == BASE_ITEM_TOWERSHIELD || nType == BASE_ITEM_LARGESHIELD ||
|
|
|
|
nType == BASE_ITEM_RING || nType == BASE_ITEM_ARMOR)
|
|
|
|
{
|
|
|
|
n = 1;
|
|
|
|
}
|
|
|
|
//If we allow AC on weapons!
|
|
|
|
else if(AC_ON_WEAPONS == TRUE)
|
|
|
|
{
|
|
|
|
if(IPGetIsMeleeWeapon(oItem))
|
|
|
|
n = 1;
|
|
|
|
else if(IPGetIsRangedWeapon(oItem))
|
|
|
|
n = 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
n = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return n;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
int GetHasLowSR(object oItem)
|
|
|
|
{
|
|
|
|
int n;
|
|
|
|
itemproperty iSR = ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_10);
|
|
|
|
itemproperty ip = GetFirstItemProperty(oItem);
|
|
|
|
while(GetIsItemPropertyValid(ip))
|
|
|
|
{
|
|
|
|
if(ip == iSR)
|
|
|
|
{ n = 1; }
|
|
|
|
|
|
|
|
ip = GetNextItemProperty(oItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
int GetBonusSpellCount(object oItem)
|
|
|
|
{
|
|
|
|
int n = 0;
|
|
|
|
int a = ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N;
|
|
|
|
|
|
|
|
itemproperty ip = GetFirstItemProperty(oItem);
|
|
|
|
while(GetIsItemPropertyValid(ip))
|
|
|
|
{
|
|
|
|
if(GetItemPropertyType(ip) == a)
|
|
|
|
{ n += 1; }
|
|
|
|
|
|
|
|
ip = GetNextItemProperty(oItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
//This Int will define the bonsues to be applied to items...
|
|
|
|
int GetPropertyBonus(object oItem, int nPropertyType, int nValue)
|
|
|
|
{
|
|
|
|
int nProp = nPropertyType;
|
|
|
|
int n;
|
|
|
|
int c;
|
|
|
|
|
|
|
|
//Loop through the Item Property Types and Define the next
|
|
|
|
//Bonus to be added to the item...
|
|
|
|
switch(nProp)
|
|
|
|
{
|
|
|
|
case ITEM_PROPERTY_AC_BONUS:
|
|
|
|
{
|
|
|
|
switch(nValue)
|
|
|
|
{
|
|
|
|
case 0: { n = 1; } break;
|
|
|
|
case 1: { n = 2; } break;
|
|
|
|
case 2: { n = 3; } break;
|
|
|
|
case 3: { n = 4; } break;
|
|
|
|
case 4: { n = 5; } break;
|
|
|
|
case 5: { n = 6; } break;
|
|
|
|
case 6: { n = 7; } break;
|
|
|
|
case 7: { n = 8; } break;
|
|
|
|
case 8: { n = 9; } break;
|
|
|
|
case 9: { n = 10; } break;
|
|
|
|
case 10: { n = 11; } break;
|
|
|
|
case 11: { n = 12; } break;
|
|
|
|
case 12: { n = 13; } break;
|
|
|
|
case 13: { n = 14; } break;
|
|
|
|
case 14: { n = 15; } break;
|
|
|
|
case 15: { n = 16; } break;
|
|
|
|
case 16: { n = 17; } break;
|
|
|
|
case 17: { n = 18; } break;
|
|
|
|
case 18: { n = 19; } break;
|
|
|
|
case 19: { n = 20; } break;
|
|
|
|
case 20: { n = 20; } break;
|
|
|
|
}
|
|
|
|
} break;
|
|
|
|
|
|
|
|
case ITEM_PROPERTY_SPELL_RESISTANCE: //If it's Spell Resistance...
|
|
|
|
{
|
|
|
|
switch(nValue)//Pass it the Cost Table #
|
|
|
|
{
|
|
|
|
case 0: { n = IP_CONST_SPELLRESISTANCEBONUS_12;}break;
|
|
|
|
case 1: { n = IP_CONST_SPELLRESISTANCEBONUS_14;}break;
|
|
|
|
case 2: { if(MAX_SPELL_RESIST ==14) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_16;}break;
|
|
|
|
case 3: { if(MAX_SPELL_RESIST ==16) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_18;}break;
|
|
|
|
case 4: { if(MAX_SPELL_RESIST ==18) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_20;}break;
|
|
|
|
case 5: { if(MAX_SPELL_RESIST ==20) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_22; }break;
|
|
|
|
case 6: { if(MAX_SPELL_RESIST ==22) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_24;}break;
|
|
|
|
case 7: { if(MAX_SPELL_RESIST ==24) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_26;}break;
|
|
|
|
case 8: { if(MAX_SPELL_RESIST ==26) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_28;}break;
|
|
|
|
case 9: { if(MAX_SPELL_RESIST ==28) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_30;}break;
|
|
|
|
case 10: { if(MAX_SPELL_RESIST ==30) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_32;}break;
|
|
|
|
case 11: { if(MAX_SPELL_RESIST ==32) n = 99; else n = IP_CONST_SPELLRESISTANCEBONUS_32;}break;
|
|
|
|
default: { n = IP_CONST_SPELLRESISTANCEBONUS_12;}break;
|
|
|
|
}
|
|
|
|
} break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//Tell the GetIPValue Int what n truly should be!
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
//This Int will determine the existing Bonus on the item
|
|
|
|
int GetIPValue(object oItem, int nPropertyType)
|
|
|
|
{
|
|
|
|
itemproperty ip;
|
|
|
|
int n;
|
|
|
|
int a;
|
|
|
|
|
|
|
|
ip = GetFirstItemProperty(oItem);
|
|
|
|
while (GetIsItemPropertyValid(ip))
|
|
|
|
{
|
|
|
|
// same property type?
|
|
|
|
if ((GetItemPropertyType(ip) == nPropertyType))
|
|
|
|
{
|
|
|
|
|
|
|
|
//Return the Cost Table Value from the property...
|
|
|
|
a = GetItemPropertyCostTableValue(ip);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
ip = GetNextItemProperty(oItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//Find the next Bonus to be added to the item!
|
|
|
|
n = GetPropertyBonus(oItem, nPropertyType, a);
|
|
|
|
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
int GetTotalDmgBonuses(object oItem)
|
|
|
|
{
|
|
|
|
int n = 0;
|
|
|
|
itemproperty ip;
|
|
|
|
|
|
|
|
ip = GetFirstItemProperty(oItem);
|
|
|
|
while(GetIsItemPropertyValid(ip))
|
|
|
|
{
|
|
|
|
if(GetItemPropertyType(ip)==ITEM_PROPERTY_DAMAGE_BONUS)
|
|
|
|
{
|
|
|
|
n +=1;
|
|
|
|
}
|
|
|
|
if(GetItemPropertyType(ip)==ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP)
|
|
|
|
{
|
|
|
|
n +=1;
|
|
|
|
}
|
|
|
|
if(GetItemPropertyType(ip)==ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP)
|
|
|
|
{
|
|
|
|
n +=1;
|
|
|
|
}
|
|
|
|
if(GetItemPropertyType(ip)==ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT)
|
|
|
|
{
|
|
|
|
n +=1;
|
|
|
|
}
|
|
|
|
|
|
|
|
ip = GetNextItemProperty(oItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
//PROTOTYPE DEFINED
|
|
|
|
|
|
|
|
//get the total properties on the item we are about to enchant
|
|
|
|
int nTotalProps(object oItem)
|
|
|
|
{
|
|
|
|
itemproperty ip;
|
|
|
|
int n = 0;
|
|
|
|
ip = GetFirstItemProperty(oItem);
|
|
|
|
while(GetIsItemPropertyValid(ip))
|
|
|
|
{
|
|
|
|
//Increment the count by 1
|
|
|
|
n +=1;
|
|
|
|
|
|
|
|
//continue the loop
|
|
|
|
ip = GetNextItemProperty(oItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////INCLUDE SCRIPT END////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////
|