Jump to content

Recommended Posts

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;

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Days

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.