View Issue Details

IDProjectCategoryView StatusLast Update
0000130Dwarf FortressDwarf Mode -- Jobs, Itemspublic2014-01-17 10:03
ReporterWtamer Assigned ToToady One  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSWindowsOS VersionXp Sp 3
Fixed in Version0.34.02 
Summary0000130: Forge jobs always use only a single bar
DescriptionRegardless of material size, anything made at a Forge/Magma Forge requires only a single metal bar to make.
Additional InformationI haven't tried every single metal out yet, nor have I tried making anything out of adamantine wafers. (Might be a problem with the size of bars)

Note that the job cancel message is still correct: if you try to forge a statue out of a material you don't have, it'll tell you that you need 3 metal bars.
Tagsbinary patch, forge, reactions, workshop

Relationships

has duplicate 0001360 closeduser6 Weaponsmithing/Armoring just need one bar per item 
has duplicate 0000493 closeduser6 Forge jobs don't consume proper number of bars 
has duplicate 0001663 closeduser6 Electrum furniture from a single electrum bar at magma forge 
has duplicate 0002696 resolvedLogical2u Dwarves will make anything out of 1 bar or 1 wafer 
related to 0000063 resolvedToady One Steel Bar Cancel - 150 Iron Bars 
related to 0001484 resolvedToady One Item MATERIAL_SIZE may be off by a factor of 150 
related to 0000801 acknowledgedToady One Forges don't care if bars have a small PRODUCT_DIMENSION 
related to 0005029 resolvedToady One Tool forging ignores MATERIAL_SIZE 
related to 0004979 resolvedToady One Tool weight ignores [SIZE] 

Activities

Rafal99

2010-04-20 01:15

reporter   ~0004315

I can confirm this. Tried with iron and steel breastplates, mail shirts, doors, floodgates and grates.

Nimrod

2010-04-20 01:17

reporter   ~0004316

confirmed

Rhenaya

2010-04-20 01:24

reporter   ~0004317

ah damn have not searched for forge jobs :x

Quietust

2010-04-20 08:28

reporter   ~0004333

Most likely, the hardcoded smithing reactions are forgetting to multiply by 150 (the "dimension" of metal bars) - when smelting metal bars into alloys when you don't have enough, it'll complain that you need 150 times as many bars as you'd expect (e.g. "Urist McSmelter cancels Make nickel silver bars: Needs 300 nickel bars").

Kwahn

2010-04-23 11:20

reporter   ~0004748

I've had up to 3 silver bars and bronze bars used in any given project... can't confirm this one...

user6

2010-04-23 12:32

  ~0004756

Maybe it depends on item types? Rafal99 mentioned "iron and steel breastplates, mail shirts, doors, floodgates and grates." Does it reproduce for those?

Vastin

2010-04-27 21:57

reporter   ~0005469

I've been forging a lot of steel objects in my recent fort.

I noticed a little ways in that all my armor was requiring 1 steel bar each, regardless of size (breastplates, helms, greaves, etc).

Likewise I just started producing Large Serrated steel discs for my traps, and they too are only requiring one bar.

I'm currently working with magma forges, but in my last fort I seem to remember getting the same result with a standard forge.

Mephansteras

2010-05-04 10:06

reporter   ~0006092

I noticed similar issues last night when testing out some modded in armor and weapons. Material size does not seem to effect the number of bars used at the moment.

hyndis

2010-05-04 13:14

reporter   ~0006113

Is this a bug or intended behavior? It may very well be intended behavior. Certainly simplifies things, so that metal bars now work the same as wood, cloth, and stone. 1 unit of raw materials = 1 finished item.

schlappi

2010-06-27 01:37

reporter   ~0009163

Last edited: 2010-06-27 01:39

I can confirm - at a forge, one bar produces one item, even though it states the correct amount in the cancel message if you don't have a single bar available.

Easy to observe too, just watch the material used in the forges while production is in process.

Malibu Stacey

2010-10-08 04:58

reporter   ~0013253

Maybe I'm missing some change in 0.31.xx but isn't this how stuff has always worked in 40d?

Are raw materials now supposed contain a number of 'units' so you can create multiple items from one bar of metal/one stack of cloth/one wooden log etc? If so that's pretty awesome (although it makes the abundance of ore in 0.31.xx even more ridiculous as in theory you'll use a hell of a lot less metal if it works).

Quietust

2010-10-08 05:51

reporter   ~0013257

The "subunits" on bars were created solely for health care (specifically, bars of soap), so every other job in the game had to be adjusted to take item dimension into account (but most of them weren't, hence this bug).

hyndis: the fact that having zero bars of metal causes the job cancellation to indicate up to 3 bars (or 9 wafers) means this is definitely a bug. If non-healthcare jobs were actually respecting item dimension (and leaving the rest of the bars behind for future use), then it would be possible to make fifty barrels with one bar.

Frogwarrior

2010-11-20 18:30

reporter   ~0014074

I found that this can be fixed for armor and weapons by multiplying all the MATERIAL_SIZE tokens by 150. So if a breastplate is 1350, then it will cost 3 bars of metal, chain shirts or greaves at 900 take 2 bars, etc. (You have to regen though.) Of course, this fix reintroduces the bug where if you don't have enough you get crazy numbers - if you don't have three bars when you try to make a breastplate, it will say "need 450 bars." Maybe he fixed that bug wrong the first time around?

Sadly, no luck on barrels and furniture with this fix though.

Quietust

2010-11-20 19:11

reporter   ~0014075

Frogwarrior: are you certain that this doesn't break the case of melting down said goods? Right now, while everything forges from a single bar, melting goods down does seem to reclaim the expected amount of metal, so boosting the material size might result in a single breastplate melting down into 150 bars...

Frogwarrior

2010-11-20 20:19

reporter   ~0014076

Actually, I just tested that, and melting seems to be just fine. Two chain leggings makes a bar, as does a chain shirt and a shield.

But, actually, making things IS still a bit buggy... battle axes, shields, chain leggings, and anything else with material size over 450 (formerly 3) now takes 2 bars...

Gonna need to run more tests.

Frogwarrior

2010-11-20 21:30

reporter   ~0014079

OK, it's obviously not making 150 times as many bars if you melt things, but it's also a little more than expected. Huh. Not really sure what's going on here.

Oh well, I'll prolly play like this anyway.

rephikul

2010-11-23 13:44

reporter   ~0014184

.18 here, a physical bar is 450 units. Material size is rounded down to last 10 divisible i.e. 461 -> 460 then divided to 450 i.e. 460/450 -> 1.02 then rounded up to calc the amount of bar needed for production i.e. 1.02 -> 2. Melting for objects made from multiple bars is kinda wierd tho.

Frogwarrior

2011-09-12 00:11

reporter   ~0018709

Huh.
So after testing, it appears that the amount of metal you get back is independent of MATERIAL_SIZE. I would guess that, like the value of objects, it is a function of armor type and such?

Huh.

Xen0n

2011-09-12 09:15

reporter   ~0018713

Last edited: 2011-09-12 18:02

I'm curious, would Frogwarrior's workaround of increasing the MATERIAL_SIZE tokens also increase the amount of non-metal materials needed to make an object? For example, I just implemented the 'multiply MATERIAL_SIZE by 150 fix,' but then realised than helms can be made from metal OR bone. So would a bone helm take 300 bones now? Well, no, I tested it and it took just 1 bone. But why didn't it take 300? Is MATERIAL_SIZE only applicable to metals? Also, would the 'x 150' fix adversely affect other things, like the surface area (and therefore ability to spread out force from attacks) on armor, etc. ?

Quietust

2012-01-14 20:45

reporter   ~0019390

Last edited: 2012-01-22 18:27

For the Win32 SDL 0.31.25 build, the following binary patch should fix smithing jobs to use the correct number of bars/wafers:

380DE1 : DE F3 FF FF -> 25 01 00 00 (for adamantine non-cloth, call the routine below)
380F0B : 91 21 FF FF -> 35 D4 01 00 (for normal metal, call the routine below)
39E344 : CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC -> 50 8B 41 10 69 C0 96 00 00 00 89 41 10 C7 41 64 96 00 00 00 58 E9 42 4D FD FF (multiply count by 150 and set min_dimension)

Quietust

2012-02-01 10:15

reporter   ~0019449

Binary patch for version 0.31.25 Linux: (untested)
60D201 : E8 8A C0 F8 FF -> E8 CC F5 FF FF
60C7D2 : 8D B4 26 00 00 00 00 8D BC 27 00 00 00 00 -> 85 C0 0F 85 B6 CA F8 FF 50 8B 46 10 EB E3
60C7C3 : 90 8D 74 26 00 -> E9 AA FE FF FF
60C672 : 8D B4 26 00 00 00 00 8D BC 27 00 -> 69 C0 96 00 00 00 89 46 10 EB BA
60C637 : 89 F6 8D BC 27 00 00 00 00 -> C7 46 34 96 00 00 00 EB CA
60C60A : 8D B6 00 00 00 00 -> 58 E9 80 CC F8 FF

Toady One

2012-02-16 16:50

administrator   ~0019866

I think this is working now. Thanks Quietust!

Issue History

Date Modified Username Field Change
2010-04-02 07:30 Wtamer New Issue
2010-04-02 08:17 arcaner Tag Attached: workshop
2010-04-15 05:24 peregarrett Tag Attached: forge
2010-04-15 05:24 peregarrett Tag Attached: reactions
2010-04-20 01:10 user6 Relationship added related to 0000063
2010-04-20 01:11 user6 Relationship added has duplicate 0000483
2010-04-20 01:11 user6 Relationship added has duplicate 0001360
2010-04-20 01:11 user6 Relationship deleted has duplicate 0000483
2010-04-20 01:11 user6 Relationship added has duplicate 0000493
2010-04-20 01:12 user6 Summary Forge reactions use improper amount of materials => Forge jobs always use only a single bar
2010-04-20 01:15 Rafal99 Note Added: 0004315
2010-04-20 01:17 Nimrod Note Added: 0004316
2010-04-20 01:24 Rhenaya Note Added: 0004317
2010-04-20 08:28 Quietust Note Added: 0004333
2010-04-23 11:20 Kwahn Note Added: 0004748
2010-04-23 12:32 user6 Note Added: 0004756
2010-04-24 00:52 user6 Relationship added related to 0001484
2010-04-27 21:57 Vastin Note Added: 0005469
2010-04-28 14:00 user6 Category General => Dwarf Mode -- Jobs, Items
2010-04-30 13:34 user6 Relationship added has duplicate 0001663
2010-05-04 10:06 Mephansteras Note Added: 0006092
2010-05-04 13:14 hyndis Note Added: 0006113
2010-06-27 01:37 schlappi Note Added: 0009163
2010-06-27 01:39 schlappi Note Edited: 0009163
2010-07-14 19:54 Logical2u Relationship added has duplicate 0002696
2010-10-08 04:58 Malibu Stacey Note Added: 0013253
2010-10-08 05:51 Quietust Note Added: 0013257
2010-11-20 18:30 Frogwarrior Note Added: 0014074
2010-11-20 19:11 Quietust Note Added: 0014075
2010-11-20 20:19 Frogwarrior Note Added: 0014076
2010-11-20 21:30 Frogwarrior Note Added: 0014079
2010-11-23 13:44 rephikul Note Added: 0014184
2011-07-09 02:51 user11 Relationship added related to 0000801
2011-09-12 00:11 Frogwarrior Note Added: 0018709
2011-09-12 09:15 Xen0n Note Added: 0018713
2011-09-12 18:01 Xen0n Note Edited: 0018713
2011-09-12 18:02 Xen0n Note Edited: 0018713
2012-01-14 20:45 Quietust Note Added: 0019390
2012-01-14 20:46 Quietust Tag Attached: binary patch
2012-01-14 20:48 Quietust Note Edited: 0019390
2012-01-18 06:42 Quietust Note Edited: 0019390
2012-01-22 18:27 Quietust Note Edited: 0019390
2012-01-22 19:16 user6 Relationship added related to 0005029
2012-01-23 12:41 user6 Relationship added related to 0004979
2012-02-01 10:15 Quietust Note Added: 0019449
2012-02-16 16:50 Toady One Note Added: 0019866
2012-02-16 16:50 Toady One Status new => resolved
2012-02-16 16:50 Toady One Fixed in Version => Next Version
2012-02-16 16:50 Toady One Resolution open => fixed
2012-02-16 16:50 Toady One Assigned To => Toady One