CastorFlynn
Member
- Joined
- Aug 29, 2021
- Messages
- 100
- Reaction score
- 15
I noticed that using a one handed weapon + shield it ignores the weapon's defense, is this normal? If weapon have extradef this count, but normal def not.
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;
}
}
if (weapon) {
totalDefense = weapon->getDefense() + 1;
switch (weapon->getWeaponType()) {
case WEAPON_AXE:
defenseSkill = getSkillLevel(SKILL_AXE);
break;
case WEAPON_SWORD:
defenseSkill = getSkillLevel(SKILL_SWORD);
break;
case WEAPON_CLUB:
defenseSkill = getSkillLevel(SKILL_CLUB);
break;
case WEAPON_DISTANCE:
case WEAPON_AMMO:
defenseSkill = getSkillLevel(SKILL_SHIELD);
break;
default:
break;
}
}
Where should the code be placed?The previous behavior was supposed to be with getSkillLevel()
C++:if (weapon) { totalDefense = weapon->getDefense() + 1; switch (weapon->getWeaponType()) { case WEAPON_AXE: defenseSkill = getSkillLevel(SKILL_AXE); break; case WEAPON_SWORD: defenseSkill = getSkillLevel(SKILL_SWORD); break; case WEAPON_CLUB: defenseSkill = getSkillLevel(SKILL_CLUB); break; case WEAPON_DISTANCE: case WEAPON_AMMO: defenseSkill = getSkillLevel(SKILL_SHIELD); break; default: break; } }
player.cppWhere should the code be placed?
thank you a lot !player.cpp