I need help I want it to be like the official one 1 adder = 1 bonus and 5th bonus with blessing ball added, now it is like this he adds 5 bonuses with 1x adder instead of individually
its, Fliege V3 Files
case USE_CHANGE_ATTRIBUTE :
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot change the bonus of this Item."));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have no upgrade you could possibly change."));
return false;
}
if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 0, 30, 40, 3
};
item2->ChangeAttribute(aiChangeProb);
}
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};
item2->ChangeAttribute(aiChangeProb);
}
else
{
if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
{
if ((item2->GetType() == ITEM_WEAPON)
|| (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item can only be used on weapons or armor up to level 40."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item cannot be used on accesories."));
break;
}
}
if (item->GetVnum() == 71052)
{
if (item2->ChangeRareAttribute() == true)
{
item->SetCount(item->GetCount() - 1);
}
}
else
{
item2->ChangeAttribute();
item->SetCount(item->GetCount() - 1);
}
}
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You changed the item bonus."));
break;
case USE_ADD_ATTRIBUTE :
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot change the bonus of this Item."));
return false;
}
if (item->GetVnum() == 71051)
{
if (item2->AddRareAttribute() == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Enhancement successfully added."));
item->SetCount(item->GetCount() - 1);
}
}
else if (item2->GetAttributeCount() < 4)
{
if (item->GetVnum() == 71152 || item->GetVnum() == 76024)
{
if ((item2->GetType() == ITEM_WEAPON)
|| (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item can only be used on weapons or armor up to level 40."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item cannot be used on accesories."));
break;
}
}
#ifdef ENABLE_INSTANT_5_BONUS
for (int i = 0; i < ITEM_MANAGER::MAX_NORM_ATTR_NUM; i++)
item2->AddAttribute();
#else
if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
{
item2->AddAttribute();
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Enhancement successfully added."));
int iAddedIdx = item2->GetAttributeCount() - 4;
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Enhancement could not be added."));
}
#endif
item->SetCount(item->GetCount() - 4);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot add any more attributes by using this item."));
}
break;
case USE_ADD_ATTRIBUTE2 :
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot change the bonus of this Item."));
return false;
}
if (item2->GetAttributeCount() == 1)
{
if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
{
item2->AddAttribute();
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Enhancement successfully added."));
int iAddedIdx = item2->GetAttributeCount() - 4;
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Enhancement could not be added."));
}
item->SetCount(item->GetCount() - 1);
}
else if (item2->GetAttributeCount() == 5)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot use this Item for other Upgrades."));
}
else if (item2->GetAttributeCount() < 4)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Please use the Advancement Scroll to add another Upgrade."));
}
else
{
sys_err("ADD_ATTRIBUTE2 : Item has wrong AttributeCount(%d)", item2->GetAttributeCount());
}
break;