mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
[MIRROR] Cybernetic Moth Eyes : Cybermoff 2077 [MDB IGNORE] (#23140)
* Cybernetic Moth Eyes : Cybermoff 2077 * Update _eyes.dm * Modular adjustments, and cleans up some skyrat edits while we're here * Adds the moth cybereyes as augment options * Revert "Adds the moth cybereyes as augment options" This reverts commit 7c91d01ed0c14d4a3ec435b2fc878267a7b8618b. * Update organs.dm * Update internal_HA.dmi --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
co-authored by
jimmyl
Bloop
parent
267c47a37a
commit
1aa547866c
@@ -142,15 +142,10 @@
|
||||
experiment_proper = TRUE
|
||||
required_gas = /datum/gas/halon
|
||||
|
||||
// SKYRAT EDIT BEGIN - MATERIAL MEAT WAS REMOVED
|
||||
// ORIGINAL: /datum/experiment/scanning/random/material/meat
|
||||
/datum/experiment/scanning/random/material/silver
|
||||
/datum/experiment/scanning/random/material/meat
|
||||
name = "Biological Material Scanning Experiment"
|
||||
// ORIGINAL: description = "They told us we couldn't make chairs out of every material in the world. You're here to prove those nay-sayers wrong."
|
||||
description = "Supposedly silver has an inert anti-microbial effect; scan a few samples to test this."
|
||||
// ORIGINAL: possible_material_types = list(/datum/material/meat)
|
||||
possible_material_types = list(/datum/material/silver)
|
||||
// SKYRAT EDIT END - MATERIAL MEAT WAS REMOVED
|
||||
description = "They told us we couldn't make chairs out of every material in the world. You're here to prove those nay-sayers wrong."
|
||||
possible_material_types = list(/datum/material/meat)
|
||||
|
||||
/datum/experiment/scanning/random/material/easy
|
||||
name = "Low Grade Material Scanning Experiment"
|
||||
|
||||
@@ -454,6 +454,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cyberimp_xray/moth
|
||||
name = "Moth X-ray Eyes"
|
||||
id = "ci-xray-moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/xray/moth
|
||||
|
||||
/datum/design/cyberimp_thermals
|
||||
name = "Thermal Eyes"
|
||||
desc = "These cybernetic eyes will give you Thermal vision. Vertical slit pupil included."
|
||||
@@ -474,6 +479,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cyberimp_thermals/moth
|
||||
name = "Moth Thermal Eyes"
|
||||
id = "ci-thermals-moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/thermals/moth
|
||||
|
||||
/datum/design/cyberimp_antidrop
|
||||
name = "Anti-Drop Implant"
|
||||
desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle."
|
||||
@@ -868,6 +878,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cybernetic_eyes/moth
|
||||
name = "Basic Cybernetic Moth Eyes"
|
||||
id = "cybernetic_eyes_moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/basic/moth
|
||||
|
||||
/datum/design/cybernetic_eyes/improved
|
||||
name = "Cybernetic Eyes"
|
||||
desc = "A pair of cybernetic eyes."
|
||||
@@ -878,6 +893,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cybernetic_eyes/improved/moth
|
||||
name = "Cybernetic Moth Eyes"
|
||||
id = "cybernetic_eyes_improved_moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/moth
|
||||
|
||||
/datum/design/cyberimp_welding
|
||||
name = "Welding Shield Eyes"
|
||||
desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision."
|
||||
@@ -891,6 +911,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cyberimp_welding/moth
|
||||
name = "Welding Shield Moth Eyes"
|
||||
id = "ci-welding-moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/shield/moth
|
||||
|
||||
/datum/design/cyberimp_gloweyes
|
||||
name = "Luminescent Eyes"
|
||||
desc = "A pair of cybernetic eyes that can emit multicolored light"
|
||||
@@ -904,6 +929,11 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
|
||||
/datum/design/cyberimp_gloweyes/moth
|
||||
name = "Luminescent Moth Eyes"
|
||||
id = "ci-gloweyes-moth"
|
||||
build_path = /obj/item/organ/internal/eyes/robotic/glow/moth
|
||||
|
||||
/////////////////////
|
||||
///Surgery Designs///
|
||||
/////////////////////
|
||||
|
||||
@@ -281,6 +281,7 @@
|
||||
"circular_saw",
|
||||
"cybernetic_ears",
|
||||
"cybernetic_eyes",
|
||||
"cybernetic_eyes_moth",
|
||||
"cybernetic_heart",
|
||||
"cybernetic_liver",
|
||||
"cybernetic_lungs",
|
||||
@@ -433,8 +434,6 @@
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
required_experiments = list(/datum/experiment/autopsy/human)
|
||||
|
||||
|
||||
// SKYRAT EDIT BEGIN - MATERIAL MEAT WAS REMOVED
|
||||
/datum/techweb_node/adv_biotech
|
||||
id = "adv_biotech"
|
||||
display_name = "Advanced Biotechnology"
|
||||
@@ -453,22 +452,10 @@
|
||||
"piercesyringe",
|
||||
"plasmarefiller",
|
||||
"smoke_machine",
|
||||
|
||||
//SKYRAT EDIT START - RESEARCH DESIGNS
|
||||
"monkey_helmet",
|
||||
"brute2medicell",
|
||||
"burn2medicell",
|
||||
"toxin2medicell",
|
||||
"oxy2medicell",
|
||||
"relocatemedicell",
|
||||
"tempmedicell",
|
||||
"bodymedicell",
|
||||
"clotmedicell",
|
||||
//SKYRAT EDIT END -
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
required_experiments = list(/datum/experiment/autopsy/nonhuman)
|
||||
discount_experiments = list(/datum/experiment/scanning/random/material/silver = 4000) // SKYRAT EDIT CHANGE - ORIGINAL : discount_experiments = list(/datum/experiment/scanning/random/material/meat = 4000)
|
||||
discount_experiments = list(/datum/experiment/scanning/random/material/meat = 4000)
|
||||
|
||||
/datum/techweb_node/xenoorgan_biotech
|
||||
id = "xenoorgan_bio"
|
||||
@@ -1393,6 +1380,7 @@
|
||||
design_ids = list(
|
||||
"cybernetic_ears_u",
|
||||
"cybernetic_eyes_improved",
|
||||
"cybernetic_eyes_improved_moth",
|
||||
"cybernetic_heart_tier2",
|
||||
"cybernetic_liver_tier2",
|
||||
"cybernetic_lungs_tier2",
|
||||
@@ -1416,6 +1404,8 @@
|
||||
"cybernetic_ears_xray",
|
||||
"ci-gloweyes",
|
||||
"ci-welding",
|
||||
"ci-gloweyes-moth",
|
||||
"ci-welding-moth",
|
||||
"cybernetic_heart_tier3",
|
||||
"cybernetic_liver_tier3",
|
||||
"cybernetic_lungs_tier3",
|
||||
@@ -1470,11 +1460,14 @@
|
||||
display_name = "Combat Cybernetic Implants"
|
||||
description = "Military grade combat implants to improve performance."
|
||||
prereq_ids = list("adv_cyber_implants","weaponry","NVGtech","high_efficiency")
|
||||
// SKYRAT EDIT - REMOVED: X-rays+Thermals from here
|
||||
design_ids = list(
|
||||
"ci-antidrop",
|
||||
"ci-antistun",
|
||||
"ci-thermals",
|
||||
"ci-thrusters",
|
||||
"ci-xray",
|
||||
"ci-thermals-moth",
|
||||
"ci-xray-moth",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
|
||||
|
||||
@@ -139,7 +139,6 @@
|
||||
if(overlay_ignore_lighting && !(obscured & ITEM_SLOT_EYES))
|
||||
eye_overlays += emissive_appearance(eye_left.icon, eye_left.icon_state, parent, -eyes_layer, alpha = eye_left.alpha) //SKYRAT EDIT CHANGE - TODO fix upstream
|
||||
eye_overlays += emissive_appearance(eye_right.icon, eye_right.icon_state, parent, -eyes_layer, alpha = eye_right.alpha) //SKYRAT EDIT CHANGE - TODO fix upstream
|
||||
|
||||
var/obj/item/bodypart/head/my_head = parent.get_bodypart(BODY_ZONE_HEAD)
|
||||
if(my_head)
|
||||
if(my_head.head_flags & HEAD_EYECOLOR)
|
||||
@@ -417,12 +416,8 @@
|
||||
actions_types = list(/datum/action/item_action/organ_action/use, /datum/action/item_action/organ_action/toggle)
|
||||
var/max_light_beam_distance = 5
|
||||
var/obj/item/flashlight/eyelight/glow/eye
|
||||
/// The overlay that is used when both eyes are set to match the light color
|
||||
var/mutable_appearance/eyes_overlay
|
||||
/// The overlay that is used when custom color selection is enabled, for the left eye
|
||||
var/mutable_appearance/eyes_overlay_left
|
||||
/// The overlay that is used when custom color selection is enabled, for the right eye
|
||||
var/mutable_appearance/eyes_overlay_right
|
||||
/// base icon state for eye overlays
|
||||
var/base_eye_state = "eyes_glow_gs"
|
||||
/// Whether or not to match the eye color to the light or use a custom selection
|
||||
var/eye_color_mode = MATCH_LIGHT_COLOR
|
||||
/// The selected color for the light beam itself
|
||||
@@ -460,9 +455,6 @@
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/glow/on_remove(mob/living/carbon/eye_owner)
|
||||
deactivate(eye_owner, close_ui = TRUE)
|
||||
QDEL_NULL(eyes_overlay)
|
||||
QDEL_NULL(eyes_overlay_left)
|
||||
QDEL_NULL(eyes_overlay_right)
|
||||
eye.forceMove(src)
|
||||
return ..()
|
||||
|
||||
@@ -549,14 +541,14 @@
|
||||
eye.on = TRUE
|
||||
if(eye.light_range) // at range 0 we are just going to make the eyes glow emissively, no light overlay
|
||||
eye.set_light_on(TRUE)
|
||||
update_mob_eyes_overlay()
|
||||
update_mob_eye_color()
|
||||
|
||||
/**
|
||||
* Deactivates the light
|
||||
*
|
||||
* Turns off the attached flashlight object, closes UIs, updates the mob overlay to be removed.
|
||||
* Arguments:
|
||||
* * mob/living/carbon/eye_owner - the mob who the eyes belong to, for passing to update_mob_eyes_overlay
|
||||
* * mob/living/carbon/eye_owner - the mob who the eyes belong to
|
||||
* * close_ui - whether or not to close the ui
|
||||
*/
|
||||
/obj/item/organ/internal/eyes/robotic/glow/proc/deactivate(mob/living/carbon/eye_owner = owner, close_ui = FALSE)
|
||||
@@ -564,7 +556,7 @@
|
||||
SStgui.close_uis(src)
|
||||
eye.on = FALSE
|
||||
eye.set_light_on(FALSE)
|
||||
update_mob_eyes_overlay(eye_owner)
|
||||
update_mob_eye_color(eye_owner)
|
||||
|
||||
/**
|
||||
* Randomizes the light color
|
||||
@@ -656,44 +648,19 @@
|
||||
|
||||
if(QDELETED(eye_owner) || !ishuman(eye_owner)) //Other carbon mobs don't have eye color.
|
||||
return
|
||||
|
||||
eye_owner.dna.species.handle_body(eye_owner)
|
||||
update_mob_eyes_overlay()
|
||||
|
||||
/**
|
||||
* Updates the emissive mob eye overlay
|
||||
*
|
||||
* When the light is on, the overlay(s) are added. When it is disabled, they are cut.
|
||||
* Adds one or two overlays depending on what the eye_color_mode toggle is set to.
|
||||
* Arguments:
|
||||
* * mob/living/carbon/eye_owner - the mob to add the overlay to
|
||||
*/
|
||||
/obj/item/organ/internal/eyes/robotic/glow/proc/update_mob_eyes_overlay(mob/living/carbon/eye_owner = owner)
|
||||
if(QDELETED(eye_owner))
|
||||
return
|
||||
|
||||
if(!ishuman(eye_owner))
|
||||
return
|
||||
|
||||
eye_owner.cut_overlay(eyes_overlay)
|
||||
eye_owner.cut_overlay(eyes_overlay_left)
|
||||
eye_owner.cut_overlay(eyes_overlay_right)
|
||||
|
||||
|
||||
if(!eye.on)
|
||||
return
|
||||
eye_icon_state = initial(eye_icon_state)
|
||||
overlay_ignore_lighting = FALSE
|
||||
else
|
||||
overlay_ignore_lighting = TRUE
|
||||
eye_icon_state = base_eye_state
|
||||
|
||||
switch(eye_color_mode)
|
||||
if(MATCH_LIGHT_COLOR)
|
||||
eyes_overlay = emissive_appearance('icons/mob/human/human_face.dmi', "eyes_glow_gs", eye_owner, layer = -BODY_LAYER, alpha = owner.alpha)
|
||||
eyes_overlay.color = current_color_string
|
||||
eye_owner.add_overlay(eyes_overlay)
|
||||
if(USE_CUSTOM_COLOR)
|
||||
eyes_overlay_left = emissive_appearance('icons/mob/human/human_face.dmi', "eyes_glow_gs_left", eye_owner, layer = -BODY_LAYER, alpha = owner.alpha)
|
||||
eyes_overlay_right = emissive_appearance('icons/mob/human/human_face.dmi', "eyes_glow_gs_right", eye_owner, layer = -BODY_LAYER, alpha = owner.alpha)
|
||||
eyes_overlay_left.color = eye_color_left
|
||||
eyes_overlay_right.color = eye_color_right
|
||||
eye_owner.add_overlay(eyes_overlay_left)
|
||||
eye_owner.add_overlay(eyes_overlay_right)
|
||||
var/obj/item/bodypart/head/head = eye_owner.get_bodypart(BODY_ZONE_HEAD) //if we have eyes we definently have a head anyway
|
||||
var/previous_flags = head.head_flags
|
||||
head.head_flags = previous_flags | HEAD_EYECOLOR
|
||||
eye_owner.dna.species.handle_body(eye_owner)
|
||||
head.head_flags = previous_flags
|
||||
|
||||
#undef MATCH_LIGHT_COLOR
|
||||
#undef USE_CUSTOM_COLOR
|
||||
@@ -708,6 +675,44 @@
|
||||
icon_state = "eyeballs-moth"
|
||||
flash_protect = FLASH_PROTECTION_SENSITIVE
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/moth
|
||||
name = "robotic moth eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
desc = "Your vision is augmented. Much like actual moth eyes, very sensitive to bright lights."
|
||||
flash_protect = FLASH_PROTECTION_SENSITIVE
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/basic/moth
|
||||
name = "basic robotic moth eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
flash_protect = FLASH_PROTECTION_SENSITIVE
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/xray/moth
|
||||
name = "robotic eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
desc = "These cybernetic imitation moth eyes will give you X-ray vision. Blinking is futile. Much like actual moth eyes, very sensitive to bright lights."
|
||||
flash_protect = FLASH_PROTECTION_SENSITIVE
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/shield/moth
|
||||
name = "shielded robotic moth eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/glow/moth
|
||||
name = "High Luminosity Moth Eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
base_eye_state = "eyes_mothglow"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
desc = "Special glowing eyes, to be one with the lamp. Much like actual moth eyes, very sensitive to bright lights."
|
||||
flash_protect = FLASH_PROTECTION_SENSITIVE
|
||||
|
||||
/obj/item/organ/internal/eyes/robotic/thermals/moth //we inherit flash weakness from thermals
|
||||
name = "thermal moth eyes"
|
||||
eye_icon_state = "motheyes"
|
||||
icon_state = "eyeballs-cybermoth"
|
||||
|
||||
/obj/item/organ/internal/eyes/snail
|
||||
name = "snail eyes"
|
||||
desc = "These eyes seem to have a large range, but might be cumbersome with glasses."
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 101 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1,4 @@
|
||||
// Changed to silver
|
||||
/datum/experiment/scanning/random/material/meat
|
||||
description = "Supposedly silver has an inert anti-microbial effect; scan a few samples to test this."
|
||||
possible_material_types = list(/datum/material/silver)
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
// MODULAR ADDITIONS
|
||||
//
|
||||
|
||||
/datum/techweb_node/adv_vision
|
||||
id = "adv_vision"
|
||||
display_name = "Combat Cybernetic Eyes"
|
||||
@@ -7,5 +10,37 @@
|
||||
design_ids = list(
|
||||
"ci-thermals",
|
||||
"ci-xray",
|
||||
"ci-thermals-moth",
|
||||
"ci-xray-moth",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
||||
|
||||
/datum/techweb_node/adv_biotech/New()
|
||||
. = ..()
|
||||
design_ids += list(
|
||||
"monkey_helmet",
|
||||
"brute2medicell",
|
||||
"burn2medicell",
|
||||
"toxin2medicell",
|
||||
"oxy2medicell",
|
||||
"relocatemedicell",
|
||||
"tempmedicell",
|
||||
"bodymedicell",
|
||||
"clotmedicell",
|
||||
)
|
||||
|
||||
// MODULAR REMOVALS
|
||||
//
|
||||
|
||||
// Modularly removes x-ray and thermals from here, it's in adv_vision instead
|
||||
/datum/techweb_node/combat_cyber_implants/New()
|
||||
. = ..()
|
||||
design_ids -= list(
|
||||
"ci-thermals",
|
||||
"ci-xray",
|
||||
"ci-thermals-moth",
|
||||
"ci-xray-moth",
|
||||
)
|
||||
|
||||
// MODULAR MODIFICATIONS
|
||||
//
|
||||
|
||||
@@ -69,12 +69,22 @@
|
||||
name = "Cybernetic eyes"
|
||||
path = /obj/item/organ/internal/eyes/robotic
|
||||
|
||||
/datum/augment_item/organ/eyes/cybernetic/moth
|
||||
name = "Cybernetic moth eyes"
|
||||
path = /obj/item/organ/internal/eyes/robotic/moth
|
||||
|
||||
/datum/augment_item/organ/eyes/highlumi
|
||||
name = "High-luminosity eyes"
|
||||
path = /obj/item/organ/internal/eyes/robotic/glow
|
||||
allowed_biotypes = MOB_ORGANIC|MOB_ROBOTIC
|
||||
cost = 1
|
||||
|
||||
/datum/augment_item/organ/eyes/highlumi/moth
|
||||
name = "High Luminosity Moth Eyes"
|
||||
path = /obj/item/organ/internal/eyes/robotic/glow/moth
|
||||
allowed_biotypes = MOB_ORGANIC|MOB_ROBOTIC
|
||||
cost = 1
|
||||
|
||||
//TONGUES
|
||||
/datum/augment_item/organ/tongue
|
||||
slot = AUGMENT_SLOT_TONGUE
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.3 KiB |
@@ -5822,6 +5822,7 @@
|
||||
#include "modular_skyrat\master_files\code\modules\clothing\under\jobs\civilian\civilian.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\clothing\under\jobs\civilian\suits.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\events\_event.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\experisci\experiment.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\food_and_drinks\recipes\food_mixtures.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\jobs\off_duty_check.dm"
|
||||
#include "modular_skyrat\master_files\code\modules\jobs\departments\departments.dm"
|
||||
|
||||
Reference in New Issue
Block a user