Giter Club home page Giter Club logo

rimworld-workgroups's People

Contributors

hawnhan avatar the1nk avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

hawnhan

rimworld-workgroups's Issues

Change Stat logic to ignore environmental issues

Right now when checking stats like "Animal Gather Speed" (perhaps most speed stats are effected?) it takes into consideration the light level of the cell the pawn is currently in. This leads to two pawns who are close being flip flopped depending on where they are when the task fires.

Instead of relying on GetStatValue we can simply inspect the StatDef manually and perform our own calculations.

[Feat] Support *minimum* skill/stat/passion, and maximum-number-of-pawns in role

This was previously mentioned on the Steam comments by sergiocut and myself.

I think these are all basically the same feature, possibly with a couple different interfaces/tweakables.

At the moment, the mod likes to assign multiple people to, say, the Doctoring role. For several sorts of roles, you want to make sure certain pawns are never assigned to that role (as is currently the case with particular traits), based on their skills or stats:

  1. You don't want low-Doctoring-skill pawns doing any tending jobs, because they "use up" a tend-opportunity that really, really needed to be preformed by a highly-skilled Doctor. This would best be achievable by a minimum of skill/stat: "[DoctorGroup] don't assign pawns who aren't within X skill-points of the best Doctoring skill" or "[DoctorGroup] don't assign pawns who aren't within Y% of the best MedicalTendQuality"

  2. You don't want anybody except your single very-best Handler attempting to tame creatures; this would best be achieved by having a maximum number of pawns: "[HandlerGroup] Stop once you've assigned 1 pawn"

  3. Sometimes you want someone who's good at one thing SkillA, but passionate at another SkillB, to focus on the thing they're passionate about - i.e. you want to 'play the long game', and lose out on SkillA productivity in exchange for having SkillB productivity later in the game. This might best be achieved by having two WorkGroups for a skill, for instance; you may already have a [ConstructorGroup] with some constraints that's allowed alongside other groups, but you should be able to set up a [ConstructorApprenticeGroup] that doesn't allow them to do other jobs, and is higher-priority overall, and configure it to "only contain pawns with a double passion for Construct."

I hope all that made sense; happy to explain with further clarification if I'm not getting my plan across!

[BUG] Non working invites are considered as working colonists

title.

image
Problem:
Here my only medic slot is assigned to the non working colonist, making the slot useless
Non working colonists (different faction?) should be ignored by the work group assignment.

Step to reproduce:

  • Accept any quest adding visitors as temporary colonists

Stats Rework

Ok soooo the plan - Stats will be broken into two sections. High stats and Low stats. This way you’ll be able to correctly min/max stats. I’m going to change the weighting of stats so that the highest value for a pawn for a high stat will be 100%, while any lower value will decrease the score of that pawn for that stat. This way stats will be more of a .. modifier and less of a huge multiplier. Similar for Low stats, except the lowest will be 100% (just order flipped).

Scheduling settings

Full time anything
Bi-phasic sleep
Bi-phasic sleep w aligned recreation

Auto night owl checkbox

[Improvement] Crib from, or integrate into, Fluffy's WorkTab

At the moment, the UI is pretty bare-bones. Cool! It's a new idea, and I think you totally focused your efforts in the right place.

Eventually, however, it'd be nice to have a UI that involves a lot less repeated clicking, redundant drop-downs, and plain-text. In particular, I think this mod shares a lot of the interface problem-space with the existing WorkTab.

It'd really, really ease the user's life if a lot of this functionality worked exactly like the WorkTab, but showing (reorderable) WorkGroups instead of individual pawns; with the ability to then adjust the priority of individual work-types or jobs for a given WorkGroup exactly as one does for an individual pawn.

Personally, I think it'd be awesome if this just directly hooked into the WorkTab, and dropped the standalone hotbar-button entirely; but that's probably a matter of taste - perhaps some players want to play without WorkTab, I don't know. WorkTab is MIT License, though, so maybe the best route forward is actually just to straight-up crib a lot of the interface-style from WorkTab, so that the separate WorkGroups tab shares a lot of the same functionality without quite so much duplicated effort. ¯\_(ツ)_/¯

[Feat] Support for more granular, individual worktypes

At the moment, you lose a lot of configurability when switching from "normal" gameplay with Fluffy's WorkTabo, to "automated" gameplay with WorkGroups.

In particular, there's a lot of poorly- or annoyingly-categorized jobs, that you really want to assign to different people (or just generally have different rules for); with the WorkTab, you can set this up fairly easily, but it'll immediately be overwritten by WorkGroups. A couple examples:

  1. You really want a WG with multiple high-Handle colonists to spread the load of Shear, Milk, Train, etc; but you only want your very best single Handle-er assigned to Tame. Ideally, I could create separate [TamerGroup] and [HandlerGroup], with their own separate rules and filters.

  2. You probably want your high-social [WardenGroup] to also do VisitSickPawn, instead of wasting your [DoctorGroup]'s time. Or maybe you want a [NurseGroup] to spread the load of FeedPatient, freeing up your Doctor pawns to do other things.

[Improvement] Needs more documentation

The current UI is rather difficult to get into
There seems to be a lot of things in this mod but there is no explanation whatsoever of what does what, both ingame and in the mod description, some visual step by step use case examples could help a lot with this

Traits support

Traits will be added, and I’m thinking of 3 lists for traits - must have, want to have, and can’t have. If there’s any in the must have list then every pawn must have those traits to be eligible. If any in want to have, pawns with 1+ of those will be selected first. If a pawn has any of the can’t have ones then .. they’re not eligible.

[Feat, Minor] Show traits' skill/stat bonuses *inline* in the Trait Assignment interface

A lot of traits from various mods, as well as vanilla ones, look relevant to a given WorkGroup based on their description (currently, all that's shown in the interface); but don't actually need to be selected as "preferred" or "required":

  • They only add additional skill-point bonuses (and thus are already accounted-for in the core assignment-algorithm),
  • or they only modify pawn-stats (and thus are better accounted-for by adjusting the "stat" field instead of adding them to the "wanted traits.")

When selecting traits for your jobs, it'd be nice to see inline traits that are 'redundant' in this way - i.e. if VTE_Academian from Vanilla Traits Expanded had an asterisk next to its name in the trait-selection menu when adding traits to a WorkGroup including Intellectual skills, because that trait adds +4 to Intellectual of affected pawns.

Ditto when a trait applies a statOffset to a stat that's already been added to the current WorkGroup.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.