mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 03:21:13 +01:00
Changes how ipc resurrection works (#4472)
This prs removes the old method of ipc resurrection, which was just removing and placing the mmi/heart back into the body, which was really lazy and caused a lot of bugs. Now, robotics can create a ipcs frames using the different brands in the robotics frabricator, based on the torso's brand. The law manager can disable by using a multitool on the head which is the diffence between creating a cyborg or an ipc. Also; it allows you to customize your snowflakness after your new body is created. Changes: you can't print all torso types from robotics anymore, but there are torsos that come with their own brand, that you should be able to buy from cargo, that will allow someone to create another type of ipc. Feedback Topic: https://forums.aurorastation.org/viewtopic.php?f=18&t=10705
This commit is contained in:
@@ -19,7 +19,7 @@ var/global/datum/robolimb/basic_robolimb
|
||||
"Human",
|
||||
"Skrell",
|
||||
"Tajara",
|
||||
"Zhan-Khazan Tajara",
|
||||
"Zhan-Khazan Tajara",
|
||||
"M'sai Tajara",
|
||||
"Unathi",
|
||||
"Vaurca Worker",
|
||||
@@ -27,26 +27,31 @@ var/global/datum/robolimb/basic_robolimb
|
||||
"Baseline Frame"
|
||||
)
|
||||
var/paintable = 0 //tired of istype exceptions. bullshirt to find, and by god do i know it after this project.
|
||||
var/linked_frame = "Unbranded Frame" //which machine species this limb will create
|
||||
|
||||
/datum/robolimb/bishop
|
||||
company = PROSTHETIC_BC
|
||||
desc = "This limb is coated in a brilliant silver illuminated from the inside with blue status lights."
|
||||
icon = 'icons/mob/human_races/r_ind_bishop.dmi'
|
||||
linked_frame = "Bishop Accessory Frame"
|
||||
|
||||
/datum/robolimb/hesphaistos
|
||||
company = PROSTHETIC_HI
|
||||
desc = "This limb is covered in thick plating coated with a militaristic olive drab."
|
||||
icon = 'icons/mob/human_races/r_ind_hephaestus.dmi'
|
||||
linked_frame = "Hephaestus G2 Industrial Frame"
|
||||
|
||||
/datum/robolimb/zenghu
|
||||
company = PROSTHETIC_ZH
|
||||
desc = "This limb has sleek white plating over a graphene-based nanofiber weave."
|
||||
icon = 'icons/mob/human_races/r_ind_zenghu.dmi'
|
||||
linked_frame = "Zeng-Hu Mobility Frame"
|
||||
|
||||
/datum/robolimb/xion
|
||||
company = PROSTHETIC_XMG
|
||||
desc = "This limb has a minimalist black and grey casing with exposed orange wiring channels."
|
||||
icon = 'icons/mob/human_races/r_ind_xion.dmi'
|
||||
linked_frame = "Xion Industrial Frame"
|
||||
|
||||
/datum/robolimb/ipc
|
||||
company = PROSTHETIC_IPC
|
||||
@@ -54,12 +59,14 @@ var/global/datum/robolimb/basic_robolimb
|
||||
icon = 'icons/mob/human_races/r_machine.dmi'
|
||||
unavailable_at_chargen = 1
|
||||
paintable = 1
|
||||
linked_frame = "Baseline Frame"
|
||||
|
||||
/datum/robolimb/industrial
|
||||
company = PROSTHETIC_IND
|
||||
desc = "This limb is more robust than the standard Hephaestus Integrated Limb, and is better suited for industrial machinery."
|
||||
icon = 'icons/mob/human_races/r_industrial.dmi'
|
||||
unavailable_at_chargen = 1
|
||||
linked_frame = "Hephaestus G1 Industrial Frame"
|
||||
|
||||
/datum/robolimb/terminator
|
||||
company = PROSTHETIC_HK
|
||||
@@ -72,3 +79,4 @@ var/global/datum/robolimb/basic_robolimb
|
||||
desc = "This limb is designed to mimic the Human form. It does so with moderate success."
|
||||
icon = 'icons/mob/human_races/r_human.dmi'
|
||||
species_can_use = list("Human")
|
||||
linked_frame = "Shell Frame"
|
||||
|
||||
@@ -82,13 +82,6 @@
|
||||
owner.Paralyse(emp_counter/6)
|
||||
owner << "<span class='danger'>%#/ERR: Power leak detected!$%^/</span>"
|
||||
|
||||
/obj/item/organ/cell/replaced()
|
||||
. = ..()
|
||||
// This is very ghetto way of rebooting an IPC. TODO better way.
|
||||
if(owner && owner.stat == DEAD)
|
||||
owner.stat = 0
|
||||
owner.visible_message("<span class='danger'>\The [owner] twitches visibly!</span>")
|
||||
|
||||
/obj/item/organ/eyes/optical_sensor
|
||||
name = "optical sensor"
|
||||
singular_name = "optical sensor"
|
||||
@@ -142,17 +135,6 @@
|
||||
holder_mob.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/organ/mmi_holder/Initialize(mapload)
|
||||
. = ..()
|
||||
// This is very ghetto way of rebooting an IPC. TODO better way.
|
||||
if (!mapload)
|
||||
addtimer(CALLBACK(src, .proc/attempt_revive), 1)
|
||||
|
||||
/obj/item/organ/mmi_holder/proc/attempt_revive()
|
||||
if (owner && owner.stat == DEAD)
|
||||
owner.stat = 0
|
||||
owner.visible_message("<span class='danger'>\The [owner] twitches visibly!</span>")
|
||||
|
||||
/obj/item/organ/mmi_holder/posibrain/Initialize()
|
||||
robotize()
|
||||
stored_mmi = new /obj/item/device/mmi/digital/posibrain(src)
|
||||
@@ -408,3 +390,61 @@
|
||||
encased = "support frame"
|
||||
force_skintone = TRUE
|
||||
robotize_type = PROSTHETIC_SYNTHSKIN
|
||||
|
||||
//unbranded
|
||||
|
||||
/obj/item/organ/external/head/unbranded
|
||||
dislocated = -1
|
||||
can_intake_reagents = 0
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/chest/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/groin/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/arm/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/arm/right/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/leg/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/leg/right/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/foot/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/foot/right/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/hand/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
|
||||
/obj/item/organ/external/hand/right/unbranded
|
||||
dislocated = -1
|
||||
encased = "support frame"
|
||||
robotize_type = "Unbranded"
|
||||
Reference in New Issue
Block a user