Fixed upgradeui and synthesisui atcommand

This commit is contained in:
Cydh 2019-11-12 11:05:22 +07:00
parent c1c02048f9
commit 91fb8e8378
3 changed files with 16 additions and 9 deletions

View File

@ -10079,6 +10079,8 @@ ACMD_FUNC(synthesisui) {
} }
if (!item_synthesis_open(sd, itemid)) if (!item_synthesis_open(sd, itemid))
return -1; return -1;
sd->state.lapine_ui |= 4;
sd->itemid = itemid;
#else #else
clif_displaymessage(fd, "Client is not supported."); clif_displaymessage(fd, "Client is not supported.");
#endif #endif
@ -10096,6 +10098,8 @@ ACMD_FUNC(upgradeui) {
} }
if (!item_upgrade_open(sd, itemid)) if (!item_upgrade_open(sd, itemid))
return -1; return -1;
sd->state.lapine_ui |= 4;
sd->itemid = itemid;
#else #else
clif_displaymessage(fd, "Client is not supported."); clif_displaymessage(fd, "Client is not supported.");
#endif #endif

View File

@ -20900,6 +20900,7 @@ void clif_parse_equipswitch_request_single( int fd, struct map_session_data* sd
static void clif_lapine_ui_reset(map_session_data *sd) { static void clif_lapine_ui_reset(map_session_data *sd) {
sd->state.lapine_ui = 0; sd->state.lapine_ui = 0;
sd->last_lapine_box = 0; sd->last_lapine_box = 0;
sd->itemid = sd->itemindex = -1;
} }
/* /*
@ -20982,7 +20983,7 @@ void clif_parse_lapineSynthesis_submit(int fd, struct map_session_data* sd) {
return; return;
} }
if (sd->state.lapine_ui != 1) { if (!(sd->state.lapine_ui&1)) {
set_eof(sd->fd); set_eof(sd->fd);
return; return;
} }
@ -21008,14 +21009,15 @@ void clif_parse_lapineSynthesis_submit(int fd, struct map_session_data* sd) {
return; return;
} }
if (id->flag.delay_consume) { if (!(sd->state.lapine_ui&4) && id->flag.delay_consume) {
item *it; item *it;
if (sd->itemindex == -1 || sd->itemid == -1 || !(it = &sd->inventory.u.items_inventory[sd->itemindex]) || it->nameid != itemid) { if (sd->itemindex == -1 || sd->itemid == -1 || !(it = &sd->inventory.u.items_inventory[sd->itemindex]) || it->nameid != itemid) {
//clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM); //clif_synthesisui_result(sd, SYNTHESIS_INVALID_ITEM);
set_eof(sd->fd); set_eof(sd->fd);
return; return;
} }
pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME); if (id->flag.delay_consume != 2)
pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME);
} }
std::vector<s_item_synthesis_list> items; std::vector<s_item_synthesis_list> items;
@ -21037,7 +21039,7 @@ void clif_parse_lapineSynthesis_submit(int fd, struct map_session_data* sd) {
} }
clif_synthesisui_result(sd, item_synthesis_submit(sd, itemid, items)); clif_synthesisui_result(sd, item_synthesis_submit(sd, itemid, items));
sd->itemid = sd->itemindex = -1; clif_lapine_ui_reset(sd);
#endif #endif
} }
@ -21134,7 +21136,7 @@ void clif_parse_lapineUpgrade_submit(int fd, struct map_session_data* sd) {
return; return;
} }
if (sd->state.lapine_ui != 2) { if (!(sd->state.lapine_ui&2)) {
set_eof(sd->fd); set_eof(sd->fd);
return; return;
} }
@ -21169,17 +21171,18 @@ void clif_parse_lapineUpgrade_submit(int fd, struct map_session_data* sd) {
return; return;
} }
if (id->flag.delay_consume) { if (!(sd->state.lapine_ui&4) && id->flag.delay_consume) {
if (sd->itemindex == -1 || sd->itemid == -1) { if (sd->itemindex == -1 || sd->itemid == -1) {
//clif_lapine_upgrade_result(sd, LAPINE_UPRAGDE_FAILURE); //clif_lapine_upgrade_result(sd, LAPINE_UPRAGDE_FAILURE);
set_eof(sd->fd); set_eof(sd->fd);
return; return;
} }
pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME); if (id->flag.delay_consume != 2)
pc_delitem(sd, sd->itemindex, 1, 0, 0, LOG_TYPE_CONSUME);
} }
clif_lapine_upgrade_result(sd, item_upgrade_submit(sd, itemid, index)); clif_lapine_upgrade_result(sd, item_upgrade_submit(sd, itemid, index));
sd->itemid = sd->itemindex = -1; clif_lapine_ui_reset(sd);
#endif #endif
} }

View File

@ -311,7 +311,7 @@ struct map_session_data {
bool mail_writing; // Whether the player is currently writing a mail in RODEX or not bool mail_writing; // Whether the player is currently writing a mail in RODEX or not
bool cashshop_open; bool cashshop_open;
bool sale_open; bool sale_open;
unsigned int lapine_ui : 2; // Lapine Synthesis/Upgrade UI is opened unsigned int lapine_ui : 3; // Lapine Synthesis/Upgrade UI is opened
unsigned int block_action : 10; unsigned int block_action : 10;
} state; } state;
struct { struct {