mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 09:42:29 +00:00
## About The Pull Request Adds the funny nanite blob dudes from Vigro code into the game. It's more of a port of the idea since they're coded from the ground up. They will be more of a utility focused species then a combat focused species. **They are fragile.** - Eats metal. You need metal to live and you need metal to heal. - Healed by materials. You feed Proteans metal to heal them. - Difficult to kill, but extremely fragile. They are considered a deathless species but they are stuck in their suit if they die. **You have to order a new refactory from cargo to revive them** **Order Refactory > Screwdriver suit > Insert refactory > Wait 5 minutes.** - Easily dismembered. They have 30 seconds to recover their limbs and pop them on or they will melt into nothingness. Can do a lengthy heal which replaces missing limbs and easy to replace organs. - Without a refactory, you will wither away. - Without an orchastrator, you will have a lot of issues moving. - You can lock your suit on someone. (OOC escape will work) - You can assimilate modsuits. - [x] OOC escape - [x] Suit Transformation fixes - [x] Modsuit Assimilation - [x] Ensure organs are working - [x] Species info and lore - [x] Antag Proteans - [x] Custom damage. Disable various surgeries. - [x] Testing, polish, feedback. - [x] Runtime and CI fixing. - [ ] Live testing and balance. ## Why It's Good For The Game This was the second to top vote on species people wanted to see added and this is more custom mechanics then what is just a human reskin. ## Proof Of Testing   ## Changelog 🆑 StrangeWeirdKitten, Majkl-J add: New species: Proteans /🆑 --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> Co-authored-by: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com> Co-authored-by: aKromatopzia <94389683+aKromatopzia@users.noreply.github.com> Co-authored-by: Jinshee <96621959+Jinshee@users.noreply.github.com> Co-authored-by: Jinshee <manastra2536@gmail.com> Co-authored-by: JustMeTheIInd <145101584+JustMeTheIInd@users.noreply.github.com> Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com> Co-authored-by: Odairu <39929315+Odairu@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
92 lines
3.8 KiB
Plaintext
92 lines
3.8 KiB
Plaintext
/obj/item/disk/surgery/sleeper_protocol
|
|
name = "Suspicious Surgery Disk"
|
|
desc = "The disk provides instructions on how to turn someone into a sleeper agent for the Syndicate."
|
|
surgeries = list(
|
|
/datum/surgery/advanced/brainwashing_sleeper,
|
|
/datum/surgery/advanced/brainwashing_sleeper/mechanic,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper
|
|
name = "Sleeper Agent Surgery"
|
|
desc = "A surgical procedure which implants the sleeper protocol into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant."
|
|
requires_bodypart_type = NONE
|
|
possible_locs = list(BODY_ZONE_HEAD)
|
|
steps = list(
|
|
/datum/surgery_step/incise,
|
|
/datum/surgery_step/retract_skin,
|
|
/datum/surgery_step/saw,
|
|
/datum/surgery_step/clamp_bleeders,
|
|
/datum/surgery_step/brainwash/sleeper_agent,
|
|
/datum/surgery_step/close,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper/mechanic
|
|
name = "Sleeper Agent Reprogramming"
|
|
desc = "Malware which directly implants the sleeper protocol directive into the robotic patient's operating system, making it their absolute priority. It can be cleared using a mindshield implant."
|
|
requires_bodypart_type = BODYTYPE_ROBOTIC | BODYTYPE_NANO
|
|
steps = list(
|
|
/datum/surgery_step/mechanic_open,
|
|
/datum/surgery_step/open_hatch,
|
|
/datum/surgery_step/mechanic_unwrench,
|
|
/datum/surgery_step/brainwash/sleeper_agent/mechanic,
|
|
/datum/surgery_step/mechanic_wrench,
|
|
/datum/surgery_step/mechanic_close,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper/can_start(mob/user, mob/living/carbon/target)
|
|
. = ..()
|
|
if(!.)
|
|
return FALSE
|
|
var/obj/item/organ/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN)
|
|
if(!target_brain)
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent
|
|
time = 25 SECONDS
|
|
var/static/list/possible_objectives = list(
|
|
"You love the Syndicate.",
|
|
"Do not trust Nanotrasen.",
|
|
"The Captain is a lizardperson.",
|
|
"Nanotrasen isn't real.",
|
|
"They put something in the food to make you forget.",
|
|
"You are the only real person on the station.",
|
|
"Things would be a lot better on the station if more people were screaming, someone should do something about that.",
|
|
"The people in charge around here have only ill intentions for the crew.",
|
|
"Help the crew? What have they ever done for you anyways?",
|
|
"Does your bag feel lighter? I bet those guys in Security stole something from it. Go get it back.",
|
|
"Command is incompetent, someone with some REAL authority should take over around here.",
|
|
"The cyborgs and the AI are stalking you. What are they planning?",
|
|
)
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/mechanic
|
|
name = "reprogram (multitool)"
|
|
implements = list(
|
|
TOOL_MULTITOOL = 85,
|
|
TOOL_HEMOSTAT = 50,
|
|
TOOL_WIRECUTTER = 50,
|
|
/obj/item/stack/package_wrap = 35,
|
|
/obj/item/stack/cable_coil = 15)
|
|
preop_sound = 'sound/items/handling/surgery/hemostat1.ogg'
|
|
success_sound = 'sound/items/handling/surgery/hemostat1.ogg'
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
objective = pick(possible_objectives)
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You begin to brainwash [target]..."),
|
|
span_notice("[user] begins to fix [target]'s brain."),
|
|
span_notice("[user] begins to perform surgery on [target]'s brain."),
|
|
)
|
|
display_pain(target, "Your head pounds with unimaginable pain!") // Same message as other brain surgeries
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
|
|
if(target.stat == DEAD)
|
|
to_chat(user, span_warning("They need to be alive to perform this surgery!"))
|
|
return FALSE
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
target.gain_trauma(new /datum/brain_trauma/mild/phobia/conspiracies(), TRAUMA_RESILIENCE_LOBOTOMY)
|