Anonymous Login
2017-11-21 15:01 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001041OpenClonkObjectspublic2017-11-01 01:38
Reporterala 
Assigned ToClonkonaut 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformWindows 7 64bitOSOS Version
Product Version4.1 
Target Version8.0Fixed in Version 
Summary0001041: Wood and burned wood get stacked together
DescriptionWood and burned wood end up on the same item stack in a container.
TagsNo tags attached.
Attached Files

-Relationships
related to 0001950resolvedMaikel RemoveObject(true) in Container, no Collection callback 
+Relationships

-Notes

~0003000

Clonkonaut (developer)

This is probably the same with every other inflammable material (namely Coal). Problem is, what do we do about it? Unstack them and show as different items? Iirc that was how it was done in the past. You end up with several icons of the same item and ask yourself what the difference is (since you can't tell by name or picture) and why it's not stacked. I can foretell the next bugtracker entry...

Proper problem solution would be a definition change, imho. Turn Wood to Burned Wood, turn Coal into a lump of ashes / Burned Coal(?). Thus none of the two will serve as construction material anymore but may keep the fuel value. Slowly deteriorate the value as they burn down.

For anyone interested in this bug, please be advised that due to the heavy resources changes, wood will get split into Log and Planks.

~0003001

Zapper (developer)

Since the inventory system is entirely scripted in the Controls-branch, it would be possible to put burning items on another stack (and give them a fire background, f.e.)

~0003002

Clonkonaut (developer)

You could do that with burning items but not with *burned* ones (i.e. burned and extinguished). You can't even tell afterwards why con is below 100.

~0003006

Zapper (developer)

Well, the obvious solution would be that EVERY object that gets incinerated and then extinguished becomes coal.
I would not introduce a "Burned"-definition for every object, though. That does not sound reasonable.

~0003007

Clonkonaut (developer)

Last edited: 2014-04-10 12:39

View 2 revisions

You'd still have the same problem with coal, then. You must also consider if this would turn out as a coal production exploit. Coal that has been turned from wood would need a reduced fuel value (otherwise it's an exploit). Again, this comes with no visual (i.e. perceivable) distinction.
Also, this wouldn't look good. Specialised burned definitions would look reasonably similar too the original object. But changing a log into coal in an instant is weird.

The amount of necessary burned defs isn't that big, is it? The first three examples that come to my mind are Coal and the two wood defs (Log and Planks). These three are three of the objects that you have hundreds of and where you want a distinction. I wouldn't a burned def for any other material. If a scenario designer decides to inflame a rock, he'd have to deal with the consequences. It's not something intended by the original objects.

Other inflammable objects (tools / weapons) shouldn't pose a problem. Usually, you have only a few of those. My suggestion would be to have these burn a little bit without shrinking. During that time you may rescue these tools if valuable, by extinguishing. You get a regular hammer back. Half burned tools and weapons are useless anyway and just clutter the landscape. Half burned wood is still fine for fuel.
If you let the time pass, the object immediately crumbles into ashes.

~0003008

Sven2 (developer)

Turning most things into coal doesn't sound too bad. SetGraphics could be used to give individual, fitting graphics and scripting a fuel value doesn't sound too hard either.

Shouldn't you be able to use wood to fuel your foundry or power plant anyway?

~0003009

Clonkonaut (developer)

Last edited: 2014-04-10 16:59

View 2 revisions

Yes, you are able to use wood to fuel something but, as it has always been, with less efficiency. You need 2 wood to substitute one coal. Coal from wood has to account for that.

I'm not really in favour of turning everything into coal and change the graphics. These would still get stacked together in the contents menu and you can't know if behind this lump of coal waits a completely different one because it's charcoal that has different values. If then, you implement a mechanism to display these as different icons in the contents menu - why not use different IDs right from the beginning?

~0003010

Sven2 (developer)

Last edited: 2014-04-10 18:29

View 2 revisions

Using different IDs makes other things rather complicated. We've had that problem in the Western pack, where tools could be built from different definitions (e.g.: Build your tent either from Bison Leather or Wipf Fur).

We can go with always stacking IDs, but then we will need different solutions for component problems (e.g.: Define component lists as Components=3*IsLeather,2*IsRope).

There are many things that differ mostly in graphics, but you wouldn't want to stack them. What about full and empty barrels? What about half-full barrels? What about water and acid barrels?

Another problem is that you may not want to stack things like flags of different teams in capture the flag scenarios.

I am certain that the functionality to not stack different objects of the same ID will emerge sooner or later. Forcing scripters to create new definitions every time they want to prevent stacking is, imo, a very bad idea.

~0003011

Clonkonaut (developer)

Last edited: 2014-04-10 19:05

View 2 revisions

I didn't intend the new definitions to serve as construction material for anything that's made from the unburned stuff. There's no hack necessary there.

On the other hand, your solution with giving the burned definitions an ID that's actually used for production would lead to an extra con check that's easily overlooked. In fact, so easily overlooked it's not even done in the current Producer library!
https://git.openclonk.org/openclonk.git/blob/HEAD:/planet/Objects.ocd/Libraries.ocd/Producer.ocd/Script.c#l382

So, it's possible to construct stuff from almost depleted wood or coal. This would solve itself by changing definition to something, that's no production material for anything.

~0003012

Clonkonaut (developer)

Just to be sure: This is no statement made against any way to unstack items in the contents menu but to not apply such method onto this problem. I'm against "everything turns into coal".
However, I'd settle down for a "Burned Object" definition with exchangable graphics if it's really that bothersome to introduce more definitions into the game. Just make sure this new def isn't of any use (e.g. serves as construction material) except maybe burning.

~0003015

Zapper (developer)

The real problem I see with turning everything into coal is that coal is carry heavy!
It would be pretty weird if your bow suddenly became carry-heavy..

>If you let the time pass, the object immediately crumbles into ashes.
I like that idea. Shrinking burning stuff until extremely small was (and is) stupid anyway. That's why I implemented trees bursting into ashes at 0000021:0000050% size instead of shrinking further.

Imo, objects should burn (without shrinking) for a few seconds and then continue to burn (without shrinking!) as a common BurnedObject definition and then eventually burst into ashes.

~0005741

Zapper (developer)

Reminder sent to: Clonkonaut

bump, you are still assigned here

~0005872

Clonkonaut (developer)

I am about to fix this and make a burned object definition. Just a quick question, I noticed the bow is the *only* tool or weapon that's flammable. That's weird. Maybe we change it so it doesn't burn?

~0005874

Clonkonaut (developer)

Waiting for 1950. I don't want to remove all contents for burning objects.

~0005888

Clonkonaut (developer)

Will no longer happen.
+Notes

-Issue History
Date Modified Username Field Change
2014-02-23 22:33 ala New Issue
2014-04-08 17:15 Clonkonaut Note Added: 0003000
2014-04-08 17:15 Clonkonaut Status new => feedback
2014-04-09 11:14 Zapper Note Added: 0003001
2014-04-09 13:14 Clonkonaut Note Added: 0003002
2014-04-10 10:58 Zapper Note Added: 0003006
2014-04-10 12:38 Clonkonaut Note Added: 0003007
2014-04-10 12:39 Clonkonaut Note Edited: 0003007 View Revisions
2014-04-10 12:58 Sven2 Note Added: 0003008
2014-04-10 13:09 Clonkonaut Note Added: 0003009
2014-04-10 16:59 Clonkonaut Note Edited: 0003009 View Revisions
2014-04-10 18:27 Sven2 Note Added: 0003010
2014-04-10 18:29 Sven2 Note Edited: 0003010 View Revisions
2014-04-10 19:04 Clonkonaut Note Added: 0003011
2014-04-10 19:05 Clonkonaut Note Edited: 0003011 View Revisions
2014-04-10 19:15 Clonkonaut Note Added: 0003012
2014-04-11 16:26 Zapper Note Added: 0003015
2014-04-29 13:58 Clonkonaut Assigned To => Clonkonaut
2014-04-29 13:58 Clonkonaut Status feedback => assigned
2015-11-30 00:16 Clonkonaut Target Version => 8.0
2017-08-20 13:27 Zapper Note Added: 0005741
2017-10-27 15:10 Clonkonaut Note Added: 0005872
2017-10-27 15:58 Clonkonaut Relationship added related to 0001950
2017-10-27 15:59 Clonkonaut Note Added: 0005874
2017-11-01 01:38 Clonkonaut Status assigned => resolved
2017-11-01 01:38 Clonkonaut Resolution open => fixed
2017-11-01 01:38 Clonkonaut Note Added: 0005888
+Issue History