mirror of
https://github.com/Sandstorm-Station/Sandstorm-Station-13.git
synced 2026-07-22 05:35:21 +01:00
b5f77eeb66
* shhh * checks the thing * please don't hurt me, it is my first time * there, much better * this is huge Co-authored-by: crazyraio2 <44246096+crazyraio2@users.noreply.github.com>
143 lines
4.9 KiB
Plaintext
143 lines
4.9 KiB
Plaintext
//Power armor: now actually built!
|
|
/datum/component/construction/unordered/mecha_chassis/powerarmor
|
|
result = /datum/component/construction/mecha/powerarmor
|
|
steps = list(
|
|
/obj/item/mecha_parts/part/powerarmor_torso,
|
|
/obj/item/mecha_parts/part/powerarmor_helmet,
|
|
/obj/item/mecha_parts/part/powerarmor_left_arm,
|
|
/obj/item/mecha_parts/part/powerarmor_right_arm,
|
|
/obj/item/mecha_parts/part/powerarmor_left_leg,
|
|
/obj/item/mecha_parts/part/powerarmor_right_leg
|
|
)
|
|
|
|
/datum/component/construction/mecha/powerarmor/update_parent(step_index)
|
|
..()
|
|
var/atom/parent_atom = parent
|
|
parent_atom.icon = 'sandcode/icons/mecha/mech_construction.dmi'
|
|
|
|
/datum/component/construction/mecha/powerarmor/spawn_result()
|
|
if(!result)
|
|
return
|
|
new result(drop_location())
|
|
SSblackbox.record_feedback("tally", "mechas_created", 1, "Power Armor")
|
|
QDEL_NULL(parent)
|
|
|
|
/datum/component/construction/mecha/powerarmor
|
|
result = /obj/item/clothing/suit/space/hardsuit/powerarmor
|
|
base_icon = "powerarmor"
|
|
steps = list(
|
|
//1
|
|
list(
|
|
"key" = TOOL_WRENCH,
|
|
"desc" = "The parts are disconnected."
|
|
),
|
|
|
|
//2
|
|
list(
|
|
"key" = TOOL_WELDER,
|
|
"back_key" = TOOL_WRENCH,
|
|
"desc" = "The parts are wrenched."
|
|
),
|
|
|
|
//3
|
|
list(
|
|
"key" = /obj/item/stack/sheet/bluespace_crystal,
|
|
"amount" = 5,
|
|
"back_key" = TOOL_WELDER,
|
|
"desc" = "The parts are welded onto the chassis."
|
|
),
|
|
|
|
//4
|
|
list(
|
|
"key" = TOOL_WRENCH,
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
"desc" = "The bluespace crystals are slotted."
|
|
),
|
|
|
|
//5
|
|
list(
|
|
"key" = /obj/item/stock_parts/capacitor/quadratic,
|
|
"action" = ITEM_MOVE_INSIDE,
|
|
"back_key" = TOOL_WRENCH,
|
|
"desc" = "The bluespace crystals are secured."
|
|
),
|
|
|
|
//6
|
|
list(
|
|
"key" = TOOL_WRENCH,
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
"desc" = "The capacitor is slotted."
|
|
),
|
|
|
|
//7
|
|
list(
|
|
"key" = /obj/item/stack/cable_coil,
|
|
"amount" = 10,
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
"desc" = "The capacitor is secured."
|
|
),
|
|
|
|
//8
|
|
list(
|
|
"key" = TOOL_SCREWDRIVER,
|
|
"back_key" = TOOL_WIRECUTTER,
|
|
"desc" = "The chassis is wired."
|
|
),
|
|
|
|
//9
|
|
list(
|
|
"key" = TOOL_WELDER,
|
|
"back_key" = TOOL_SCREWDRIVER,
|
|
"desc" = "The wiring is linked to the limbs."
|
|
),
|
|
)
|
|
|
|
/datum/component/construction/mecha/powerarmor/custom_action(obj/item/I, mob/living/user, diff)
|
|
if(!..())
|
|
return FALSE
|
|
|
|
switch(index)
|
|
if(1)
|
|
user.visible_message("[user] wrenches [parent]'s parts.", "<span class='notice'>You wrench [parent]'s parts.</span>")
|
|
if(2)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] welds [parent]'s parts.", "<span class='notice'>You weld [parent]'s parts</span>")
|
|
else
|
|
user.visible_message("[user] unwrenches [parent]'s parts.", "<span class='notice'>You unwrench [parent]'s parts.</span>")
|
|
if(3)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] slots bluespace crystals onto [parent].", "<span class='notice'>You slot the bluespace crystals onto [parent].</span>")
|
|
else
|
|
user.visible_message("[user] unwelds [parent]'s parts.", "<span class='notice'>You unweld [parent]'s parts.</span>")
|
|
if(4)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] secures the [parent]'s bluespace crystal slots.", "<span class='notice'>You secure the [parent]'s bluespace crystal slots</span>")
|
|
else
|
|
user.visible_message("[user] removes the bluespace crystals from [parent].", "<span class='notice'>You remove [parent]'s bluespace crystals.</span>")
|
|
if(5)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] slots the capacitor onto [parent].", "<span class='notice'>You slot the capacitor onto [parent].</span>")
|
|
else
|
|
user.visible_message("[user] unsecures the bluespace crystal slots from [parent].", "<span class='notice'>You unsecure [parent]'s bluespace crystal slots.</span>")
|
|
if(6)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] secures [parent]'s capacitor.", "<span class='notice'>You secure [parent]'s capacitor.</span>")
|
|
else
|
|
user.visible_message("[user] removes the [parent]'s capacitor.", "<span class='notice'>You remove the [parent]'s capacitor.</span>")
|
|
if(7)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] wires the [parent].", "<span class='notice'>You wire the [parent].</span>")
|
|
else
|
|
user.visible_message("[user] unsecures [parent]'s capacitor.", "<span class='notice'>You unsecure [parent]'s capacitor.</span>")
|
|
if(8)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] links [parent]'s wires to the limbs.", "<span class='notice'>You link [parent]'s wires to the limbs.</span>")
|
|
else
|
|
user.visible_message("[user] snips off [parent]'s wires.", "<span class='notice'>You snip off [parent]'s wires.</span>")
|
|
if(9)
|
|
if(diff==FORWARD)
|
|
user.visible_message("[user] welds [parent]'s external armor layer.", "<span class='notice'>You weld [parent]'s external armor layer.</span>")
|
|
else
|
|
user.visible_message("[user] unlinks [parent]'s wires from the limbs.", "<span class='notice'>You unlink [parent]'s wires from the limbs.</span>")
|
|
return TRUE
|