/** * Check if the skill is a valid homunculus skill based skill range or availablity in skill db * @param skill_id * @return -1 if invalid skill or skill index for homunculus skill_tree */ static short hom_skill_get_index(int skill_id) { if (!skill_get_index(skill_id)) return -1; if ((skill_id -= HM_SKILLBASE) < 0 || skill_id >= MAX_HOMUNSKILL) return -1; return skill_id; }
bool elemental_skillnotok(uint16 skill_id, struct elemental_data *ed) { uint16 idx = skill_get_index(skill_id); nullpo_retr(1,ed); if (idx == 0) return false; // invalid skill id return skill_isNotOk(skill_id,ed->master); }
int elemental_skillnotok(uint16 skill_id, struct elemental_data *ed) { int16 idx = skill_get_index(skill_id); nullpo_retr(1,ed); if( !idx ) return 1; // Invalid skill id return skill_isNotOk(skill_id,ed->master); }
int elemental_skillnotok (int skillid, struct elemental_data *ed) { int i = skill_get_index (skillid); nullpo_retr (1, ed); if (i == 0) return 1; // invalid skill id return skillnotok (skillid, ed->master); }
struct skill_condition elemental_skill_get_requirements(uint16 skill_id, uint16 skill_lv){ struct skill_condition req; uint16 idx = skill_get_index(skill_id); memset(&req,0,sizeof(req)); if( idx == 0 ) // invalid skill id return req; skill_lv = cap_value(skill_lv, 1, MAX_SKILL_LEVEL); req.hp = skill_db[idx]->require.hp[skill_lv-1]; req.sp = skill_db[idx]->require.sp[skill_lv-1]; return req; }
struct skill_condition elemental_skill_get_requirements(uint16 skill_id, uint16 skill_lv) { struct skill_condition req; int idx = skill_get_index(skill_id); memset(&req,0,sizeof(req)); if(idx == 0) // invalid skill id return req; if(skill_lv < 1 || skill_lv > MAX_SKILL_LEVEL) return req; req.hp = skill_db[idx].hp[skill_lv-1]; req.sp = skill_db[idx].sp[skill_lv-1]; return req; }
bool elemental_skillnotok(uint16 skill_id, struct elemental_data *ed) { uint16 idx = skill_get_index(skill_id); nullpo_retr(1,ed); return idx == 0 ? false : skill_isNotOk(skill_id,ed->master); // return false or check if it,s ok for master as well }