Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3

Author Topic: [44.12] Dwarves claim ownership of any item they like and never drop the items.  (Read 12216 times)

gchristopher

  • Bay Watcher
    • View Profile

In 42.04, some dwarves will be wandering around carrying one or more objects in their right hand and refuse to drop them or complete whatever task caused them to pick up the item in the first place.

One dwarf, after picking up an iron minecart, would never put it down. I noticed the bug because that minecart was important and because that dwarf became incredibly slow from the extra weight.

In another example, here's a dwarf who has held on to every green glass pot she has picked up, whether or not it contains booze.


(Yes, I'm working on achieving absurd booze diversity.)

Inspection with dfhack revealed that the dwarves have claimed the items as owned, which is why the items are never put back into stockpiles or used in jobs.

After this happened a few times, I found 0009443: Dwarfs acquire and equip multiple empty goblets, which might be related.

I noticed that each dwarf had a preference for the material type of the item they were claiming as owned. For example, in the case above:



I suspect that the actual bug is that a dwarf can claim ownership of any item that they pick up and is something they like. Then, having nothing to do with the item, they just carry it around in their right hand forever, possibly accumulating several items in their right hand this way.

The captcha is broken, so if someone sees this, please file a bug report? This is probably a superset of bug 0009443.
« Last Edit: December 08, 2019, 08:01:08 pm by gchristopher »
Logged

MobRules

  • Bay Watcher
    • View Profile

I'm impressed that she can carry six large green glass pots in one (mittened!) hand, four of them full of booze.

I think the bug-tracker is still down for the server move?
Logged
Ninja dragons! Protect the masterwork roasts!
Is this biome reanimating? I really don't want to know what happens when "absurd numbers of megabeasts" is combined with "reanimating biomes".

Staalo

  • Bay Watcher
  • It's all for the betterment of Dwarfkind - honest!
    • View Profile

Yes, I've noticed this exact same phenomenon. It's really starting to slow down some those dwarves who can easily find items of their preferred material.

In one case an engraver who liked green glass started carrying around eight green glass pots; some full, some empty. At one point she started using them as weapons and became attached to them as favored weapons. Curiously she was constantly gaining Mining skill while doing this, and eventually ended up as Legendary Miner.
Logged
Kasmko Taldequihu, Human Criminal corrupted zombie is visiting.
Mong Todsporro, Human Criminal death zombie is visiting.

Uhhh... welcome?

MobRules

  • Bay Watcher
    • View Profile

Yes, I've noticed this exact same phenomenon. It's really starting to slow down some those dwarves who can easily find items of their preferred material.

In one case an engraver who liked green glass started carrying around eight green glass pots; some full, some empty. At one point she started using them as weapons and became attached to them as favored weapons. Curiously she was constantly gaining Mining skill while doing this, and eventually ended up as Legendary Miner.

Hmm. Well, picks are a "tool", and green glass pots are a "tool", so maybe the game assumes that if you are attacking something with a "tool", that you are mining?
Logged
Ninja dragons! Protect the masterwork roasts!
Is this biome reanimating? I really don't want to know what happens when "absurd numbers of megabeasts" is combined with "reanimating biomes".

Bouchart

  • Bay Watcher
  • [NO_WORK]
    • View Profile

Did that engraver have the mining skill enabled and carrying a pick?  Attacking with a non-weapon should increase Miscellaneous Object User.

Maybe someone could fire up Adventure Mode and attack with a tool.  I'd do it myself but I'm at work now.
Logged

greycat

  • Bay Watcher
    • View Profile

The bug tracker has been back up for several days.  Toady mentioned that DNS propagation could take a while.  I don't know what the old time to live setting was, but the current TTL is only 1 day.  If the old TTL was similar, propagation should have completed by now.  In other words, I don't know of any reason you shouldn't be able to use the bug tracker now.
Logged
Hell, if nobody's suffocated because of it, it hardly counts as a bug! -- StLeibowitz

Staalo

  • Bay Watcher
  • It's all for the betterment of Dwarfkind - honest!
    • View Profile

Did that engraver have the mining skill enabled and carrying a pick?  Attacking with a non-weapon should increase Miscellaneous Object User.

Maybe someone could fire up Adventure Mode and attack with a tool.  I'd do it myself but I'm at work now.

No, she didn't have the task enabled and had zero xp from Mining before she wandered into a danger room carrying her pots. She trained ridiculously fast too; I calculated 250-300xp per attack parried with a glass pot. In real time it was only few minutes from zero to Legendary while she stumbled around searching for an exit.
Logged
Kasmko Taldequihu, Human Criminal corrupted zombie is visiting.
Mong Todsporro, Human Criminal death zombie is visiting.

Uhhh... welcome?

gchristopher

  • Bay Watcher
    • View Profile

... I don't know of any reason you shouldn't be able to use the bug tracker now.
Because it's impossible to sign up for an account on it at the moment.



Yes, I tried typing "visual captcha" into the text box. :P
« Last Edit: January 07, 2016, 05:14:35 pm by gchristopher »
Logged

gchristopher

  • Bay Watcher
    • View Profile

Here is the dfhack procedure I am currently TESTING to fix an individual dwarf that has filled their inventory with inappropriately owned items.

First, back up your game, then lower expectations to none, because this is an alpha dfhack and a partially debugged DF version. Also, I am not a transcendent expert on dfhack.

I bet there's already a script out there that does this in an automated fashion, but I wanted to know exactly what was changed, since it's a science experiment. It's especially tedious for multiple items.

Using lua:

Code: [Select]
-- Select the dwarf and view their inventory, highlighting the item in question.
u = dfhack.gui.getSelectedUnit()

-- For each item you want to remove from their ownership.
  -- Note what the item was for later adjustment of dwarf preferences. (i.e. green glass pot)
  i = dfhack.gui.getSelectedItem()
  -- First make sure the item is really something they shouldn't have. (Is it part of a job?)
  print(i.flags.owned)
  -- If it's not owned, this probably isn't the bug you're looking for.
  -- Note the item ID.
  print(i.id)
  -- Set the item owned flag to false.
  i.flags.owned = false
  -- Remove the ownership record on the item.
  printall(i.general_refs)
  -- One of the refs should be of type "general_ref_unit_itemownerst". Note the index and delete that one.
  -- e.g.
  i.general_refs:erase(YOUR_INDEX_HERE)
 
  -- That's it for the item. Now the dwarf needs to forget about it.
  -- First find and remove it from the owned items list
  printall(u.owned_items)
  -- Find which entry matches the item id noted above. Erase the matching entry.
  u.owned_items:erase(16)
  -- Probably (I'm not 100% sure) we should remove it from their list of item attachment, too.
  printall(u.used_items)
  -- This is a list of all items they have grown some degree of attachment too. Find the item in this list.
  printall(u.used_items[X])
  -- One entry will have an id equal to the item we're removing from the dwarf. Erase it.
  u.used_items:erase([INDEX_GOES_HERE])

-- Now the dwarf will keep picking up items, unless we change the preference to something they won't encounter as frequently.
-- Preferences are stored in u.status.current_soul.preferences
-- They're generally in the same order as the ones on the thoughts screen
printall(u.status.current_soul.preferences[X])

-- Change either the item_type, mattype or matindex to something less commonly available, depending on the preference type.
-- e.g. for my dwarf that preferred green glass, the fix was:

u.status.current_soul.preferences[4].mattype = 5

-- Now that dwarf likes crystal glass instead. Good luck finding any!

Next I designate the item for dumping, and so far, it looks like someone will come take it away from the affected dwarf! We'll see if changing their preferences prevents it from recurring.

I'm not sure if all this editing is worth it, but I'll report back if this science experiment stops dwarves from accumulating items. That would be a pretty strong confirmation of the bug being rooted in having a preference for an item they picked up!
« Last Edit: January 07, 2016, 06:00:50 pm by gchristopher »
Logged

99Hedgehog

  • Bay Watcher
  • [ETHIC:USE_TILESET: UNTHINKABLE]
    • View Profile

Most of my dwarves have been carrying at least one mug without dropping it.

In one case an engraver who liked green glass started carrying around eight green glass pots; some full, some empty. At one point she started using them as weapons and became attached to them as favored weapons. Curiously she was constantly gaining Mining skill while doing this, and eventually ended up as Legendary Miner.
Only in Dwarf Fortress™
Logged
[under a terrifying biome]
"Can you describe what the surface is like?"
https://www.youtube.com/watch?v=z8ZqFlw6hYg

gchristopher

  • Bay Watcher
    • View Profile

Toady temporarily disabled the bug tracker captcha. This bug is reported here:

http://www.bay12games.com/dwarves/mantisbt/view.php?id=9456
Logged

khearn

  • Bay Watcher
    • View Profile

I queued up 10 stone bookcases for my library, waited until they were all built, then started installing them and there were only 9 available, even after the normal wait for them to get moved to a stockpile. I eventually tracked the errant bookcase down via the z->stocks screen and discovered that one of my dwarves was carrying it around in both hands (multigrasp), while doing other tasks. Thanks for the detailed instructions, gchristopher. It'll be nice to get my bookcase back. And I hope the dwarf will feel a bit of relief at not having to lug the thing around any more. A stone bookcase has got to be pretty heavy.
Logged
Have them killed. Nothing solves a problem quite as effectively as simply having it killed.

gchristopher

  • Bay Watcher
    • View Profile

Good luck! Um, maybe make sure he owns the item and has a preference for it before editing, or else it might be some other bug. (And with any dfhacking, expect everything to explode. The first try resulted in that dwarf mysteriously dying a few months later, in a pool of his own blood, in front of his child.)
Logged

TheHossofMoss

  • Bay Watcher
  • "Man muss Heu machen, solange die Sonne scheint."
    • View Profile

I queued up 10 stone bookcases for my library, waited until they were all built, then started installing them and there were only 9 available, even after the normal wait for them to get moved to a stockpile. I eventually tracked the errant bookcase down via the z->stocks screen and discovered that one of my dwarves was carrying it around in both hands (multigrasp), while doing other tasks. Thanks for the detailed instructions, gchristopher. It'll be nice to get my bookcase back. And I hope the dwarf will feel a bit of relief at not having to lug the thing around any more. A stone bookcase has got to be pretty heavy.

Is your dwarf getting any strength benefits from carrying it around?
Logged
On the Fifth Day of Axemas, my love saved the fort from...
Five sieging Werebeasts, four Giant Dingoes, three sneaky Thieves, two drunken Black bears, and a Titan killing spree!

fluffymormegil

  • Bay Watcher
    • View Profile

Is your dwarf getting any strength benefits from carrying it around?
I thought only actions that raise skills give attribute benefits?
Logged
Pages: [1] 2 3