Kerbal Inventory System (KIS)

Kerbal Inventory System (KIS)

1M Downloads

Scaling the grabbable mass on location or experience

oobayly opened this issue ยท 1 comments

commented

I've created a branch that adjusts the mass that a kerbal is allowed to pick up depending on the local gravity, or if in a freefall environment allows engineers with more experience to grab more massive objects.

The idea is that in low gravity environments more massive objects can be moved, the opposite is true in high gravity environments. Also, in freefall, moving large objects is possible, but skill is needed to deal with the high inertia.

If in Space (or flying high)

  • Any kerbal is allowed to grab 150% of maxMass
  • Additionally, if the Kerbal is also engineer, then they can grab an extra percentage, depending on their experience - this rewards more experienced engineers.
  • It defaults to an exponential range of 100% (0 stars) to 200% (5 stars), but also supports a linear relationship.
    • Pilot, Scientist or 0-star engineer - can grab 150% of maxMass
    • 5-star engineer - can grab 300% (150% * 200%) of maxMass

Any other location

  • The mass a kerbal is allowed to grab in proportional to the inverse exponent of the local gravity - this is scaled so that very low gravity wells will tend towards a zero-gravity modified.
  • An engineer's skill is of no help when on the surface

All these values are fully configurable and the mass scaling is disabled by default.

Some example numbers:

  • Surface
    • Gilly - 0.005 g - 149%
    • Mun - 0.166 g - 141%
    • Duna - 0.3 g - 133%
    • Kerbin - 1.0 g = 100%
    • Eve - 1.7 g - 73%
  • Freefall
    • 0 star engineer - 150% (150% * 100%)
    • 1 star engineer - 163% (150% * 108.6%)
    • 2 star engineer - 181% (150% * 121.9%)
    • 3 star engineer - 208% (150% * 138.6%)
    • 4 star engineer - 246% (150% * 163.8%)
    • 5 star engineer - 300% (150% * 200%)

gravity factor
engineer factor

commented

A good idea ! Many thanks :)
Seem balanced and nice !
If you are ok to create a pull request, I will try to implement your work for the next major version (1.2).