I verified that if you use a two-handed weapon with defense, like enchanted staff that has 45 defense, don't defend anything.
Because I've been watching some tibia videos old time, and that a player could defend the attack even with low weapon defense, and it wasn't block armor. so i made some changes in player.cpp
And now work weapon+shield or only weapon or shield.
C++:
if (weapon) {
totalDefense = weapon->getDefense() + 1;
switch (weapon->getWeaponType()) {
case WEAPON_AXE:
defenseSkill = getSkillLevel(SKILL_SHIELD);
break;
case WEAPON_SWORD:
defenseSkill = getSkillLevel(SKILL_SHIELD);
break;
case WEAPON_CLUB:
defenseSkill = getSkillLevel(SKILL_SHIELD);
break;
case WEAPON_DISTANCE:
case WEAPON_AMMO:
defenseSkill = getSkillLevel(SKILL_SHIELD);
break;
default:
break;
}
}