Shells and Periphery (#1327)

Adds Shells. Adds tags. Adds IPC subspecies. Adds HK-47's. Does not add IPC construction.

Beyond the obvious review of shells, the exact stats of the IPC subspecies need review. They were largely an afterthought, and quickly overshadowed by the shell project.
This commit is contained in:
LordFowl
2016-12-27 19:23:26 -05:00
committed by skull132
parent 0c59930261
commit bc8871ac2b
65 changed files with 1248 additions and 158 deletions
-2
View File
@@ -932,8 +932,6 @@ Note that amputating the affected organ does in fact remove the infection from t
if(company)
model = company
var/datum/robolimb/R = all_robolimbs[company]
if(species && (species.name in R.species_cannot_use))
R = basic_robolimb
if(R)
force_icon = R.icon
name = "[R.company] [initial(name)]"
+1 -1
View File
@@ -16,7 +16,7 @@ var/global/list/limb_icon_cache = list()
s_tone = null
s_col = null
h_col = null
if(status & ORGAN_ROBOT)
if(status & ORGAN_ROBOT && !(isipc(human)))
return
if(species && human.species && species.name != human.species.name)
return
+43 -1
View File
@@ -15,7 +15,7 @@ var/global/datum/robolimb/basic_robolimb
var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb.
var/icon = 'icons/mob/human_races/robotic.dmi' // Icon base to draw from.
var/unavailable_at_chargen // If set, not available at chargen.
var/list/species_cannot_use = list("Resomi")
var/list/species_can_use = list("Human","Skrell","Tajara","Zhan-Khaza","M'sai","Unathi","Vaurca Worker","Vaurca Warrior","Baseline Frame")
/datum/robolimb/bishop
company = "Bishop Cybernetics"
@@ -42,3 +42,45 @@ var/global/datum/robolimb/basic_robolimb
desc = "This limb is simple and functional; no effort has been made to make it look human."
icon = 'icons/mob/human_races/cyberlimbs/ipc.dmi'
unavailable_at_chargen = 1
/datum/robolimb/industrial
company = "Hephaestus Industrial Limb"
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
/datum/robolimb/terminator
company = "Hephaestus Vulcanite Limb"
desc = "A ludicrously expensive and EMP shielded component, these types of limbs are best suited for highly specialized cyborgs."
icon = 'icons/mob/human_races/r_terminator.dmi'
unavailable_at_chargen = 1
/datum/robolimb/human
company = "Human Synthskin"
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")
/datum/robolimb/unathi
company = "Unathi Synthskin"
desc = "This limb is designed to mimic the Unathi form. It does so with moderate success."
icon = 'icons/mob/human_races/r_lizard.dmi'
species_can_use = list("Unathi")
/datum/robolimb/tajara
company = "Tajara Synthskin"
desc = "This limb is designed to mimic the Tajaran form. It does so with moderate success."
icon = 'icons/mob/human_races/r_tajaran.dmi'
species_can_use = list("Tajara","Zhan-Khaza","M'sai")
/datum/robolimb/skrell
company = "Skrell Synthskin"
desc = "This limb is designed to mimic the Skrellian form. It does so with moderate success."
icon = 'icons/mob/human_races/r_skrell.dmi'
species_can_use = list("Skrell")
/datum/robolimb/vaurca
company = "Vaurca Synthskin"
desc = "This limb is designed to mimic the Vaurcae form. It does so with moderate success."
icon = 'icons/mob/human_races/r_vaurca.dmi'
species_can_use = list("Vaurca Worker","Vaurca Warrior")
+193 -1
View File
@@ -6,7 +6,7 @@
max_damage = 50 //made same as arm, since it is not vital
min_broken_damage = 30
encased = null
/obj/item/organ/external/head/ipc/New()
robotize("Hephaestus Integrated Limb")
..()
@@ -104,6 +104,18 @@
robotize()
..()
/obj/item/organ/ipc_tag
name = "identification tag"
organ_tag = "ipc tag"
parent_organ = "groin"
icon = 'icons/obj/telescience.dmi'
icon_state = "gps-c"
dead_icon = "gps-c"
/obj/item/organ/ipc_tag/New()
robotize()
..()
// Used for an MMI or posibrain being installed into a human.
/obj/item/organ/mmi_holder
name = "brain"
@@ -155,3 +167,183 @@
else
stored_mmi.loc = get_turf(src)
qdel(src)
//terminator organs
/obj/item/organ/mmi_holder/posibrain/terminator
name = "brain"
organ_tag = "brain"
parent_organ = "chest"
vital = 1
/obj/item/organ/data
name = "data core"
organ_tag = "data core"
parent_organ = "groin"
icon = 'icons/obj/cloning.dmi'
icon_state = "harddisk"
vital = 0
/obj/item/organ/data/New()
robotize()
..()
/obj/item/organ/cell/terminator
name = "shielded microbattery"
desc = "A small, powerful cell for use in fully prosthetic bodies. Equipped with a Faraday shield."
icon = 'icons/obj/power.dmi'
icon_state = "scell"
organ_tag = "shielded cell"
parent_organ = "chest"
vital = 1
/obj/item/organ/cell/New()
mechassist()
..()
/obj/item/organ/external/head/terminator
dislocated = -1
can_intake_reagents = 0
vital = 0
max_damage = 50 //made same as arm, since it is not vital
min_broken_damage = 30
encased = null
/obj/item/organ/external/head/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/chest/terminator
dislocated = -1
encased = null
/obj/item/organ/external/chest/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/groin/terminator
dislocated = -1
/obj/item/organ/external/groin/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/arm/terminator
dislocated = -1
/obj/item/organ/external/arm/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/arm/right/terminator
dislocated = -1
/obj/item/organ/external/arm/right/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/leg/terminator
dislocated = -1
/obj/item/organ/external/leg/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/leg/right/terminator
dislocated = -1
/obj/item/organ/external/leg/right/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/foot/terminator
dislocated = -1
/obj/item/organ/external/foot/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/foot/right/terminator
dislocated = -1
/obj/item/organ/external/foot/right/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/hand/terminator
dislocated = -1
/obj/item/organ/external/hand/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/hand/right/terminator
dislocated = -1
/obj/item/organ/external/hand/right/terminator/New()
mechassist("Hephaestus Vulcanite Limb")
..()
/obj/item/organ/external/head/industrial
dislocated = -1
can_intake_reagents = 0
vital = 0
max_damage = 50 //made same as arm, since it is not vital
min_broken_damage = 30
encased = null
/obj/item/organ/external/head/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/chest/industrial
dislocated = -1
encased = null
/obj/item/organ/external/chest/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/groin/industrial
dislocated = -1
/obj/item/organ/external/groin/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/arm/industrial
dislocated = -1
/obj/item/organ/external/arm/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/arm/right/industrial
dislocated = -1
/obj/item/organ/external/arm/right/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/leg/industrial
dislocated = -1
/obj/item/organ/external/leg/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/leg/right/industrial
dislocated = -1
/obj/item/organ/external/leg/right/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/foot/industrial
dislocated = -1
/obj/item/organ/external/foot/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/foot/right/industrial
dislocated = -1
/obj/item/organ/external/foot/right/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/hand/industrial
dislocated = -1
/obj/item/organ/external/hand/industrial/New()
robotize("Hephaestus Industrial Limb")
..()
/obj/item/organ/external/hand/right/industrial
dislocated = -1
/obj/item/organ/external/hand/right/industrial/New()
robotize("Hephaestus Industrial Limb")
..()