Hello to all, im new in this Forum and i want to share something with you!
I offer or rls some other things.
//----Sourcepart---->
common/service.h
//Add:
#define ENABLE_ENCHANT_BONUS_ADD
common/item_length.h
//--Search: "USE_PUT_INTO_RING_SOCKET":
//--Add after:
#ifdef ENABLE_ENCHANT_BONUS_ADD
USE_CHANGE_ATTRIBUTE,
USE_RESET_ATTRIBUTE,
#endif
db/src/ProtoReader.cpp
//--Search: "static string arSub3" and add:
"USE_CHANGE_ATTRIBUTE", "USE_RESET_ATTRIBUTE"
game/src/char_item.cpp
//--Search: "case USE_PUT_INTO_BELT_SOCKET":
// case USE_PUT_INTO_BELT_SOCKET:
// case USE_PUT_INTO_RING_SOCKET:
// case USE_PUT_INTO_ACCESSORY_SOCKET:
// case USE_ADD_ACCESSORY_SOCKET:
// case USE_CLEAN_SOCKET:
// case USE_CHANGE_ATTRIBUTE:
// case USE_CHANGE_ATTRIBUTE2 :
//--Add before:
#ifdef ENABLE_ENCHANT_BONUS_ADD
case USE_CHANGE_ATTRIBUTE:
case USE_RESET_ATTRIBUTE:
{
LPITEM item2;
if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
return false;
if (item2->IsEquipped()) {
BuffOnAttr_RemoveBuffsFromItem(item2); }
if (ITEM_COSTUME != item2->GetType()) {
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("xXxXxXxXx"));
return false; }
if (item2->IsExchanging() || item2->IsEquipped())
return false;
if (item2->GetAttributeSetIndex() == -1) {
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("xXxXxXxXx"));
return false; }
if (item2->GetAttributeCount() == 0) {
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("xXxXxXxXx"));
return false; }
switch (item->GetSubType())
{
case USE_CHANGE_ATTRIBUTE:
item2->ChangeAttribute(); {
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(this, item, "CHANGE_COSTUME_ATTR", buf); } break;
case USE_RESET_ATTRIBUTE:
item2->ClearAttribute();
item2->AlterToMagicItem(); {
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(this, item, "RESET_COSTUME_ATTR", buf); } break;
}
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("xXxXxXxXx"));
item->SetCount(item->GetCount() - 1);
break;
}
#endif
//----Binarypart---->
Gamelib/ItemData.cpp
//--Search: "const char* CItemData::GetUseTypeString() const"
// case USE_PUT_INTO_RING_SOCKET:
// return DEF_STR(USE_PUT_INTO_RING_SOCKET);
//--Add after:
#ifdef ENABLE_ENCHANT_BONUS_ADD
case USE_CHANGE_ATTRIBUTE:
return DEF_STR(USE_CHANGE_ATTRIBUTE);
case USE_RESET_ATTRIBUTE:
return DEF_STR(USE_RESET_ATTRIBUTE);
#endif
GameLib/ItemData.h
//--Search: "enum EUseSubTypes"
// USE_PUT_INTO_RING_SOCKET,
//--Add after:
#ifdef ENABLE_ENCHANT_BONUS_ADD
USE_CHANGE_ATTRIBUTE,
USE_RESET_ATTRIBUTE,
#endif
UserInterface/Locale_inc.h
//--Add:
#define ENABLE_ENCHANT_BONUS_ADD
dump_proto/ItemCSVReader.cpp
//--Search: "Sub3"
//--Add:
"USE_CHANGE_ATTRIBUTE", "USE_RESET_ATTRIBUTE"
Here in pastebin the Code: [Hidden Content]
Best regards,
Legan.dev