diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 38eefb1955..030cfe2ef4 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -1,688 +1,3 @@
-<<<<<<< HEAD
-/obj/item/robot_module
- name = "Default"
- icon = 'icons/obj/module.dmi'
- icon_state = "std_module"
- w_class = WEIGHT_CLASS_GIGANTIC
- item_state = "electronic"
- lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
- flags_1 = CONDUCT_1
-
- var/list/basic_modules = list() //a list of paths, converted to a list of instances on New()
- var/list/emag_modules = list() //ditto
- var/list/ratvar_modules = list() //ditto ditto
- var/list/modules = list() //holds all the usable modules
- var/list/added_modules = list() //modules not inherient to the robot module, are kept when the module changes
- var/list/storages = list()
-
- var/cyborg_base_icon = "robot" //produces the icon for the borg and, if no special_light_key is set, the lights
- var/special_light_key //if we want specific lights, use this instead of copying lights in the dmi
-
- var/moduleselect_icon = "nomod"
-
- var/can_be_pushed = TRUE
- var/magpulsing = FALSE
- var/clean_on_move = FALSE
-
- var/did_feedback = FALSE
- var/feedback_key
-
- var/hat_offset = -3
-
- var/list/ride_offset_x = list("north" = 0, "south" = 0, "east" = -6, "west" = 6)
- var/list/ride_offset_y = list("north" = 4, "south" = 4, "east" = 3, "west" = 3)
- var/ride_allow_incapacitated = FALSE
- var/allow_riding = TRUE
-
-/obj/item/robot_module/New()
- ..()
- for(var/i in basic_modules)
- var/obj/item/I = new i(src)
- basic_modules += I
- basic_modules -= i
- for(var/i in emag_modules)
- var/obj/item/I = new i(src)
- emag_modules += I
- emag_modules -= i
- for(var/i in ratvar_modules)
- var/obj/item/I = new i(src)
- ratvar_modules += I
- ratvar_modules -= i
-
-/obj/item/robot_module/Destroy()
- basic_modules.Cut()
- emag_modules.Cut()
- ratvar_modules.Cut()
- modules.Cut()
- added_modules.Cut()
- storages.Cut()
- return ..()
-
-/obj/item/robot_module/emp_act(severity)
- for(var/obj/O in modules)
- O.emp_act(severity)
- ..()
-
-/obj/item/robot_module/proc/get_usable_modules()
- . = modules.Copy()
-
-/obj/item/robot_module/proc/get_inactive_modules()
- . = list()
- var/mob/living/silicon/robot/R = loc
- for(var/m in get_usable_modules())
- if(!(m in R.held_items))
- . += m
-
-/obj/item/robot_module/proc/get_or_create_estorage(var/storage_type)
- for(var/datum/robot_energy_storage/S in storages)
- if(istype(S, storage_type))
- return S
-
- return new storage_type(src)
-
-/obj/item/robot_module/proc/add_module(obj/item/I, nonstandard, requires_rebuild)
- if(istype(I, /obj/item/stack))
- var/obj/item/stack/S = I
-
- if(is_type_in_list(S, list(/obj/item/stack/sheet/metal, /obj/item/stack/rods, /obj/item/stack/tile/plasteel)))
- if(S.materials[MAT_METAL])
- S.cost = S.materials[MAT_METAL] * 0.25
- S.source = get_or_create_estorage(/datum/robot_energy_storage/metal)
-
- else if(istype(S, /obj/item/stack/sheet/glass))
- S.cost = 500
- S.source = get_or_create_estorage(/datum/robot_energy_storage/glass)
-
- else if(istype(S, /obj/item/stack/sheet/rglass/cyborg))
- var/obj/item/stack/sheet/rglass/cyborg/G = S
- G.source = get_or_create_estorage(/datum/robot_energy_storage/metal)
- G.glasource = get_or_create_estorage(/datum/robot_energy_storage/glass)
-
- else if(istype(S, /obj/item/stack/medical))
- S.cost = 250
- S.source = get_or_create_estorage(/datum/robot_energy_storage/medical)
-
- else if(istype(S, /obj/item/stack/cable_coil))
- S.cost = 1
- S.source = get_or_create_estorage(/datum/robot_energy_storage/wire)
-
- else if(istype(S, /obj/item/stack/marker_beacon))
- S.cost = 1
- S.source = get_or_create_estorage(/datum/robot_energy_storage/beacon)
-
- if(S && S.source)
- S.materials = list()
- S.is_cyborg = 1
-
- if(istype(I, /obj/item/restraints/handcuffs/cable))
- var/obj/item/restraints/handcuffs/cable/C = I
- C.wirestorage = get_or_create_estorage(/datum/robot_energy_storage/wire)
-
- if(I.loc != src)
- I.forceMove(src)
- modules += I
- I.flags_1 |= NODROP_1
- I.mouse_opacity = MOUSE_OPACITY_OPAQUE
- if(nonstandard)
- added_modules += I
- if(requires_rebuild)
- rebuild_modules()
- return I
-
-/obj/item/robot_module/proc/remove_module(obj/item/I, delete_after)
- basic_modules -= I
- modules -= I
- emag_modules -= I
- ratvar_modules -= I
- added_modules -= I
- rebuild_modules()
- if(delete_after)
- qdel(I)
-
-/obj/item/robot_module/proc/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- for(var/datum/robot_energy_storage/st in storages)
- st.energy = min(st.max_energy, st.energy + coeff * st.recharge_rate)
-
- for(var/obj/item/I in get_usable_modules())
- if(istype(I, /obj/item/device/assembly/flash))
- var/obj/item/device/assembly/flash/F = I
- F.times_used = 0
- F.crit_fail = 0
- F.update_icon()
- else if(istype(I, /obj/item/melee/baton))
- var/obj/item/melee/baton/B = I
- if(B.cell)
- B.cell.charge = B.cell.maxcharge
- else if(istype(I, /obj/item/gun/energy))
- var/obj/item/gun/energy/EG = I
- if(!EG.chambered)
- EG.recharge_newshot() //try to reload a new shot.
-
- R.toner = R.tonermax
-
-/obj/item/robot_module/proc/rebuild_modules() //builds the usable module list from the modules we have
- var/mob/living/silicon/robot/R = loc
- var/held_modules = R.held_items.Copy()
- R.uneq_all()
- modules = list()
- for(var/obj/item/I in basic_modules)
- add_module(I, FALSE, FALSE)
- if(R.emagged)
- for(var/obj/item/I in emag_modules)
- add_module(I, FALSE, FALSE)
- if(is_servant_of_ratvar(R))
- for(var/obj/item/I in ratvar_modules)
- add_module(I, FALSE, FALSE)
- for(var/obj/item/I in added_modules)
- add_module(I, FALSE, FALSE)
- for(var/i in held_modules)
- if(i)
- R.activate_module(i)
- if(R.hud_used)
- R.hud_used.update_robot_modules_display()
-
-/obj/item/robot_module/proc/transform_to(new_module_type)
- var/mob/living/silicon/robot/R = loc
- var/obj/item/robot_module/RM = new new_module_type(R)
- if(!RM.be_transformed_to(src))
- qdel(RM)
- return
- R.module = RM
- R.update_module_innate()
- RM.rebuild_modules()
- INVOKE_ASYNC(RM, .proc/do_transform_animation)
- qdel(src)
- return RM
-
-/obj/item/robot_module/proc/be_transformed_to(obj/item/robot_module/old_module)
- for(var/i in old_module.added_modules)
- added_modules += i
- old_module.added_modules -= i
- did_feedback = old_module.did_feedback
- return TRUE
-
-/obj/item/robot_module/proc/do_transform_animation()
- var/mob/living/silicon/robot/R = loc
- R.notransform = TRUE
- var/obj/effect/temp_visual/decoy/fading/fivesecond/ANM = new /obj/effect/temp_visual/decoy/fading/fivesecond(R.loc, R)
- ANM.layer = R.layer - 0.01
- new /obj/effect/temp_visual/small_smoke(R.loc)
- if(R.hat)
- R.hat.forceMove(get_turf(R))
- R.hat = null
- R.update_headlamp()
- R.alpha = 0
- animate(R, alpha = 255, time = 50)
- var/prev_lockcharge = R.lockcharge
- R.SetLockdown(1)
- R.anchored = TRUE
- 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, 1, -1)
- sleep(12)
- if(!prev_lockcharge)
- R.SetLockdown(0)
- R.anchored = FALSE
- R.notransform = FALSE
- R.notify_ai(NEW_MODULE)
- if(R.hud_used)
- R.hud_used.update_robot_modules_display()
- if(feedback_key && !did_feedback)
- SSblackbox.inc(feedback_key, 1)
-
-/obj/item/robot_module/standard
- name = "Standard"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/reagent_containers/borghypo/epi,
- /obj/item/device/healthanalyzer,
- /obj/item/weldingtool/largetank/cyborg,
- /obj/item/wrench/cyborg,
- /obj/item/crowbar/cyborg,
- /obj/item/stack/sheet/metal/cyborg,
- /obj/item/stack/rods/cyborg,
- /obj/item/stack/tile/plasteel/cyborg,
- /obj/item/extinguisher,
- /obj/item/pickaxe,
- /obj/item/device/t_scanner/adv_mining_scanner,
- /obj/item/restraints/handcuffs/cable/zipties/cyborg,
- /obj/item/soap/nanotrasen,
- /obj/item/borg/cyborghug)
- emag_modules = list(/obj/item/melee/transforming/energy/sword/cyborg)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg,
- /obj/item/clockwork/ratvarian_spear/cyborg,
- /obj/item/clockwork/replica_fabricator/cyborg)
- moduleselect_icon = "standard"
- feedback_key = "cyborg_standard"
- hat_offset = -3
-
-/obj/item/robot_module/medical
- name = "Medical"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/device/healthanalyzer,
- /obj/item/reagent_containers/borghypo,
- /obj/item/reagent_containers/glass/beaker/large,
- /obj/item/reagent_containers/dropper,
- /obj/item/reagent_containers/syringe,
- /obj/item/surgical_drapes,
- /obj/item/retractor,
- /obj/item/hemostat,
- /obj/item/cautery,
- /obj/item/surgicaldrill,
- /obj/item/scalpel,
- /obj/item/circular_saw,
- /obj/item/extinguisher/mini,
- /obj/item/roller/robo,
- /obj/item/borg/cyborghug/medical,
- /obj/item/stack/medical/gauze/cyborg,
- /obj/item/organ_storage,
- /obj/item/borg/lollipop)
- emag_modules = list(/obj/item/reagent_containers/borghypo/hacked)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/medical,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "medical"
- moduleselect_icon = "medical"
- feedback_key = "cyborg_medical"
- can_be_pushed = FALSE
- hat_offset = 3
-
-/obj/item/robot_module/engineering
- name = "Engineering"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/borg/sight/meson,
- /obj/item/construction/rcd/borg,
- /obj/item/pipe_dispenser,
- /obj/item/extinguisher,
- /obj/item/weldingtool/largetank/cyborg,
- /obj/item/screwdriver/cyborg,
- /obj/item/wrench/cyborg,
- /obj/item/crowbar/cyborg,
- /obj/item/wirecutters/cyborg,
- /obj/item/device/multitool/cyborg,
- /obj/item/device/t_scanner,
- /obj/item/device/analyzer,
- /obj/item/device/assembly/signaler/cyborg,
- /obj/item/areaeditor/blueprints/cyborg,
- /obj/item/device/electroadaptive_pseudocircuit,
- /obj/item/stack/sheet/metal/cyborg,
- /obj/item/stack/sheet/glass/cyborg,
- /obj/item/stack/sheet/rglass/cyborg,
- /obj/item/stack/rods/cyborg,
- /obj/item/stack/tile/plasteel/cyborg,
- /obj/item/stack/cable_coil/cyborg)
- emag_modules = list(/obj/item/borg/stun)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/engineer,
- /obj/item/clockwork/replica_fabricator/cyborg)
- cyborg_base_icon = "engineer"
- moduleselect_icon = "engineer"
- feedback_key = "cyborg_engineering"
- magpulsing = TRUE
- hat_offset = INFINITY // No hats
-
-/obj/item/robot_module/security
- name = "Security"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/restraints/handcuffs/cable/zipties/cyborg,
- /obj/item/melee/baton/loaded,
- /obj/item/gun/energy/disabler/cyborg,
- /obj/item/clothing/mask/gas/sechailer/cyborg)
- emag_modules = list(/obj/item/gun/energy/laser/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "sec"
- moduleselect_icon = "security"
- feedback_key = "cyborg_security"
- can_be_pushed = FALSE
- hat_offset = 3
-
-/obj/item/robot_module/security/do_transform_animation()
- ..()
- to_chat(loc, "While you have picked the security module, you still have to follow your laws, NOT Space Law. \
- For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
-
-/obj/item/robot_module/k9
- name = "Security K-9 Unit module"
- basic_modules = list(
- /obj/item/restraints/handcuffs/cable/zipties/cyborg/dog,
- /obj/item/dogborg/jaws/big,
- /obj/item/dogborg/pounce,
- /obj/item/clothing/mask/gas/sechailer/cyborg,
- /obj/item/soap/tongue,
- /obj/item/device/analyzer/nose,
- /obj/item/device/dogborg/sleeper/K9,
- /obj/item/gun/energy/disabler/cyborg)
- emag_modules = list(/obj/item/gun/energy/laser/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "k9"
- moduleselect_icon = "k9"
- feedback_key = "cyborg_k9"
- can_be_pushed = FALSE
- hat_offset = INFINITY
-
-/obj/item/robot_module/k9/do_transform_animation()
- ..()
- to_chat(loc,"While you have picked the security-k9 module, you still have to follow your laws, NOT Space Law. \
- For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
-
-/obj/item/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/gun/energy/e_gun/advtaser/cyborg/T = locate(/obj/item/gun/energy/e_gun/advtaser/cyborg) in basic_modules
- if(T)
- if(T.cell.charge < T.cell.maxcharge)
- var/obj/item/ammo_casing/energy/S = T.ammo_type[T.select]
- T.cell.give(S.e_cost * coeff)
- T.update_icon()
- else
- T.charge_tick = 0
-
-/obj/item/robot_module/medihound
- name = "MediHound module"
- basic_modules = list(
- /obj/item/dogborg/jaws/small,
- /obj/item/device/analyzer/nose,
- /obj/item/soap/tongue,
- /obj/item/device/healthanalyzer,
- /obj/item/device/dogborg/sleeper,
- /obj/item/twohanded/shockpaddles/hound,
- /obj/item/device/sensor_device)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/medical,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "medihound"
- moduleselect_icon = "medihound"
- feedback_key = "cyborg_medihound"
- can_be_pushed = FALSE
- hat_offset = INFINITY
-
-/obj/item/robot_module/medihound/do_transform_animation()
- ..()
- to_chat(loc, "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
- You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.")
-
-/obj/item/robot_module/scrubpup
- name = "Janitor"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/dogborg/jaws/small,
- /obj/item/device/analyzer/nose,
- /obj/item/soap/tongue,
- /obj/item/device/lightreplacer/cyborg,
- /obj/item/device/dogborg/sleeper/compactor)
- emag_modules = list(/obj/item/dogborg/pounce)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/janitor,
- /obj/item/clockwork/replica_fabricator/cyborg)
- cyborg_base_icon = "scrubpup"
- moduleselect_icon = "scrubpup"
- feedback_key = "cyborg_scrubpup"
- hat_offset = INFINITY
- clean_on_move = TRUE
-
-/obj/item/robot_module/scrubpup/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/device/lightreplacer/LR = locate(/obj/item/device/lightreplacer) in basic_modules
- if(LR)
- for(var/i in 1 to coeff)
- LR.Charge(R)
-
-/obj/item/robot_module/scrubpup/do_transform_animation()
- ..()
- to_chat(loc,"As tempting as it might be, do not begin binging on important items. Eat your garbage responsibly. People are not included under Garbage.")
-
-
-/obj/item/robot_module/peacekeeper
- name = "Peacekeeper"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/cookiesynth,
- /obj/item/device/harmalarm,
- /obj/item/reagent_containers/borghypo/peace,
- /obj/item/holosign_creator/cyborg,
- /obj/item/borg/cyborghug/peacekeeper,
- /obj/item/extinguisher,
- /obj/item/borg/projectile_dampen)
- emag_modules = list(/obj/item/reagent_containers/borghypo/peace/hacked)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/peacekeeper,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "peace"
- moduleselect_icon = "standard"
- feedback_key = "cyborg_peacekeeper"
- can_be_pushed = FALSE
- hat_offset = -2
-
-/obj/item/robot_module/peacekeeper/do_transform_animation()
- ..()
- to_chat(loc, "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
- You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.")
-
-/obj/item/robot_module/janitor
- name = "Janitor"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/screwdriver/cyborg,
- /obj/item/crowbar/cyborg,
- /obj/item/stack/tile/plasteel/cyborg,
- /obj/item/soap/nanotrasen,
- /obj/item/storage/bag/trash/cyborg,
- /obj/item/extinguisher/mini,
- /obj/item/mop/cyborg,
- /obj/item/device/lightreplacer/cyborg,
- /obj/item/holosign_creator,
- /obj/item/reagent_containers/spray/cyborg_drying)
- emag_modules = list(/obj/item/reagent_containers/spray/cyborg_lube)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/janitor,
- /obj/item/clockwork/replica_fabricator/cyborg)
- cyborg_base_icon = "janitor"
- moduleselect_icon = "janitor"
- feedback_key = "cyborg_janitor"
- hat_offset = -5
- clean_on_move = TRUE
-
-/obj/item/reagent_containers/spray/cyborg_drying
- name = "drying agent spray"
- color = "#A000A0"
- list_reagents = list("drying_agent" = 250)
-
-/obj/item/reagent_containers/spray/cyborg_lube
- name = "lube spray"
- list_reagents = list("lube" = 250)
-
-/obj/item/robot_module/janitor/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/device/lightreplacer/LR = locate(/obj/item/device/lightreplacer) in basic_modules
- if(LR)
- for(var/i in 1 to coeff)
- LR.Charge(R)
-
- var/obj/item/reagent_containers/spray/cyborg_drying/CD = locate(/obj/item/reagent_containers/spray/cyborg_drying) in basic_modules
- if(CD)
- CD.reagents.add_reagent("drying_agent", 5 * coeff)
-
- var/obj/item/reagent_containers/spray/cyborg_lube/CL = locate(/obj/item/reagent_containers/spray/cyborg_lube) in emag_modules
- if(CL)
- CL.reagents.add_reagent("lube", 2 * coeff)
-
-/obj/item/robot_module/butler
- name = "Service"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/reagent_containers/food/drinks/drinkingglass,
- /obj/item/reagent_containers/food/condiment/enzyme,
- /obj/item/pen,
- /obj/item/toy/crayon/spraycan/borg,
- /obj/item/extinguisher/mini,
- /obj/item/hand_labeler/borg,
- /obj/item/razor,
- /obj/item/device/instrument/violin,
- /obj/item/device/instrument/guitar,
- /obj/item/rsf/cyborg,
- /obj/item/reagent_containers/dropper,
- /obj/item/lighter,
- /obj/item/storage/bag/tray,
- /obj/item/reagent_containers/borghypo/borgshaker,
- /obj/item/borg/lollipop)
- emag_modules = list(/obj/item/reagent_containers/borghypo/borgshaker/hacked)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/service,
- /obj/item/borg/sight/xray/truesight_lens)
- moduleselect_icon = "service"
- special_light_key = "service"
- feedback_key = "cyborg_service"
- hat_offset = 0
-
-/obj/item/robot_module/butler/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/reagent_containers/O = locate(/obj/item/reagent_containers/food/condiment/enzyme) in basic_modules
- if(O)
- O.reagents.add_reagent("enzyme", 2 * coeff)
-
-/obj/item/robot_module/butler/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Waitress", "Butler", "Tophat", "Kent", "Bro")
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Waitress")
- cyborg_base_icon = "service_f"
- if("Butler")
- cyborg_base_icon = "service_m"
- if("Bro")
- cyborg_base_icon = "brobot"
- if("Kent")
- cyborg_base_icon = "kent"
- special_light_key = "medical"
- hat_offset = 3
- if("Tophat")
- cyborg_base_icon = "tophat"
- special_light_key = null
- hat_offset = INFINITY //He is already wearing a hat
- return ..()
-
-/obj/item/robot_module/miner
- name = "Miner"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/storage/bag/ore/cyborg,
- /obj/item/pickaxe/drill/cyborg,
- /obj/item/shovel,
- /obj/item/crowbar/cyborg,
- /obj/item/weldingtool/mini,
- /obj/item/extinguisher/mini,
- /obj/item/storage/bag/sheetsnatcher/borg,
- /obj/item/device/t_scanner/adv_mining_scanner,
- /obj/item/gun/energy/kinetic_accelerator/cyborg,
- /obj/item/device/gps/cyborg,
- /obj/item/stack/marker_beacon)
- emag_modules = list(/obj/item/borg/stun)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/miner,
- /obj/item/clockwork/ratvarian_spear/cyborg,
- /obj/item/borg/sight/xray/truesight_lens)
- cyborg_base_icon = "miner"
- moduleselect_icon = "miner"
- feedback_key = "cyborg_miner"
- hat_offset = 0
-
-/obj/item/robot_module/syndicate
- name = "Syndicate Assault"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/melee/transforming/energy/sword/cyborg,
- /obj/item/gun/energy/printer,
- /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg,
- /obj/item/card/emag,
- /obj/item/crowbar/cyborg,
- /obj/item/pinpointer/syndicate_cyborg)
-
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/security,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "synd_sec"
- moduleselect_icon = "malf"
- can_be_pushed = FALSE
- hat_offset = 3
-
-/obj/item/robot_module/syndicate_medical
- name = "Syndicate Medical"
- basic_modules = list(
- /obj/item/device/assembly/flash/cyborg,
- /obj/item/reagent_containers/borghypo/syndicate,
- /obj/item/twohanded/shockpaddles/syndicate,
- /obj/item/device/healthanalyzer,
- /obj/item/surgical_drapes,
- /obj/item/retractor,
- /obj/item/hemostat,
- /obj/item/cautery,
- /obj/item/scalpel,
- /obj/item/melee/transforming/energy/sword/cyborg/saw,
- /obj/item/roller/robo,
- /obj/item/card/emag,
- /obj/item/crowbar/cyborg,
- /obj/item/pinpointer/syndicate_cyborg,
- /obj/item/stack/medical/gauze/cyborg,
- /obj/item/gun/medbeam)
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/medical,
- /obj/item/clockwork/ratvarian_spear/cyborg)
- cyborg_base_icon = "synd_medical"
- moduleselect_icon = "malf"
- can_be_pushed = FALSE
- hat_offset = 3
-
-/datum/robot_energy_storage
- var/name = "Generic energy storage"
- var/max_energy = 30000
- var/recharge_rate = 1000
- var/energy
-
-/datum/robot_energy_storage/New(var/obj/item/robot_module/R = null)
- energy = max_energy
- if(R)
- R.storages |= src
- return
-
-/datum/robot_energy_storage/proc/use_charge(amount)
- if (energy >= amount)
- energy -= amount
- if (energy == 0)
- return 1
- return 2
- else
- return 0
-
-/datum/robot_energy_storage/proc/add_charge(amount)
- energy = min(energy + amount, max_energy)
-
-/datum/robot_energy_storage/metal
- name = "Metal Synthesizer"
-
-/datum/robot_energy_storage/glass
- name = "Glass Synthesizer"
-
-/datum/robot_energy_storage/wire
- max_energy = 50
- recharge_rate = 2
- name = "Wire Synthesizer"
-
-/datum/robot_energy_storage/medical
- max_energy = 2500
- recharge_rate = 250
- name = "Medical Synthesizer"
-
-/datum/robot_energy_storage/beacon
- max_energy = 30
- recharge_rate = 1
- name = "Marker Beacon Storage"
-=======
/obj/item/robot_module
name = "Default"
icon = 'icons/obj/module.dmi'
@@ -1286,4 +601,3 @@
max_energy = 30
recharge_rate = 1
name = "Marker Beacon Storage"
->>>>>>> b7e7779... (Ready) Clockwork Cult Rework: Proof-of-concept (#29741)