Code Monkey home page Code Monkey logo

kerbalhealth's People

Contributors

defiantzombie avatar garwelgarwel avatar linuxgurugamer avatar louisb3 avatar maffif avatar sswelm avatar tinygrox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kerbalhealth's Issues

DF Wrapper log spam

A user reported log spamming with lines like this:
3/15/2017 8:05:35 PM,KerbalHealth-DFWrapper,Attempting to Grab DeepFreeze Types...

Add radiation factor

  • May affect HP (as other factors) or slowly decrease max HP (needs #38 )
  • Radiation level depends on vessel location: lower on planet surface (0 for homeworld), grows with altitude, in interplanetary space depends on distance from the sun
  • Can be reduced by shielding (can use heat shields for the lack of specialized parts) or better (heavier) habitation
  • Can be healed on Kerbin for $$$

Low health alarm

  • A screen message should show up and warp stopped when a kerbal's health drops below a threshold
  • The threshold can be set in the Settings
  • Alarm doesn't repeat until the kerbal's health increases above the threshold and drops again

Config file

Load settings from a cfg file:

  • min health
  • base health
  • health per level
  • update interval
  • coma in & out values
  • death value
  • health modifiers

Maybe go for a Difficulty Window from the start instead (see how hard it is).

Add individual max HP bonuses/maluses

Certain kerbals can have higher or lower max HP. It may be affected by random events, professions, special experience or external mods (after API is ready).

Make better Health Monitor UI

AppLauncher button should open a window with a list of kerbals, their health status, condition and time to death/recovery (or better, to next condition). Green means OK or recovering; red means worsening.

Split ModuleKerbalHealth

Mostly for UI purposes, it makes sense to separate ModuleKerbalHealth's factor multiplier function from R&R (marginal health bonus) function. It means adding a new module class such as ModuleRecreation. It is a major, possibly savegame-breaking, change.

More health modifiers

Add more factors affecting health, e.g. SOI, Kerbin low altitude, zero g, high g, EVA, loneliness, etc.

Add KSPedia

Add information about factors, events, etc. to the in-game KSPedia.

Health Report settings

Add a window in the Editor where all the factors are listed and the player can enable or disable them for calculation purposes as well as health modules.

Question: should these settings save or be reset at scene change? I tend to support the reset (otherwise the player can forget that he/she changed the settings and be confused).

Tourists are not monitored

When a Tourist (real one, not a demoted crew member) is on board, he/she is not displayed in Health Monitor and, apparently, not tracked at all.

HP change in HealthMon abruptly spikes

Both the Kerbals in my space station keep getting their health change figure switched from -1.40 to -12.50, which keeps giving me quite a scare! I've not been able to work out when it gets switched yet, but switching back to the station fixes it until it gets switched back again. I've noticed it a few times.
The affected vessel is Station One. I'm fairly sure it's not an EC problem (although I might be running out too). At least one situation where it seems to happen is leaving physics range in another vessel. I'm fairly sure there are others. The only change I've made to the mod's settings is making the assignment penalty zero, to make up for the lack of RT integration. The worst total penalty I've seem apart from this aberrant -12.5 is -6.5 on a fully crowded vessel with no enhancements.
I'm pretty sure that moving out of physics range is one reproducible situation (unless it's caused by a mod conflict or something, of course).

Need 'per-save' ability to disable mod

For example i want to use this mod only in campaign. But i also have sandboxed save, where i testing some specific cases.

Also another scenario - sometimes i need to disable TAC LS in my campaign because it cause problems with 'rescue' contracts. So when i near kerbal, that i need rescue (near 30km), i disable TAC LS, get kerbal to my ship and then enable it again. Not big deal. And if KerbalHealth in future will have some bugs or problems like this, it will be a good solution.

New mechanic?

What about adding some new feautures?

  1. Instantly adding some amount of health to specific Kerbal (or all Kerbals).
  2. Timeout for activation HelthModule. For example we add new ability to antennas, that do [comm session] with Kerbal's family. This action add some health-points to him, but module [comm session] will be inoperabable for timeout.
  3. Timeout (per Kerbal) for effecting Kerbal by cpecific HelthModule. For example we add item [antidepressant] that lower all negative effects for some period, but can't be used again for this Kerbal for timeout.
  4. Limit of uses. Can be global and per-Kerbal. Useful for antidepressant, for example.

Balance EC usage with TAC-LS

if I have TAC life support installed it is already setup to require EC per Kerbal. then when this mod is installed that EC usage goes into over drive.
you could make a Patch that detects if TAC is installed, and removes the EC per Kerbal, to avoid this double hit to the EC required for a kerbal's life support.

Add sickness

  • Individual HP change modifier
  • Health conditions as a bitwise enum or a collection of bools (Exhausted, Minor Sickness, Major Sickness, etc.)
  • Random event for acquiring and healing sicknesses
  • Presence of sick crewmates increases chance of acquiring sickness
  • Presence of a medic or medbay increases chance of healing
  • Incubation period

Random breakdowns

Instead of going into coma (i.e. becoming Tourist) immediately after reaching HealthComaStart, a kerbal will have dice rolls every update. The same applies to death and other conditions.

Hired crew not tracked

When hiring new crew members in Astronaut Center, they don't appear in the Monitor list.

NaN health for assigned kerbals when KH installed

"Small bug report -- I've got a kerbal with NaN health and NaN delta-health. She was on orbit before I installed the mod though, so I guess that's the probably cause?"

Hypothesis: LastChange is undefined for assigned kerbals until they are loaded => HP also becomes undefined.

Give more info in Health Monitor

Give information, for each kerbal, about active factors, their effects, factor multipliers, and marginal health modifiers: either as a tooltip, additional columns in the table or separate windows.

Improve randomness

Consider using something like this for initializing the random seed:

        private static int seed = (int)DateTime.UtcNow.Ticks;
        private static System.Random rng = new System.Random(seed);

Death issues

When a kerbal dies, following things happen:

  • in Flight Scene, the portrait usually remains (but filled with white noise)
  • in KSC, the kerbal is only removed from the KerbalHealthList, but is still marked as Available (and can thereafter be recovered, but will remain Tourist forever)
  • in any case, the kerbals don't appear on the Lost roster in Astronaut Training Facility

Better MKS support

  • Medibay has effect only when active and has medics/scientists

  • Habs have different effects depending on configuration

  • Inflatable parts have no effect until deployed

  • (maybe) Different specialties have different health (de)buffs

  • Medibays and/or medics affect chances of getting sick and recovering (need to modify Module)KerbalHealth and the severity of Sickness factor

KPBS support patch

Research KPBS' habs & related parts and incorporate them into KHKPBS.cfg.

Suggestion: HP affects gee-tolerance

Stock KSP includes g-force limits as an optional difficulty setting (though it is not clear how to calculate the exact tolerance for any given kerbal.) If a kerbal's tolerance is exceeded, they pass out temporarily - I believe the duration of unconsciousness is affected by the length and severity of tolerance exceedance.

  • Low HP could reduce g-force tolerance.
  • Extended or severe g's could reduce HP, eventually causing unconsciousness or death. (Might need a specific recovery mechanic to represent the ability to bounce back quickly once g-forces are reduced to a tolerable level.)

This would be conceptually similar to the mod KeepFit, but it would incorporate KerbalHealth's holistic health tracking instead of just exercise.

In-flight R&R

May require a complete revamp of the system!

Health does not just "tick" at a pace defined by various factors. Instead, it can stabilize on a certain level.

Example: Jeb flew from Kerbin to a station in a small, crampy, ugly ship; his health has decreased. But on the station, he recuperates and his health improves, but probably not to 100% as it's still zero g and far from home.

NRE for kerbals in external seats

It happens at least when using Take Command mod.

NullReferenceException: Object reference not set to an instance of an object
  at KerbalHealth.MicrogravityFactor.ChangePerDay (.ProtoCrewMember pcm) [0x00000] in <filename unknown>:0 
  at KerbalHealth.KerbalHealthStatus.HealthChangePerDay () [0x00000] in <filename unknown>:0 
  at KerbalHealth.KerbalHealthStatus.Update (Double interval) [0x00000] in <filename unknown>:0 
  at KerbalHealth.KerbalHealthList.Update (Double interval) [0x00000] in <filename unknown>:0 
  at KerbalHealth.KerbalHealthScenario.UpdateKerbals (Boolean forced) [0x00000] in <filename unknown>:0 
  at KerbalHealth.KerbalHealthScenario.FixedUpdate () [0x00000] in <filename unknown>:0 

Editor health report

AppLauncher button in VAB/SPH should open a Health Report window that will tell you how long your kerbals will last. Every kerbal displayed separately. May require updates and revamps when mechanics change.

Add part effects

Create a PartModule that will affect health. Options: whole vessel or part crew only, effect (HP/day), EC consumption, EC consumption crew-scaled.

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.