Menu

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 - PeteTimesSix

#1
Releases / [1.1] Compact Hediffs
March 22, 2020, 05:09:55 PM

Alters the health tab hediff listing to be slightly less ugly and slightly more customisable.


Features

- Customisability
- Augmentations (ex: peg legs, archotech eyes, Pawnmorpher morphs) names get folded into the body part's name
- Multiple icons for various severities of bleeding
- Sorting hediffs for body part by severity
- Per-body part health bars
- Expandable health tab size (yes, I do realise the irony in a mod called Compact Hediffs making the tab larger)

And, well, you know what they say about images and their relative word payload:




Download: Steam or Github

Source: Github

If you want to express gratitude, support me or attempt to convert money into motivation, you can do so here: Ko-fi
#2
Unfinished / [A17][WIP] Macrocosm
August 19, 2017, 05:18:48 AM
So I'm sick, the kind of sick that makes staring at monitors for extended periods of time inadvisable. This is rather inconvenient since I'm sitting on a mostly-ready for first release mod. I'll get better in a few days, but unfortunately, I'm already past my self-imposed deadline that I really can't afford to ignore for boring and sensible reasons. Oh well, I might as well put up what I've got now and call it a beta test or something...

I'm actually not gonna go into detail about what the mod does either, since an issue I had with SimpleSidearms was a lot of people were simply not aware of certain features (I've lost track of how many people have complained about pawns dropping their weapons), so this time around I'd like to collect some data on what is obvious and what needs to be made obvious. Same with what kind of mod settings and options people will want. Also, you know, sick.

Mods you should not expect to play well with this: basically anything that either relies on or alters vanilla raid/visit/caravan arrival incidents. Probably a whole bunch of others. Should work fine when dropped into an existing save. All sorts of things will explode when removed from one.


Scouting is a thing now. Raids, visitors and traders travel on the world map.

So does toxic fallout and volcano ash.

For some reason I ended up making a Rimworld minigame inside Rimworld? I don't know why or how that happened, but there it is. At least it gives you early warnings on approaching raids, I guess.

Here it is. Use at your own risk.

No seriously. If you're one of those (sensible) people who don't like their save ruined, you might want to give this a pass for now.

#3

Description:
I think just about everyone that plays Rimworld has their own personal list of gripes and annoyances, little irksome things that don't really detract from the game as a whole but still result in a little bit of frustration when encountered.

Had to work around colonist stupidity      -2

Well, this one is mine, only I was looking for an excuse to crawl through the Rimworld codebase to familiarize myself with it and making these little tweaks was a great way of going about it. Reports that I'm drunk on the power of the Harmony library are greatly somewhat a little bit not at all exaggerated.

Features include, and are limited to:
Butchering storage efficiency
Butchering one animal can often result in more than one stack worth of meat. When you have freezers with limited space and a sudden influx of corpses (hello, manhunter pack of muffalo!), this leads to annoying micromanaging (as you disable your butcher table and then forget to turn it back on, or forbid individual corpses as soon as they get hauled in). So this tweak teaches butchers to temporarily stop butchering when they run out of storage space for the meat butchering would produce. They do look for animals with less meat on their bones first though, so your freezers won't end up filled with chick corpses.


Meal equivalency
I like keeping a steady supply of meals. I also like not making simple meals when I could be making fine meals. This tweak makes both of these goals possible to accomplish without micromanaging, as cooks will now consider both simple meals and fine meals when counting meals in storage.


New orders
When holding shift, pawns will now have a few new orders on offer.

Move to: Like you'd expect, tells a pawn to go somewhere.


Carry/Drop: Pick up a specific item (or stack of items) and carry it to a specific spot.


Trading stockpiles
Allows setting of individual stockpiles as trading stockpiles. Everything in a trading stockpile will be automatically marked to sell whenever a trading dialog is opened. It'll still require confirmation though, so if you're trading with a passerby you won't accidentaly hand them your entire stock for their two hundred silver.


Surgery estimates
Doctors are pretty good at assessing the odds of success when it comes to surgeries. Its high time they got around to telling you, too. That random guy you told to strap a peg leg to your only actual doctor can take a guess too, but they won't be nearly as accurate. And uh, don't rely too much of the estimates of your local pessimist.

More details in this Imgur album

The threshold for how good a doctor you have to be to give accurate estimates is customizable, and the innacuracies introduced by the surgeon's personal neurosies decrease as their medical skills go up (professional doctors won't let a little psychopathy ruin their reputation, after all).

EDIT: Two noteworthy things I forgot. One: since this uses a calculation based on Rimworld's surgery failure calculations, the results will be innacurate if you're using a mod that alters that system. I'm looking into options for compatibility with surgery mods, but if any modders wanna chime in I'd appreciate it. Two: does not factor in the medicine used, since at the moment, neither does Rimworld. If/when that's fixed, I'll re-enable that part of the calculation. So remember to use herbal medicine for your operations, children!

Customization
Speaking of customization, you can turn off any of these tweaks individually if you don't like them, or if you have the same functionality from a different mod. There's also a few options to futher specify how the tweaks work.



Walking off bruises
Doctors will no longer waste medicine on injuries that have no risk of permanent effects.

Note the three glitterworld medicines that were NOT wasted on bandaids.

Download

Can be found at:
GitHub (source)
Steam Workshop

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

OR

-Subscribe to the mod on the Steam Workshop.

is required.

License
As far as I'm concerned you can go ahead and post a copy of this mod that differs only by a single extra space in the about file as long as you mention me somewhere or link back to this thread along the way.
#4
Bold claim, I know.

First off, a disclaimer: I've been digging through the code using a mod and I realise that I'm not supposed to post bugs in modded games, so its possible the issue is somewhere in HugsLib or Harmony. However, with such a simple test-case I kind of doubt it (and considering how many A17 mods use those libraries I figure it's its still pretty important to find out if that's the case), and if I'm wrong it should take one Log.Message(GetAverageMedicalPotency(ingredients)) in the right place to find out.

I think the game uses a default value instead of the medicine potency stat when it comes to determining surgery failure rates.

Ive spent the last five hours trying to figure out what I'm missing, but my best guess as to what happens: By the time the Recipe_Surgery class gets around to checking wherever a surgery failed (in CheckSurgeryFail), the ingredients list no longer actually contains the medicine used for the surgery (since the surgeon always brings one unit of it, which is consumed when the surgery begins), and thus GetAverageMedicalPotency always returns 1f. This is somewhat hard to notice since that happens to match regular medicine and actually makes herbal medicine *better*, but it makes glitterworld medicine much worse than it should be for surgeries specifically.

I've attached the test mod I've been using, stripped down to bare essentials (requires HugsLib as I need Harmony prefix/postixes for this), and a convenient save file with a surgery about to begin can be found here. The code of the test mod is:

    /// <summary>
    /// List out ingredients right before surgery fail check (which makes use of them)
    /// </summary>
    [HarmonyPatch(typeof(Recipe_Surgery), "CheckSurgeryFail")]
    static class Test_Prefix
    {
        [HarmonyPrefix]
        private static void CheckSurgeryFail(Recipe_Surgery __instance, Pawn surgeon, Pawn patient, List<Thing> ingredients, BodyPartRecord part)
        {
            Log.Message("ingredients for surgery on "+patient);
            foreach (Thing ing in ingredients)
            {
                Log.Message(ing.LabelShort);
            }
        }
    }

    /// <summary>
    /// Print average medical potency result to log
    /// </summary>
    [HarmonyPatch(typeof(Recipe_Surgery), "GetAverageMedicalPotency")]
    static class Test2_Postfix
    {
        [HarmonyPostfix]
        private static void GetAverageMedicalPotency(Recipe_Surgery __instance, List<Thing> ingredients, ref float __result)
        {
            Log.Message("avg. medical potency result is "+__result);
        }
    }

    /// <summary>
    /// Force all glitterworld medicine to be obnoxiously good
    /// </summary>
    [HarmonyPatch(typeof(StatWorker), "GetValue")]
    [HarmonyPatch(new Type[] { typeof(Thing), typeof(bool) })]
    static class Test3_Postfix
    {
        [HarmonyPostfix]
        private static void GetValue(StatWorker __instance, Thing thing, bool applyPostProcess, ref float __result)
        {
            StatDef stat = Traverse.Create(__instance).Field("stat").GetValue<StatDef>() as StatDef;
            if(StatDefOf.MedicalPotency.Equals(stat))
            {
                if (thing is Medicine)
                {
                    if ((thing as Medicine).def == ThingDefOf.GlitterworldMedicine)
                    {
                        __result = 9999.0f;
                        Log.Message("Forced glitterworldMedicine potency to:" + __result);
                    }
                }
            }           
        }
    }




Of course I could be hilariously wrong, in which case I genuinely have no idea how the GetAverageMedicalPotency method actually gets the right ingredient list.

[attachment deleted by admin due to age]
#5
Releases / [1.1] SimpleSidearms (1.4.0)
May 16, 2017, 04:21:35 PM

This description is currently somewhat outdated.
The features are all there but probably look different or have been expanded upon.

With the invention of pockets comes the idea of bringing EVEN MORE WEAPONS. Because your snipers are getting really tired of getting shanked.

Features include:

  • Colonists can carry sidearms in addition to their primary weapon.
  • They pull out their melee sidearms when attacked in melee.
  • They can also be ordered to draw specific sidearms.
  • But don't worry, social fights are unaffected.
  • They draw ranged weapons appropriate to their current distance to their target.

    Which can be disabled on an individual basis.
  • They also draw sidearms after using single-shot weapons.
  • To keep that somewhat reasonable, pawns are limited to a fraction of their carrying capacity when it comes to carrying sidearms.
  • ...did I say colonists? I meant everyone.
  • Pawns can get a sidearm along with their primary weapon when their loadout is generated, appropriate to the tech level of said primary weapon. Its cost is limited to one fifth of the minimum cost of their primary weapon.


  • Pawns will remember which weapon is their primary and will switch back to it once undrafted. They will also remember which weapons they are missing when forced to drop them. This includes dropping their primary weapon due to being down. Once undrafted or done recovering in the hospital, they will automatically go retrieve them.
  • Don't like any of the above? The mod is highly customisable through its settings menu.

is required.

Can be found at:
GitHub (source)
Steam Workshop

Would be basically impossible without the amazing work of pardeike on the Harmony library.

Should install/uninstall into/from existing games without issue. Will leave the sidearms in pawn's inventories, much like caravans.

Keep in mind it's still bit a jury-rigged mess. Performance issues should be expected.