Follow up to ffd16c2

Thanks to @aleos89 for advices
This commit is contained in:
Jittapan Pluemsumran 2016-03-31 02:08:10 +07:00
parent ffd16c236e
commit 2a29ac0037
2 changed files with 14 additions and 23 deletions

View File

@ -2642,14 +2642,14 @@ this is +10:
---------------------------------------
*getequipweaponlv({<equipment slot>,<char_id>})
*getequipweaponlv(<equipment slot>{,<char_id>})
This function returns the weapon level for the weapon equipped in the specified
equipment slot on the invoking character. For a list of equipment slots see
'getequipid'.
If no arguments are provided. Weapon level for the item calling this function
assuming it is called by an item script will be returned. Otherwise, 0 will be returned.
If -1 is passed as <equipment slot> argument. Weapon level for the item calling this function,
assuming it is called by an item script, will be returned. Otherwise, 0 will be returned.
Only EQI_HAND_L and EQI_HAND_R normally make sense, since only weapons have
a weapon level. You can, however, probably, use this field for other equippable

View File

@ -8392,37 +8392,28 @@ BUILDIN_FUNC(getequiprefinerycnt)
* return (npc)
* x : weapon level
* 0 : false
* getequipweaponlv({<equipment slot>,<char_id>})
* getequipweaponlv(<equipment slot>{,<char_id>})
*------------------------------------------*/
BUILDIN_FUNC(getequipweaponlv)
{
int i = -1,num;
int i = -1, num;
TBL_PC *sd;
if (!script_hasdata(st, 2)) {
if ((sd = script_rid2sd(st)) != NULL && current_equip_item_index < MAX_INVENTORY && sd->inventory_data[current_equip_item_index])
{
script_pushint(st, sd->inventory_data[current_equip_item_index]->wlv);
}
else {
script_pushint(st, 0);
}
return SCRIPT_CMD_SUCCESS;
}
num = script_getnum(st, 2);
if (!script_charid2sd(3, sd)) {
script_pushint(st,0);
script_pushint(st, 0);
return SCRIPT_CMD_FAILURE;
}
if (num > 0 && num <= ARRAYLENGTH(equip))
i=pc_checkequip(sd,equip[num-1]);
if(i >= 0 && sd->inventory_data[i])
script_pushint(st,sd->inventory_data[i]->wlv);
if (num == -1)
i = current_equip_item_index;
else if (num > 0 && num <= ARRAYLENGTH(equip))
i = pc_checkequip(sd, equip[num - 1]);
if (i >= 0 && sd->inventory_data[i])
script_pushint(st, sd->inventory_data[i]->wlv);
else
script_pushint(st,0);
script_pushint(st, 0);
return SCRIPT_CMD_SUCCESS;
}
@ -21450,7 +21441,7 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(getequipisequiped,"i?"),
BUILDIN_DEF(getequipisenableref,"i?"),
BUILDIN_DEF(getequiprefinerycnt,"i?"),
BUILDIN_DEF(getequipweaponlv,"??"),
BUILDIN_DEF(getequipweaponlv,"i?"),
BUILDIN_DEF(getequippercentrefinery,"i?"),
BUILDIN_DEF(successrefitem,"i??"),
BUILDIN_DEF(failedrefitem,"i?"),