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

Save some Cyborgs #29206

Merged
merged 80 commits into from Apr 14, 2019

Conversation

Projects
None yet
@Fris0uman
Copy link
Contributor

commented Apr 1, 2019

Summary

SUMMARY: Features "Add the ability to turn prototype cyborg into NPC via Autodoc surgery"

Purpose of change

Prototype Cyborgs are sad creatures that once were human but are now messed up robots.
Skilled survivor with enough heart should be able to remove the worse of the cbms messing them up to give them back some humanity.

Describe the solution

On (e)xamine Autodoc can now detect inactive broken cyborg or broken cyborg corpse waiting to revive.
Autodoc can't operate on broken cyborg, because they have too many machine parts.
Autodoc detect and can operate on inactive prototype cyborg
(If the corpse is too damaged Autodoc detect a dead patient)
It will then prompt the player with the usual choice of in/uninstall.
Intsallation is impossible cyborgs are saturated in cbms
Removal offers some options, but most are unreadable due to the poor states of the patient.
Personality Override can be selected for removal
Upon succes an NPC of the Cyborg Class is spawned in place of the body
It has all the CBM Broken Cyborg profession has and the same gear.
Damage of the corpse item are apllied to the NPC
NPC spawn laying down
It will be very thankful to the palyer and will offer to join them.

Chance of succes follow same logic as usual bionic removal
Damage on the cyborg body increases difficulty
On failure the body is damaged or destroyed

It's very strange but the Autodoc seems to systematically destroy the Personality Override cbm upon extraction...

Also this adds the ability to specify CBMs in classes.json

Prototype Cyborg is a new monster with :

  • Same fighting ability as broken cyborg
  • Less defense than broken cyborg because they are more "fleshy"
  • some low cut damage because razor fingertips,
  • They are smart :
    - Can avoid traps
    - Will prioritize targets
    - Can open door : depending on #28734
  • their own line of dialogue
  • same harvest group as broken cyborg
  • they will spawn in cells near operating theatre in labs, with a 50% chance to replace a broken cyborg
  • contrary to broken cyborg they can't revive
  • but they can be inactivated which is the only way ( for now ) to get them to the autodoc

Describe alternatives you've considered

There is no alternative, we can't let them suffer any longer ! Save the Cyborgs !

Additional context

This does not consume anesthetic kit, I could add it if it seems op without it. But I fear no one would use anesthetic kit on that.

I only wrote the bare minimum of background they could definitivly use more.
Personality Override CBM could have a better name, maybe a less obvious one.
I did not manage to set Cyborg gear up properly, so instead of subject suit and foot rags they only have subject suit.
I don't know if the faulty CBMs really affect the NPC in any way.
The ability to specify CBMs in classes.json works but might be a bit awkward.

@Rail-Runner

This comment has been minimized.

Copy link
Contributor

commented Apr 3, 2019

What good can climb do in the lab ? Also the broken cyborg profession has shitty motor control due to all the faulty bionics.

That could be a good idea. But they spawn in closed cells so I don't know if it will have much effect.

I think it should still be present if it makes sense, even if it's unlikely to come up under normal circumstances. Maybe someone decides to make a mod which will make them spawn in a location in which it does matter.

@Fris0uman

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

Fair, but the CAN_OPEN_DOOR flag is not implemented yet.
And I don't get why it should have CLIMB, I could be wrong but I think climb is a bit more than what a human can do and cyborg don't have special features that would give them climbing ability

Fris0uman added some commits Apr 3, 2019

@Photoloss

This comment has been minimized.

Copy link
Contributor

commented Apr 3, 2019

What's the synthaxe for weights ? [ [monster_a, 40], [monster_b,60] ] ?

I don't know the syntax in this case but the usual approach is to sum up the weights of all entries for the denominator and use each individual entry as its numerator. So [40, 60] should yield the same results as [2, 3]. The "chance" entries are actual probability percentages where failed rolls yield none of the items, that's a different random draw concept.

There supposed to be less machine than the broken cyborg so I don't think they should have metal bones.

Optional idea due to the skeletal bracing CBM, if you add the blade/claw variant limit it to those (military prototype Wolverine wannabe)

What good can climb do in the lab ? Also the broken cyborg profession has shitty motor control due to all the faulty bionics.
And I don't get why it should have CLIMB, I could be wrong but I think climb is a bit more than what a human can do and cyborg don't have special features that would give them climbing ability

"trap" rooms, maybe benefits similar to Parkour Expert or someone else might eventually add those later. Erk's aboveground facilities might provide more use-cases if you let them follow you upstairs. In case I am misunderstanding the flag the intent is to have them intelligently climb over chairs, tables and chainlink fences not to turn them into Spider-Man.

The profession still is a lot better off than zombies, more importantly to me these poor fellas should have the cognitive ability to recognise an obstacle and devise a smarter solution than headbutting into it.

They're supposed to be lower version of broken cyborg, wouldn't it be weird to give them more thant hte broken cyborgs ? And they will turn in Npc that won't have those ability.

ZAPBACK can be a broken/harmful bionic removed during the rescue procedure. The hearing enhancement could be part of the personality override processor.

Guilt is always tricky, survivor don't get guilt when killing an aggressive NPC so it should be the same here.

Definitely up for debate, my reasoning was that NPCs are just douchebags who willingly attack you while the cyborgs clearly are trapped in this state and forced to attack against their will.

That could be a good idea. But they spawn in closed cells so I don't know if it will have much effect.

That is the beauty of it. The cells are locked so they can't do anything to you. But if you fiddle with the console and mess things up they will chase you all over the lab Terminator-style, especially if you add the enhanced hearing and maybe better night vision.

Basically the idea was to deliberately make them a fair bit stronger than "broken" cyborgs, greater risk for greater reward and all that, without just stat-creeping them in direct combat. While we're at it PATH_AVOID_DANGER (append _integer?) and PRIORITIZE_TARGETS also exist to enhance their supposed "intelligence".

@Fris0uman

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

Looking at monmove code it seems that CLIMBS allow to move past some furniture AND climb up z levels.
I'm not sold on the zapback and enhanced hearing. But making them more intellignet is a good idea so I'll add that.
We'll have to make another PR later when open_doors is merged.

@Wokko1

This comment has been minimized.

Copy link
Contributor

commented Apr 4, 2019

Open_doors is not merged until something in the game starts using it. It's [WIP] just because I still did not finish the mod, and thus no creature uses the flag yet.

If you want the open_door PR to get merged, probably you should make a PR using the flag, and then write something like "depends on #xxxxx", just so your cyborgs would justify adding the flag.

@Fris0uman

This comment has been minimized.

Copy link
Contributor Author

commented Apr 4, 2019

I guess we can do it this way. But it might have been easier for you to add it to some monster like police bot for exemple within the PR itself.

Fris0uman added some commits Apr 4, 2019

Fris0uman and others added some commits Apr 7, 2019

Revert "lint speech"
This reverts commit 877eab8.

@kevingranade kevingranade merged commit 3316fa4 into CleverRaven:master Apr 14, 2019

0 of 3 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
gorgon-ghprb Build started for merge commit.
Details
@kevingranade

This comment has been minimized.

Copy link
Member

commented Apr 15, 2019

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/guide-to-adding-new-content-to-cdda-for-first-time-modders/17781/31

Xenomorph-III added a commit to Xenomorph-III/Cataclysm-DDA that referenced this pull request May 10, 2019

Changed "Broken Cyborg" profession name.
Changed "Broken Cyborg" name to "Prototype Cyborg" in light of CleverRaven#29206.

kevingranade added a commit that referenced this pull request May 10, 2019

Changed "Broken Cyborg" profession name.
Changed "Broken Cyborg" name to "Prototype Cyborg" in light of #29206.

@Fris0uman Fris0uman deleted the Fris0uman:save_the_cyborg branch Jun 29, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.