|
|
|
@@ -642,6 +642,304 @@
|
|
|
|
|
user.visible_message("[user] unfastens Gygax Armor Plates.", "<span class='notice'>You unfasten Gygax Armor Plates.</span>")
|
|
|
|
|
return TRUE
|
|
|
|
|
|
|
|
|
|
//Begin Medigax
|
|
|
|
|
/datum/component/construction/unordered/mecha_chassis/medigax
|
|
|
|
|
result = /datum/component/construction/mecha/medigax
|
|
|
|
|
steps = list(
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_torso,
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_left_arm,
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_right_arm,
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_left_leg,
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_right_leg,
|
|
|
|
|
/obj/item/mecha_parts/part/medigax_head
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/datum/component/construction/mecha/medigax
|
|
|
|
|
result = /obj/mecha/medical/medigax
|
|
|
|
|
base_icon = "medigax"
|
|
|
|
|
steps = list(
|
|
|
|
|
//1
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WRENCH,
|
|
|
|
|
"desc" = "The hydraulic systems are disconnected."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//2
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_WRENCH,
|
|
|
|
|
"desc" = "The hydraulic systems are connected."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//3
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/stack/cable_coil,
|
|
|
|
|
"amount" = 5,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "The hydraulic systems are active."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//4
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WIRECUTTER,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "The wiring is added."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//5
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/circuitboard/mecha/gygax/main,
|
|
|
|
|
"action" = ITEM_DELETE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "The wiring is adjusted."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//6
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Central control module is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//7
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/circuitboard/mecha/gygax/peripherals,
|
|
|
|
|
"action" = ITEM_DELETE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "Central control module is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//8
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Peripherals control module is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//9
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/circuitboard/mecha/gygax/targeting,
|
|
|
|
|
"action" = ITEM_DELETE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "Peripherals control module is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//10
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Weapon control module is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//11
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/stock_parts/scanning_module,
|
|
|
|
|
"action" = ITEM_MOVE_INSIDE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "Weapon control module is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//12
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Scanner module is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//13
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/stock_parts/capacitor,
|
|
|
|
|
"action" = ITEM_MOVE_INSIDE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "Scanner module is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//14
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Capacitor is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//15
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/stock_parts/cell,
|
|
|
|
|
"action" = ITEM_MOVE_INSIDE,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "Capacitor is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//16
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "The power cell is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//17
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/stack/sheet/metal,
|
|
|
|
|
"amount" = 5,
|
|
|
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
|
|
|
"desc" = "The power cell is secured."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//18
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WRENCH,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "Internal armor is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//19
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WELDER,
|
|
|
|
|
"back_key" = TOOL_WRENCH,
|
|
|
|
|
"desc" = "Internal armor is wrenched."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//20
|
|
|
|
|
list(
|
|
|
|
|
"key" = /obj/item/mecha_parts/part/medigax_armor,
|
|
|
|
|
"action" = ITEM_DELETE,
|
|
|
|
|
"back_key" = TOOL_WELDER,
|
|
|
|
|
"desc" = "Internal armor is welded."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//21
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WRENCH,
|
|
|
|
|
"back_key" = TOOL_CROWBAR,
|
|
|
|
|
"desc" = "External armor is installed."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//22
|
|
|
|
|
list(
|
|
|
|
|
"key" = TOOL_WELDER,
|
|
|
|
|
"back_key" = TOOL_WRENCH,
|
|
|
|
|
"desc" = "External armor is wrenched."
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/datum/component/construction/mecha/medigax/action(datum/source, atom/used_atom, mob/user)
|
|
|
|
|
return check_step(used_atom,user)
|
|
|
|
|
|
|
|
|
|
/datum/component/construction/mecha/medigax/custom_action(obj/item/I, mob/living/user, diff)
|
|
|
|
|
if(!..())
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
switch(index)
|
|
|
|
|
if(1)
|
|
|
|
|
user.visible_message("[user] connects [parent] hydraulic systems", "<span class='notice'>You connect [parent] hydraulic systems.</span>")
|
|
|
|
|
if(2)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] activates [parent] hydraulic systems.", "<span class='notice'>You activate [parent] hydraulic systems.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] disconnects [parent] hydraulic systems", "<span class='notice'>You disconnect [parent] hydraulic systems.</span>")
|
|
|
|
|
if(3)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] adds the wiring to [parent].", "<span class='notice'>You add the wiring to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] deactivates [parent] hydraulic systems.", "<span class='notice'>You deactivate [parent] hydraulic systems.</span>")
|
|
|
|
|
if(4)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] adjusts the wiring of [parent].", "<span class='notice'>You adjust the wiring of [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the wiring from [parent].", "<span class='notice'>You remove the wiring from [parent].</span>")
|
|
|
|
|
if(5)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] disconnects the wiring of [parent].", "<span class='notice'>You disconnect the wiring of [parent].</span>")
|
|
|
|
|
if(6)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the mainboard.", "<span class='notice'>You secure the mainboard.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the central control module from [parent].", "<span class='notice'>You remove the central computer mainboard from [parent].</span>")
|
|
|
|
|
if(7)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the mainboard.", "<span class='notice'>You unfasten the mainboard.</span>")
|
|
|
|
|
if(8)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the peripherals control module.", "<span class='notice'>You secure the peripherals control module.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the peripherals control module from [parent].", "<span class='notice'>You remove the peripherals control module from [parent].</span>")
|
|
|
|
|
if(9)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the peripherals control module.", "<span class='notice'>You unfasten the peripherals control module.</span>")
|
|
|
|
|
if(10)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the weapon control module.", "<span class='notice'>You secure the weapon control module.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the weapon control module from [parent].", "<span class='notice'>You remove the weapon control module from [parent].</span>")
|
|
|
|
|
if(11)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the weapon control module.", "<span class='notice'>You unfasten the weapon control module.</span>")
|
|
|
|
|
if(12)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the scanner module.", "<span class='notice'>You secure the scanner module.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the scanner module from [parent].", "<span class='notice'>You remove the scanner module from [parent].</span>")
|
|
|
|
|
if(13)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the scanner module.", "<span class='notice'>You unfasten the scanner module.</span>")
|
|
|
|
|
if(14)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the capacitor.", "<span class='notice'>You secure the capacitor.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] removes the capacitor from [parent].", "<span class='notice'>You remove the capacitor from [parent].</span>")
|
|
|
|
|
if(15)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] into [parent].", "<span class='notice'>You install [I] into [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the capacitor.", "<span class='notice'>You unfasten the capacitor.</span>")
|
|
|
|
|
if(16)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the power cell.", "<span class='notice'>You secure the power cell.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] pries the power cell from [parent].", "<span class='notice'>You pry the power cell from [parent].</span>")
|
|
|
|
|
if(17)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs the internal armor layer to [parent].", "<span class='notice'>You install the internal armor layer to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the power cell.", "<span class='notice'>You unfasten the power cell.</span>")
|
|
|
|
|
if(18)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures the internal armor layer.", "<span class='notice'>You secure the internal armor layer.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] pries internal armor layer from [parent].", "<span class='notice'>You pry internal armor layer from [parent].</span>")
|
|
|
|
|
if(19)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] welds the internal armor layer to [parent].", "<span class='notice'>You weld the internal armor layer to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens the internal armor layer.", "<span class='notice'>You unfasten the internal armor layer.</span>")
|
|
|
|
|
if(20)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] installs [I] to [parent].", "<span class='notice'>You install [I] to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] cuts the internal armor layer from [parent].", "<span class='notice'>You cut the internal armor layer from [parent].</span>")
|
|
|
|
|
if(21)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] secures Gygax Armor Plates.", "<span class='notice'>You secure Medical Gygax Armor Plates.</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] pries Gygax Armor Plates from [parent].", "<span class='notice'>You pry Medical Gygax Armor Plates from [parent].</span>")
|
|
|
|
|
if(22)
|
|
|
|
|
if(diff==FORWARD)
|
|
|
|
|
user.visible_message("[user] welds Gygax Armor Plates to [parent].", "<span class='notice'>You weld Medical Gygax Armor Plates to [parent].</span>")
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("[user] unfastens Gygax Armor Plates.", "<span class='notice'>You unfasten Medical Gygax Armor Plates.</span>")
|
|
|
|
|
return TRUE
|
|
|
|
|
// End Medigax
|
|
|
|
|
|
|
|
|
|
/datum/component/construction/unordered/mecha_chassis/firefighter
|
|
|
|
|
result = /datum/component/construction/mecha/firefighter
|
|
|
|
|
steps = list(
|
|
|
|
|