From 7eb9c3fcb6b4148c53a3201992c19e0e8d603e7f Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Tue, 29 Dec 2009 12:34:38 +1300 Subject: Also pass a variable @itemId when running equip scripts --- src/map/pc.c | 60 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 24 deletions(-) (limited to 'src/map/pc.c') diff --git a/src/map/pc.c b/src/map/pc.c index 49018e7..1e9029a 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1461,14 +1461,16 @@ int pc_calcstatus (struct map_session_data *sd, int first) int c = sd->status.inventory[index].card[j]; if (c > 0) { - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; if (i == 8 && sd->status.inventory[index].equip == 0x20) sd->state.lr_flag = 1; run_script_l (itemdb_equipscript (c), 0, sd->bl.id, - 0, 1, &arg); + 0, 2, arg); sd->state.lr_flag = 0; } } @@ -1485,11 +1487,13 @@ int pc_calcstatus (struct map_session_data *sd, int first) { // �J�[�h int c = sd->status.inventory[index].card[j]; if (c > 0) { - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; run_script_l (itemdb_equipscript (c), 0, sd->bl.id, - 0, 1, &arg); + 0, 2, arg); } } } @@ -1546,19 +1550,23 @@ int pc_calcstatus (struct map_session_data *sd, int first) sd->attackrange_ += sd->inventory_data[index]->range; sd->state.lr_flag = 1; { - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; run_script_l (sd->inventory_data[index]->equip_script, 0, - sd->bl.id, 0, 1, &arg); + sd->bl.id, 0, 2, arg); } sd->state.lr_flag = 0; } else { //�񓁗������ȊO - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; sd->watk += sd->inventory_data[index]->atk; sd->watk2 += (r = sd->status.inventory[index].refine) * // ���B�U���� refinebonus[wlv][0]; @@ -1572,19 +1580,21 @@ int pc_calcstatus (struct map_session_data *sd, int first) } sd->attackrange += sd->inventory_data[index]->range; run_script_l (sd->inventory_data[index]->equip_script, 0, - sd->bl.id, 0, 1, &arg); + sd->bl.id, 0, 2, arg); } } else if (sd->inventory_data[index]->type == 5) { - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; sd->watk += sd->inventory_data[index]->atk; refinedef += sd->status.inventory[index].refine * refinebonus[0][0]; run_script_l (sd->inventory_data[index]->equip_script, 0, - sd->bl.id, 0, 1, &arg); + sd->bl.id, 0, 2, arg); } } } @@ -1602,12 +1612,14 @@ int pc_calcstatus (struct map_session_data *sd, int first) index = sd->equip_index[10]; if (sd->inventory_data[index]) { //�܂�����������Ă��Ȃ� - argrec_t arg; - arg.name = "@slotId"; - arg.v.i = i; + argrec_t arg[2]; + arg[0].name = "@slotId"; + arg[0].v.i = i; + arg[1].name = "@itemId"; + arg[1].v.i = sd->inventory_data[index]->nameid; sd->state.lr_flag = 2; run_script_l (sd->inventory_data[index]->equip_script, 0, sd->bl.id, - 0, 1, &arg); + 0, 2, arg); sd->state.lr_flag = 0; sd->arrow_atk += sd->inventory_data[index]->atk; } -- cgit v1.2.3-60-g2f50