/* ** Конвертациz свойств предмета в строку. */ string GetProperties(object oItem) { string sProperties = IntToString(GetItemCharges(oItem)); int nTemp; itemproperty ipTemp = GetFirstItemProperty(oItem);
while (GetIsItemPropertyValid(ipTemp)) { if (GetItemPropertyDurationType(ipTemp) == 2) { sProperties += "@"+ IntToString(GetItemPropertyType(ipTemp)) +":";
nTemp = GetItemPropertyParam1Value(ipTemp); if (nTemp == 255 || nTemp == -1) sProperties += "-1:"; else sProperties += IntToString(nTemp - 1) +":";
sProperties += IntToString(GetItemPropertyCostTable(ipTemp)) +":";
nTemp = GetItemPropertyCostTableValue(ipTemp); if (nTemp == -1) sProperties += "-1:"; else sProperties += IntToString(nTemp - 1) +":";
nTemp = GetItemPropertySubType(ipTemp); if (nTemp == -1) sProperties += "0"; else sProperties += IntToString(nTemp); }
ipTemp = GetNextItemProperty(oItem); }
return sProperties; }
/* ** Установка свойств предмета из строки. */ void SetProperties(object oItem, string sProperties) { //SendMessageToPC(GetFirstPC(), "SetProperties :: sProperties == "+ sProperties);
itemproperty ipTemp = GetFirstItemProperty(oItem); while (GetIsItemPropertyValid(ipTemp)) { RemoveItemProperty(oItem, ipTemp); ipTemp = GetNextItemProperty(oItem); }
int i = 1; int pos, nCharges; string sTemp;
nCharges = StringToInt(GetStringLeft(sProperties, FindSubString(sProperties, "@"))); if (nCharges > 0) SetItemCharges(oItem, nCharges);
while ((pos = FindSubString(sProperties, "@")) != -1) { sProperties = GetStringRight(sProperties, GetStringLength(sProperties) - pos - 1);
pos = FindSubString(sProperties, "@"); if (pos == -1) pos = GetStringLength(sProperties);
sTemp = GetStringLeft(sProperties, pos);
//SendMessageToPC(GetFirstPC(), "sTemp["+ IntToString(i) +"] == "+ sTemp); SetProperty(oItem, sTemp);
i++; } }
void SetProperty(object oItem, string sProperty) { int pos = FindSubString(sProperty, ":"); int nType = StringToInt(GetSubString(sProperty, 0, pos));
sProperty = GetSubString(sProperty, pos + 1, GetStringLength(sProperty)); pos = FindSubString(sProperty, ":"); int nParam1Value = StringToInt(GetSubString(sProperty, 0, pos)); nParam1Value++;
sProperty = GetSubString(sProperty, pos + 1, GetStringLength(sProperty)); pos = FindSubString(sProperty, ":"); int nCostTable = StringToInt(GetSubString(sProperty, 0, pos));
sProperty = GetSubString(sProperty, pos + 1, GetStringLength(sProperty)); pos = FindSubString(sProperty, ":"); int nCostTableValue = StringToInt(GetSubString(sProperty, 0, pos)); nCostTableValue++;
sProperty = GetSubString(sProperty, pos + 1, GetStringLength(sProperty)); int nSubType = StringToInt(sProperty);
itemproperty ipTemp;
switch (nType) { /*OK*/ case ITEM_PROPERTY_ABILITY_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ABILITY_BONUS _OK_"); ipTemp = ItemPropertyAbilityBonus(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_AC_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_AC_BONUS _OK_"); ipTemp = ItemPropertyACBonus(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP _OK_"); ipTemp = ItemPropertyACBonusVsAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE _OK_"); ipTemp = ItemPropertyACBonusVsDmgType(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP _OK_"); ipTemp = ItemPropertyACBonusVsRace(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT _OK_"); ipTemp = ItemPropertyACBonusVsSAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ARCANE_SPELL_FAILURE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ARCANE_SPELL_FAILURE _OK_"); ipTemp = ItemPropertyArcaneSpellFailure(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ATTACK_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ATTACK_BONUS _OK_"); ipTemp = ItemPropertyAttackBonus(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP _OK_"); ipTemp = ItemPropertyAttackBonusVsAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP _OK_"); ipTemp = ItemPropertyAttackBonusVsRace(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT _OK_"); ipTemp = ItemPropertyAttackBonusVsSAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_BASE_ITEM_WEIGHT_REDUCTION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_BASE_ITEM_WEIGHT_REDUCTION _OK_"); ipTemp = ItemPropertyWeightReduction(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_BONUS_FEAT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_BONUS_FEAT _OK_"); ipTemp = ItemPropertyBonusFeat(nSubType); break; /*OK*/ case ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N _OK_"); ipTemp = ItemPropertyBonusLevelSpell(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_CAST_SPELL: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_CAST_SPELL _OK_"); ipTemp = ItemPropertyCastSpell(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_BONUS _OK_"); ipTemp = ItemPropertyDamageBonus(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP _OK_"); ipTemp = ItemPropertyDamageBonusVsAlign(nSubType, nParam1Value, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP _OK_"); ipTemp = ItemPropertyDamageBonusVsRace(nSubType, nParam1Value, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT _OK_"); ipTemp = ItemPropertyDamageBonusVsSAlign(nSubType, nParam1Value, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_REDUCTION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_REDUCTION _OK_"); ipTemp = ItemPropertyDamageReduction(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_RESISTANCE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_RESISTANCE _OK_"); ipTemp = ItemPropertyDamageResistance(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DAMAGE_VULNERABILITY: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DAMAGE_VULNERABILITY _OK_"); ipTemp = ItemPropertyDamageVulnerability(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DARKVISION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DARKVISION _OK_"); ipTemp = ItemPropertyDarkvision(); break; /*OK*/ case ITEM_PROPERTY_DECREASED_ABILITY_SCORE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_ABILITY_SCORE _OK_"); ipTemp = ItemPropertyDecreaseAbility(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_AC: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_AC _OK_"); ipTemp = ItemPropertyDecreaseAC(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER _OK_"); ipTemp = ItemPropertyAttackPenalty(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_DAMAGE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_DAMAGE _OK_"); ipTemp = ItemPropertyDamagePenalty(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_ENHANCEMENT_MODIFIER: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_ENHANCEMENT_MODIFIER _OK_"); ipTemp = ItemPropertyEnhancementPenalty(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_SAVING_THROWS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_SAVING_THROWS _OK_"); ipTemp = ItemPropertyReducedSavingThrowVsX(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC _OK_"); ipTemp = ItemPropertyReducedSavingThrow(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_DECREASED_SKILL_MODIFIER: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_DECREASED_SKILL_MODIFIER _OK_"); ipTemp = ItemPropertyDecreaseSkill(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ENHANCED_CONTAINER_REDUCED_WEIGHT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ENHANCED_CONTAINER_REDUCED_WEIGHT _OK_"); ipTemp = ItemPropertyContainerReducedWeight(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ENHANCEMENT_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ENHANCEMENT_BONUS _OK_"); ipTemp = ItemPropertyEnhancementBonus(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP _OK_"); ipTemp = ItemPropertyEnhancementBonusVsAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP _OK_"); ipTemp = ItemPropertyEnhancementBonusVsRace(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT ?_OK_"); ipTemp = ItemPropertyEnhancementBonusVsSAlign(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE _OK_"); ipTemp = ItemPropertyExtraMeleeDamageType(nSubType); break; /*OK*/ case ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE _OK_"); ipTemp = ItemPropertyExtraRangeDamageType(nSubType); break; /*OK*/ case ITEM_PROPERTY_FREEDOM_OF_MOVEMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_FREEDOM_OF_MOVEMENT _OK_"); ipTemp = ItemPropertyFreeAction(); break; /*OK*/ case ITEM_PROPERTY_HASTE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_HASTE _OK_"); ipTemp = ItemPropertyHaste(); break; /*OK*/ case ITEM_PROPERTY_HEALERS_KIT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_HEALERS_KIT _OK_"); ipTemp = ItemPropertyHealersKit(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_HOLY_AVENGER: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_HOLY_AVENGER _OK_"); ipTemp = ItemPropertyHolyAvenger(); break; /*OK*/ case ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE _OK_"); ipTemp = ItemPropertyDamageImmunity(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS _OK_"); ipTemp = ItemPropertyImmunityMisc(nSubType); break; /*OK*/ case ITEM_PROPERTY_IMMUNITY_SPECIFIC_SPELL: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMMUNITY_SPECIFIC_SPELL _OK_"); ipTemp = ItemPropertySpellImmunitySpecific(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL _OK_"); ipTemp = ItemPropertySpellImmunitySchool(nSubType); break; /*OK*/ case ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL _OK_"); ipTemp = ItemPropertyImmunityToSpellLevel(nCostTableValue+1); break; /*OK*/ case ITEM_PROPERTY_IMPROVED_EVASION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_IMPROVED_EVASION _OK_"); ipTemp = ItemPropertyImprovedEvasion(); break; /*OK*/ case ITEM_PROPERTY_KEEN: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_KEEN _OK_"); ipTemp = ItemPropertyKeen(); break; /*OK*/ case ITEM_PROPERTY_LIGHT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_LIGHT _OK_"); ipTemp = ItemPropertyLight(nCostTableValue, nParam1Value); break; /*OK*/ case ITEM_PROPERTY_MASSIVE_CRITICALS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_MASSIVE_CRITICALS _OK_"); ipTemp = ItemPropertyMassiveCritical(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_MIGHTY: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_MIGHTY _OK_"); ipTemp = ItemPropertyMaxRangeStrengthMod(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_MIND_BLANK: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_MIND_BLANK"); break; /*OK*/ case ITEM_PROPERTY_MONSTER_DAMAGE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_MONSTER_DAMAGE ?OK?"); ipTemp = ItemPropertyMonsterDamage(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_NO_DAMAGE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_NO_DAMAGE _OK_"); ipTemp = ItemPropertyNoDamage(); break; /*OK*/ case ITEM_PROPERTY_ON_HIT_PROPERTIES: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ON_HIT_PROPERTIES _OK_"); ipTemp = ItemPropertyOnHitProps(nSubType, nCostTableValue, nParam1Value); break; /*FAIL*/case ITEM_PROPERTY_ON_MONSTER_HIT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ON_MONSTER_HIT _PARTIAL_ "+ IntToString(nSubType) +"!"+ IntToString(nParam1Value)); ipTemp = ItemPropertyOnMonsterHitProperties(nSubType, nParam1Value); break; /*OK*/ case ITEM_PROPERTY_ONHITCASTSPELL: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_ONHITCASTSPELL _OK_"); ipTemp = ItemPropertyOnHitCastSpell(nSubType, nCostTableValue+1); break; /*OK*/ case ITEM_PROPERTY_POISON: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_POISON"); break; /*OK*/ case ITEM_PROPERTY_REGENERATION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_REGENERATION _OK_"); ipTemp = ItemPropertyRegeneration(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_REGENERATION_VAMPIRIC: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_REGENERATION_VAMPIRIC _OK_"); ipTemp = ItemPropertyVampiricRegeneration(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_SAVING_THROW_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_SAVING_THROW_BONUS _OK_"); ipTemp = ItemPropertyBonusSavingThrowVsX(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC _OK_"); ipTemp = ItemPropertyBonusSavingThrow(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_SKILL_BONUS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_SKILL_BONUS _OK_"); ipTemp = ItemPropertySkillBonus(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_SPECIAL_WALK: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_SPECIAL_WALK ?OK?"); ipTemp = ItemPropertySpecialWalk(nSubType); break; /*OK*/ case ITEM_PROPERTY_SPELL_RESISTANCE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_SPELL_RESISTANCE _OK_"); ipTemp = ItemPropertyBonusSpellResistance(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_THIEVES_TOOLS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_THIEVES_TOOLS _OK_"); ipTemp = ItemPropertyThievesTools(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_TRAP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_TRAP _OK_"); ipTemp = ItemPropertyTrap(nSubType, nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_TRUE_SEEING: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_TRUE_SEEING _OK_"); ipTemp = ItemPropertyTrueSeeing(); break; /*OK*/ case ITEM_PROPERTY_TURN_RESISTANCE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_TURN_RESISTANCE _OK_"); ipTemp = ItemPropertyTurnResistance(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_UNLIMITED_AMMUNITION: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_UNLIMITED_AMMUNITION _OK_"); ipTemp = ItemPropertyUnlimitedAmmo(nCostTableValue); break; /*OK*/ case ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP _OK_"); ipTemp = ItemPropertyLimitUseByAlign(nSubType); break; /*OK*/ case ITEM_PROPERTY_USE_LIMITATION_CLASS: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_USE_LIMITATION_CLASS _OK_"); ipTemp = ItemPropertyLimitUseByClass(nSubType); break; /*OK*/ case ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE _OK_"); ipTemp = ItemPropertyLimitUseByRace(nSubType); break; /*OK*/ case ITEM_PROPERTY_USE_LIMITATION_SPECIFIC_ALIGNMENT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_USE_LIMITATION_SPECIFIC_ALIGNMENT _OK_"); ipTemp = ItemPropertyLimitUseBySAlign(nSubType); break; /*OK*/ case ITEM_PROPERTY_USE_LIMITATION_TILESET: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_USE_LIMITATION_TILESET"); break; /*OK*/ case ITEM_PROPERTY_VISUALEFFECT: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_VISUALEFFECT _OK_"); ipTemp = ItemPropertyVisualEffect(nSubType); break; /*OK*/ case ITEM_PROPERTY_WEIGHT_INCREASE: //SendMessageToPC(GetFirstPC(), "const ITEM_PROPERTY_WEIGHT_INCREASE _OK_"); ipTemp = ItemPropertyWeightIncrease(nParam1Value); break; default: //SendMessageToPC(GetFirstPC(), "const default"); break; }
if (GetIsItemPropertyValid(ipTemp)) { AddItemProperty(DURATION_TYPE_PERMANENT, ipTemp, oItem); } } |