View Issue Details

IDProjectCategoryView StatusLast Update
0001044Dwarf FortressDwarf Mode -- Tradepublic2015-02-18 03:29
Reporterslink Assigned ToToady One  
PrioritylowSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version0.31.02 
Fixed in Version0.40.06 
Summary0001044: Human Traders Brought "liquid"
DescriptionAs title. Cost was 20 dwarf-bucks for 10 units of an unspecified liquid (but not an "unknown material") weighing 11 dwarf-kg in a pine barrel. I did not buy it because I had no trade goods, but I saved a copy of the game with those traders in the depot in case someone wants me to do something.
Tagsmaterial, Save Included, Save Needs Testing, still affects migrated saves, trade

Relationships

related to 0000753 new Merchants bring barrels of blood and tears 
has duplicate 0001940 closedLogical2u Human caravan carries Barrel filled with "liquid [10]" 
has duplicate 0003481 resolvedLogical2u Liquid Barrel 
has duplicate 0004304 resolveduser6 Human caravan is glitchy 

Activities

user6

2010-04-12 08:53

  ~0003051

The save may be helpful, yeah. http://dffd.wimbli.com/

slink

2010-04-12 11:37

reporter   ~0003092

http://dffd.wimbli.com/file.php?id=2078

drunken

2010-04-18 19:36

reporter   ~0004164

i have a liquid barrel containing 12 liquid, just confirming

DDR

2010-04-24 00:14

reporter   ~0004850

Confirmed!

user6

2010-04-24 00:42

  ~0004854

Last edited: 2010-04-24 00:44

drunken and DDR: does it crash if you view the "barrels" or "liquid" sections of the Stocks menu?

Logical2u

2010-05-18 04:56

manager   ~0006940

zergl from 0001940 uploaded this save - http://www.wikifortio.com/791077/region2.7z

zergl

2010-05-24 16:56

reporter   ~0007304

Sorry about opening a new bug for that, I forgot I still had some other filters on when searching if this was already reported. Oops.

Raws were all completely vanilla in my save so it has nothing to do with modding and worldgen and playing was done completely in 0.31.04.

Also in my save there's loads of trade goods in the depot so anyone trying to have a closer look at it can just buy it for further experimentation.

And @Footkerchief: no crashing at all when I play around in the stocks menu before or after buying it for me.

ChickenLips

2010-06-20 19:34

reporter   ~0008841

Got a save here as well (.08) with a human trader with a "+liquid barrel (palm)+", containing 10 liquid. Checked the liquid and barrel sections of the stocks, and viewed details on each item; no crash. Save available if needed.

ellindsey

2010-07-10 20:02

reporter   ~0009896

Just got this bug myself, in 31.09. The humans bought a "liquid Barrel (willow)" containing liquid[10] with value 10 and weight <1, and the description "This is a stack of 10 liquid." Purchasing it did not trigger a crash. Unmodded game, started on an earlier version of DF and copied the save game files over to DF 31.09.

shibdib

2010-07-10 21:44

reporter   ~0009913

could it be a barrel of water? get that barrel in a closed area with a dwarf and see if he drinks it

GauHelldragon

2010-08-06 14:29

reporter   ~0011562

I also had this bug in 31.12
It is classified as a 'liquid' in the stocks screen.

toybasher

2010-08-06 17:12

reporter   ~0011569

someone needs to abandon the fort, and visit it in adventure mode

Then we MIGHT be able to see whats inside that barrel (if not we could still try and drink from it.)

Quietust

2010-10-10 12:06

reporter   ~0013307

In a fortress with modified raws (to readd Human merchant nobles), the human Guild Representative permitted me to request "liquid" at the very bottom of the Extracts section, after all of the different types of blood and the several types of milk.

troas

2010-10-29 11:32

reporter   ~0013552

This is still happening in 31.16. Bugged save available at http://dffd.wimbli.com/file.php?id=3340

user11

2010-12-10 21:21

  ~0014519

Loaded slink's original save in 31.18. Didn't see any duplicate raw files. Was able to view the liquid without crashing.

user11

2011-07-10 11:35

  ~0018195

Last edited: 2011-07-10 11:49

I went back and tested animals with various extracts and liquids as part of their definition.

If the sea lamprey's SPECIALATTACK_SUCK_BLOOD tag is removed, I no longer have been getting the generic 'liquid' on the embark screens (playing as humans for testing). I tested on the same gen seeds throughout multiple trials.

Can anyone else confirm?

EDIT: This would apply to nightwings also, but since they are FANCIFUL, their products don't show on embark.

user11

2011-08-21 09:52

  ~0018602

Also requires the removal of LEECHMAN's SPECIALATTACK_SUCK_BLOOD tag (I had previously removed them from my game for testing and didn't realize it).

norgg

2012-02-23 03:48

reporter   ~0020528

Last edited: 2012-02-23 04:07

Some dwarven traders just turned up with a barrel of liquid for me in 34.02. Save at http://norgg.org/files/The%20Land%20of%20Oracles%20-%20Barrel%20of%20Liquid.zip

Granite26

2012-02-23 05:17

reporter   ~0020534

I've seen it in Vanilla 34.02 as well

Caode

2012-03-24 16:18

reporter   ~0021708

Confirmed for vanilla 34.05 as well.

hyp3r4ctive

2012-04-29 02:52

reporter   ~0022393

Vanilla 34.07 confirmed as well. Can view it without crash. I can only imagine the dwarves checking it: "Not blood...not alcohol...but it's a fluid...It's a liquid everybody, my jobs done"

Quietust

2012-05-18 06:18

reporter   ~0022588

Last edited: 2012-05-18 06:21

Some memory hacking reveals that the liquid's material is NONE:NONE (i.e. both material type and subtype are -1) within the entity's resource lists (used directly during trade negotiations and presumably other tasks as well) - if I change the values to something more reasonable, the "Liquid" entry in the trade agreement screen changes accordingly.

TBeholder

2014-01-21 21:47

reporter   ~0024312

Last edited: 2014-01-21 21:47

Wait, it's interesting. Only _sea lamprey_ and _leech man_ need to be removed?
Okay, _nightwing_ is [EVIL] so humans won't get it, much like sliver barb. But _tick_, _tick man_, _mosquito_, _mosquito man_ also have blood sucking, only via "[APPLY_CREATURE_VARIATION:*_SUCK_ATTACK]" (leech man have both versions which may be a munor bug in itself). They don't generate "Liquid"/NONE:NONE?

user11

2014-03-25 14:53

  ~0024627

TBeholder, it is quite possible they do.

Quietust

2014-06-04 12:00

reporter   ~0024799

Last edited: 2014-06-04 12:04

After having examined 0.34.11's code for initializing entity resources, I now know exactly why this happens:

If the civilization has USE_ANIMAL_PRODUCTS, it will, for each creature it has access to, attempt to add all materials used by SPECIALATTACKs to its list of tradeable extracts. However, this section fails to check whether the special attack is of type INJECT_EXTRACT, SUCK_BLOOD, or INTERACTION - it just adds all materials specified. The problem is that the other SPECIALATTACK types insert dummy values of -1 into the material/matgloss lists (in order to keep them properly aligned), so those dummy values end up getting added to the entity.

In addition to not checking the SPECIALATTACK type, it is also neglecting to check the extract material's state (it's theoretically possible for the extract to be injected as a solid or a gas). By comparison, the logic immediately afterward for handling SECRETIONs correctly takes this into account.

Issue History

Date Modified Username Field Change
2010-04-12 06:42 slink New Issue
2010-04-12 08:53 user6 Note Added: 0003051
2010-04-12 08:55 Kennel Tag Attached: material
2010-04-12 08:55 Kennel Tag Attached: trade
2010-04-12 11:37 slink Note Added: 0003092
2010-04-12 14:00 user6 Relationship added related to 0001052
2010-04-18 19:36 drunken Note Added: 0004164
2010-04-20 19:27 user6 Relationship replaced child of 0001052
2010-04-20 19:27 user6 Relationship deleted child of 0001052
2010-04-20 19:29 user6 Relationship added child of 0000446
2010-04-24 00:14 DDR Note Added: 0004850
2010-04-24 00:42 user6 Note Added: 0004854
2010-04-24 00:44 user6 Note Edited: 0004854
2010-05-18 04:55 Logical2u Relationship added has duplicate 0001940
2010-05-18 04:56 Logical2u Note Added: 0006940
2010-05-24 16:56 zergl Note Added: 0007304
2010-06-13 16:16 user6 Relationship replaced related to 0000446
2010-06-13 16:21 user6 Relationship replaced child of 0000446
2010-06-20 19:34 ChickenLips Note Added: 0008841
2010-07-10 20:02 ellindsey Note Added: 0009896
2010-07-10 21:44 shibdib Note Added: 0009913
2010-08-06 14:29 GauHelldragon Note Added: 0011562
2010-08-06 17:12 toybasher Note Added: 0011569
2010-10-10 12:06 Quietust Note Added: 0013307
2010-10-29 11:32 troas Note Added: 0013552
2010-10-29 13:36 Logical2u Relationship added has duplicate 0003481
2010-12-10 20:44 user11 Tag Attached: Save Included
2010-12-10 21:21 user11 Note Added: 0014519
2010-12-10 21:21 user11 Tag Attached: Save Needs Testing
2010-12-11 12:15 user11 Relationship deleted child of 0000446
2010-12-11 12:16 user11 Relationship added parent of 0002311
2011-03-22 08:43 user6 Relationship added has duplicate 0004304
2011-07-10 11:35 user11 Note Added: 0018195
2011-07-10 11:35 user11 Note Edited: 0018195
2011-07-10 11:39 user11 Note Edited: 0018195
2011-07-10 11:49 user11 Note Edited: 0018195
2011-07-10 12:11 user11 Relationship deleted parent of 0002311
2011-08-21 09:52 user11 Note Added: 0018602
2012-02-23 03:48 norgg Note Added: 0020528
2012-02-23 04:07 norgg Note Edited: 0020528
2012-02-23 05:17 Granite26 Note Added: 0020534
2012-03-24 16:18 Caode Note Added: 0021708
2012-04-29 02:52 hyp3r4ctive Note Added: 0022393
2012-05-18 06:18 Quietust Note Added: 0022588
2012-05-18 06:20 Quietust Note Edited: 0022588
2012-05-18 06:21 Quietust Note Edited: 0022588
2014-01-21 21:47 TBeholder Note Added: 0024312
2014-01-21 21:47 TBeholder Note Edited: 0024312
2014-03-25 14:53 user11 Note Added: 0024627
2014-03-25 14:53 user11 Assigned To => user11
2014-03-25 14:53 user11 Status new => acknowledged
2014-06-04 12:00 Quietust Note Added: 0024799
2014-06-04 12:01 Quietust Note Edited: 0024799
2014-06-04 12:04 Quietust Note Edited: 0024799
2014-06-04 12:04 Quietust Note Edited: 0024799
2014-07-18 08:48 user6 Relationship added related to 0000753
2014-07-28 15:54 user11 Status acknowledged => confirmed
2014-07-29 11:06 Toady One Status confirmed => resolved
2014-07-29 11:06 Toady One Fixed in Version => Next Version
2014-07-29 11:06 Toady One Resolution open => fixed
2014-07-29 11:06 Toady One Assigned To user11 => Toady One
2014-08-09 13:19 Loci Tag Attached: not fixed
2014-08-09 13:44 Loci Tag Detached: not fixed
2014-08-09 13:45 Loci Tag Attached: still affects migrated saves