Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - mzbear

Ideas / Remove all red alerts if people are sleeping
August 31, 2016, 05:02:07 AM
MAN! Why are there warnings about raids when people are asleep? Wouldn't it be more fun if you only found about it accidentally when you zoomed out and noticed the raiders are right at your door already? That would really improve the gameplay I think!!

Actually, why do we actually need alerts about dangerous situations in the first place? Wouldn't it be bucketloads of more FUN if you had to pay more attention to the game???

PS. This is totally not a reference to polar bears spawning off-screen on the ice sheets, then suddenly mauling colonists to death without the slightest warning.
Bugs / [A15] Polar bears hunting colonists, no warning
August 29, 2016, 08:59:09 PM
Either remove the mad animal warning completely (it'll be more fun when it comes totally unexpected right?) or add a red alert when wild animals decide to hunt the colonists.

Mad animals get a RED warning and they're almost never fatal. Polar bears get no warning at all and they're pretty much guaranteed to be fatal if they reach melee before you notice.

I was actively trying to search for animals just a few seconds before this happened. The only way to find if animals have spawned is to try select large areas of the map near the edges and see if there are animals. That's something I do all the time in ice sheets, and yet this time I missed the polar bear because it had already moved away from the map border and was going after a guy hauling stuff from a cargo pod. It was basically a game over -event, which would've been 99.9% surely avoidable had I noticed it even 2 seconds before the bear reached melee (because that hauler was also the best shooter of the colony and had the charge rifle)
One picture says it all. My pawn was standing right where she is in the picture when the centipede started firing at the cat. Somehow, some of the bullets from the spread went around the corner and hit the naked rich explorer instead.

Outdated / [A14] Muzzy-Utils (updated 2016-08-09)
August 08, 2016, 07:18:34 AM

My personal utilities for RimWorld that other people might find useful as well. Currently includes filter for fresh items and a simple mood visualization in the colonist bar. I might add more things whenever I need something more.




2016-08-08: Initial release with freshness filter and mood indicators
2016-08-09: FIX: Freshness filter was broken for ThingsWithComps (stone chunks etc!), requiring "allow fresh" to use them (oops).

[attachment deleted by admin - too old]
When a pawn loses both arms, or perhaps has them replaced with prosthetics, he can no longer perform melee attacks. If he's drafted or set to react to hostiles by attacking them, the game starts to constantly throw exceptions about BestAttackTarget and no attack verb.

Although screenshots are kinda pointless, there are still some here showing the exception and the health status:
Bugs / Door+cooler makes heat disappear
August 04, 2016, 06:26:27 AM
Place a door into the output cell of a cooler. The 100C of resulting temperature disappears into nothingness as long as the door touches an open cell of a room.

EqualizeTemperaturesThroughBuilding() appears to overwrite the door's own temperature with the average of the surrounding rooms, making this heat disappear entirely.

PS. This is a different bug than the other heating exploit, although the bug is in the same function. The other exploit abuses the clamping of heating/cooling that occurs when equalization rate is greater than a participating room size, this one abuses a simplification that ignores the heat energy of the temperature equalizing building itself.

[attachment deleted by admin - too old]
Oops. I suppose I should've reported this here instead of just replying to a thread on Steam, I suppose Tynan never saw it.

RoomTempTracker::RegenerateEqualizationData() increments a local variable when roof.isThickRoof is true, but the variable is never used. Apparently it should be incrementing this.thickRoofCoverage just like it's done with noRoofCoverage, but it uses a dummy variable instead.

As a result, caves do not do any cooling at all.

PS. it would probably be more fair if caves would also warm up the rooms instead of only cooling down, currently DeepEqualizationTempChangePerInterval is implemented to only cool down towards 15C and never heat up.
My line of traps inside a narrow passage was cluttered with steel slag chunks and I went to rearm. The colonist ended up spinning around in place, constantly hauling a chunk back and forth between two cells.

I'm guessing he wanted to rearm the trap in cell A, but it had a chunk on it, so it moved the chunk to the neighbor cell B. However, afterwards it probably tried to rearm the trap in cell B which was now closer, and moved the chunk back to cell A. GOTO 10.

I cancelled one of the two rearm jobs and everything proceeded smoothly again.
Bugs / Short Circuit triggers at >5% battery charge
July 25, 2016, 02:25:16 PM
I reverse engineered the short circuit incident handler, and it looks like the code might not follow the design intent.

private IEnumerable<Building_Battery> FullBatteries ()
return from Building_Battery bat in Find.ListerBuildings.AllBuildingsColonistOfDef (ThingDefOf.Battery)
where bat.GetComp<CompPowerBattery> ().StoredEnergy > 50f
select bat;

public override bool TryExecute (IncidentParms parms)
List<Building_Battery> source = this.FullBatteries ().ToList<Building_Battery> ();
if (source.Count<Building_Battery> () == 0) {
return false;

Looking at TryExecute, it's obvious that it's supposed to trigger only if there are "full" batteries present. However, FullBatteries() uses StoredEnergy which isn't even percentage, but the Wd amount. 50f means 5% charge for the vanilla batteries, which seems like a suspiciously low trigger condition given the method name.

If this is intended, I recommend renaming the FullBatteries method to better reflect the actual design intent. BatteriesWithSomeCharge would probably be a good name.