90 lines
5.4 KiB
Plaintext
90 lines
5.4 KiB
Plaintext
|
void main()
|
||
|
{
|
||
|
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST,OBJECT_SELF);
|
||
|
if(GetIsObjectValid(oArmor))
|
||
|
{
|
||
|
if((GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ABILITY_BONUS))||(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_AC_BONUS))
|
||
|
|| (GetItemHasItemProperty(oArmor,ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_AC_BONUS_VS_SPECIFIC_ALIGNMENT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ATTACK_BONUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_BASE_ITEM_WEIGHT_REDUCTION))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_BONUS_FEAT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_BONUS_SPELL_SLOT_OF_LEVEL_N))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_CAST_SPELL))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_BONUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_BONUS_VS_SPECIFIC_ALIGNMENT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_REDUCTION))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_RESISTANCE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DAMAGE_VULNERABILITY))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DARKVISION))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_ABILITY_SCORE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_AC))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_DAMAGE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_ENHANCEMENT_MODIFIER))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_SAVING_THROWS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_DECREASED_SKILL_MODIFIER))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ENHANCED_CONTAINER_REDUCED_WEIGHT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ENHANCEMENT_BONUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_SPECIFIC_ALIGNEMENT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_FREEDOM_OF_MOVEMENT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_HASTE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_HOLY_AVENGER))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMMUNITY_SPECIFIC_SPELL))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMMUNITY_SPELL_SCHOOL))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMMUNITY_SPELLS_BY_LEVEL))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_IMPROVED_EVASION))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_KEEN))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_LIGHT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_MASSIVE_CRITICALS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_MIGHTY))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_MIND_BLANK))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_MONSTER_DAMAGE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_NO_DAMAGE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ON_HIT_PROPERTIES))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_ON_MONSTER_HIT))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_POISON))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_REGENERATION))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_REGENERATION_VAMPIRIC))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_SAVING_THROW_BONUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_SAVING_THROW_BONUS_SPECIFIC))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_SKILL_BONUS))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_SPELL_RESISTANCE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_TRUE_SEEING))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_TURN_RESISTANCE))||
|
||
|
(GetItemHasItemProperty(oArmor,ITEM_PROPERTY_UNLIMITED_AMMUNITION)))
|
||
|
{
|
||
|
location lPC = GetLocation(OBJECT_SELF);
|
||
|
object oBag=CreateObject(OBJECT_TYPE_PLACEABLE,"LootBag1",lPC);
|
||
|
AssignCommand(oBag,ActionTakeItem(oArmor,OBJECT_SELF));
|
||
|
int iSave=((d20(1))+2);
|
||
|
if(!(iSave>=15))
|
||
|
{
|
||
|
DestroyObject(oBag);
|
||
|
string sArmorGone = "The force of the change was too great for your Magic Armor to bear.";
|
||
|
SendMessageToPC(OBJECT_SELF,sArmorGone);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
DestroyObject(oArmor);
|
||
|
string sArmorGone = "The force of the change was too great for your Armor to bear.";
|
||
|
SendMessageToPC(OBJECT_SELF,sArmorGone);
|
||
|
}
|
||
|
}
|
||
|
}
|