Mehni / kNumbers

Quick comparison of colonist stats
MIT License
34 stars 28 forks source link

Add Psycasting! Columns! Bars! Icons! A Whole Preset! #29

Closed maarxx closed 3 years ago

maarxx commented 3 years ago

Add Psycasting! Columns! Bars! Icons! A Whole Preset!

The New Preset

newPreset

The Tooltip for an Ability Header

showTooltip

A Whole Tab For Users to Pick and Choose Ability Columns

newAbilities

A Few Misc Entries We Needed

newMisc

maarxx commented 3 years ago

Code as initially written, when ran without Royalty (Options -> Simulate Not Owning Royalty) would result in the Abilities columns going missing, which truncated the Psycasting preset to just 3 columns, and the Abilities button would throw red error on click (Created FloatMenu with no options. Closing.).

It "worked", but for cleaness, we make the Abilities button and the Psycasting preset both conditional on Royalty, in immediately subsequent commit.

Test State, Load Screen with Royalty Disabled, Click to Expand for Screenshot ![royaltyDIsabled](https://user-images.githubusercontent.com/7416299/101942025-d8a96980-3bb6-11eb-8225-fd13be0aafe9.png)
Before Subsequent Code Changes, Click to Expand for Screenshot ![simulateNotOwningRoyalty](https://user-images.githubusercontent.com/7416299/101941982-c7f8f380-3bb6-11eb-9d41-17d9608b66cc.png) ![simulateNotOwningRoyalty2](https://user-images.githubusercontent.com/7416299/101941991-caf3e400-3bb6-11eb-9d59-dc1e41caa288.png)
After Subsequent Code Changes, Click to Expand for Screenshot ![after](https://user-images.githubusercontent.com/7416299/101942125-08f10800-3bb7-11eb-9f60-b5b7f6ec3f4a.png)
maarxx commented 3 years ago

This tab is sufficient for the questions of "what are the general state of my psycasters, who can cast what, who has a surplus of resource".

But there is another type of question that would bring a user here: "I need to cast a particular ability right now, who has it, and who has resources to do it". Especially if resources are tight, this might leave the user wanting the more granular features of the pawn gizmos, like how mousing over an ability shades the psyfocus and heat bars, and how heat also shows numeric values, instead of just a bar.

Stretch Goals: Probably for another release:

Make the psyfocus and heat bars bigger and fatter and fill the space more, and see if we can fit an exact numeric percentage on the psyfocus bar, and put exact scalar numeric heat numbers on the heat bar (current, max), like the gizmos.

If the user mouses over an ability icon in a pawn row, shade the psyfocus and heat bars for that pawn to indicate the results of casting that, just like the gizmos.

Add column for each pawn's current total neural heat dispersion rate (this is easy, but it doesn't add much useful information without a numeric representation of the pawn's heat per above).

Add column to the preset for pain (already exists), because it influences neural heat dispersion, but it doesn't actually add much useful information either, without all the above.

Add icon column (clickable) for toggling the neural heat limiter, right from this table.

If a user clicks the icon for an ability in a particular pawn's row, we could jump straight to closing Numbers, selecting that pawn, activating that ability, and prompting them to choose the target immediately.

maarxx commented 3 years ago

Just one outstanding item that I can spot from the comments:

https://github.com/Mehni/kNumbers/pull/29#discussion_r541470917 - should we exclude Numbers_Meditation custom column (Meditation Focus Types) for users without Royalty?