diff --git a/modular_dripstation/code/game/objects/items/pins.dm b/modular_dripstation/code/game/objects/items/pins.dm index 5423a1491f60..06cf5af16243 100644 --- a/modular_dripstation/code/game/objects/items/pins.dm +++ b/modular_dripstation/code/game/objects/items/pins.dm @@ -14,5 +14,5 @@ /obj/item/firing_pin/implant/centcom_mindshield name = "mindshield firing pin" desc = "This Centcom firing pin authorizes the weapon for only high quality mindshield-implanted users." - icon_state = "firing_pin_loyalty" + icon_state = "firing_pin_centcomloyalty" req_implant = /obj/item/implant/mindshield/centcom \ No newline at end of file diff --git a/modular_dripstation/code/game/objects/items/tools_syndicate.dm b/modular_dripstation/code/game/objects/items/tools_syndicate.dm new file mode 100644 index 000000000000..39beae27266f --- /dev/null +++ b/modular_dripstation/code/game/objects/items/tools_syndicate.dm @@ -0,0 +1,175 @@ +/obj/item/wrench/nuke + name = "fancy wrench" + desc = "It's one of those fancy wrenches that you turn backward without twisting the bolt for faster action." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "wrench_syndie" + item_state = "wrench_syndie" + toolspeed = 0.5 + +/obj/item/wrench/combat + name = "combat wrench" + desc = "It's like a normal wrench but edgier. Can be found on the battlefield." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "wrench_combat" + item_state = "wrench_combat" + tool_behaviour = null + toolspeed = null + var/on = FALSE + +/obj/item/wrench/combat/attack_self(mob/living/user) + if(on) + on = FALSE + force = initial(force) + w_class = initial(w_class) + throwforce = initial(throwforce) + tool_behaviour = initial(tool_behaviour) + attack_verb = list("bopped") + toolspeed = initial(toolspeed) + playsound(user, 'sound/weapons/saberoff.ogg', 35, TRUE) + to_chat(user, "[src] can now be kept at bay.") + else + on = TRUE + force = 15 + w_class = WEIGHT_CLASS_NORMAL + throwforce = 10 + tool_behaviour = TOOL_WRENCH + attack_verb = list("devastated", "brutalized", "committed a war crime against", "obliterated", "humiliated") + toolspeed = 0.33 + hitsound = 'sound/weapons/blade1.ogg' + playsound(user, 'sound/weapons/saberon.ogg', 35, TRUE) + to_chat(user, "[src] is now active. Woe onto your enemies!") + update_icons() + +/obj/item/wrench/combat/proc/update_icons() + if(on) + icon_state = "[initial(icon_state)]_on" + item_state = "[initial(item_state)]1" + else + icon_state = "[initial(icon_state)]" + item_state = "[initial(item_state)]" + +/obj/item/wirecutters/nuke + name = "nonstandart wirecutters" + desc = "The blades of these wirecutters have suspiciously fine serrated teeth." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "wirecutters_syndie" + item_state = "wirecutters_syndie" + toolspeed = 0.5 + random_color = FALSE + +/obj/item/crowbar/nuke + name = "special crowbar" + desc = "It has special counterweights that adjust to the amount of pressure put on it by using a complex array of springs and screws." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "crowbar_syndie" + item_state = "crowbar_syndie" + toolspeed = 0.5 + force = 8 + +/obj/item/weldingtool/hugetank/nuke + desc = "An upgraded welder based of the industrial welder. Has remarkable painting and more stealthy welding flash." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "syndiewelder" + item_state = "syndiewelder" + toolspeed = 0.5 + light_range = 1 + +/obj/item/inducer/nuke + desc = "A tool for inductively charging internal power cells. This one has a suspicious colour scheme, and seems to be rigged to transfer charge at a much faster rate." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "inducer-syndi" + item_state = "inducer-syndi" + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + powertransfer = 2000 + cell_type = /obj/item/stock_parts/cell/super + +/obj/item/jawsoflife/syndicate + name = "red jaws of life" + desc = "A pocket sized re-engineered copy of Nanotrasen's standard jaws of life. Can be used to force open airlocks in its crowbar configuration." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "syndie_pry" + item_state = "jawsoflife_syndie" + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + toolspeed = 0.5 + +/obj/item/jawsoflife/syndicate/transform_crowbar(mob/user) + tool_behaviour = TOOL_CROWBAR + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "syndie_pry" + playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) + if (iscyborg(user)) + to_chat(user,span_notice("Your servos whirr as the cutting head reconfigures into a prying head.")) + else + to_chat(user, span_notice("You attach the pry jaws to [src].")) + update_appearance(UPDATE_ICON) + +/obj/item/jawsoflife/syndicate/transform_cutters(mob/user) + attack_verb = list("pinched", "nipped") + icon_state = "syndie_cutter" + hitsound = 'sound/items/jaws_cut.ogg' + usesound = 'sound/items/jaws_cut.ogg' + tool_behaviour = TOOL_WIRECUTTER + playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) + if (iscyborg(user)) + to_chat(user,span_notice("Your servos whirr as the prying head reconfigures into a cutting head.")) + else + to_chat(user, span_notice("You attach the cutting jaws to [src].")) + update_appearance(UPDATE_ICON) + +/obj/item/construction/rcd/combat + name = "combat RCD" + delay_mod = 0.8 + icon = 'modular_dripstation/icons/obj/tools.dmi' + +/obj/item/multitool/ai_detect/red + name = "obvious device" + desc = "Syndicate device disguised as a multitool. Something is definitely wrong with it." + icon = 'modular_dripstation/icons/obj/tools.dmi' + icon_state = "redmultitool" + item_state = "redmultitool" + toolspeed = 0.33 + +/obj/item/storage/toolbox/syndicate/PopulateContents() + new /obj/item/screwdriver/nuke(src) + new /obj/item/wrench/nuke(src) + new /obj/item/weldingtool/largetank(src) + new /obj/item/crowbar/nuke(src) + new /obj/item/wirecutters/nuke(src) + new /obj/item/multitool/ai_detect(src) + new /obj/item/clothing/gloves/combat(src) + //YOGS start - toolspeed + for(var/obj/item/I in contents) + I.toolspeed = 0.5 + +/obj/item/storage/toolbox/syndicate/real + name = "syndicate toolbox" + +/obj/item/storage/toolbox/syndicate/real/PopulateContents() + new /obj/item/screwdriver/nuke(src) + new /obj/item/wrench/nuke(src) + new /obj/item/weldingtool/hugetank/nuke(src) + new /obj/item/crowbar/nuke(src) + new /obj/item/wirecutters/nuke(src) + new /obj/item/multitool/ai_detect(src) + new /obj/item/clothing/gloves/combat(src) + for(var/obj/item/I in contents) + I.toolspeed = 0.33 + I.name = "syndicate [I.name]" + +/obj/item/storage/belt/military/syndicate_eng + name = "/improper battle engineer`s belt" + desc = "Engineer is engihere!" + +/obj/item/storage/belt/military/syndicate_eng/PopulateContents() + new /obj/item/screwdriver/nuke(src) + new /obj/item/wrench/combat(src) + new /obj/item/weldingtool/hugetank/nuke(src) + new /obj/item/jawsoflife/syndicate(src) + new /obj/item/multitool/ai_detect/red(src) + new /obj/item/inducer/nuke(src) + new /obj/item/clothing/gloves/combat(src) + for(var/obj/item/I in contents) + I.toolspeed = 0.33 + I.name = "syndicate [I.name]" \ No newline at end of file diff --git a/modular_dripstation/code/modules/surgery/organs/autosurgeon.dm b/modular_dripstation/code/modules/surgery/organs/autosurgeon.dm new file mode 100644 index 000000000000..0935c6677fc0 --- /dev/null +++ b/modular_dripstation/code/modules/surgery/organs/autosurgeon.dm @@ -0,0 +1,49 @@ +/obj/item/autosurgeon + icon = 'modular_dripstation/icons/obj/device.dmi' + icon_state = "autoimplanter" + +/obj/item/autosurgeon/xray_eyes + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/anti_stun + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/reviver + icon_state = "autoimplanter_nt" + +/obj/item/autosurgeon/reviver/syndicate + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/arm/syndicate/syndie_mantis + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/arm/syndicate/syndie_hammer + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/arm/syndicate/stechkin_implant + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/nt_mantis + icon_state = "autoimplanter_nt" + +/obj/item/autosurgeon/nt_mantis/left + icon_state = "autoimplanter_nt" + +/obj/item/autosurgeon/plasmavessel //Yogs Start: Just an autosurgeon with a plasma vessel in it, used in /obj/item/storage/box/syndie_kit/xeno_organ_kit + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/syndicate/spinalspeed + icon_state = "autoimplanter_red" + +/obj/item/autosurgeon/suspicious + icon_state = "autoimplanter_red" + +/obj/item/multisurgeon + icon = 'modular_dripstation/icons/obj/device.dmi' + icon_state = "autoimplanter" + +/obj/item/multisurgeon/airshoes //for traitors + icon_state = "autoimplanter_red" + +/obj/item/multisurgeon/noslipall //for traitors + icon_state = "autoimplanter_red" diff --git a/modular_dripstation/icons/obj/device.dmi b/modular_dripstation/icons/obj/device.dmi index 69280a5463dd..5a07ba1db2d0 100644 Binary files a/modular_dripstation/icons/obj/device.dmi and b/modular_dripstation/icons/obj/device.dmi differ diff --git a/modular_dripstation/icons/obj/tools.dmi b/modular_dripstation/icons/obj/tools.dmi new file mode 100644 index 000000000000..7a278c4920ae Binary files /dev/null and b/modular_dripstation/icons/obj/tools.dmi differ diff --git a/modular_dripstation/includes.dm b/modular_dripstation/includes.dm index 0faf9ef2a891..8d97786d439b 100644 --- a/modular_dripstation/includes.dm +++ b/modular_dripstation/includes.dm @@ -129,6 +129,7 @@ #include "code\game\objects\items\supermatter_delaminator.dm" #include "code\game\objects\items\tanks\watertank.dm" #include "code\game\objects\items\teleportation.dm" +#include "code\game\objects\items\tools_syndicate.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\weaponry.dm" @@ -365,6 +366,7 @@ #include "code\modules\surgery\_bodyparts.dm" #include "code\modules\surgery\anasthesia_machine.dm" #include "code\modules\surgery\surgery_step.dm" +#include "code\modules\surgery\organs\autosurgeon.dm" #include "code\modules\surgery\tools.dm" #include "code\modules\uplink\uplink_devices.dm" #include "code\modules\uplink\uplink_items.dm"