diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 59bbbb3100b..2411d32bd84 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -150,18 +150,20 @@ #define BP_AUG_TESLA "tesla spine" #define BP_AUG_EYE_SENSORS "integrated eyes sensors" #define BP_AUG_HAIR "synthetic hair extensions" -#define BP_AUG_SUSPENSION "calf suspension" +#define BP_AUG_CORDS "synthetic vocal cords" +#define BP_AUG_COCHLEAR "cochlear implant" +#define BP_AUG_SUSPENSION "calf suspension" #define BP_AUG_TASTE_BOOSTER "taste booster" -#define BP_AUG_RADIO "integrated radio" -#define BP_AUG_FUEL_CELL "integrated fuel cell" -#define BP_AUG_AIR_ANALYZER "integrated air analyzer" -#define BP_AUG_LANGUAGE "integrated language processor" -#define BP_AUG_PSI "psionic receiver" -#define BP_AUG_CALF_OVERRIDE "calf overdrive" -#define BP_AUG_MEMORY "memory inhibitor" +#define BP_AUG_RADIO "integrated radio" +#define BP_AUG_FUEL_CELL "integrated fuel cell" +#define BP_AUG_AIR_ANALYZER "integrated air analyzer" +#define BP_AUG_LANGUAGE "integrated language processor" +#define BP_AUG_PSI "psionic receiver" +#define BP_AUG_CALF_OVERRIDE "calf overdrive" +#define BP_AUG_MEMORY "memory inhibitor" #define BP_AUG_EMOTION "emotional manipulator" -#define BP_AUG_ENCHANED_VISION "vision enhanced retinas" -#define BP_AUG_SIGHTLIGHTS "ocular installed sightlights" +#define BP_AUG_ENCHANED_VISION "vision enhanced retinas" +#define BP_AUG_SIGHTLIGHTS "ocular installed sightlights" //Organ defines #define PROCESS_ACCURACY 10 @@ -417,4 +419,4 @@ // Robot Overlay Defines #define ROBOT_PANEL_EXPOSED "exposed" #define ROBOT_PANEL_CELL "cell" -#define ROBOT_PANEL_NO_CELL "no cell" \ No newline at end of file +#define ROBOT_PANEL_NO_CELL "no cell" diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 14f70bed2ca..e952da9391b 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -676,6 +676,19 @@ CIGARETTE PACKETS ARE IN FANCY.DM drop_sound = 'sound/items/drop/accessory.ogg' pickup_sound = 'sound/items/pickup/accessory.ogg' +/obj/item/flame/lighter/zippo/augment + name = "retractable lighter" + desc = "An augmented lighter, implanted directly into the hand, popping through the finger." + icon_state = "lighter-aug" + item_state = "lighter-aug" + +/obj/item/flame/lighter/zippo/augment/throw_at(atom/target, range, speed, mob/thrower) + thrower.drop_from_inventory(src) + +/obj/item/flame/lighter/zippo/augment/dropped() + loc = null + qdel(src) + /obj/item/flame/lighter/zippo/dominia name = "\improper Dominian Zippo lighter" desc = "A zippo lighter with a depiction of the Imperial standard of Dominia." diff --git a/code/modules/client/preference_setup/loadout/loadout_augments.dm b/code/modules/client/preference_setup/loadout/loadout_augments.dm index a1579572768..d0730c4f209 100644 --- a/code/modules/client/preference_setup/loadout/loadout_augments.dm +++ b/code/modules/client/preference_setup/loadout/loadout_augments.dm @@ -21,6 +21,12 @@ path = /obj/item/organ/internal/augment/cyber_hair whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_IPC_SHELL) +/datum/gear/augment/synthetic_cords + display_name = "synthetic vocal cords" + description = "Vocal cords of synthetic nature packed into an augment kit. This allows users who are mute due to structural damage of the throat to speak." + path = /obj/item/organ/internal/augment/synthetic_cords + cost = 1 + /datum/gear/augment/combitool display_name = "retractable combitool" description = "An augment that allows the user to deploy a robotic combitool." @@ -34,6 +40,25 @@ augs["retractable combitool, left hand"] = /obj/item/organ/internal/augment/tool/combitool/left gear_tweaks += new /datum/gear_tweak/path(augs) +/datum/gear/augment/lighter + display_name = "retractable lighter" + description = "An augment that allows the user to project a lighter out of their fingertip." + path = /obj/item/organ/internal/augment/tool/combitool/lighter + cost = 2 + +/datum/gear/augment/lighter/New() + ..() + var/list/augs = list() + augs["retractable lighter, right hand"] = /obj/item/organ/internal/augment/tool/combitool/lighter + augs["retractable lighter, left hand"] = /obj/item/organ/internal/augment/tool/combitool/lighter/left + gear_tweaks += new /datum/gear_tweak/path(augs) + +/datum/gear/augment/cochlear + display_name = "cochlear implant" + description = "A synthetic replacement for the structures within the ear, allowing the user to hear without requiring external tools." + path = /obj/item/organ/internal/augment/cochlear + cost = 3 + /datum/gear/augment/health_scanner display_name = "integrated health scanner" description = "An augment that allows the user scan their own health condition." diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 521791d3235..d99627ef629 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -193,6 +193,8 @@ /mob/living/carbon/human/proc/has_hearing_aid() if(istype(l_ear, /obj/item/device/hearing_aid) || istype(r_ear, /obj/item/device/hearing_aid)) return TRUE + if(has_functioning_augment(BP_AUG_COCHLEAR)) + return TRUE return FALSE /mob/living/carbon/human/proc/is_submerged() @@ -290,4 +292,10 @@ /mob/living/carbon/human/get_cell() var/obj/item/organ/internal/cell/C = internal_organs_by_name[BP_CELL] if(C) - return C.cell \ No newline at end of file + return C.cell + +/mob/living/carbon/human/proc/has_functioning_augment(var/aug_tag) + var/obj/item/organ/internal/augment/aug = internal_organs_by_name[aug_tag] + if(aug && !aug.is_broken()) + return TRUE + return FALSE diff --git a/code/modules/organs/subtypes/augment.dm b/code/modules/organs/subtypes/augment.dm index a27914fc304..6e893cf3e0d 100644 --- a/code/modules/organs/subtypes/augment.dm +++ b/code/modules/organs/subtypes/augment.dm @@ -126,6 +126,17 @@ /obj/item/organ/internal/augment/tool/combitool/left parent_organ = BP_L_HAND +/obj/item/organ/internal/augment/tool/combitool/lighter + name = "integrated lighter" + icon_state = "lighter-aug" + action_button_name = "Deploy Lighter" + action_button_icon = "lighter-aug" + organ_tag = BP_AUG_LIGHTER + augment_type = /obj/item/flame/lighter/zippo/augment + +/obj/item/organ/internal/augment/tool/combitool/lighter/left + parent_organ = BP_L_HAND + /obj/item/organ/internal/augment/health_scanner name = "integrated health scanner" action_button_name = "Activate Health Scanner" @@ -391,6 +402,26 @@ /obj/item/organ/internal/augment/gustatorial/hand/left parent_organ = BP_L_HAND +/obj/item/organ/internal/augment/synthetic_cords + name = "synthetic vocal cords" + desc = "An array of vocal cords loaded into an augment kit, allowing easy installation by a skilled technician." + organ_tag = BP_AUG_CORDS + parent_organ = BP_HEAD + +/obj/item/organ/internal/augment/synthetic_cords/replaced(var/mob/living/carbon/human/target, obj/item/organ/external/affected) + . = ..() + target.sdisabilities &= ~MUTE + +/obj/item/organ/internal/augment/synthetic_cords/removed(var/mob/living/carbon/human/target, mob/living/user) + target.sdisabilities |= MUTE + ..() + +/obj/item/organ/internal/augment/cochlear + name = "cochlear implant" + desc = "A synthetic replacement for the structures within the ear, allowing the user to hear without requiring external tools." + organ_tag = BP_AUG_COCHLEAR + parent_organ = BP_HEAD + // Snakebitten! /obj/item/organ/internal/augment/psi name = "psionic receiver" @@ -558,4 +589,4 @@ desc = " A clear sign of Zeng-Hu's best, this plate bearing the company's symbol is installed on those who prove themselves in the hyper-competitive environment." icon_state = "zenghu_plate" on_mob_icon = 'icons/mob/human_races/augments_external.dmi' - parent_organ = BP_HEAD \ No newline at end of file + parent_organ = BP_HEAD diff --git a/html/changelogs/geeves-some_augs.yml b/html/changelogs/geeves-some_augs.yml new file mode 100644 index 00000000000..75366be3b04 --- /dev/null +++ b/html/changelogs/geeves-some_augs.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added cochlear implants to the augment menu, they function the same as hearing aids." + - rscadd: "Added a retractable lighter to the augment menu, they function like the combitool augment, but for a lighter." + - rscadd: "Added synthetic vocal cords to the augment menu. They make you mute if removed, but remove muteness if implanted." diff --git a/icons/obj/action_buttons/organs.dmi b/icons/obj/action_buttons/organs.dmi index bc4acf729d4..a37373173b2 100644 Binary files a/icons/obj/action_buttons/organs.dmi and b/icons/obj/action_buttons/organs.dmi differ diff --git a/icons/obj/cigs_lighters.dmi b/icons/obj/cigs_lighters.dmi index ec60a242332..43dbfca2051 100644 Binary files a/icons/obj/cigs_lighters.dmi and b/icons/obj/cigs_lighters.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index b7baa9f5d59..d814196916b 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ