mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
@@ -1,3 +1,38 @@
|
||||
/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
|
||||
|
||||
/datum/supply_packs/robotics/some_robolimbs
|
||||
name = "Basic Robolimb Blueprints"
|
||||
contains = list(
|
||||
@@ -35,4 +70,4 @@
|
||||
cost = 40
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "Advanced Robolimb Blueprint Crate"
|
||||
access = access_robotics
|
||||
access = access_robotics
|
||||
|
||||
768
code/game/mecha/micro/mecha_construction_paths_vr.dm
Normal file
768
code/game/mecha/micro/mecha_construction_paths_vr.dm
Normal file
@@ -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
|
||||
141
code/game/mecha/micro/mecha_parts_vr.dm
Normal file
141
code/game/mecha/micro/mecha_parts_vr.dm
Normal file
@@ -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)
|
||||
47
code/game/mecha/micro/mecha_vr.dm
Normal file
47
code/game/mecha/micro/mecha_vr.dm
Normal file
@@ -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"
|
||||
187
code/game/mecha/micro/mechfab_designs_vr.dm
Normal file
187
code/game/mecha/micro/mechfab_designs_vr.dm
Normal file
@@ -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 = "Miniature 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)
|
||||
@@ -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
|
||||
|
||||
BIN
icons/mecha/mech_construct_vr.dmi
Normal file
BIN
icons/mecha/mech_construct_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
BIN
icons/mecha/mech_construction_vr.dmi
Normal file
BIN
icons/mecha/mech_construction_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
@@ -861,6 +861,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"
|
||||
|
||||
Reference in New Issue
Block a user