diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2013-03-01 11:45:15 -0800 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2013-03-01 13:56:33 -0800 |
commit | 30335063bff54c2b4782689eebdb3b2717e878fa (patch) | |
tree | 8cf4af06a0915e8741b51bbdcb19491d954b5c7f /src/map/script.cpp | |
parent | 777c013fe163348d1489fb9ca2e41cb135eec0d1 (diff) | |
download | tmwa-30335063bff54c2b4782689eebdb3b2717e878fa.tar.gz tmwa-30335063bff54c2b4782689eebdb3b2717e878fa.tar.bz2 tmwa-30335063bff54c2b4782689eebdb3b2717e878fa.tar.xz tmwa-30335063bff54c2b4782689eebdb3b2717e878fa.zip |
Convince skills to work
Diffstat (limited to 'src/map/script.cpp')
-rw-r--r-- | src/map/script.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/map/script.cpp b/src/map/script.cpp index a39186e..f56cabb 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -2494,11 +2494,10 @@ void builtin_setskill(ScriptState *st) int level; struct map_session_data *sd; - SkillID id = SkillID(conv_num(st, &(st->stack->stack_data[st->start + 2]))); + SkillID id = static_cast<SkillID>(conv_num(st, &(st->stack->stack_data[st->start + 2]))); level = conv_num(st, &(st->stack->stack_data[st->start + 3])); sd = script_rid2sd(st); - sd->status.skill[id].id = level ? id : SkillID(); sd->status.skill[id].lv = level; clif_skillinfoblock(sd); } @@ -3809,16 +3808,16 @@ void builtin_getactivatedpoolskilllist(ScriptState *st) { SkillID skill_id = pool_skills[i]; - if (sd->status.skill[skill_id].id == skill_id) + if (sd->status.skill[skill_id].lv) { pc_setreg(sd, add_str("@skilllist_id") + (count << 24), - uint16_t(sd->status.skill[skill_id].id)); + static_cast<uint16_t>(skill_id)); pc_setreg(sd, add_str("@skilllist_lv") + (count << 24), - sd->status.skill[skill_id].lv); + sd->status.skill[skill_id].lv); pc_setreg(sd, add_str("@skilllist_flag") + (count << 24), - uint16_t(sd->status.skill[skill_id].flags)); + static_cast<uint16_t>(sd->status.skill[skill_id].flags)); pc_setregstr(sd, add_str("@skilllist_name$") + (count << 24), - skill_name(skill_id)); + skill_name(skill_id)); ++count; } } @@ -3839,22 +3838,21 @@ void builtin_getunactivatedpoolskilllist(ScriptState *st) { SkillID skill_id = skill_pool_skills[i]; - if (sd->status.skill[skill_id].id == skill_id + if (sd->status.skill[skill_id].lv && !bool(sd->status.skill[skill_id].flags & SkillFlags::POOL_ACTIVATED)) { pc_setreg(sd, add_str("@skilllist_id") + (count << 24), - uint16_t(sd->status.skill[skill_id].id)); + static_cast<uint16_t>(skill_id)); pc_setreg(sd, add_str("@skilllist_lv") + (count << 24), - sd->status.skill[skill_id].lv); + sd->status.skill[skill_id].lv); pc_setreg(sd, add_str("@skilllist_flag") + (count << 24), - uint16_t(sd->status.skill[skill_id].flags)); + static_cast<uint16_t>(sd->status.skill[skill_id].flags)); pc_setregstr(sd, add_str("@skilllist_name$") + (count << 24), - skill_name(skill_id)); + skill_name(skill_id)); ++count; } } pc_setreg(sd, add_str("@skilllist_count"), count); - } static |