From df53fdad8ff28d4e406bca4f4db7b5dcf3216ff0 Mon Sep 17 00:00:00 2001 From: DuffCreeper Date: Thu, 24 Jun 2021 03:17:09 +1000 Subject: [PATCH] [SEMI-MODULAR] Removes 'Lick' and 'Boop' modules to be a roundstart upgrade (#6464) * swag * uhh this should fix it * the fbi are outside my door (cheapens cost) --- code/modules/research/techweb/all_nodes.dm | 4 + .../code/game/objects/items/robot_items.dm | 14 +- .../mob/living/silicon/robot/robot_modules.dm | 2 - .../cyborg/code/mechafabricator_designs.dm | 9 + .../modules/cyborg/code/robot_upgrades.dm | 157 ++++++++++-------- 5 files changed, 110 insertions(+), 76 deletions(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index fee3ce8e321..8a15c5430c5 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -85,6 +85,10 @@ "cyborgrecharger", "robocontrol", "sflash", + + //SKYRAT EDIT START - RESEARCH DESIGNS + "affection_module", + //SKYRAT EDIT END - RESEARCH DESIGNS ) /datum/techweb_node/mech diff --git a/modular_skyrat/modules/altborgs/code/game/objects/items/robot_items.dm b/modular_skyrat/modules/altborgs/code/game/objects/items/robot_items.dm index b8a50034627..9b7127969eb 100644 --- a/modular_skyrat/modules/altborgs/code/game/objects/items/robot_items.dm +++ b/modular_skyrat/modules/altborgs/code/game/objects/items/robot_items.dm @@ -11,15 +11,15 @@ . = ..() if(!proximity || !isliving(target)) return - var/mob/living/silicon/robot/R = user - var/mob/living/L = target + var/mob/living/silicon/robot/borg = user + var/mob/living/mob = target - if(check_zone(R.zone_selected) == "head") - R.visible_message("\the [R] affectionally licks \the [L]'s face!", "You affectionally lick \the [L]'s face!") - playsound(R, 'sound/effects/attackblob.ogg', 50, 1) + if(check_zone(borg.zone_selected) == "head") + borg.visible_message("\the [borg] affectionally licks \the [mob]'s face!", "You affectionally lick \the [mob]'s face!") + playsound(borg, 'sound/effects/attackblob.ogg', 50, 1) else - R.visible_message("\the [R] affectionally licks \the [L]!", "You affectionally lick \the [L]!") - playsound(R, 'sound/effects/attackblob.ogg', 50, 1) + borg.visible_message("\the [borg] affectionally licks \the [mob]!", "You affectionally lick \the [mob]!") + playsound(borg, 'sound/effects/attackblob.ogg', 50, 1) /obj/item/dogborg_nose name = "boop module" diff --git a/modular_skyrat/modules/altborgs/code/modules/mob/living/silicon/robot/robot_modules.dm b/modular_skyrat/modules/altborgs/code/modules/mob/living/silicon/robot/robot_modules.dm index b42b87d66ce..4d763bd4f9f 100644 --- a/modular_skyrat/modules/altborgs/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/modular_skyrat/modules/altborgs/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -1,8 +1,6 @@ /obj/item/robot_model/proc/dogborg_equip() cyborg_pixel_offset = -16 hat_offset = INFINITY - basic_modules += new /obj/item/dogborg_nose(src) - basic_modules += new /obj/item/dogborg_tongue(src) var/mob/living/silicon/robot/cyborg = loc add_verb(cyborg , /mob/living/silicon/robot/proc/robot_lay_down) add_verb(cyborg , /mob/living/silicon/robot/proc/rest_style) diff --git a/modular_skyrat/modules/cyborg/code/mechafabricator_designs.dm b/modular_skyrat/modules/cyborg/code/mechafabricator_designs.dm index 2700b645eab..57460396e9b 100644 --- a/modular_skyrat/modules/cyborg/code/mechafabricator_designs.dm +++ b/modular_skyrat/modules/cyborg/code/mechafabricator_designs.dm @@ -15,3 +15,12 @@ materials = list(/datum/material/iron = 14500, /datum/material/glass = 7500, /datum/material/silver = 6000, /datum/material/gold = 1500, /datum/material/diamond = 200, /datum/material/titanium = 8000, /datum/material/plasma = 2000) construction_time = 80 category = list("Cyborg Upgrade Modules") + +/datum/design/affection_module + name = "Cyborg Upgrade (Affection Module)" + id = "affection_module" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/affectionmodule + materials = list(/datum/material/iron=1000, /datum/material/glass=500) + construction_time = 40 + category = list("Cyborg Upgrade Modules") diff --git a/modular_skyrat/modules/cyborg/code/robot_upgrades.dm b/modular_skyrat/modules/cyborg/code/robot_upgrades.dm index 4218aaaee56..8d1ca8ca669 100644 --- a/modular_skyrat/modules/cyborg/code/robot_upgrades.dm +++ b/modular_skyrat/modules/cyborg/code/robot_upgrades.dm @@ -6,43 +6,43 @@ desc = "A cyborg resizer, it makes a cyborg small." icon_state = "cyborg_upgrade3" -/obj/item/borg/upgrade/shrink/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/shrink/action(mob/living/silicon/robot/borg, user = usr) . = ..() if(.) - if(R.hasShrunk) + if(borg.hasShrunk) to_chat(usr, "This unit already has a shrink module installed!") return FALSE - if(R_TRAIT_SMALL in R.model.model_features) + if(R_TRAIT_SMALL in borg.model.model_features) to_chat(usr, "This unit's chassis cannot be shrunk any further.") return FALSE - R.notransform = TRUE - var/prev_lockcharge = R.lockcharge - R.SetLockdown(1) - R.set_anchored(TRUE) + borg.notransform = TRUE + var/prev_lockcharge = borg.lockcharge + borg.SetLockdown(1) + borg.set_anchored(TRUE) var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(1, R.loc) + smoke.set_up(1, borg.loc) smoke.start() sleep(2) for(var/i in 1 to 4) - playsound(R, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, TRUE, -1) + playsound(borg, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, TRUE, -1) sleep(12) if(!prev_lockcharge) - R.SetLockdown(0) - R.set_anchored(FALSE) - R.notransform = FALSE - R.resize = 0.75 - R.hasShrunk = TRUE - R.update_transform() + borg.SetLockdown(0) + borg.set_anchored(FALSE) + borg.notransform = FALSE + borg.resize = 0.75 + borg.hasShrunk = TRUE + borg.update_transform() -/obj/item/borg/upgrade/shrink/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/shrink/deactivate(mob/living/silicon/robot/borg, user = usr) . = ..() if (.) - if (R.hasShrunk) - R.hasShrunk = FALSE - R.resize = (4/3) - R.update_transform() + if (borg.hasShrunk) + borg.hasShrunk = FALSE + borg.resize = (4/3) + borg.update_transform() /obj/item/borg/upgrade/surgerytools name = "medical cyborg advanced surgery tools" @@ -52,57 +52,80 @@ model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL -/obj/item/borg/upgrade/surgerytools/action(mob/living/silicon/robot/R) +/obj/item/borg/upgrade/surgerytools/action(mob/living/silicon/robot/borg) . = ..() if(.) - for(var/obj/item/retractor/RT in R.model.modules) - R.model.remove_module(RT, TRUE) - for(var/obj/item/hemostat/HS in R.model.modules) - R.model.remove_module(HS, TRUE) - for(var/obj/item/cautery/CT in R.model.modules) - R.model.remove_module(CT, TRUE) - for(var/obj/item/surgicaldrill/SD in R.model.modules) - R.model.remove_module(SD, TRUE) - for(var/obj/item/scalpel/SP in R.model.modules) - R.model.remove_module(SP, TRUE) - for(var/obj/item/circular_saw/CS in R.model.modules) - R.model.remove_module(CS, TRUE) + for(var/obj/item/retractor/RT in borg.model.modules) + borg.model.remove_module(RT, TRUE) + for(var/obj/item/hemostat/HS in borg.model.modules) + borg.model.remove_module(HS, TRUE) + for(var/obj/item/cautery/CT in borg.model.modules) + borg.model.remove_module(CT, TRUE) + for(var/obj/item/surgicaldrill/SD in borg.model.modules) + borg.model.remove_module(SD, TRUE) + for(var/obj/item/scalpel/SP in borg.model.modules) + borg.model.remove_module(SP, TRUE) + for(var/obj/item/circular_saw/CS in borg.model.modules) + borg.model.remove_module(CS, TRUE) - var/obj/item/scalpel/advanced/AS = new /obj/item/scalpel/advanced(R.model) - R.model.basic_modules += AS - R.model.add_module(AS, FALSE, TRUE) - var/obj/item/retractor/advanced/AR = new /obj/item/retractor/advanced(R.model) - R.model.basic_modules += AR - R.model.add_module(AR, FALSE, TRUE) - var/obj/item/cautery/advanced/AC = new /obj/item/cautery/advanced(R.model) - R.model.basic_modules += AC - R.model.add_module(AC, FALSE, TRUE) + var/obj/item/scalpel/advanced/AS = new /obj/item/scalpel/advanced(borg.model) + borg.model.basic_modules += AS + borg.model.add_module(AS, FALSE, TRUE) + var/obj/item/retractor/advanced/AR = new /obj/item/retractor/advanced(borg.model) + borg.model.basic_modules += AR + borg.model.add_module(AR, FALSE, TRUE) + var/obj/item/cautery/advanced/AC = new /obj/item/cautery/advanced(borg.model) + borg.model.basic_modules += AC + borg.model.add_module(AC, FALSE, TRUE) -/obj/item/borg/upgrade/surgerytools/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/surgerytools/deactivate(mob/living/silicon/robot/borg, user = usr) . = ..() if(.) - for(var/obj/item/scalpel/advanced/AS in R.model.modules) - R.model.remove_module(AS, TRUE) - for(var/obj/item/retractor/advanced/AR in R.model.modules) - R.model.remove_module(AR, TRUE) - for(var/obj/item/cautery/advanced/AC in R.model.modules) - R.model.remove_module(AC, TRUE) + for(var/obj/item/scalpel/advanced/AS in borg.model.modules) + borg.model.remove_module(AS, TRUE) + for(var/obj/item/retractor/advanced/AR in borg.model.modules) + borg.model.remove_module(AR, TRUE) + for(var/obj/item/cautery/advanced/AC in borg.model.modules) + borg.model.remove_module(AC, TRUE) - var/obj/item/retractor/RT = new (R.model) - R.model.basic_modules += RT - R.model.add_module(RT, FALSE, TRUE) - var/obj/item/hemostat/HS = new (R.model) - R.model.basic_modules += HS - R.model.add_module(HS, FALSE, TRUE) - var/obj/item/cautery/CT = new (R.model) - R.model.basic_modules += CT - R.model.add_module(CT, FALSE, TRUE) - var/obj/item/surgicaldrill/SD = new (R.model) - R.model.basic_modules += SD - R.model.add_module(SD, FALSE, TRUE) - var/obj/item/scalpel/SP = new (R.model) - R.model.basic_modules += SP - R.model.add_module(SP, FALSE, TRUE) - var/obj/item/circular_saw/CS = new (R.model) - R.model.basic_modules += CS - R.model.add_module(CS, FALSE, TRUE) + var/obj/item/retractor/RT = new (borg.model) + borg.model.basic_modules += RT + borg.model.add_module(RT, FALSE, TRUE) + var/obj/item/hemostat/HS = new (borg.model) + borg.model.basic_modules += HS + borg.model.add_module(HS, FALSE, TRUE) + var/obj/item/cautery/CT = new (borg.model) + borg.model.basic_modules += CT + borg.model.add_module(CT, FALSE, TRUE) + var/obj/item/surgicaldrill/SD = new (borg.model) + borg.model.basic_modules += SD + borg.model.add_module(SD, FALSE, TRUE) + var/obj/item/scalpel/SP = new (borg.model) + borg.model.basic_modules += SP + borg.model.add_module(SP, FALSE, TRUE) + var/obj/item/circular_saw/CS = new (borg.model) + borg.model.basic_modules += CS + borg.model.add_module(CS, FALSE, TRUE) + +/obj/item/borg/upgrade/affectionmodule + name = "borg affection module" + desc = "A module that upgrades the ability of borgs to display affection." + icon_state = "cyborg_upgrade3" + +/obj/item/borg/upgrade/affectionmodule/action(mob/living/silicon/robot/borg) + . = ..() + if(.) + var/obj/item/dogborg_tongue/dogtongue = new /obj/item/dogborg_tongue(borg.model) + borg.model.basic_modules += dogtongue + borg.model.add_module(dogtongue, FALSE, TRUE) + var/obj/item/dogborg_nose/dognose = new /obj/item/dogborg_nose(borg.model) + borg.model.basic_modules += dognose + borg.model.add_module(dognose, FALSE, TRUE) + +/obj/item/borg/upgrade/affectionmodule/deactivate(mob/living/silicon/robot/borg, user = usr) + . = ..() + if(.) + for(var/obj/item/dogborg_tongue/dogtongue in borg.model.modules) + borg.model.remove_module(dogtongue, TRUE) + for(var/obj/item/dogborg_nose/dognose in borg.model.modules) + borg.model.remove_module(dognose, TRUE)