I have not compiled this myself but perhaps something like this may work:
Code:
if(IsClient()) {
const ItemInst *wpn = CastToClient()->GetInv().GetItem(MainPrimary);
bool havePiercer = true;
if(!wpn || (wpn->GetItem()->ItemType != ItemType1HPiercing)){
havePiercer = false;
}
if(wpn->GetItem()->ItemType == ItemType2HPiercing || havePiercer == true){
havePiercer = true;
}
if(havePiercer == false) {
Message_StringID(13, BACKSTAB_WEAPON);
return;
}
}