From b9b32ac7609e33c21b488d722103cc0eea16b12c Mon Sep 17 00:00:00 2001 From: shennetsind Date: Thu, 7 Nov 2013 16:04:51 -0200 Subject: Item Bound Fixes/Adjustments/Improvements Special Thanks to Haruna Signed-off-by: shennetsind --- src/map/atcommand.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src/map/atcommand.c') diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 3f3e9679e..e19428d36 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -1104,7 +1104,7 @@ ACMD(item) sscanf(message, "%99s %d %d", item_name, &number, &bound) < 2 ))) { clif->message(fd, msg_txt(295)); // Please enter an item name or ID (usage: @itembound ). - return -1; + return false; } else if (!message || !*message || ( sscanf(message, "\"%99[^\"]\" %d", item_name, &number) < 1 && sscanf(message, "%99s %d", item_name, &number) < 1 )) @@ -1123,7 +1123,7 @@ ACMD(item) return false; } - if( bound < 0 || bound > 4 ) { + if( bound < IBT_MIN || bound > IBT_MAX ) { clif->message(fd, msg_txt(298)); // Invalid bound type return false; } @@ -1137,9 +1137,6 @@ ACMD(item) return false; } get_count = 1; - } else if( bound ) { - clif->message(fd, msg_txt(499)); // Cannot create bounded stackable items. - return false; } for (i = 0; i < number; i += get_count) { @@ -1148,7 +1145,7 @@ ACMD(item) memset(&item_tmp, 0, sizeof(item_tmp)); item_tmp.nameid = item_id; item_tmp.identify = 1; - item_tmp.bound = bound; + item_tmp.bound = (unsigned char)bound; if ((flag = pc->additem(sd, &item_tmp, get_count, LOG_TYPE_COMMAND))) clif->additem(sd, 0, 0, flag); @@ -1192,9 +1189,9 @@ ACMD(item2) if (number <= 0) number = 1; - if( bound < 0 || bound > 4 ) { + if( bound < IBT_MIN || bound > IBT_MAX ) { clif->message(fd, msg_txt(298)); // Invalid bound type - return -1; + return false; } item_id = 0; @@ -1225,10 +1222,6 @@ ACMD(item2) if (refine > MAX_REFINE) refine = MAX_REFINE; } else { - if( bound ) { - clif->message(fd, msg_txt(499)); // Cannot create bounded stackable items. - return false; - } identify = 1; refine = attr = 0; } @@ -1238,11 +1231,12 @@ ACMD(item2) item_tmp.identify = identify; item_tmp.refine = refine; item_tmp.attribute = attr; + item_tmp.bound = (unsigned char)bound; item_tmp.card[0] = c1; item_tmp.card[1] = c2; item_tmp.card[2] = c3; item_tmp.card[3] = c4; - item_tmp.bound = bound; + if ((flag = pc->additem(sd, &item_tmp, get_count, LOG_TYPE_COMMAND))) clif->additem(sd, 0, 0, flag); } -- cgit v1.2.3-60-g2f50