If you download the latest patch named Costume_System v1.2
Index: src/map/atcommand.c===================================================================--- src/map/atcommand.c (revision 13617)+++ src/map/atcommand.c (working copy)@@ -1085,7 +1085,7 @@ ACMD(item) { char item_name[100];- int number = 0, item_id, flag = 0, bound = 0;+ int number = 0, item_id, flag = 0, bound = 0, costume = 0; struct item item_tmp; struct item_data *item_data; int get_count, i;@@ -1139,7 +1139,27 @@ break; } }-+ + if( !strcmpi(command+1,"costumeitem") )+ {+ if( !battle_config.reserved_costume_id )+ {+ clif->message(fd, "Costume conversion is disable. Set a value for reserved_cosutme_id on your battle.conf file.");+ return -1;+ }+ if( !(item_data->equip&EQP_HEAD_LOW) &&+ !(item_data->equip&EQP_HEAD_MID) &&+ !(item_data->equip&EQP_HEAD_TOP) &&+ !(item_data->equip&EQP_COSTUME_HEAD_LOW) &&+ !(item_data->equip&EQP_COSTUME_HEAD_MID) &&+ !(item_data->equip&EQP_COSTUME_HEAD_TOP) )+ {+ clif->message(fd, "You cannot costume this item. Costume only work for headgears.");+ return -1;+ }+ costume = 1;+ }+ item_id = item_data->nameid; get_count = number; //Check if it's stackable.@@ -1159,6 +1179,14 @@ item_tmp.identify = 1; item_tmp.bound = (unsigned char)bound; + if( costume == 1 )+ { // Costume Item+ item_tmp.card[0] = CARD0_CREATE;+ item_tmp.card[2] = GetWord(battle_config.reserved_costume_id, 0);+ item_tmp.card[3] = GetWord(battle_config.reserved_costume_id, 1);+ }+ + if ((flag = pc->additem(sd, &item_tmp, get_count, LOG_TYPE_COMMAND))) clif->additem(sd, 0, 0, flag); }@@ -9600,6 +9628,7 @@ ACMD_DEF(searchstore), ACMD_DEF(costume), ACMD_DEF(skdebug),+ ACMD_DEF2("costumeitem", item) }; int i; Index: src/map/battle.c===================================================================--- src/map/battle.c (revision 13617)+++ src/map/battle.c (working copy)@@ -6543,6 +6543,7 @@ { "feature.banking", &battle_config.feature_banking, 1, 0, 1, }, { "feature.auction", &battle_config.feature_auction, 0, 0, 2, }, { "idletime_criteria", &battle_config.idletime_criteria, 0x25, 1, INT_MAX, },+ { "reserved_costume_id", &battle_config.reserved_costume_id, 999998, 0, INT_MAX, }, { "mon_trans_disable_in_gvg", &battle_config.mon_trans_disable_in_gvg, 0, 0, 1, }, { "case_sensitive_aegisnames", &battle_config.case_sensitive_aegisnames, 1, 0, 1, },Index: src/map/battle.h===================================================================--- src/map/battle.h (revision 13617)+++ src/map/battle.h (working copy)@@ -447,6 +447,9 @@ int min_npc_vendchat_distance; int atcommand_mobinfo_type; + // Costume System+ int reserved_costume_id;+ int mob_size_influence; // Enable modifications on earned experience, drop rates and monster status depending on monster size. [mkbu95] /** Hercules **/Index: src/map/map.c===================================================================--- src/map/map.c (revision 13617)+++ src/map/map.c (working copy)@@ -1577,6 +1577,13 @@ nullpo_retv(sd); + + if( battle_config.reserved_costume_id && battle_config.reserved_costume_id == charid )+ {+ clif->solved_charname(sd->fd, charid, "Costume");+ return;+ }+ tsd = map->charid2sd(charid); if( tsd ) { clif->solved_charname(sd->fd, charid, tsd->status.name);Index: src/map/pc.c===================================================================--- src/map/pc.c (revision 13617)+++ src/map/pc.c (working copy)@@ -664,8 +664,8 @@ int pc_equippoint(struct map_session_data *sd,int n) {- int ep = 0;-+ int ep = 0, char_id = 0;+ nullpo_ret(sd); if(!sd->inventory_data[n])@@ -684,6 +684,14 @@ if( ep == EQP_SHADOW_SHIELD )/* are there conditions for those? */ return EQP_SHADOW_WEAPON|EQP_SHADOW_SHIELD; }+ if( battle_config.reserved_costume_id &&+ sd->status.inventory[n].card[0] == CARD0_CREATE &&+ (char_id = MakeDWord(sd->status.inventory[n].card[2],sd->status.inventory[n].card[3])) == battle_config.reserved_costume_id )+ { // Costume Item - Converted+ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }+ } return ep; } Index: src/map/script.c===================================================================--- src/map/script.c (revision 13617)+++ src/map/script.c (working copy)@@ -18016,6 +18019,51 @@ return true; } +/*==========================================+ * Costume Items Hercules/[Mhalicot]+ *------------------------------------------*/+BUILDIN(costume)+{+ int i = -1, num, ep;+ TBL_PC *sd;++ num = script_getnum(st,2); // Equip Slot+ sd = script->rid2sd(st);++ if( sd == NULL )+ return 0;+ if( num > 0 && num <= ARRAYLENGTH(script->equip) )+ i = pc->checkequip(sd, script->equip[num - 1]);+ if( i < 0 )+ return 0;+ ep = sd->status.inventory
.equip;+ if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) )+ return 0;++ logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory,sd->inventory_data);+ pc->unequipitem(sd,i,2);+ clif->delitem(sd,i,1,3);+ // --------------------------------------------------------------------+ sd->status.inventory.refine = 0;+ sd->status.inventory.attribute = 0;+ sd->status.inventory.card[0] = CARD0_CREATE;+ sd->status.inventory.card[1] = 0;+ sd->status.inventory.card[2] = GetWord(battle_config.reserved_costume_id, 0);+ sd->status.inventory.card[3] = GetWord(battle_config.reserved_costume_id, 1);++ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }+ // --------------------------------------------------------------------+ logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory,sd->inventory_data);++ clif->additem(sd,i,1,0);+ pc->equipitem(sd,i,ep);+ clif->misceffect(&sd->bl,3);++ return true;+}+ // declarations that were supposed to be exported from npc_chat.c #ifdef PCRE_SUPPORT BUILDIN(defpattern);@@ -18585,6 +18633,9 @@ BUILDIN_DEF(changequest, "ii"), BUILDIN_DEF(showevent, "i?"), + // Costume System+ BUILDIN_DEF(costume,"i"),+ /** * hQueue [Ind/Hercules] **/
it does not have
In your diff, on pc.h, the patch erases EQI_MAX and replaces it with EQI_MAX_BONUS = 10. Also, it moves EQI_AMMO a few lines down, so, i don't have the same lines you posted.
(I rollbacked the modification by downloading a new fresh Hercules and applying manually the patch to it.
what told you before is to
wait, I will update my source.
~ Updated to latest revision.
Kindly Rollback your modification and download the latest version 1.2
because in the later version it still have EQI_MAX_BONUS = 10. that is why I want you to rollback your modification first. before apply the patch