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

#1
Releases / [1.2] Maarx's QoL/UI Vanilla-Friendly Mods
December 08, 2020, 10:59:27 PM
Hello! I enjoy RimWorld (very close to vanilla), but I am also an automation enthusiast, so when things in the RimWorld interface seem tedious, repetitive, or uninteresting, I automate them away, because I'm also a programmer.

Therefore I've created a number of mods to enhance playing RimWorld, to get rid of the boring clicking and micromanagement, and speed along more quickly to the events and the fun decision-making.

Yes, modpack makers can include my mods in their modpack.
Yes, other modders can make derivative mods based on mine.

SmarterDoctors
https://steamcommunity.com/sharedfiles/filedetails/?id=2324533248
https://github.com/maarxx/SmarterDoctors
It has many more Jobs done in a smart priority sorted order, instead of just randomly.

SmarterScheduling
https://steamcommunity.com/sharedfiles/filedetails/?id=2324536212
https://github.com/maarxx/SmarterScheduling
It automatically manages your Pawn's Sleep, Recreation, and Work cycles.

MeditateAsWorkType
https://steamcommunity.com/sharedfiles/filedetails/?id=2324532667
https://github.com/maarxx/MeditateAsWorkType
It allows you to configure Meditation in the Work tab instead of the Schedule tab. This lets you do things, like, have the pawn also be a Doctor, and they will automatically ping back and forth between doctoring and meditating, which is impossible using the Schedule tab method.

BeatingsContinue
https://steamcommunity.com/sharedfiles/filedetails/?id=2324537606
https://github.com/maarxx/BeatingsContinue
It adds widgets, jobs, and work givers, for the express purpose of beating prisoners conveniently.

BulkAssigner
https://steamcommunity.com/sharedfiles/filedetails/?id=2324535521
https://github.com/maarxx/BulkAssigner
It offers a variety of buttons, which will perform bulk operations on every selected pawn.
You can do all of the following:
* Set Outfit
* Set Allowed Area
* Set Drug Policy
* Set Food Restriction
* Set Medical Care
* Set Enemy Response (Attack, Flee, Ignore).
* Drop Everything (Inventory, not Equipment/Apparel)
* Consume from Inventory (Everybody eat your meal and smoke your blunt)
* Assign Operations (Assign Peg Leg operations to all 19 prisoners)

FirefightingControls
https://steamcommunity.com/sharedfiles/filedetails/?id=2324534687
https://github.com/maarxx/FirefightingControls
Allows you to change the area for Firefighting to something other than Home Area (like "Area2" or "Build Roofs" or "Unrestricted").

MoreAlerts
https://steamcommunity.com/sharedfiles/filedetails/?id=2324527518
https://github.com/maarxx/MoreAlerts
It offers more Alerts in the righthand sidebar that players might be interested in.

BetterNutrientPasteDispenserControls
https://steamcommunity.com/sharedfiles/filedetails/?id=2324531554
https://github.com/maarxx/BetterNutrientPasteDispenserControls
When you select a Nutrient Paste Dispenser, you'll see widget buttons to "Dispense 1", "Dispense 5", and "Dispense 25". This offers a more convenient alternative to the weird vanilla thing where you restrict a pawn at the spot and spam the draft button.

FixWorkTab
https://github.com/maarxx/FixWorkTab
It is a highly personalized reordering of the WorkTab to keep numeric priorities in check.

ToxicFalloutManager
https://steamcommunity.com/sharedfiles/filedetails/?id=2324530997
https://github.com/maarxx/ToxicFalloutManager
It automatically manages Allowed Area in response to Toxic Fallout.

SnoozeAlerts
https://steamcommunity.com/sharedfiles/filedetails/?id=2324526093
https://github.com/maarxx/SnoozeAlerts
It allows you to right-click on Alerts to snooze them for a bit.

InjuryNotifier
https://github.com/maarxx/InjuryNotifier
It notifies you when a Pawn suffers a permanent Injury.

HoldYourFire
https://steamcommunity.com/sharedfiles/filedetails/?id=2324531948
https://github.com/maarxx/HoldYourFire
It has dangerous weapons default to "Fire At Will" disabled.

FixStackedAnimalLag
https://steamcommunity.com/sharedfiles/filedetails/?id=2324533667
https://github.com/maarxx/FixStackedAnimalLag
It fixes the lag when lots of animals are stacked together on few tiles during combat.
It also adds a niche button that you can push to enforce collisions on enemy pawns.

AccuraSight
https://steamcommunity.com/sharedfiles/filedetails/?id=2324527774
https://github.com/maarxx/AccuraSight
Updates the labels on weapons to show Accuracy% for ranged weapons and DPS for melee weapons.

LimitlessSelection
https://steamcommunity.com/sharedfiles/filedetails/?id=2324528341
https://github.com/maarxx/LimitlessSelection
This lets you select as many things as you want at once, with no cap.

ModButtons
https://steamcommunity.com/sharedfiles/filedetails/?id=2324534249
https://github.com/maarxx/ModButtons
This one doesn't do anything on its own, but is a consolidating UI tray of buttons used as a dependency by some of my other mods.
#2
Bugs / Error When Arresting Pawn to Breakup Social Fight
December 08, 2020, 03:01:22 PM
Exception ticking Doukas (at (100, 0, 102)): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.AI.MentalState_SocialFighting.PostEnd () [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.MentalState.RecoverFromState () [0x0017d] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.MentalState_SocialFighting.PostEnd () [0x0003c] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.MentalState.RecoverFromState () [0x0017d] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.MentalState_SocialFighting.MentalStateTick () [0x00008] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.MentalStateHandler.MentalStateHandlerTick () [0x00049] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.Pawn_MindState.MindStateTick () [0x0002a] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.Pawn.Tick () [0x000d4] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) Verse.TickList.Verse.TickList.Tick_Patch2(Verse.TickList)
Verse.Log:Error(String, Boolean)
Verse.TickList:Verse.TickList.Tick_Patch2(TickList)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

#3
Growing Zone Over Anima Tree Will Chop It Down Without Warning
#4
Bugs / [Balancing] Neuroquake Trivializes The Game
December 02, 2020, 10:26:52 PM
[Balancing] Neuroquake Trivializes The Game

Neuroquake is incredibly powerful. It pretty much clears your map of all hostiles, by having them all fight each other until nobody is left.

Downsides

It tries to have downsides, but most of them are easily handled:

Knockout Caster for 3 Days

This tries to be the biggest downside, but it turns out to be the easiest to handle. The knockout scales with Psychic Sensitivity, meaning a Psychic Foil Helmet will reduce the knockout by 90%, to just a couple hours. Even if this didn't work, you commonly don't see large threats more than every 3 days, so odds are good your caster will be ready next time anyway.

Reduced Faction Standing

Honestly, if you're at this point, you should have a decent economy going, and mailing a little extra goodies to your allies in transport pods is not a big deal.

Negative Moodlet

Nothing a little extra drugs and recreation time won't fix. As a matter of fact, as a higher-risk higher-reward option, pawns under Anesthesia aren't affected (by neither the Berserk nor the negative moodlet). Which means, instead of gathering all of your pawns around the caster, you can just assign Anesthesia operation to all of them, make them all Doctors, restrict them all to a tiny room with sleeping spots and medicine, put them on Work schedules, and they will actually all knock each other out with rather surprising efficiency (log2(n)). If you've got any Psychically Deaf pawns, they can all be left standing, to hold down the fort, as they are completely immune to both the Berserk and the Negative Moodlet. And you probably will have plenty of pawns, some Psychically Deaf, because ...

Strength of the Ability

... even more significant than countering the downsides, is simply the fact that it scales infinitely - it remains equally effective at all threat raid point levels. If you carefully protect this caster, you completely shatter RimWorld's careful wealth/threat balancing, letting you completely disregard it, and scale your wealth infinitely, and maintain practically zero other defenses, and do just fine.

Suggestion

We could numerically scale the downsides that are already implemented, but I think that's the wrong route. Making all the numbers bigger won't fundamentally fix the problem. I've got a different suggestion, one of two new behaviors:

(A) It doesn't affect literally every pawn, but somehow only affects a percentage, meaning you will (probably) still have a threat to deal with, albeit proportionately weaker.

(B) Have it affect the caster with 1 point of scarring brain damage. This is severe enough on its own that you could practically eliminate all the other downsides, and players would still use it less than they do now.
#5
Using Stun on a Minigun That Just Started Firing, Still Finishes Entire Salvo

If the first bullet just comes out of the minigun when my stun hits, the minigun keeps firing the entire salvo, through most of the stun duration, vastly reducing the value of the stun.
#6
If I have an Alert on the right-hand sidebar of my screen, and there are 5 affected things, and if I can click the alert to cycle through them, and jump my camera around and focus on each one in turn ...

... then clicking them always begins with the 2nd thing in the list, not the 1st thing.

This is somewhat subtle with vanilla alerts, but here are some examples, like the following:

"Major break risk x3" - this alert will list 3 colonists in major break risk, in order, and the very first time you click it, it will jump to the middle colonist. If you click it repeatedly, it will cycle them in the same order as displayed, but it always begins with the 2nd one, rather than the 1st.

This is more obvious with some of my own modded Alerts which have the targets in sorted order, where it is more jarring to always skip the 1st.

The bug is in your class Alert, in method OnClick, where jumpToTargetCycleIndex is immediately incremented (++) before being used, even for the first time.
#7
[A16] Error "Could not get new name" In Large-Scale Cobra Breeding

Could not get new name.
Verse.Log:Error(String)
RimWorld.NameGenerator:GenerateName(RulePackDef, Predicate`1, Boolean)
RimWorld.PawnBioAndNameGenerator:GeneratePawnName(Pawn, NameStyle, String)
Verse.Pawn:GenerateNecessaryName()
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.CompHatcher:Hatch()
RimWorld.CompHatcher:CompTick()
Verse.ThingWithComps:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()

#8
Settling Additional Tile, and Leaving it Empty, Drastically Reduces Raids

I guess this is technically an item about balancing, and not strictly speaking a malfunction, but it seems pretty significant, and I wasn't sure where else to open it.

My guess is that the storyteller first decides how often / when to send a raid, and after that, decides which map tile to send it against (if there is more than one settled map tile).

This opens up a host of balancing concerns -- it is super easy to grab four different colonists, arm each with maximized weapons and armor, send each to settle a different surrounding tile, and drastically reduce the number of significant raids against the primary base.

Furthermore, the colonist is not even strictly necessary -- it is possible to caravan to a surrounding tile, settle it, and then caravan everybody back home (leaving an empty, settled tile with near-zero wealth). The storyteller will still try to drop raids on these tiles, which often fail completely now, citing errors to the log similar to these:

IncidentWorker_RaidEnemy could not fire even though we thought we could: no faction could generate with 5.478053 points.

Despite the fact that these raids entirely fail to launch, it appears they still correspondingly reduce the frequency of raids against the primary colony.

In the minimum short term, the storyteller needs a reasonable lower limit on when it will send a raid against a tile, and in those cases, should redirect the raid to a qualifying tile.

In the longer term, the storyteller balancing needs to be reconsidered when multiple tiles are in play. The most nuclear solution would be to treat each tile separately and give them each their own independent incident frequencies, instead of splitting the incidents amongst the tiles.
#9
It seems that, when a Tamed Predator is hungry, and searches for food to hunt, it might select a Colonist of the same (Player) Faction, if that Colonist is Berserk.
#10
SOLVED:

I was getting below spam to Debug Log.

At first I thought it was related to Toxic Fallout / huge Barn with Animal Sleeping Spots.

But I was wrong. The real problem was that we'd broken a hole in the prison wall, which flagged the entire base (surrounded in exterior wall) as one massive prison.

Plugging the hole in the prison wall immediately fixed it.

Perf warning: Ran ContainedBeds in huge room Room(roomID=311, first=(204, 0, 156), RegionsCount=86, lastChangeTick=23519022)
Verse.Log:Warning(String)
Verse.<>c__Iterator1E2:MoveNext()
RimWorld.WorkGiver_Warden_TakeToBed:JobOnThing(Pawn, Thing)
RimWorld.WorkGiver_Scanner:HasJobOnThing(Pawn, Thing)
PrioritizedHauling.<>c__DisplayClass2_1:<TryGiveJob>b__0(Thing)
Verse.<RegionwiseBFSWorker>c__AnonStorey533:<>m__9FE(Region)
Verse.BFSWorker:BreadthFirstTraverseWork(Region, RegionEntryPredicate, RegionProcessor, Int32)
Verse.RegionTraverser:BreadthFirstTraverse(Region, RegionEntryPredicate, RegionProcessor, Int32)
Verse.GenClosest:RegionwiseBFSWorker(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Predicate`1, Func`2, Int32, Int32, Single)
Verse.GenClosest:ClosestThingReachable(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Single, Predicate`1, IEnumerable`1, Int32, Boolean)
PrioritizedHauling.Overrides:TryGiveJob(JobGiver_Work, Pawn)
Verse.AI.ThinkNode_JobGiver:TryIssueJobPackage(Pawn)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn)
RimWorld.ThinkNode_Conditional:TryIssueJobPackage(Pawn)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn)
Verse.AI.Pawn_JobTracker:DetermineNextJob(ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()
#11
Outdated / [A16] Maarx's QoL\UI Mod Thread
April 12, 2017, 03:11:16 PM
Maarx's QoL\UI Mod Thread



I have suddenly developed an unexpected hobby of writing my own RimWorld mods for my own enjoyment. After several weeks of development, I have developed an entire collection of such mods. With some hesitation, I am ready to share my mods with the rest of the community.

These mods are not "content" mods, they are "QoL" / "UI" mods, and are "vanilla friendly". That is to say, you will not find shiny new laser beam weapons, or tanks, or helicopters, or aliens. Rather, you will find basic enhancements to the user interface in order to make playing RimWorld more convenient and enjoyable, with less time spent redundantly clicking, and more time spent making exciting and intelligent decisions.

Also, these mods are not comprehensive or standalone, but are rather intended to plug very specific gaps in the existing mod scene. If a feature was already available in another QoL/UI mod, these mods do not duplicate that work, but are rather intended to complement that work, and stand alongside it.

I manage my mods in public GitHub repositories, and have written detailed README files in those locations, with complete Introductions and Explanations, Specific Additional Features, How to Install, How to Update, how to preview the beta, how to report bugs, and how to request or suggest new features.

With your forgiveness, I will not copy/paste those entire descriptions into this forum, I will simply link you to them. This is because I will continue to regularly update those README files, but will probably not remember to come back here and regularly update these forum descriptions.

For each mod, I'll provide just a single sentence summary. If the mod sounds interesting, please click the link (and then scroll down a bit) to find all of the detail and instructions you could want.

Without further ado, the list.



PrioritizedHauling:

Allows you to specify certain types of objects to be hauled at higher priority, in a customizable order.

https://github.com/maarxx/PrioritizedHauling


BulkDesignator:

Provides some functions for bulk manipulation of designators, such as Cut Plants & Hunt, and bulk Medical Operations across multiple humanoids and mechanoids.

https://github.com/maarxx/BulkDesignator


BulkAssigner:

Provides some functions for bulk manipulation of assign functions, such as Hostility Reponse Mode, Outfit, Drug Policy, and Allowed Areas.

https://github.com/maarxx/BulkAssigner


MoreAlerts:

Offers more Alerts in the righthand sidebar that players might be interested in. There are many here, please see the link for a complete list, but the most interesting include hunting animals, mechanoids, rocket launchers, pawns which might die from disease, doors which are blocked open, and escaping prisoners.

https://github.com/maarxx/MoreAlerts


AccuraSight:

Updates the labels on weapons to show Accuracy% for ranged weapons and DPS for melee weapons.

Enhances sorting options in Merchant windows, and in mods like Moody and Numbers.

https://github.com/maarxx/AccuraSight


InjuryNotifier:

Notifies you when a Pawn suffers a permanent Injury.

https://github.com/maarxx/InjuryNotifier


UberMicro:

Provides button in-game to toggle mode on and off. When mode is on, then it pauses game and gives letter notification whenever a prioritized job is complete. Useful in emergency situations.

https://github.com/maarxx/UberMicro


SmarterScheduling:

Automatically manages your Pawn's Sleep, Joy, and Work cycles.

https://github.com/maarxx/SmarterScheduling


ToxicFalloutManager:

Automatically manages Allowed Area in response to Toxic Fallout.

https://github.com/maarxx/ToxicFalloutManager


ExtraClothes:

Provides additional duplicate Clothing items, identical to Vanilla, intended for managing Devilstrand.

https://github.com/maarxx/ExtraClothes


LimitlessSelection:

Removes the limit of only selecting 80 things at a time.

https://github.com/maarxx/LimitlessSelection


UdderlyImpractical:

Stops your pawns from drinking the milk.

https://github.com/maarxx/UdderlyImpractical


Licensing:

  • Can modpack makers include your mod in their modpack? Yes, feel free.
  • Can other modders make derivative mods based on yours? Yes, feel free.

How to Download and Install:

  • Click the GitHub link for the mod, and then, on the right-hand-side, click "Clone or Download" and then "Download ZIP".
  • Unzip the contents and place them in your RimWorld/Mods folder.
  • Activate the mod in the mod menu in the game.
#12
For comparison example, you can always "Harvest" Lungs, but if there is something wrong with them, you get another option too, titled "Remove". (( This is correct. ))

But in this case, you cannot "Harvest" Eyes, but if there is something wrong with them, you get a different option, titled "Amputate".

Just a minor English language nitpick, but I think Eyes should use verbiage "Remove" instead of "Amputate". I think "Amputate" is just for limbs?
#13
Got a red-letter notification for a Raid, but the enemies entirely failed to spawn.

Simultaneously, got these errors in console:

Tried to get valid region out of bounds at (-1000, -1000, -1000)
Tried to spawn Matthias out of bounds at (-1000, -1000, -1000).
Could not find siege spot from (-1000, -1000, -1000), using (-1000, -1000, -1000)

Of note, the red-letter notification did NOT indicate "Siege", it was just normal "Raid" (they will prepare for a while, then attack).

Sorry, don't know how to replicate this one, but figured I'd report it anyway.
#14
I am trying to figure out the best way to inject a MapComponent if the mod is enabled and then a prior save game is loaded.

I found this thread, but the thread is old, I am not sure if it is still the best way to do it: https://ludeon.com/forums/index.php?topic=11187.msg111498

I am starting to get the impression that a better way is to use [StaticConstructorOnStartup] and LongEventHandler.QueueLongEvent(...) but I am having trouble determining what string value to pass for string textKey and/or levelToLoad.

I am finding a couple random examples using textKey "LibraryStartup" but this doesn't seem to be the correct value in my case.

I am having trouble identifying what other choices are available here / which I should use.
#15
Okay, so, typically, I only report stuff here if I'm pretty sure it's a bug. This one, however, is just a very strange, yet very technical, behavior, that I just wanted to ask about. I considered my options and decided this is probably still the best Sub-Forum to post it in.

For simplicity (not sure if it matters), assume the pawn has Patient and Bed Rest as top two relevant WorkTypes, and assume their Schedule is set to Anything.

If this pawn is sleeping in a normal bed, and is sick, or otherwise needs treatment, and finishes sleeping, and wakes up, if a hospital bed is available, the pawn will move themselves directly to the hospital bed, and lay back down, regardless of whether they are urgently hungry.

Now, I might understand this behavior, one way or the other, if it was a very consistent behavior, but the weird thing is this: While the pawn is walking from their normal bed to the hospital bed, if you Draft&Undraft them, they will go find food first, feed themselves, and THEN return to the hospital bed.

This inconsistency is very strange for me. It seems the pawn intuitively knows that feeding themselves should come before laying down in a hospital bed, but if they are coming directly from another bed, they ignore their need to eat, as if the pawn somehow considers it a continuation of the same task, rather than the completion of one task and the start of another.

(( I actually thought this was a bug in one of my mods, stared at it for a while, and started to troubleshoot the mod, before disabling all mods and establishing it is actually a vanilla behavior. ))

Steps to Replicate:

0. Remove Doctor WorkType from all Pawns.
1. Set pawn to Patient and Bed Rest as top two WorkTypes. Set Schedule to Anything.
2. DevTool -20% Rest until pawn is very low Rest.
3. Godmode build a normal Bed, and allow pawn to go to Sleep.
4. While pawn is Sleeping, use DevTool -20% Hunger a couple times to make them very hungry.
5. While pawn is still Sleeping, also use DevTool to give them an Infection.
6. While pawn is still Sleeping, Godmode build a Hospital Bed.
7. Observe that, when pawn wakes up, they immediately start moving themselves to the Hospital Bed.
8. Observe that, if you Draft&Undraft the pawn, they go feed themselves first, before returning to the Hospital Bed.
#16
Application throws stack trace error (10 jobs in 10 ticks) when Builder tries to Haul an obstructing Item off from atop an unrelated Blueprint but that Blueprint/Item is surrounded by Fire and cannot be reached.

Steps to Replicate:

1. DevTool Lightning Strike a square for 3x3 Fire.
2. DevTool Destroy the center square to clear Fire.
3. DevTool Spawn some Steel on the center square.
4. Place Blueprint for Wooden Wall on the center square.
5. Observe all unoccupied Builders start spamming stack trace errors (10 jobs in 10 ticks) for Hauling Steel.
#17
Lots of Alerts will list a collection of Colonists, such as: "Unhappy nudity", "Tattered apparel", "Break risk", etc. etc.

But when I click on this Alert, it only ever sends me to one Colonist, the first one in the list. Clicking it repeatedly doesn't move me off this one first Colonist.

In reality, when I repeatedly click on this Alert, it should scroll through all of the Colonists listed in the Alert.
#18
Help / [C#] How to Map a Job to a WorkGiver?
March 07, 2017, 07:34:25 PM
I can look at Pawn.CurJob to know what he is doing right now.

I can look at Pawn.WorkGiversInOrderNormal or Pawn.WorkGiversInOrderEmergency to understand overall how his WorkGiver priorities are set.

But how do I map from one to the other? How do I determine where his current Job falls on the spectrum of his current WorkGivers? I do not see any obvious relationship between the objects, neither has a pointer to the other, nor does either seem to have any common/shared reference.
#19
Mods / [Mod Request] Group Melee Attack
March 07, 2017, 12:54:39 AM
Hopefully this one is pretty easy. I'll illustrate.

If I Draft a bunch of Pawns with Melee weapons, there is a button at the bottom to tell them all to melee attack one target. Works great.

If I Draft a bunch of Pawns with Ranged weapons, there is a button at the bottom to tell them all to shoot at one target. Works great.

If I Draft a bunch of Pawns with Ranged weapons, and I want to tell them to melee attack a target (think prison break or berserk colonist), there is no button for it. I need to select Pawns one at a time, right-click the target, and select "Melee attack" from the float menu.

Can I PLEASE PLEASE PLEASE get a button at the bottom that will let me order a group of pawns with ranged weapons to melee attack a target?

Bonus points if it is still just one button that works correctly in a mixed group containing both melee weapons and ranged weapons.
#20
Help / [C#] How to Add Button in Bottom-Right Corner
March 04, 2017, 03:51:45 PM
In the bottom-right corner of the game window are seven (7) buttons. I list the buttons at the bottom of this post in case you are not sure what I am referring to.

I would like for my mod to add another button here. How do I go about doing this?

Currently my mod is just a MapComponent so I am afraid I am not currently in the right scope for this.

So if anybody could point me in the right direction or throw me an example, that would be great.


For clarification, the buttons I am referring to are:


  • Toggle visibility of the learning helper when it is empty.
  • Toggle visibility of zones.
  • Toggle the environment display.
  • Toggle colonist bar.
  • Toggle visibility of roofs.
  • Toggle automatically expanding the home area around new constructions.
  • Toggle categorized mode on the resource readout.