summaryrefslogtreecommitdiff
path: root/src/map/script.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-15 14:15:16 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-15 14:15:16 +0000
commit0393c333d4333d59d4cdb5083a0d004b2de92cb6 (patch)
tree7cd078724bf5407ac7ed16dcda11b67a758d80fc /src/map/script.c
parent3bd071ef6561d6c8dc372585fde5e64ee54d5ec5 (diff)
downloadhercules-0393c333d4333d59d4cdb5083a0d004b2de92cb6.tar.gz
hercules-0393c333d4333d59d4cdb5083a0d004b2de92cb6.tar.bz2
hercules-0393c333d4333d59d4cdb5083a0d004b2de92cb6.tar.xz
hercules-0393c333d4333d59d4cdb5083a0d004b2de92cb6.zip
- Fixed and cleaned up script command 'equip'
- Fixed 'autoequip' items. - Fixed Aspd not being updated in your status window after Agi/Dex increasing statuses take effect. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7179 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/script.c')
-rw-r--r--src/map/script.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 340daa228..ab4be0c5b 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -9771,28 +9771,23 @@ int buildin_unequip(struct script_state *st)
int buildin_equip(struct script_state *st)
{
- int nameid=0,count=0,i;
+ int nameid=0,i;
struct map_session_data *sd;
struct item_data *item_data;
sd = script_rid2sd(st);
nameid=conv_num(st,& (st->stack->stack_data[st->start+2]));
- if(nameid>=500 && (item_data = itemdb_search(nameid)) != NULL)
- for(i=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].nameid==nameid)
- count+=sd->status.inventory[i].amount;
- }
- else{
+ if((item_data = itemdb_exists(nameid)) == NULL)
+ {
if(battle_config.error_log)
ShowError("wrong item ID : equipitem(%i)\n",nameid);
return 1;
}
-
- if(count){
- pc_equipitem(sd,nameid,item_data->equip);
- }
+ for(i=0;i<MAX_INVENTORY && sd->status.inventory[i].nameid!=nameid;i++);
+ if(i==MAX_INVENTORY) return 0;
+ pc_equipitem(sd,i,item_data->equip);
return 0;
}