Suggestion fixes

Thanks to @Lemongrass3110!
This commit is contained in:
aleos 2023-08-08 18:46:39 -04:00
parent 56c69b5da7
commit b2441ca177

View File

@ -3109,7 +3109,7 @@ static bool is_attack_hitting(struct Damage* wd, struct block_list *src, struct
uint16 cart_remodel_lv = pc_checkskill(sd, GN_REMODELING_CART); uint16 cart_remodel_lv = pc_checkskill(sd, GN_REMODELING_CART);
if (sd && cart_remodel_lv > 0) if (sd && cart_remodel_lv > 0)
hitrate = hitrate * skill_get_hitrate(GN_REMODELING_CART, cart_remodel_lv) / 100; hitrate = hitrate * static_cast<int16>(skill_get_hitrate(GN_REMODELING_CART, cart_remodel_lv)) / 100;
} }
break; break;
case RL_SLUGSHOT: case RL_SLUGSHOT:
@ -3118,27 +3118,30 @@ static bool is_attack_hitting(struct Damage* wd, struct block_list *src, struct
if (dist > 3) { if (dist > 3) {
// Reduce n hitrate for each cell after initial 3 cells. // Reduce n hitrate for each cell after initial 3 cells.
hitrate -= (skill_get_hitrate(RL_SLUGSHOT, skill_lv) * (dist - 3)); hitrate -= (static_cast<int16>(skill_get_hitrate(RL_SLUGSHOT, skill_lv)) * (dist - 3));
} }
} }
break; break;
default: default:
{ {
struct s_skill_hitrate skill_hitrate = skill_db.find(skill_id)->hitrate; s_skill_hitrate &skill_hitrate = skill_db.find(skill_id)->hitrate;
if (skill_hitrate.rate[skill_lv] != 100) { // Hit skill modifiers if (skill_hitrate.rate[skill_lv] != 100) { // Hit skill modifiers
bool req_fail = false; bool req_fail = false;
// List of skills required to be learned before adjusting hitrate (players only). // List of skills required to be learned before adjusting hitrate (players only).
for (const auto &skill_req : skill_hitrate.skills) { if (sd) {
if (sd && pc_checkskill(sd, skill_req.first) < skill_req.second) { for (const auto &skill_req : skill_hitrate.skills) {
req_fail = true; if (pc_checkskill(sd, skill_req.first) < skill_req.second) {
break; req_fail = true;
break;
}
} }
} }
// If there were no requirements or the requirements were fulfilled successfully, apply the changed hitrate
if (!req_fail) if (!req_fail)
hitrate = hitrate * skill_hitrate.rate[skill_lv] / 100; hitrate = hitrate * static_cast<int16>(skill_hitrate.rate[skill_lv]) / 100;
} }
} }
break; break;