From fea679888a90496c4d27fc49e24515feb89dc63c Mon Sep 17 00:00:00 2001 From: kcin2001 Date: Sun, 29 Apr 2018 16:07:32 -0700 Subject: [PATCH 1/2] Adds Micro mechs --- code/datums/supplypacks/robotics_vr.dm | 34 + .../micro/mecha_construction_paths_vr.dm | 768 ++++++++++++++++++ code/game/mecha/micro/mecha_parts_vr.dm | 141 ++++ code/game/mecha/micro/mecha_vr.dm | 47 ++ code/game/mecha/micro/mechfab_designs_vr.dm | 187 +++++ code/modules/research/designs_vr.dm | 55 ++ icons/mecha/mech_construct_vr.dmi | Bin 0 -> 2682 bytes icons/mecha/mech_construction_vr.dmi | Bin 0 -> 6497 bytes vorestation.dme | 4 + 9 files changed, 1236 insertions(+) create mode 100644 code/datums/supplypacks/robotics_vr.dm create mode 100644 code/game/mecha/micro/mecha_construction_paths_vr.dm create mode 100644 code/game/mecha/micro/mecha_parts_vr.dm create mode 100644 code/game/mecha/micro/mecha_vr.dm create mode 100644 code/game/mecha/micro/mechfab_designs_vr.dm create mode 100644 icons/mecha/mech_construct_vr.dmi create mode 100644 icons/mecha/mech_construction_vr.dmi diff --git a/code/datums/supplypacks/robotics_vr.dm b/code/datums/supplypacks/robotics_vr.dm new file mode 100644 index 0000000000..e03bdc6ca8 --- /dev/null +++ b/code/datums/supplypacks/robotics_vr.dm @@ -0,0 +1,34 @@ +/datum/supply_packs/robotics/mecha_gopher + name = "Circuit Crate (\"Gopher\" APLU)" + contains = list( + /obj/item/weapon/circuitboard/mecha/gopher/main, + /obj/item/weapon/circuitboard/mecha/gopher/peripherals + ) + cost = 25 + containertype = /obj/structure/closet/crate/secure/science + containername = "APLU \"Gopher\" Circuit Crate" + access = access_robotics + +/datum/supply_packs/robotics/mecha_polecat + name = "Circuit Crate (\"Polecat\" APLU)" + contains = list( + /obj/item/weapon/circuitboard/mecha/polecat/main, + /obj/item/weapon/circuitboard/mecha/polecat/peripherals, + /obj/item/weapon/circuitboard/mecha/polecat/targeting + ) + cost = 25 + containertype = /obj/structure/closet/crate/secure/science + containername = "APLU \"Polecat\" Circuit Crate" + access = access_robotics + +/datum/supply_packs/robotics/mecha_weasel + name = "Circuit Crate (\"Weasel\" APLU)" + contains = list( + /obj/item/weapon/circuitboard/mecha/weasel/main, + /obj/item/weapon/circuitboard/mecha/weasel/peripherals, + /obj/item/weapon/circuitboard/mecha/weasel/targeting + ) + cost = 25 + containertype = /obj/structure/closet/crate/secure/science + containername = "APLU \"Weasel\" Circuit Crate" + access = access_robotics diff --git a/code/game/mecha/micro/mecha_construction_paths_vr.dm b/code/game/mecha/micro/mecha_construction_paths_vr.dm new file mode 100644 index 0000000000..305cdfcf92 --- /dev/null +++ b/code/game/mecha/micro/mecha_construction_paths_vr.dm @@ -0,0 +1,768 @@ + +/datum/construction/mecha/polecat_chassis + steps = list(list("key"=/obj/item/mecha_parts/micro/part/polecat_torso),//1 + list("key"=/obj/item/mecha_parts/micro/part/polecat_left_arm),//2 + list("key"=/obj/item/mecha_parts/micro/part/polecat_right_arm),//3 + list("key"=/obj/item/mecha_parts/micro/part/polecat_left_leg),//4 + list("key"=/obj/item/mecha_parts/micro/part/polecat_right_leg)//5 + ) + + custom_action(step, atom/used_atom, mob/user) + user.visible_message("[user] has connected [used_atom] to [holder].", "You connect [used_atom] to [holder]") + holder.overlays += used_atom.icon_state+"+o" + qdel(used_atom) + return 1 + + action(atom/used_atom,mob/user as mob) + return check_all_steps(used_atom,user) + + spawn_result() + var/obj/item/mecha_parts/chassis/const_holder = holder + const_holder.construct = new /datum/construction/reversible/mecha/polecat(const_holder) + const_holder.icon = 'icons/mecha/mech_construction_vr.dmi' + const_holder.icon_state = "polecat0" + const_holder.density = 1 + const_holder.overlays.len = 0 + spawn() + qdel(src) + return + + +/datum/construction/reversible/mecha/polecat + result = "/obj/mecha/micro/sec/polecat" + steps = list( + //1 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="External armor is wrenched."), + //2 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="External armor is installed."), + //3 + list("key"=/obj/item/mecha_parts/micro/part/polecat_armour, + "backkey"=/obj/item/weapon/weldingtool, + "desc"="Internal armor is welded."), + //4 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="Internal armor is wrenched"), + //5 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Internal armor is installed"), + //6 + list("key"=/obj/item/stack/material/steel, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Advanced capacitor is secured"), + //7 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Advanced capacitor is installed"), + //8 + list("key"=/obj/item/weapon/stock_parts/capacitor/adv, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Advanced scanner module is secured"), + //9 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Advanced scanner module is installed"), + //10 + list("key"=/obj/item/weapon/stock_parts/scanning_module/adv, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Targeting module is secured"), + //11 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Targeting module is installed"), + //12 + list("key"=/obj/item/weapon/circuitboard/mecha/polecat/targeting, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Peripherals control module is secured"), + //13 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Peripherals control module is installed"), + //14 + list("key"=/obj/item/weapon/circuitboard/mecha/polecat/peripherals, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Central control module is secured"), + //15 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Central control module is installed"), + //16 + list("key"=/obj/item/weapon/circuitboard/mecha/polecat/main, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is adjusted"), + //17 + list("key"=/obj/item/weapon/wirecutters, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is added"), + //18 + list("key"=/obj/item/stack/cable_coil, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The hydraulic systems are active."), + //19 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are connected."), + //20 + list("key"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are disconnected.") + ) + + + action(atom/used_atom,mob/user as mob) + return check_step(used_atom,user) + + custom_action(index, diff, atom/used_atom, mob/user) + if(!..()) + return 0 + //TODO: better messages. + switch(index) + if(20) + user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") + holder.icon_state = "polecat1" + if(19) + if(diff==FORWARD) + user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") + holder.icon_state = "polecat2" + else + user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") + holder.icon_state = "polecat0" + if(18) + if(diff==FORWARD) + user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") + holder.icon_state = "polecat3" + else + user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") + holder.icon_state = "polecat1" + if(17) + if(diff==FORWARD) + user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") + holder.icon_state = "polecat4" + else + user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") + var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) + coil.amount = 4 + holder.icon_state = "polecat2" + if(16) + if(diff==FORWARD) + user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") + qdel(used_atom) + holder.icon_state = "polecat5" + else + user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") + holder.icon_state = "polecat3" + if(15) + if(diff==FORWARD) + user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + holder.icon_state = "polecat6" + else + user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") + new /obj/item/weapon/circuitboard/mecha/polecat/main(get_turf(holder)) + holder.icon_state = "polecat4" + if(14) + if(diff==FORWARD) + user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") + qdel(used_atom) + holder.icon_state = "polecat7" + else + user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + holder.icon_state = "polecat5" + if(13) + if(diff==FORWARD) + user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + holder.icon_state = "polecat8" + else + user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") + new /obj/item/weapon/circuitboard/mecha/polecat/peripherals(get_turf(holder)) + holder.icon_state = "polecat6" + if(12) + if(diff==FORWARD) + user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].") + qdel(used_atom) + holder.icon_state = "polecat9" + else + user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + holder.icon_state = "polecat7" + if(11) + if(diff==FORWARD) + user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + holder.icon_state = "polecat10" + else + user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].") + new /obj/item/weapon/circuitboard/mecha/polecat/targeting(get_turf(holder)) + holder.icon_state = "polecat8" + if(10) + if(diff==FORWARD) + user.visible_message("[user] installs advanced scanner module to [holder].", "You install advanced scanner module to [holder].") + qdel(used_atom) + holder.icon_state = "polecat11" + else + user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + holder.icon_state = "polecat9" + if(9) + if(diff==FORWARD) + user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.") + holder.icon_state = "polecat12" + else + user.visible_message("[user] removes the advanced scanner module from [holder].", "You remove the advanced scanner module from [holder].") + new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder)) + holder.icon_state = "polecat10" + if(8) + if(diff==FORWARD) + user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].") + qdel(used_atom) + holder.icon_state = "polecat13" + else + user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.") + holder.icon_state = "polecat11" + if(7) + if(diff==FORWARD) + user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.") + holder.icon_state = "polecat14" + else + user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].") + new /obj/item/weapon/stock_parts/capacitor/adv(get_turf(holder)) + holder.icon_state = "polecat12" + if(6) + if(diff==FORWARD) + user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") + holder.icon_state = "polecat15" + else + user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.") + holder.icon_state = "polecat13" + if(5) + if(diff==FORWARD) + user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") + holder.icon_state = "polecat16" + else + user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) + MS.amount = 3 + holder.icon_state = "polecat14" + if(4) + if(diff==FORWARD) + user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") + holder.icon_state = "polecat17" + else + user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + holder.icon_state = "polecat15" + if(3) + if(diff==FORWARD) + user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].") + holder.icon_state = "polecat18" + else + user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") + holder.icon_state = "polecat16" + if(2) + if(diff==FORWARD) + user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") + holder.icon_state = "polecat19" + else + user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) + MS.amount = 5 + holder.icon_state = "polecat17" + if(1) + if(diff==FORWARD) + user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].") + else + user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + holder.icon_state = "polecat18" + return 1 + + spawn_result() + ..() + feedback_inc("mecha_polecat_created",1) + return + +/datum/construction/mecha/gopher_chassis + steps = list(list("key"=/obj/item/mecha_parts/micro/part/gopher_torso),//1 + list("key"=/obj/item/mecha_parts/micro/part/gopher_left_arm),//2 + list("key"=/obj/item/mecha_parts/micro/part/gopher_right_arm),//3 + list("key"=/obj/item/mecha_parts/micro/part/gopher_left_leg),//4 + list("key"=/obj/item/mecha_parts/micro/part/gopher_right_leg)//5 + ) + + custom_action(step, atom/used_atom, mob/user) + user.visible_message("[user] has connected [used_atom] to [holder].", "You connect [used_atom] to [holder]") + holder.overlays += used_atom.icon_state+"+o" + qdel(used_atom) + return 1 + + action(atom/used_atom,mob/user as mob) + return check_all_steps(used_atom,user) + + spawn_result() + var/obj/item/mecha_parts/chassis/const_holder = holder + const_holder.construct = new /datum/construction/reversible/mecha/gopher(const_holder) + const_holder.icon = 'icons/mecha/mech_construction_vr.dmi' + const_holder.icon_state = "gopher0" + const_holder.density = 1 + const_holder.overlays.len = 0 + spawn() + qdel(src) + return + + +/datum/construction/reversible/mecha/gopher + result = "/obj/mecha/micro/utility/gopher" + steps = list( + //1 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="External armor is wrenched."), + //2 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="External armor is installed."), + //3 + list("key"=/obj/item/stack/material/plasteel, + "backkey"=/obj/item/weapon/weldingtool, + "desc"="Internal armor is welded."), + //4 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="Internal armor is wrenched"), + //5 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Internal armor is installed"), + //6 + list("key"=/obj/item/stack/material/steel, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Peripherals control module is secured"), + //7 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Peripherals control module is installed"), + //8 + list("key"=/obj/item/weapon/circuitboard/mecha/gopher/peripherals, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Central control module is secured"), + //9 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Central control module is installed"), + //10 + list("key"=/obj/item/weapon/circuitboard/mecha/gopher/main, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is adjusted"), + //11 + list("key"=/obj/item/weapon/wirecutters, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is added"), + //12 + list("key"=/obj/item/stack/cable_coil, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The hydraulic systems are active."), + //13 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are connected."), + //14 + list("key"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are disconnected.") + ) + + action(atom/used_atom,mob/user as mob) + return check_step(used_atom,user) + + custom_action(index, diff, atom/used_atom, mob/user) + if(!..()) + return 0 + + //TODO: better messages. + switch(index) + if(14) + user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") + holder.icon_state = "gopher1" + if(13) + if(diff==FORWARD) + user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") + holder.icon_state = "gopher2" + else + user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") + holder.icon_state = "gopher0" + if(12) + if(diff==FORWARD) + user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") + holder.icon_state = "gopher3" + else + user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") + holder.icon_state = "gopher1" + if(11) + if(diff==FORWARD) + user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") + holder.icon_state = "gopher4" + else + user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") + var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) + coil.amount = 4 + holder.icon_state = "gopher2" + if(10) + if(diff==FORWARD) + user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") + qdel(used_atom) + holder.icon_state = "gopher5" + else + user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") + holder.icon_state = "gopher3" + if(9) + if(diff==FORWARD) + user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + holder.icon_state = "gopher6" + else + user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") + new /obj/item/weapon/circuitboard/mecha/gopher/main(get_turf(holder)) + holder.icon_state = "gopher4" + if(8) + if(diff==FORWARD) + user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") + qdel(used_atom) + holder.icon_state = "gopher7" + else + user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + holder.icon_state = "gopher5" + if(7) + if(diff==FORWARD) + user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + holder.icon_state = "gopher8" + else + user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") + new /obj/item/weapon/circuitboard/mecha/gopher/peripherals(get_turf(holder)) + holder.icon_state = "gopher6" + if(6) + if(diff==FORWARD) + user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") + holder.icon_state = "gopher9" + else + user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + holder.icon_state = "gopher7" + if(5) + if(diff==FORWARD) + user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") + holder.icon_state = "gopher10" + else + user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) + MS.amount = 3 + holder.icon_state = "gopher8" + if(4) + if(diff==FORWARD) + user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") + holder.icon_state = "gopher11" + else + user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + holder.icon_state = "gopher9" + if(3) + if(diff==FORWARD) + user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].") + holder.icon_state = "gopher12" + else + user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") + holder.icon_state = "gopher10" + if(2) + if(diff==FORWARD) + user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") + holder.icon_state = "gopher13" + else + user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) + MS.amount = 2 + holder.icon_state = "gopher11" + if(1) + if(diff==FORWARD) + user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].") + else + user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + holder.icon_state = "gopher12" + return 1 + + spawn_result() + ..() + feedback_inc("mecha_gopher_created",1) + return + +/datum/construction/mecha/weasel_chassis + steps = list(list("key"=/obj/item/mecha_parts/micro/part/weasel_torso),//1 + list("key"=/obj/item/mecha_parts/micro/part/weasel_head),//2 + list("key"=/obj/item/mecha_parts/micro/part/weasel_left_arm),//3 + list("key"=/obj/item/mecha_parts/micro/part/weasel_right_arm),//4 + list("key"=/obj/item/mecha_parts/micro/part/weasel_tri_leg),//5 + ) + + custom_action(step, atom/used_atom, mob/user) + user.visible_message("[user] has connected [used_atom] to [holder].", "You connect [used_atom] to [holder]") + holder.overlays += used_atom.icon_state+"+o" + qdel(used_atom) + return 1 + + action(atom/used_atom,mob/user as mob) + return check_all_steps(used_atom,user) + + spawn_result() + var/obj/item/mecha_parts/chassis/const_holder = holder + const_holder.construct = new /datum/construction/reversible/mecha/weasel(const_holder) + const_holder.icon = 'icons/mecha/mech_construction_vr.dmi' + const_holder.icon_state = "weasel0" + const_holder.density = 1 + const_holder.overlays.len = 0 + spawn() + qdel(src) + return + + +/datum/construction/reversible/mecha/weasel + result = "/obj/mecha/micro/sec/weasel" + steps = list( + //1 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="External armor is wrenched."), + //2 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="External armor is installed."), + //3 + list("key"=/obj/item/stack/material/plasteel, + "backkey"=/obj/item/weapon/weldingtool, + "desc"="Internal armor is welded."), + //4 + list("key"=/obj/item/weapon/weldingtool, + "backkey"=/obj/item/weapon/wrench, + "desc"="Internal armor is wrenched"), + //5 + list("key"=/obj/item/weapon/wrench, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Internal armor is installed"), + //6 + list("key"=/obj/item/stack/material/steel, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Advanced capacitor is secured"), + //7 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Advanced capacitor is installed"), + //8 + list("key"=/obj/item/weapon/stock_parts/capacitor/adv, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Advanced scanner module is secured"), + //9 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Advanced scanner module is installed"), + //10 + list("key"=/obj/item/weapon/stock_parts/scanning_module/adv, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Targeting module is secured"), + //11 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Targeting module is installed"), + //12 + list("key"=/obj/item/weapon/circuitboard/mecha/weasel/targeting, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Peripherals control module is secured"), + //13 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Peripherals control module is installed"), + //14 + list("key"=/obj/item/weapon/circuitboard/mecha/weasel/peripherals, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="Central control module is secured"), + //15 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/crowbar, + "desc"="Central control module is installed"), + //16 + list("key"=/obj/item/weapon/circuitboard/mecha/weasel/main, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is adjusted"), + //17 + list("key"=/obj/item/weapon/wirecutters, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The wiring is added"), + //18 + list("key"=/obj/item/stack/cable_coil, + "backkey"=/obj/item/weapon/screwdriver, + "desc"="The hydraulic systems are active."), + //19 + list("key"=/obj/item/weapon/screwdriver, + "backkey"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are connected."), + //20 + list("key"=/obj/item/weapon/wrench, + "desc"="The hydraulic systems are disconnected.") + ) + + + action(atom/used_atom,mob/user as mob) + return check_step(used_atom,user) + + custom_action(index, diff, atom/used_atom, mob/user) + if(!..()) + return 0 + //TODO: better messages. + switch(index) + if(20) + user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") + holder.icon_state = "weasel1" + if(19) + if(diff==FORWARD) + user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") + holder.icon_state = "weasel2" + else + user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") + holder.icon_state = "weasel0" + if(18) + if(diff==FORWARD) + user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") + holder.icon_state = "weasel3" + else + user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") + holder.icon_state = "weasel1" + if(17) + if(diff==FORWARD) + user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") + holder.icon_state = "weasel4" + else + user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") + var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) + coil.amount = 4 + holder.icon_state = "weasel2" + if(16) + if(diff==FORWARD) + user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") + qdel(used_atom) + holder.icon_state = "weasel5" + else + user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") + holder.icon_state = "weasel3" + if(15) + if(diff==FORWARD) + user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + holder.icon_state = "weasel6" + else + user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") + new /obj/item/weapon/circuitboard/mecha/weasel/main(get_turf(holder)) + holder.icon_state = "weasel4" + if(14) + if(diff==FORWARD) + user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") + qdel(used_atom) + holder.icon_state = "weasel7" + else + user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + holder.icon_state = "weasel5" + if(13) + if(diff==FORWARD) + user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + holder.icon_state = "weasel8" + else + user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") + new /obj/item/weapon/circuitboard/mecha/weasel/peripherals(get_turf(holder)) + holder.icon_state = "weasel6" + if(12) + if(diff==FORWARD) + user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].") + qdel(used_atom) + holder.icon_state = "weasel9" + else + user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + holder.icon_state = "weasel7" + if(11) + if(diff==FORWARD) + user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + holder.icon_state = "weasel10" + else + user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].") + new /obj/item/weapon/circuitboard/mecha/weasel/targeting(get_turf(holder)) + holder.icon_state = "weasel8" + if(10) + if(diff==FORWARD) + user.visible_message("[user] installs advanced scanner module to [holder].", "You install advanced scanner module to [holder].") + qdel(used_atom) + holder.icon_state = "weasel11" + else + user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + holder.icon_state = "weasel9" + if(9) + if(diff==FORWARD) + user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.") + holder.icon_state = "weasel12" + else + user.visible_message("[user] removes the advanced scanner module from [holder].", "You remove the advanced scanner module from [holder].") + new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder)) + holder.icon_state = "weasel10" + if(8) + if(diff==FORWARD) + user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].") + qdel(used_atom) + holder.icon_state = "weasel13" + else + user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.") + holder.icon_state = "weasel11" + if(7) + if(diff==FORWARD) + user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.") + holder.icon_state = "weasel14" + else + user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].") + new /obj/item/weapon/stock_parts/capacitor/adv(get_turf(holder)) + holder.icon_state = "weasel12" + if(6) + if(diff==FORWARD) + user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") + holder.icon_state = "weasel15" + else + user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.") + holder.icon_state = "weasel13" + if(5) + if(diff==FORWARD) + user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") + holder.icon_state = "weasel16" + else + user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) + MS.amount = 3 + holder.icon_state = "weasel14" + if(4) + if(diff==FORWARD) + user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") + holder.icon_state = "weasel17" + else + user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + holder.icon_state = "weasel15" + if(3) + if(diff==FORWARD) + user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].") + holder.icon_state = "weasel18" + else + user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") + holder.icon_state = "weasel16" + if(2) + if(diff==FORWARD) + user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") + holder.icon_state = "weasel19" + else + user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) + MS.amount = 3 + holder.icon_state = "weasel17" + if(1) + if(diff==FORWARD) + user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].") + else + user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + holder.icon_state = "weasel18" + return 1 + + spawn_result() + ..() + feedback_inc("mecha_weasel_created",1) + return diff --git a/code/game/mecha/micro/mecha_parts_vr.dm b/code/game/mecha/micro/mecha_parts_vr.dm new file mode 100644 index 0000000000..f16442abf7 --- /dev/null +++ b/code/game/mecha/micro/mecha_parts_vr.dm @@ -0,0 +1,141 @@ +//new micro parts define + +/obj/item/mecha_parts/micro + name = "mecha part" + icon = 'icons/mecha/mech_construct_vr.dmi' + icon_state = "blank" + w_class = ITEMSIZE_NORMAL + + +/obj/item/mecha_parts/micro/chassis/ + name="Mecha Chassis" + icon_state = "backbone" + var/datum/construction/construct + flags = CONDUCT + + attackby(obj/item/W as obj, mob/user as mob) + if(!construct || !construct.action(W, user)) + ..() + return + + attack_hand() + return +//Gopher +/obj/item/mecha_parts/micro/chassis/gopher + name = "Gopher Chassis" + icon_state = "gopher-chassis" + + New() + ..() + construct = new /datum/construction/mecha/gopher_chassis(src) + +/obj/item/mecha_parts/micro/part/gopher_torso + name="Gopher Torso" + desc="A torso part of Gopher. Contains power unit, processing core and life support systems." + icon_state = "gopher-torso" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_ENGINEERING = 2) + +/obj/item/mecha_parts/micro/part/gopher_left_arm + name="Gopher Left Arm" + desc="A Gopher left arm. Data and power sockets are compatible with most exosuit tools." + icon_state = "gopher-arm-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + +/obj/item/mecha_parts/micro/part/gopher_right_arm + name="Gopher Right Arm" + desc="A Gopher right arm. Data and power sockets are compatible with most exosuit tools." + icon_state = "gopher-arm-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + +/obj/item/mecha_parts/micro/part/gopher_left_leg + name="Gopher Left Leg" + desc="A Gopher left leg. Contains somewhat complex servodrives and balance maintaining systems." + icon_state = "gopher-leg-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + +/obj/item/mecha_parts/micro/part/gopher_right_leg + name="Gopher Right Leg" + desc="A Gopher right leg. Contains somewhat complex servodrives and balance maintaining systems." + icon_state = "gopher-leg-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + +//polecat +/obj/item/mecha_parts/micro/chassis/polecat + name = "Polecat Chassis" + icon_state = "polecat-chassis" + New() + ..() + construct = new /datum/construction/mecha/polecat_chassis(src) + +/obj/item/mecha_parts/micro/part/polecat_torso + name="Polecat Torso" + icon_state = "polecat-torso" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_BIO = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/polecat_left_arm + name="Polecat Left Arm" + icon_state = "polecat-arm-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/polecat_right_arm + name="Polecat Right Arm" + icon_state = "polecat-arm-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/polecat_left_leg + name="Polecat Left Leg" + icon_state = "polecat-leg-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/polecat_right_leg + name="Polecat Right Leg" + icon_state = "polecat-leg-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/polecat_armour + name="Polecat Armour Plates" + icon_state = "polecat-armor" + origin_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4, TECH_ENGINEERING = 5) + +//weasel +/obj/item/mecha_parts/micro/chassis/weasel + name = "Weasel Chassis" + icon_state = "weasel-chassis" + New() + ..() + construct = new /datum/construction/mecha/weasel_chassis(src) + +/obj/item/mecha_parts/micro/part/weasel_torso + name="Weasel Torso" + icon_state = "weasel-torso" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_BIO = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/weasel_head + name="Weasel Head" + icon_state = "weasel-head" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/weasel_left_arm + name="Weasel Left Arm" + icon_state = "weasel-arm-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/weasel_right_arm + name="Weasel Right Arm" + icon_state = "weasel-arm-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/*/obj/item/mecha_parts/micro/part/weasel_left_leg + name="Weasel Left Leg" + icon_state = "weasel-leg-left" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) + +/obj/item/mecha_parts/micro/part/weasel_right_leg + name="Weasel Right Leg" + icon_state = "weasel-leg-right" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3)*/ + +/obj/item/mecha_parts/micro/part/weasel_tri_leg + name="Weasel Legs" + icon_state = "weasel-leg-all" + origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 3, TECH_ENGINEERING = 3) \ No newline at end of file diff --git a/code/game/mecha/micro/mecha_vr.dm b/code/game/mecha/micro/mecha_vr.dm new file mode 100644 index 0000000000..fee3afb2a6 --- /dev/null +++ b/code/game/mecha/micro/mecha_vr.dm @@ -0,0 +1,47 @@ +#ifdef T_BOARD_MICRO_MECHA +#error T_BOARD_MICRO_MECHA already defined elsewhere, we can't use it. +#endif +#define T_BOARD_MICRO_MECHA(name) "exosuit module circuit board (" + (name) + ")" + +/obj/item/weapon/circuitboard/mecha/gopher + origin_tech = list(TECH_DATA = 3) + +/obj/item/weapon/circuitboard/mecha/gopher/peripherals + name = T_BOARD_MICRO_MECHA("Gopher peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/gopher/main + name = T_BOARD_MICRO_MECHA("Gopher central control") + icon_state = "mainboard" + +/obj/item/weapon/circuitboard/mecha/polecat + origin_tech = list(TECH_DATA = 4) + +/obj/item/weapon/circuitboard/mecha/polecat/peripherals + name = T_BOARD_MICRO_MECHA("Polecat peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/polecat/targeting + name = T_BOARD_MICRO_MECHA("Polecat weapon control and targeting") + icon_state = "mcontroller" + origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4) + +/obj/item/weapon/circuitboard/mecha/polecat/main + name = T_BOARD_MICRO_MECHA("Weasel central control") + icon_state = "mainboard" + +/obj/item/weapon/circuitboard/mecha/weasel + origin_tech = list(TECH_DATA = 4) + +/obj/item/weapon/circuitboard/mecha/weasel/peripherals + name = T_BOARD_MICRO_MECHA("Weasel peripherals control") + icon_state = "mcontroller" + +/obj/item/weapon/circuitboard/mecha/weasel/targeting + name = T_BOARD_MICRO_MECHA("Weasel weapon control and targeting") + icon_state = "mcontroller" + origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4) + +/obj/item/weapon/circuitboard/mecha/weasel/main + name = T_BOARD_MICRO_MECHA("Weasel central control") + icon_state = "mainboard" diff --git a/code/game/mecha/micro/mechfab_designs_vr.dm b/code/game/mecha/micro/mechfab_designs_vr.dm new file mode 100644 index 0000000000..6b43db511b --- /dev/null +++ b/code/game/mecha/micro/mechfab_designs_vr.dm @@ -0,0 +1,187 @@ +/datum/design/item/mechfab/gopher + category = "Gopher" + time = 5 + +/datum/design/item/mechfab/gopher/chassis + name = "Gopher Chassis" + id = "gopher_chassis" + build_path = /obj/item/mecha_parts/micro/chassis/gopher + time = 3 + materials = list(DEFAULT_WALL_MATERIAL = 7000) + +/datum/design/item/mechfab/gopher/torso + name = "Gopher Torso" + id = "gopher_torso" + build_path = /obj/item/mecha_parts/micro/part/gopher_torso + materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + +/datum/design/item/mechfab/gopher/left_arm + name = "Gopher Left Arm" + id = "gopher_left_arm" + build_path = /obj/item/mecha_parts/micro/part/gopher_left_arm + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/datum/design/item/mechfab/gopher/right_arm + name = "Gopher Right Arm" + id = "gopher_right_arm" + build_path = /obj/item/mecha_parts/micro/part/gopher_right_arm + + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/datum/design/item/mechfab/gopher/left_leg + name = "Gopher Left Leg" + id = "gopher_left_leg" + build_path = /obj/item/mecha_parts/micro/part/gopher_left_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500) + +/datum/design/item/mechfab/gopher/right_leg + name = "Gopher Right Leg" + id = "gopher_right_leg" + build_path = /obj/item/mecha_parts/micro/part/gopher_right_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500) + +/datum/design/item/mecha/drill/micro + name = "Miniture Drill" + id = "micro_drill" + build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/micro + time = 5 + materials = list(DEFAULT_WALL_MATERIAL = 2500) + +/datum/design/item/mecha/hydraulic_clamp/micro + name = "Mounted ore box" + id = "ore_scoop" + build_path = /obj/item/mecha_parts/mecha_equipment/tool/micro/orescoop + time = 5 + materials = list(DEFAULT_WALL_MATERIAL = 2500) + +/datum/design/item/mechfab/polecat + category = "Polecat" + time = 10 + +/datum/design/item/mechfab/polecat/chassis + name = "Polecat Chassis" + id = "polecat_chassis" + build_path = /obj/item/mecha_parts/micro/chassis/polecat + time = 3 + materials = list(DEFAULT_WALL_MATERIAL = 7000) + +/datum/design/item/mechfab/polecat/torso + name = "Polecat Torso" + id = "polecat_torso" + build_path = /obj/item/mecha_parts/micro/part/polecat_torso + materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + +/datum/design/item/mechfab/polecat/left_arm + name = "Polecat Left Arm" + id = "polecat_left_arm" + build_path = /obj/item/mecha_parts/micro/part/polecat_left_arm + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/datum/design/item/mechfab/polecat/right_arm + name = "Polecat Right Arm" + id = "polecat_right_arm" + build_path = /obj/item/mecha_parts/micro/part/polecat_right_arm + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/datum/design/item/mechfab/polecat/left_leg + name = "Polecat Left Leg" + id = "polecat_left_leg" + build_path = /obj/item/mecha_parts/micro/part/polecat_left_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500) + +/datum/design/item/mechfab/polecat/right_leg + name = "Polecat Right Leg" + id = "polecat_right_leg" + build_path = /obj/item/mecha_parts/micro/part/polecat_right_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500) + +/datum/design/item/mechfab/polecat/armour + name = "Polecat Armour Plates" + id = "polecat_armour" + build_path = /obj/item/mecha_parts/micro/part/polecat_armour + time = 25 + materials = list(DEFAULT_WALL_MATERIAL = 12500, "plastic" = 7500) + +/datum/design/item/mecha/taser/micro + name = "\improper TS-12 \"Suppressor\" integrated taser" + id = "micro_taser" + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/microtaser + +/datum/design/item/mecha/weapon/laser/micro + name = "\improper WS-19 \"Torch\" laser carbine" + id = "micro_laser" +// req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/microlaser + +/datum/design/item/mecha/weapon/laser_heavy/micro + name = "\improper PC-20 \"Lance\" light laser cannon" + id = "micro_laser_heavy" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/microheavy + +/datum/design/item/mecha/weapon/grenade_launcher/micro + name = "\improper FP-20 mounted grenade launcher" + id = "micro_flashbang_launcher" +// req_tech = list(TECH_COMBAT = 3) + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/microflashbang + +/datum/design/item/mecha/weapon/scattershot/micro + name = "\improper Remington C-12 \"Boomstick\"" + desc = "A mounted combat shotgun with integrated ammo-lathe." + id = "micro_scattershot" +// req_tech = list(TECH_COMBAT = 4) + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/microshotgun + +/datum/design/item/mechfab/weasel + category = "Weasel" + time = 5 + +/datum/design/item/mechfab/weasel/chassis + name = "Weasel Chassis" + id = "weasel_chassis" + build_path = /obj/item/mecha_parts/micro/chassis/weasel + time = 3 + materials = list(DEFAULT_WALL_MATERIAL = 7000) + +/datum/design/item/mechfab/weasel/torso + name = "Weasel Torso" + id = "weasel_torso" + build_path = /obj/item/mecha_parts/micro/part/weasel_torso + materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + +/datum/design/item/mechfab/weasel/left_arm + name = "Weasel Left Arm" + id = "weasel_left_arm" + build_path = /obj/item/mecha_parts/micro/part/weasel_left_arm + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/datum/design/item/mechfab/weasel/right_arm + name = "Weasel Right Arm" + id = "weasel_right_arm" + build_path = /obj/item/mecha_parts/micro/part/weasel_right_arm + materials = list(DEFAULT_WALL_MATERIAL = 8750) + +/*/datum/design/item/mechfab/weasel/left_leg + name = "Weasel Left Leg" + id = "weasel_left_leg" + build_path = /obj/item/mecha_parts/micro/part/weasel_left_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500) + +/datum/design/item/mechfab/weasel/right_leg + name = "Weasel Right Leg" + id = "weasel_right_leg" + build_path = /obj/item/mecha_parts/micro/part/weasel_right_leg + materials = list(DEFAULT_WALL_MATERIAL = 12500)*/ + +/datum/design/item/mechfab/weasel/tri_leg + name = "Weasel Tri Leg" + id = "weasel_right_leg" + build_path = /obj/item/mecha_parts/micro/part/weasel_tri_leg + materials = list(DEFAULT_WALL_MATERIAL = 27500) + +/datum/design/item/mechfab/weasel/head + name = "Weasel Head" + id = "weasel_head" + build_path = /obj/item/mecha_parts/micro/part/weasel_head + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) \ No newline at end of file diff --git a/code/modules/research/designs_vr.dm b/code/modules/research/designs_vr.dm index 02b71645da..e074323cbd 100644 --- a/code/modules/research/designs_vr.dm +++ b/code/modules/research/designs_vr.dm @@ -180,6 +180,61 @@ build_path = /obj/item/weapon/circuitboard/quantumpad sort_string = "HABAH" +//////Micro mech stuff +/datum/design/circuit/mecha/gopher_main + name = "'Gopher' central control" + id = "gopher_main" + build_path = /obj/item/weapon/circuitboard/mecha/gopher/main + sort_string = "NAAEA" + +/datum/design/circuit/mecha/gopher_peri + name = "'Gopher' peripherals control" + id = "gopher_peri" + build_path = /obj/item/weapon/circuitboard/mecha/gopher/peripherals + sort_string = "NAAEB" + +/datum/design/circuit/mecha/polecat_main + name = "'Polecat' central control" + id = "polecat_main" + req_tech = list(TECH_DATA = 4) + build_path = /obj/item/weapon/circuitboard/mecha/polecat/main + sort_string = "NAAFA" + +/datum/design/circuit/mecha/polecat_peri + name = "'Polecat' peripherals control" + id = "polecat_peri" + req_tech = list(TECH_DATA = 4) + build_path = /obj/item/weapon/circuitboard/mecha/polecat/peripherals + sort_string = "NAAFB" + +/datum/design/circuit/mecha/polecat_targ + name = "'Polecat' weapon control and targeting" + id = "polecat_targ" + req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) + build_path = /obj/item/weapon/circuitboard/mecha/polecat/targeting + sort_string = "NAAFC" + +/datum/design/circuit/mecha/weasel_main + name = "'Weasel' central control" + id = "weasel_main" + req_tech = list(TECH_DATA = 4) + build_path = /obj/item/weapon/circuitboard/mecha/weasel/main + sort_string = "NAAGA" + +/datum/design/circuit/mecha/weasel_peri + name = "'Weasel' peripherals control" + id = "weasel_peri" + req_tech = list(TECH_DATA = 4) + build_path = /obj/item/weapon/circuitboard/mecha/weasel/peripherals + sort_string = "NAAGB" + +/datum/design/circuit/mecha/weasel_targ + name = "'Weasel' weapon control and targeting" + id = "weasel_targ" + req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) + build_path = /obj/item/weapon/circuitboard/mecha/weasel/targeting + sort_string = "NAAGC" + ////// RIGSuit Stuff /* /datum/design/item/rig diff --git a/icons/mecha/mech_construct_vr.dmi b/icons/mecha/mech_construct_vr.dmi new file mode 100644 index 0000000000000000000000000000000000000000..26d77724735419694098f1861271e1c7443a0f85 GIT binary patch literal 2682 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 N_jHYPDzqJt{|8G{*=qm* literal 0 HcmV?d00001 diff --git a/vorestation.dme b/vorestation.dme index 1f66405dc4..51337b5fad 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -858,6 +858,10 @@ #include "code\game\mecha\equipment\weapons\weapons.dm" #include "code\game\mecha\medical\medical.dm" #include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\micro\mecha_construction_paths_vr.dm" +#include "code\game\mecha\micro\mecha_parts_vr.dm" +#include "code\game\mecha\micro\mecha_vr.dm" +#include "code\game\mecha\micro\mechfab_designs_vr.dm" #include "code\game\mecha\micro\micro.dm" #include "code\game\mecha\micro\micro_equipment.dm" #include "code\game\mecha\micro\security.dm" From 92edb296e088f69b10e53e8ac5c7a3be9d90372f Mon Sep 17 00:00:00 2001 From: kcin2001 Date: Sat, 12 May 2018 11:51:39 -0700 Subject: [PATCH 2/2] minor naming fix --- code/game/mecha/micro/mechfab_designs_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/mecha/micro/mechfab_designs_vr.dm b/code/game/mecha/micro/mechfab_designs_vr.dm index 6b43db511b..940d7607e3 100644 --- a/code/game/mecha/micro/mechfab_designs_vr.dm +++ b/code/game/mecha/micro/mechfab_designs_vr.dm @@ -41,7 +41,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 12500) /datum/design/item/mecha/drill/micro - name = "Miniture Drill" + name = "Miniature Drill" id = "micro_drill" build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/micro time = 5 @@ -184,4 +184,4 @@ name = "Weasel Head" id = "weasel_head" build_path = /obj/item/mecha_parts/micro/part/weasel_head - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) \ No newline at end of file + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500)