void GetProp(int oBase, int oType, int oSubType, object oPC)
{
int oItem;
int oProp;
int oSub;
int oDamType;
int oDamAmt;

switch (oBase)
       {
        case BASE_ITEM_CBLUDGWEAPON: {oItem = 1;}
        case BASE_ITEM_CSLASHWEAPON: {oItem = 1;}
        case BASE_ITEM_CSLSHPRCWEAP: {oItem = 1;}
        case BASE_ITEM_BOOTS: {oItem = 2;}
        case BASE_ITEM_BRACER: {oItem = 3;}
        case BASE_ITEM_GLOVES: {oItem = 4;}
        case BASE_ITEM_CLOAK: {oItem = 5;}
        case BASE_ITEM_ARMOR: {oItem = 6;}
        case BASE_ITEM_HELMET: {oItem = 7;}
        case BASE_ITEM_RING: {oItem = 8;}
        case BASE_ITEM_AMULET: {oItem = 9;}
        case BASE_ITEM_BELT: {oItem = 10;}
        case BASE_ITEM_TOWERSHIELD: {oItem = 11;}
        }
switch (oType)
       {
        case IP_CONST_DAMAGETYPE_ACID: {oDamType = 2;}
       }
switch (oSubType)
       {
        case DAMAGE_BONUS_1d8: {oDamAmt = 2;}
       }

if ((oItem==1)&&(oDamType==2)&&(oDamAmt==2))
   {
    FloatingTextStringOnCreature("Acid Damage 1d8", oPC);
   }
   else
   {
    FloatingTextStringOnCreature("Oh crap!", oPC);
   }
}







void main()
{
object oPC=GetLastUsedBy();
object oOnHand=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
int oType;
int oSubType;
int oBase;

itemproperty ipLoop=GetFirstItemProperty(oOnHand);
while (GetIsItemPropertyValid(ipLoop))
   {
    oBase = GetBaseItemType(oOnHand);
    oType = GetItemPropertyType(ipLoop);
    oSubType = GetItemPropertySubType(ipLoop);
    GetProp(oBase, oType, oSubType, oPC);
    ipLoop=GetNextItemProperty(oOnHand);
   }
}