OneLife icon indicating copy to clipboard operation
OneLife copied to clipboard

Last Use Skewer - Raw Rubber Tire Bug

Open cordy-123 opened this issue 5 years ago • 2 comments

When you use a Last Use Skewer (not a Weak Skewer) on a Bucket of Oiled and Sulfured Latex, you will only get TWO Raw Rubber Tires. While if you use a (non-last use) Skewer or Weak Skewer, you will get FOUR Raw Rubber Tires.

Thank you.

Side note: Can I ask why Domestic Saplings give you only Weak Skewer instead of a regular Skewer? My guess would be because it would make it OP for tilling soil (compared to growing rope for the stone hoe)?

cordy-123 avatar Jan 22 '21 13:01 cordy-123

I think I've gotten one rubber tire also. I know I've seen the bug three times, and reported it (without realizing the relevant detail before which made it so I couldn't reproduce it) before.

Out of curiosity, did you use such a skewer on bigserver2?

DougLefelhocz avatar Jan 23 '21 03:01 DougLefelhocz

I think, maybe, I once got 1 raw rubber tire from it but the incident was several months ago so I'm not sure.

I tested the bug twice just before reporting it, got 2 raw rubber tires both times.

I doubt what server you are on would affect that.

cordy-123 avatar Jan 28 '21 08:01 cordy-123

Side note: Can I ask why Domestic Saplings give you only Weak Skewer instead of a regular Skewer? My guess would be because it would make it OP for tilling soil (compared to growing rope for the stone hoe)?

https://github.com/jasonrohrer/OneLifeData7/commit/a3944f63f0d827fcf16499e365440e40104c8014

Quote: Wild saplings never regrow. They are the only source of strong skewers that can be used for tilling rows. However, they can be propagated from cuttings to grow domestic saplings, but those produce weak skewers that are not great for tilling. Still, they can be used for all other skewer purposes.

jasonrohrer avatar May 17 '23 17:05 jasonrohrer

Ah... here's the cause:

https://github.com/jasonrohrer/OneLife/commit/e8ee080672a4c6c7e582e39282d7bbd3262ff6c1

Since the strong skewer has 4 uses, and the rubber bucket has 4 uses, the number of uses remaining on the skewer "pass through" to the rubber bucket.

Though the skewer has a use-chance, and the bucket does not (it has exactly 4 uses), so this probably shouldn't pass-through like this.

I'm also looking at other places where pass-through should actually happen. Why was this change made originally?

jasonrohrer avatar May 17 '23 18:05 jasonrohrer

Ah... hilariously, this is the ONLY transition in the whole game where actor and newTarget have same number of uses, but they have different use chances.

For all the other pass-through transitions (where actor and newTarget pass through numUses remaining), they are all correct (like partially-used chisel left on the ground after smashing a rock.... chisel should remember how many uses it has left). BUT... in those correct cases, the useChance is identical between actor and newTarget.

jasonrohrer avatar May 17 '23 18:05 jasonrohrer

The other example where it works correctly is dumping a partial bucket of wheat on the ground, and picking it back up in the bucket again. But again, useChance for both actor and newTarget are both 1.0. They match.

So, it seems like the clean fix is to make sure the useChance matches before pass-through. For the time being, this will affect only the skewer-on-rubber-bucket transition. But it also makes sense for the future.

jasonrohrer avatar May 17 '23 18:05 jasonrohrer