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); } }