• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Reply to thread

In data/lib/core/container.lua you can change


[code=lua]

function Container.createLootItem(self, item)

[/code]


for


[code=lua]

local currencyModifier = 1.0 -- 100% normal drop rate

function Container.createLootItem(self, item)

    if self:getEmptySlots() == 0 then

        return true

    end


    local itemCount = 0

    local lootRand = getLootRandom()

    local itemType = ItemType(item.itemId)

   

    if lootRand < item.chance then

        if itemType:isStackable() then

            itemCount = lootRand % item.maxCount + 1

        else

            itemCount = 1

        end

    end

   

    if table.contains({2148, 2152, 2160}, itemType:getId()) then

        itemCount = math.floor(itemCount * currencyModifier)

    end


    while itemCount > 0 do

        local count = math.min(ITEM_STACK_SIZE, itemCount)

       

        local subType = count

        if itemType:isFluidContainer() then

            subType = math.max(0, item.subType)

        end

       

        local tmpItem = Game.createItem(item.itemId, subType)

        if not tmpItem then

            return false

        end


        if tmpItem:isContainer() then

            for i = 1, #item.childLoot do

                if not tmpItem:createLootItem(item.childLoot[i]) then

                    tmpItem:remove()

                    return false

                end

            end


            if #item.childLoot > 0 and tmpItem:getSize() == 0 then

                tmpItem:remove()

                return true

            end

        end


        if item.subType ~= -1 then

            tmpItem:setAttribute(ITEM_ATTRIBUTE_CHARGES, item.subType)

        end


        if item.actionId ~= -1 then

            tmpItem:setActionId(item.actionId)

        end


        if item.text and item.text ~= "" then

            tmpItem:setText(item.text)

        end


        local ret = self:addItemEx(tmpItem)

        if ret ~= RETURNVALUE_NOERROR then

            tmpItem:remove()

        end


        itemCount = itemCount - count

        return tmpItem

    end

    return true

end

[/code]


Back
Top