Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No more Mr. Stem Cell #27558

Merged
merged 5 commits into from Jan 16, 2019
Merged

No more Mr. Stem Cell #27558

merged 5 commits into from Jan 16, 2019

Conversation

kevingranade
Copy link
Member

@kevingranade kevingranade commented Jan 11, 2019

Summary

SUMMARY: Features "Update bone mending machine to use mend mechanics instead of magic stemcell treatment."

Purpose of change

I was reminded of the absurdity that is Mr. Stemcell recently, and realized that it should be very simple to incorporate the existing bone mending mechanics into it, rendering it a "better limb repair" option rather than a crazy scifi instant bone replacement device.

Describe the solution

This overhauls the Mr. Stem Cell computer interaction to effectively apply a better splint to eligible limbs rather than instantly heal the target.
Meanwhile it also eliminates the now-unecessary infrastructure for the old effect.

Describe alternatives you've considered

Plan A was removing the device entirely, but if we have automatic surgery devices, having an appliance to properly set bones and splint/cast them seems like a reasonable alternative.
There's a continuum of options for making splinting and bone mending more nuanced, but this is a quick fix to a ridiculous status quo.

RFC

My rationale for the healing being faster is simply that the setting/splinting is done "right". I'm assuming that the splint applied by the player (or an NPC, is that an option?) is rough and suboptimal, impeding healing rate. I'd be interested in feedback on whether this makes sense, and if so what the appropriate difference in expected recovery rate should be.

@kevingranade kevingranade added Game: Mechanics Change Code that changes how major features work [JSON] Changes (can be) made in JSON [C++] Changes (can be) made in C++. Previously named `Code` labels Jan 11, 2019
@kevingranade kevingranade changed the title [WIP] Remove stemcell effect handling [WIP] No more Mr. Stem Cell Jan 11, 2019
@mlangsdorf
Copy link
Contributor

I think removing the instant healing effect is a good change.

I think it would be best to replace it with an unreasonably accelerated healing, though. Getting to a Mr. Stem with a broken limb usually involves fighting through several of the nastier zombies backed by trash mobs, and isn't a trivial task. Mr. Stem isn't simple to use for characters with low Int or low Computers. Finally, having a broken limb makes for a slightly tedious experience as the player can't easily fight for a week or two. Given the risks and effort, giving the player the reward of healing those broken limbs rapidly - within two or three days - seems like an adequate reward.

@nexusmrsep
Copy link
Contributor

nexusmrsep commented Jan 11, 2019

Lemme drop few ideas here to consider.

Alternatively to the "better splint system" the autodoc could operate the broken limb to set the bone right, or implant some titanium bracing, that would allow to walk, but would still need time to heal. It'd remove all/some negative effects of broken limb (since its mend) but apply other set of effects, like maybe reduced healing of said limb, enduring prolonged pain (reason to use tramadol), etc. (to be chosen and balanced), that would not pass for a week or so until the operation wound would be healed.

This would be more realistic, especially for fractured bones with open wounds that often need surgical intervention to fish out the splintered bone, set on place whats left and apply bracing so it stays there. And you won't be out of bed any soon, so by in-game terms I propose as above - heal the bone, but add something else that simulates the operation wound and the healing process that needs to happen anyway, but that is reasonably better to suffer, then normal healing process for reasons @mlangsdorf mentioned.
[That said - maybe normal healing process can rarely end in badly set bones, that need to be operated by the autodoc?]

And also it'd be a nice step forward towards new wound system, where autodoc may be needed for more serious wounds, like a bullet stuck in a gut.

[Edit: Terrible idea # 321: Inject blob in the vicinity of the broken bone and enjoy your new life as a skeletal juggernaut. :) ]

[Edit: Not-so-terrible idea: Operation needs insurance and since you don't have none (system failure after cataclysm or none in the first place) you now need every penny from those cash cards to pay up in front, and it ain't cheap.]

@kevingranade
Copy link
Member Author

I just want to knock this out quickly, so the alternatives I'm interested in are:

  1. Add a splint and modified mending effect such that the limb will complete healing faster.
    1.a. This can be anywhere between the current ~10 days (though probably not) and just a few hours (if we're asserting that it's still doing some kind of growth accelerant thing).
    2.b. We can add any number of side effects at the time of application (damage, pain, health reduction, any pre-existing efects), but adding entirely new effects is out of scope.
  2. Remove Mr. Stem Cell

The reason there needs to be a splint is that the current code expects it to be there, if someone wants to overhaul the involved code they can, but I' not particularly interested.

@mlangsdorf
Copy link
Contributor

I think healing in 24-48 hours is sufficient. A moderate level of pain through the entire healing process seems appropriate.

@kevingranade
Copy link
Member Author

Yea I'm going to back off on the acceleration to approximately 2x normal rate, we can add additional reagents to accelerate it further later, but that already gets some of the agressive healing traits down to about one day.

@kevingranade kevingranade force-pushed the kevingranade-no-more-mr-stem-cell branch from 67b1d71 to 5f29caa Compare January 12, 2019 06:42
@kevingranade kevingranade changed the title [WIP] No more Mr. Stem Cell No more Mr. Stem Cell Jan 12, 2019
@ZhilkinSerg ZhilkinSerg self-assigned this Jan 12, 2019
@Barhandar
Copy link
Contributor

The splint item is required by code, but realistically splints like these would be either metal rods inserted into bone directly to hold it in place, or the "five minutes into the future" version - bioceramic shell that bonds with bone and is gradually replaced by it (i.e. an internal cast that matches bone shape exactly), and the latter case would likely have significantly different downsides, such as greater susceptibility to damage until it has been overgrown.

Admittedly both of these need material supplies, which could be an extra fetch/preparation quest for the player.

[Edit: Terrible idea # 321: Inject blob in the vicinity of the broken bone and enjoy your new life as a skeletal juggernaut. :) ]

You already have blob in all your tissues.

[Edit: Not-so-terrible idea: Operation needs insurance and since you don't have none (system failure after cataclysm or none in the first place) you now need every penny from those cash cards to pay up in front, and it ain't cheap.]

Didn't know New England was anarcho-capitalist.

@kevingranade
Copy link
Member Author

Realistically it would be one of a wide variety of immobilization systems depending on the details of the fracture(s). Most simple fractures wouldn't rate a surgical option.

Point taken that we could add one or more new splint types though.

@ZhilkinSerg
Copy link
Contributor

When starting/loading game with enabled "Fuji's More Buildings" mod:

image

  C:\Projects\Cataclysm-DDA\data\mods\Fuji_Structures\worldgen\gas\s_gas_b20.json (1 hit)
	Line 128:           "options": [ { "name": "Stem Cell Treatment", "action": "stemcell_treatment" } ],

@ZhilkinSerg ZhilkinSerg merged commit 1a57b71 into master Jan 16, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment Jan 17, 2019
@kevingranade kevingranade deleted the kevingranade-no-more-mr-stem-cell branch January 17, 2019 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Game: Mechanics Change Code that changes how major features work [JSON] Changes (can be) made in JSON
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants