From 595dae284856bcf442274b39b63cce8746687c13 Mon Sep 17 00:00:00 2001 From: Haru Date: Mon, 20 Apr 2020 21:15:26 +0200 Subject: Improve warnings in skill_get_index, to detect the use of unhandled skill ranges Signed-off-by: Haru --- src/map/skill.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index 7f66fabe3..0fcd5fd0c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -133,17 +133,23 @@ static int skill_get_index(int skill_id) } int skill_idx = 0; + bool found = false; // Map Skill ID to Skill Indexes (in reverse order) for (int i = 0; i < length; i++) { // Check if SkillID belongs to this range. if (skill_id <= skill_idx_ranges[i].end && skill_id >= skill_idx_ranges[i].start) { skill_idx += (skill_idx_ranges[i].end - skill_id); + found = true; break; } // Add the difference of current range skill_idx += (skill_idx_ranges[i].end - skill_idx_ranges[i].start + 1); } + if (!found) { + ShowWarning("skill_get_index: skill id '%d' (idx: %d) is not handled as it lies outside the defined ranges!\n", skill_id, skill_idx); + return 0; + } if (skill_idx >= MAX_SKILL_DB) { ShowWarning("skill_get_index: skill id '%d'(idx: %d) is not being handled as it exceeds MAX_SKILL_DB!\n", skill_id, skill_idx); return 0; -- cgit v1.2.3-60-g2f50