public function getMalusToBaseOfWoundsWithWeaponlike(
        WeaponlikeCode $weaponlikeCode,
        Tables $tables,
        bool $fightsWithTwoWeapons
    ): int
    {
        if ($weaponlikeCode->isMelee() || $weaponlikeCode->isThrowingWeapon()) {
            return $this->getPhysicalSkills()->getMalusToBaseOfWoundsWithWeaponlike($weaponlikeCode, $tables, $fightsWithTwoWeapons);
        }
        if ($weaponlikeCode->isShootingWeapon()) {
            return $this->getCombinedSkills()->getMalusToBaseOfWoundsWithShootingWeapon(
                $weaponlikeCode->convertToRangedWeaponCodeEquivalent(),
                $tables
            );
        }
        if ($weaponlikeCode->isProjectile()) {
            return 0;
        }
        throw new Exceptions\UnknownTypeOfWeapon($weaponlikeCode);
    }
public function getMalusToBaseOfWoundsWithWeaponlike(
        WeaponlikeCode $weaponlikeCode,
        Tables $tables,
        bool $fightsWithTwoWeapons
    ): int
    {
        if ($weaponlikeCode->isMelee() || $weaponlikeCode->isThrowingWeapon()) {
            return $this->getPhysicalSkills()->getMalusToBaseOfWoundsWithWeaponlike($weaponlikeCode, $tables, $fightsWithTwoWeapons);
        }
        if ($weaponlikeCode->isShootingWeapon()) {
            return $this->getCombinedSkills()->getMalusToBaseOfWoundsWithShootingWeapon(
                $weaponlikeCode->convertToRangedWeaponCodeEquivalent(),
                $tables
            );
        }
        if ($weaponlikeCode->isProjectile()) {
            return 0;
        }
        throw new Exceptions\UnknownTypeOfWeapon($weaponlikeCode);
    }
public function getMalusToBaseOfWoundsWithWeaponlike ( WeaponlikeCode $ weaponlikeCode , Tables $ tables , bool $ fightsWithTwoWeapons ) : int { if ( $ weaponlikeCode -> isMelee ( ) || $ weaponlikeCode -> isThrowingWeapon ( ) ) { return $ this -> getPhysicalSkills ( ) -> getMalusToBaseOfWoundsWithWeaponlike ( $ weaponlikeCode , $ tables , $ fightsWithTwoWeapons ) ; } if ( $ weaponlikeCode -> isShootingWeapon ( ) ) { return $ this -> getCombinedSkills ( ) -> getMalusToBaseOfWoundsWithShootingWeapon ( $ weaponlikeCode -> convertToRangedWeaponCodeEquivalent ( ) , $ tables ) ; } if ( $ weaponlikeCode -> isProjectile ( ) ) { return 0 ; } throw new Exceptions \ UnknownTypeOfWeapon ( $ weaponlikeCode ) ; }
If you want to use shield as a PROTECTIVE item, there is no base of wounds malus from that.

@param WeaponlikeCode $weaponlikeCode
@param Tables $tables
@param bool $fightsWithTwoWeapons
@return int
@throws Exceptions\UnknownTypeOfWeapon
If you want to use shield as a PROTECTIVE item there is no base of wounds malus from that .