Jump to content

Dust Moth is permanently busy and doesn't accept Amberosia


Biskit
  • Pending

There's only 1 Dust Moth and have activated the archives and two of my friends were able to trade and get the blueprint (at different times, I didn't see it), but I have tried different times in the past few days, maybe hoping the moth is busy doing the cleaning or have even mined the thulecite fragments it made, but it just does the refuse animation every time and WX says that like UNIT OCCUPIED or something like that. We've tried restarting the server, but nothing has worked. It seemed occupied the first tries, but yesterday it was free roaming around, and still didn't want to trade.


Steps to Reproduce

- try to feed multiple Amberosia to a dustmoth either by 1 player or multiple players. after about 3 Amberosia it becomes permanently busy/occupied and never trades with anyone

  • Big Ups 1



User Feedback


UPDATE: I have found out why this bug happens.
So after a few trades (it taking a few Amberosia either by 1 player or multiple players), it trades only for the 1st time. It still accepts the 2nd and 3rd time, and sneezes, but no gives blueprints, and then it bugs and becomes permanently busy/occupied and never trades with anyone anymore.

Edited by Biskit

Share this comment


Link to comment
Share on other sites

This is a bit late to ask but did you guys mine out the dust moth's Tidy Hidey-Hole before giving it Amberosia again after the first time? Since dust moth would refuse to eat another until their den is cleared, and the game should have communicated this better, not gonna lie

Tidy_Hidey-Hole_Full.webp.7ea95ddc0fae0a427804ba7f79431db4.webp

Another thing I notice in one of my past runs is that the Thulecite Bug Net blueprint is guaranteed to drop for the nearest player to it, typically the one who feeds it, and that person has not learned the blueprint before. However, if the player already knows the blueprint, and tries to feed dust moths again, then the blueprint drop can fail. I checked the codes after encountering this in a session and I believe it is the case, but I am not good at reading codes so take that with a grain of salt (feel free to correct me on this). For the record, I assume this is the responsible part, in dustmoth.lua: 

local function TryToDropBlueprint(inst)
    local player = inst:GetNearestPlayer(true)
    if player == nil then
        return false
    end

    local builder = player.components.builder
    if builder == nil then
        return false
    end

    local x, y, z = inst.Transform:GetWorldPosition()
    local lootsindex = FindBlueprintLootsIndex(x, y, z)

    local lootname
    for index, recipename in ipairs(BLUEPRINT_LOOTS) do
        if lootsindex == nil or lootsindex < index then
            if builder == nil or not builder:KnowsRecipe(recipename) then
                lootname = recipename
                break
            end
        end
    end

    if not lootname then
        if math.random() > TUNING.DUSTMOTH.BLUEPRINT_DROP_CHANCE_REPEAT then
            return false
        end
        lootname = BLUEPRINT_LOOTS[math.random(#BLUEPRINT_LOOTS)]
    end

    local loot = SpawnPrefab(lootname .. "_blueprint")
    inst.components.lootdropper:FlingItem(loot)
    return true
end

 

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...