边缘世界 RimWorld

边缘世界 RimWorld

115 个评价
Automatic Work Assignment
7
4
2
   
奖励
收藏
已收藏
取消收藏
Mod, 1.5, 1.6
文件大小
发表于
更新日期
1.496 MB
4 月 15 日 下午 12:08
9 月 23 日 下午 12:20
49 项改动说明 ( 查看 )

订阅以下载
Automatic Work Assignment

在 Lomzie 的 1 个合集中
Automatic Work Assignments + Addons
2 件物品
描述
Why hello there!

Are you someone just like me who hates doing manual work, but love spending significantly longer automating the same work? Then this might just be the mod for you!

This mod adds a new Work Manager tab, that allows you to specify a number of work specifications to be automatically assigned to your colonists. Each work specification has its own fully customizable fitness functions used to prioritize who is assigned to it, as well as the conditions that must be met for assignment. You can even choose to have certain actions performed when the work is assigned to a pawn! The ultimate goal of this, is to be able to fully automate the work assignments of all your pawns, with no need to exclude any. Though, you can still do so if you really need to. You can choose to only automate a subset of jobs, or automate them all, this mod is designed for maximum customizability.

A few examples of what you can do:
  • Automatically assign all pawns with high enough skill level to medical work.
  • Automatically assign pawns without the pyrophobia gene to firefighting.
  • With training mods, assign pawns with passions, but low skill levels, to training work.

Although the central feature of this mod is automating work assignments, the powerful fitness, conditions, and on assignment system allows you to automate a variety of other tasks as well, such as setting schedules, policies, or titles based on conditions. For example, you can automatically schedule all children to only recreation, and restrict them to safe areas.

Quick info

There shouldn't be any mod incompatibilities.
You can safely add this to a save.
You should be able to safely remove this from a save.
Let me know in the comments if you have any issues.

Source: https://github.com/Lomztein/RW-AutomaticWorkAssignment

Introduction

You'll find this tab right next to where you usually find your work tab. When you open it, you'll see a window composed of four major sections:

Work Specification List

Here you see a list of work specifications. The order of these determines which will be assigned to colonists first. You can, of course, reorder them as you please.

Reordering this list is currently a bit of a pain with large lists. I plan to look into the ability to drag the specifications, though for the moment you can hold shift while clicking the reordering buttons, and this will (sometimes, it's temperamental) move specifications all the way to the top or bottom.

At the bottom of this list there are four buttons you use to do the following:
  • Resolve pawn assignments now.
  • Automatically resolve assignments each day.
  • Exclude certain pawns from assignments.
  • Save / load configurations or import from other saves.

Basics

The top half of the middle section is where you can change the basic information of the work specification. The options are as follows.
  • Name: Just a label, doesn't have any impact other than organization.
  • Min (workers): The minimum number workers. If not enough workers that meet the condition are available to meet this threshold, then conditions will be ignored until enough workers has been assigned.
  • Target (workers): The target number of workers, or how many pawns should be assigned to this work.
  • Critical: Pawns with critical work that are downed, will immediately be substituted by someone else if the number of workers fall below the minimum.
  • Specialist: Designates that the work specification excludes pawns from assignments further down the list.
  • Commitment: Estimate of how much of time is commited to this work, used to avoid over-comitting highly talented pawns.

Priorities

The bottom half of the middle section is the priorities. Add the jobs you wish done for this work to this list, ordered by priority. The assignment algorithm will assign priorities to pawns in the order you define here.

Settings

This is where you define how your pawns should be prioritized, what conditions must be met for a pawn to be assigned, and what tasks should run on assignment. This section is composed of three subsections.

Fitness

Here you define the fitness functions to be used to prioritize which pawns will be assigned to work. This cascades, so that functions further down the list act as 'tie breakers' for functions further up the list.

For example, if you have the 'Learning rate' function at the top, and 'Skill level' below that, it will prioritize all pawns with the highest learning rate first, and of those it will prioritize those with highest skill level.

Conditions

This defines a set of conditions that must be met for a pawn to be assigned to the work, such as minimum or maximum skill levels, certain genes, passions.

If you have any mod that allows your colonists to train, this can be used to automatically assign pawns with passions, and below a set skill level, to train that skill.

Conditions are ignored if an insufficient amount of workers that meet them are ignored for the minimal amount of workers.

On Assignment

This allows you to execute certain actions when a pawn is assigned the work, such as restricting apparel, drugs, or areas.

Alternative mods

If this is all way more complicated than what you need, I can easily recommend any of these mods as alternatives.

Automated Work Assignment: https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=3453406362
AutoPriorities https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=1598406574

I have used both of these with decent success on large colonies, and they are both excellent solutions if you're looking for something more "fire and forget".

TODO

The current library of fitness functions, conditions, and on-assignment tasks are just what I've been able to come up with during development. More can added at request, or if you're feeling up for it, by other mods. The system is designed to be easily extensible. To implement a new fitness function, you just create a new class that implements the IPawnFitness interface, create a PawnSettingDef, and provide a PawnSettingUIHandler object. Check out the source code if you're feeling brave. (Fair warning, it was written largely over a weekend binge, enter at your own risk.)

I plan to extend the library over time, including integrating features from other mods.

There is still a lot of room for improvements, in particular regarding quality-of-life features for the UI.
热门讨论 查看全部(3)
50
9 月 19 日 上午 7:30
Requests
Lomzie
29
9 月 18 日 下午 12:29
Bug Reports
Lomzie
2
1
10 月 27 日 上午 11:34
Saved Configurations
Kasa
190 条留言
CryptikLemur 10 月 24 日 上午 8:00 
Being able to specify the Androids from the popular androids mod would be nice too
Lomzie  [作者] 10 月 22 日 上午 2:22 
Thanks for the report, I'll look into implementing a patch.
Anex 10 月 22 日 上午 12:23 
hi, one issue I have is with misc Robots mod, since this mod does not know how to tell colonists from robots, it assigns the robots priorities too which in turn breaks them or deprioritizes their capable work, leaving them in a wandering state.
Any way to filter out robots from misc robots?
Lomzie  [作者] 10 月 20 日 下午 12:34 
You can have assignments work across layers. It's a bit obscure, but if you open the additional settings menu (three dots left of search bar in work spec list), you can parent a map to another map. Parenting a map means that assignments, pawns, ect. are shared across the maps.
Vril 10 月 20 日 上午 11:39 
Oh and since mods like deep and deeper or multifloors are more and more popular, can we have z layer assignments?
Lomzie  [作者] 10 月 15 日 下午 1:23 
Seems reasonable enough. I'll add your suggestion to the list.
Alex 10 月 15 日 上午 11:24 
Would be nice to have a count of work types or work categories that a pawn is capable of, or not capable of, for fitness. So I can prioritise these pawns for work that they can do. Similar to Passion count.
Lomzie  [作者] 10 月 14 日 上午 11:07 
Thank you for the kind words, it was the same motivation that lead to the development of this mod. Regarding the passions, perhaps a rework is in order. Since you can filter by learning rate anyways (compare fitness + learning rate), it might make more sense for the passions condition to just check for the mood buff. I'll have to consider this.
Iarinu 10 月 12 日 上午 5:14 
First: Love this mod. Searched many, many years for something like this, cause micromanaging all the works with 40+ size colonies gets extremely annoying after a while.
I also do have problems with auto assignment when using Vanilla Skills expanded. After looking into it a but further, I can confirm your suspicion: A critical passion reduces the learning speed to 25% for every other skill, which leads even burning passion skills not being assigned via the "Has Passion" condition, because they tend to land far under 50% learning speed. Now I'm a bit stuck, because I still want to auto-assign such pawns to their other passions, for diversification and also the mood buff. Especially when the critical-passion-skill is meele.
Amity 10 月 11 日 下午 5:01 
It seems a reload is all it needed. looks like its working now.