[MIRROR] Improved/Buildable Fighter Exosuits (#9801)

Co-authored-by: Aroliacue <96730930+Aroliacue@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-01-05 15:02:12 -07:00
committed by GitHub
parent ed79946ade
commit 61b1ac947a
13 changed files with 973 additions and 20 deletions

View File

@@ -35,10 +35,16 @@
#define EXOSUIT_MODULE_DURAND (1<<3)
/// Module is compatible with Phazon Exosuit models
#define EXOSUIT_MODULE_PHAZON (1<<4)
/// Module is compatible with Pinnace Fighter models
#define EXOSUIT_MODULE_PINNACE (1<<5)
/// Module is compatible with Baron Fighter models
#define EXOSUIT_MODULE_BARON (1<<6)
/// Module is compatible with "Working" Exosuit models - Ripley
#define EXOSUIT_MODULE_WORKING EXOSUIT_MODULE_RIPLEY
/// Module is compatible with "Combat" Exosuit models - Gygax, Durand and Phazon
#define EXOSUIT_MODULE_COMBAT EXOSUIT_MODULE_GYGAX | EXOSUIT_MODULE_DURAND | EXOSUIT_MODULE_PHAZON
/// Module is compatible with "Medical" Exosuit modelsm - Odysseus
/// Module is compatible with "Medical" Exosuit models - Odysseus
#define EXOSUIT_MODULE_MEDICAL EXOSUIT_MODULE_ODYSSEUS
/// Module is compatible with "Fighter" Exosuit models - Pinnace, Baron
#define EXOSUIT_MODULE_FIGHTER EXOSUIT_MODULE_PINNACE | EXOSUIT_MODULE_BARON

View File

@@ -5,7 +5,7 @@
desc = "The base type of fightercraft. Don't spawn this one!"
var/datum/effect/effect/system/ion_trail_follow/ion_trail
var/stabilization_enabled = TRUE //If our anti-space-drift is on
var/landing_gear_raised = FALSE //If our landing gear for safely crossing ground turfs is on.
var/ground_capable = FALSE //If we can fly over normal turfs and not just space
icon = 'icons/mecha/fighters64x64.dmi' //See ATTRIBUTIONS.md for details on license
@@ -27,8 +27,8 @@
wreckage = /obj/effect/decal/mecha_wreckage/gunpod
stomp_sound = 'sound/machines/generator/generator_end.ogg'
swivel_sound = 'sound/machines/hiss.ogg'
stomp_sound = 'sound/mecha/fighter/engine_mid_fighter_move.ogg'
swivel_sound = 'sound/mecha/fighter/engine_mid_boost_01.ogg'
bound_height = 64
bound_width = 64
@@ -135,17 +135,17 @@
//Modified phazon code
/obj/mecha/combat/fighter/Topic(href, href_list)
..()
if (href_list["toggle_stabilization"])
stabilization_enabled = !stabilization_enabled
send_byjax(src.occupant,"exosuit.browser","stabilization_command","[stabilization_enabled?"Dis":"En"]able thruster stabilization")
src.occupant_message(span_notice("Thruster stabilization [stabilization_enabled? "enabled" : "disabled"]."))
if (href_list["toggle_landing_gear"])
landing_gear_raised = !landing_gear_raised
send_byjax(src.occupant,"exosuit.browser","landing_gear_command","[landing_gear_raised?"Lower":"Raise"] landing gear")
src.occupant_message(span_notice("Landing gear [landing_gear_raised? "raised" : "lowered"]."))
return
/obj/mecha/combat/fighter/get_commands()
var/output = {"<div class='wr'>
<div class='header'>Special</div>
<div class='links'>
<a href='byond://?src=\ref[src];toggle_stabilization=1'><span id="stabilization_command">[stabilization_enabled?"Dis":"En"]able thruster stabilization</span></a><br>
<a href='byond://?src=\ref[src];toggle_landing_gear=1'><span id="landing_gear_command">[landing_gear_raised?"Raise":"Lower"] landing gear</span></a><br>
</div>
</div>
"}
@@ -153,22 +153,28 @@
return output
/obj/mecha/combat/fighter/can_ztravel()
return (stabilization_enabled && has_charge(step_energy_drain))
return (landing_gear_raised && has_charge(step_energy_drain))
// No space drifting
// This doesnt work but I actually dont want it to anyways, so I'm not touching it at all. Space drifting is cool.
/obj/mecha/combat/fighter/check_for_support()
if (stabilization_enabled)
if (landing_gear_raised)
return 1
return ..()
// No falling if we've got our boosters on
/obj/mecha/combat/fighter/can_fall()
return (stabilization_enabled && has_charge(step_energy_drain))
if(landing_gear_raised && has_charge(step_energy_drain))
return FALSE
else
return TRUE
/obj/mecha/combat/fighter/proc/consider_gravity(var/moved = FALSE)
var/gravity = get_gravity()
if(gravity && ground_capable && occupant)
if (gravity && !landing_gear_raised)
playsound(src, 'sound/effects/roll.ogg', 50, 1)
else if(gravity && ground_capable && occupant)
start_hover()
else if((!gravity && ground_capable) || !occupant)
stop_hover()
@@ -177,6 +183,11 @@
take_damage(NOGRAV_FIGHTER_DAMAGE, "brute")
playsound(src, 'sound/effects/grillehit.ogg', 50, 1)
/obj/mecha/combat/fighter/get_step_delay()
. = ..()
if(get_gravity() && !landing_gear_raised)
. += 4
/obj/mecha/combat/fighter/handle_equipment_movement()
. = ..()
consider_gravity(TRUE)
@@ -202,7 +213,7 @@
animate(src, pixel_y = old_y, time = 5, easing = SINE_EASING | EASE_IN) //halt animation
/obj/mecha/combat/fighter/check_for_support()
if (has_charge(step_energy_drain) && stabilization_enabled)
if (has_charge(step_energy_drain) && landing_gear_raised)
return 1
var/list/things = orange(1, src)
@@ -241,7 +252,7 @@
var/image/stripe1_overlay
var/image/stripe2_overlay
/obj/mecha/combat/fighter/gunpod/loaded/Initialize() //Loaded version with gans
/obj/mecha/combat/fighter/gunpod/loaded/Initialize() //Loaded version with guns
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
ME.attach(src)
@@ -313,7 +324,7 @@
ground_capable = FALSE
/obj/mecha/combat/fighter/baron/loaded/Initialize() //Loaded version with gans
/obj/mecha/combat/fighter/baron/loaded/Initialize() //Loaded version with guns
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
ME.attach(src)
@@ -350,7 +361,7 @@
ground_capable = FALSE
/obj/mecha/combat/fighter/scoralis/loaded/Initialize() //Loaded version with gans
/obj/mecha/combat/fighter/scoralis/loaded/Initialize() //Loaded version with guns
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
ME.attach(src)
@@ -389,7 +400,7 @@
health = 500
maxhealth = 500
/obj/mecha/combat/fighter/allure/loaded/Initialize() //Loaded version with gans
/obj/mecha/combat/fighter/allure/loaded/Initialize() //Loaded version with guns
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/cloak
ME.attach(src)
@@ -429,7 +440,7 @@
ground_capable = TRUE
/obj/mecha/combat/fighter/pinnace/loaded/Initialize() //Loaded version with gans
/obj/mecha/combat/fighter/pinnace/loaded/Initialize() //Loaded version with guns
. = ..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
ME.attach(src)

View File

@@ -68,6 +68,8 @@
"Vehicle",
"Rigsuit",
"Phazon",
"Pinnace",
"Baron",
//"Gopher", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash
//"Polecat", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash
//"Weasel", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash
@@ -184,6 +186,10 @@
category_override += "Durand"
if(mech_types & EXOSUIT_MODULE_PHAZON)
category_override += "Phazon"
if(mech_types & EXOSUIT_MODULE_PINNACE)
category_override += "Pinnace"
if(mech_types & EXOSUIT_MODULE_BARON)
category_override += "Baron"
var/list/part = list(
"name" = D.name,

View File

@@ -49,6 +49,8 @@
"Vehicle",
"Rigsuit",
"Phazon",
"Pinnace",
"Baron",
//"Gopher", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash
//"Polecat", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash
//"Weasel", // VOREStation Add //CHOMPedit commented micromech stuff, because fuck this trash

View File

@@ -2132,3 +2132,571 @@
..()
feedback_inc("mecha_janus_created",1)
return
//Fighters
//////////////////////
// Pinnace
//////////////////////
/datum/construction/mecha/fighter/pinnace_chassis
result = "/obj/mecha/combat/fighter/pinnace"
steps = list(list("key"=/obj/item/mecha_parts/fighter/part/pinnace_core),//1
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_cockpit),//2
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_main_engine),//3
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_engine),//4
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_engine),//5
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_left_wing),//6
list("key"=/obj/item/mecha_parts/fighter/part/pinnace_right_wing)//final
)
/datum/construction/mecha/fighter/pinnace_chassis/custom_action(step, obj/item/I, mob/user)
user.visible_message("[user] has connected [I] to [holder].", "You connect [I] to [holder]")
holder.add_overlay("[I.icon_state]+o")
qdel(I)
return 1
/datum/construction/mecha/fighter/pinnace_chassis/action(obj/item/I,mob/user as mob)
return check_all_steps(I,user)
/datum/construction/mecha/fighter/pinnace_chassis/spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/fighter/pinnace(const_holder)
const_holder.icon = 'icons/mecha/fighters_construction64x64.dmi'
const_holder.icon_state = "pinnace0"
const_holder.density = 1
spawn()
qdel(src)
return
/datum/construction/reversible/mecha/fighter/pinnace
result = "/obj/mecha/combat/fighter/pinnace"
steps = list(
//1
list("key"=/obj/item/weldingtool,
"backkey"=IS_WRENCH,
"desc"="External armor is bolted into place."),
//2
list("key"=IS_WRENCH,
"backkey"=IS_CROWBAR,
"desc"="External armor is installed."),
//3
list("key"=/obj/item/stack/material/plasteel,
"backkey"=/obj/item/weldingtool,
"desc"="The internal armor is welded into place."),
//4
list("key"=/obj/item/weldingtool,
"backkey"=IS_WRENCH,
"desc"="The internal armor is bolted into place."),
//5
list("key"=IS_WRENCH,
"backkey"=IS_CROWBAR,
"desc"="The internal armor is installed."),
//6
list("key"=/obj/item/stack/material/steel,
"backkey"=IS_SCREWDRIVER,
"desc"="The manual flight control instruments are secured."),
//7
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The manual flight control instruments are installed."),
//8
list("key"=/obj/item/circuitboard/mecha/fighter/pinnace/cockpitboard,
"backkey"=IS_SCREWDRIVER,
"desc"="The advanced capacitor is secured."),
//9
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The advanced capacitor is installed."),
//10
list("key"=/obj/item/stock_parts/capacitor/adv,
"backkey"=IS_SCREWDRIVER,
"desc"="The targeting module is secured."),
//11
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The targeting module is installed."),
//12
list("key"=/obj/item/circuitboard/mecha/fighter/pinnace/targeting,
"backkey"=IS_SCREWDRIVER,
"desc"="The flight control module is secured."),
//13
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The flight control module is installed."),
//14
list("key"=/obj/item/circuitboard/mecha/fighter/pinnace/flight,
"backkey"=IS_SCREWDRIVER,
"desc"="The central control module is secured."),
//15
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The central control module is installed."),
//16
list("key"=/obj/item/circuitboard/mecha/fighter/pinnace/main,
"backkey"=IS_SCREWDRIVER,
"desc"="The internal wiring is adjusted."),
//17
list("key"=/obj/item/tool/wirecutters,
"backkey"=IS_SCREWDRIVER,
"desc"="The internal wiring is added."),
//18
list("key"=/obj/item/stack/cable_coil,
"backkey"=IS_SCREWDRIVER,
"desc"="The hydraulic landing gear are deployed."),
//19
list("key"=IS_SCREWDRIVER,
"backkey"=IS_WRENCH,
"desc"="The hydraulic landing gear are attached."),
//20
list("key"=IS_WRENCH,
"desc"="The hydraulic landing gear are detached.")
)
/datum/construction/reversible/mecha/fighter/pinnace/action(obj/item/I,mob/user as mob)
return check_step(I,user)
/datum/construction/reversible/mecha/fighter/pinnace/custom_action(index, diff, obj/item/I, mob/user)
if(!..())
return 0
switch(index)
if(20)
user.visible_message("[user] attaches [holder]'s hydraulic landing gear.", "You attach [holder]'s hydraulic landing gear.")
holder.icon_state = "pinnace1"
if(19)
if(diff==FORWARD)
user.visible_message("[user] deploys [holder]'s hydraulic landing gear.", "You deploy [holder]'s hydraulic landing gear.")
holder.icon_state = "pinnace2"
else
user.visible_message("[user] removes [holder]'s hydraulic landing gear.", "You remove [holder]'s hydraulic landing gear.")
holder.icon_state = "pinnace0"
if(18)
if(diff==FORWARD)
user.visible_message("[user] adds the internal wiring to [holder].", "You add the internal wiring to [holder].")
holder.icon_state = "pinnace3"
else
user.visible_message("[user] retracts [holder]'s hydraulic landing gear.", "You retract [holder]'s hydraulic landing gear.")
holder.icon_state = "pinnace1"
if(17)
if(diff==FORWARD)
user.visible_message("[user] adjusts the internal wiring of [holder].", "You adjust the internal wiring of [holder].")
holder.icon_state = "pinnace4"
else
user.visible_message("[user] removes the internal wiring from [holder].", "You remove the internal 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 = "pinnace2"
if(16)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central control module into [holder].")
qdel(I)
holder.icon_state = "pinnace5"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "pinnace3"
if(15)
if(diff==FORWARD)
user.visible_message("[user] secures the central control module.", "You secure the central control module.")
holder.icon_state = "pinnace6"
else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/pinnace/main(get_turf(holder))
holder.icon_state = "pinnace4"
if(14)
if(diff==FORWARD)
user.visible_message("[user] installs the flight control module into [holder].", "You install the flight control module into [holder].")
qdel(I)
holder.icon_state = "pinnace7"
else
user.visible_message("[user] unfastens the central control module.", "You unfasten the central control module.")
holder.icon_state = "pinnace5"
if(13)
if(diff==FORWARD)
user.visible_message("[user] secures the flight control module.", "You secure the flight control module.")
holder.icon_state = "pinnace8"
else
user.visible_message("[user] removes the flight control module from [holder].", "You remove the flight control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/pinnace/flight(get_turf(holder))
holder.icon_state = "pinnace6"
if(12)
if(diff==FORWARD)
user.visible_message("[user] installs the targeting control module into [holder].", "You install the targeting control module into [holder].")
qdel(I)
holder.icon_state = "pinnace9"
else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "pinnace7"
if(11)
if(diff==FORWARD)
user.visible_message("[user] secures the targeting control module.", "You secure the targeting control module.")
holder.icon_state = "pinnace10"
else
user.visible_message("[user] removes the targeting control module from [holder].", "You remove the targeting control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/pinnace/targeting(get_turf(holder))
holder.icon_state = "pinnace8"
if(10)
if(diff==FORWARD)
user.visible_message("[user] installs the advanced capacitor into [holder].", "You install the advanced capacitor into [holder].")
qdel(I)
holder.icon_state = "pinnace11"
else
user.visible_message("[user] unfastens the targeting control module.", "You unfasten the targeting control module.")
holder.icon_state = "pinnace9"
if(9)
if(diff==FORWARD)
user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.")
holder.icon_state = "pinnace12"
else
user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].")
new /obj/item/stock_parts/capacitor/adv(get_turf(holder))
holder.icon_state = "pinnace10"
if(8)
if(diff==FORWARD)
user.visible_message("[user] installs the manual flight controls to [holder].", "You install the manual flight controls to [holder].")
qdel(I)
holder.icon_state = "pinnace13"
else
user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
holder.icon_state = "pinnace11"
if(7)
if(diff==FORWARD)
user.visible_message("[user] secures the manual flight controls.", "You secure the manual flight controls.")
holder.icon_state = "pinnace14"
else
user.visible_message("[user] removes the manual flight controls from [holder].", "You remove the manual flight controls from [holder].")
new /obj/item/circuitboard/mecha/fighter/pinnace/cockpitboard(get_turf(holder))
holder.icon_state = "pinnace12"
if(6)
if(diff==FORWARD)
user.visible_message("[user] installs the internal armor layer to [holder].", "You install the internal armor layer to [holder].")
holder.icon_state = "pinnace19"
else
user.visible_message("[user] unfastens the manual flight controls.", "You unfasten the manual flight controls.")
holder.icon_state = "pinnace13"
if(5)
if(diff==FORWARD)
user.visible_message("[user] bolts the internal armor layer.", "You bolt the internal armor layer.")
holder.icon_state = "pinnace20"
else
user.visible_message("[user] pries the internal armor layer from [holder].", "You pry the internal armor layer from [holder].")
var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder))
MS.amount = 5
holder.icon_state = "pinnace14"
if(4)
if(diff==FORWARD)
user.visible_message("[user] welds the internal armor layer into place on [holder].", "You weld the internal armor layer into place on [holder].")
holder.icon_state = "pinnace21"
else
user.visible_message("[user] unbolt the internal armor layer.", "You unbolt the internal armor layer.")
holder.icon_state = "pinnace19"
if(3)
if(diff==FORWARD)
user.visible_message("[user] installs the external reinforced armor layer to [holder].", "You install the external reinforced armor layer to [holder].")
holder.icon_state = "pinnace22"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "pinnace20"
if(2)
if(diff==FORWARD)
user.visible_message("[user] bolts external armor layer.", "You bolt external reinforced armor layer.")
holder.icon_state = "pinnace23"
else
user.visible_message("[user] pries the external armor layer from [holder].", "You pry 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 = "pinnace21"
if(1)
if(diff==FORWARD)
user.visible_message("[user] welds the external armor layer to [holder].", "You weld the external armor layer to [holder].")
else
user.visible_message("[user] unbolts the external armor layer.", "You unbolt the external armor layer.")
holder.icon_state = "pinnace22"
return 1
/datum/construction/reversible/mecha/fighter/pinnace/spawn_result()
..()
feedback_inc("mecha_fighter_pinnace_created",1)
return
//////////////////////
// Baron
//////////////////////
/datum/construction/mecha/fighter/baron_chassis
result = "/obj/mecha/combat/fighter/baron"
steps = list(list("key"=/obj/item/mecha_parts/fighter/part/baron_core),//1
list("key"=/obj/item/mecha_parts/fighter/part/baron_cockpit),//2
list("key"=/obj/item/mecha_parts/fighter/part/baron_main_engine),//3
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_engine),//4
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_engine),//5
list("key"=/obj/item/mecha_parts/fighter/part/baron_left_wing),//6
list("key"=/obj/item/mecha_parts/fighter/part/baron_right_wing)//final
)
/datum/construction/mecha/fighter/baron_chassis/custom_action(step, obj/item/I, mob/user)
user.visible_message("[user] has connected [I] to [holder].", "You connect [I] to [holder]")
holder.add_overlay("[I.icon_state]+o")
qdel(I)
return 1
/datum/construction/mecha/fighter/baron_chassis/action(obj/item/I,mob/user as mob)
return check_all_steps(I,user)
/datum/construction/mecha/fighter/baron_chassis/spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/fighter/baron(const_holder)
const_holder.icon = 'icons/mecha/fighters_construction64x64.dmi'
const_holder.icon_state = "baron0"
const_holder.density = 1
spawn()
qdel(src)
return
/datum/construction/reversible/mecha/fighter/baron
result = "/obj/mecha/combat/fighter/baron"
steps = list(
//1
list("key"=/obj/item/weldingtool,
"backkey"=IS_WRENCH,
"desc"="External armor is bolted into place."),
//2
list("key"=IS_WRENCH,
"backkey"=IS_CROWBAR,
"desc"="External armor is installed."),
//3
list("key"=/obj/item/stack/material/plasteel,
"backkey"=/obj/item/weldingtool,
"desc"="The internal armor is welded into place."),
//4
list("key"=/obj/item/weldingtool,
"backkey"=IS_WRENCH,
"desc"="The internal armor is bolted into place."),
//5
list("key"=IS_WRENCH,
"backkey"=IS_CROWBAR,
"desc"="The internal armor is installed."),
//6
list("key"=/obj/item/stack/material/steel,
"backkey"=IS_SCREWDRIVER,
"desc"="The manual flight control instruments are secured."),
//7
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The manual flight control instruments are installed."),
//8
list("key"=/obj/item/circuitboard/mecha/fighter/baron/cockpitboard,
"backkey"=IS_SCREWDRIVER,
"desc"="The advanced capacitor is secured."),
//9
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The advanced capacitor is installed."),
//10
list("key"=/obj/item/stock_parts/capacitor/adv,
"backkey"=IS_SCREWDRIVER,
"desc"="The targeting module is secured."),
//11
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The targeting module is installed."),
//12
list("key"=/obj/item/circuitboard/mecha/fighter/baron/targeting,
"backkey"=IS_SCREWDRIVER,
"desc"="The flight control module is secured."),
//13
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The flight control module is installed."),
//14
list("key"=/obj/item/circuitboard/mecha/fighter/baron/flight,
"backkey"=IS_SCREWDRIVER,
"desc"="The central control module is secured."),
//15
list("key"=IS_SCREWDRIVER,
"backkey"=IS_CROWBAR,
"desc"="The central control module is installed."),
//16
list("key"=/obj/item/circuitboard/mecha/fighter/baron/main,
"backkey"=IS_SCREWDRIVER,
"desc"="The internal wiring is adjusted."),
//17
list("key"=/obj/item/tool/wirecutters,
"backkey"=IS_SCREWDRIVER,
"desc"="The internal wiring is added."),
//18
list("key"=/obj/item/stack/cable_coil,
"backkey"=IS_SCREWDRIVER,
"desc"="The hydraulic landing gear are deployed."),
//19
list("key"=IS_SCREWDRIVER,
"backkey"=IS_WRENCH,
"desc"="The hydraulic landing gear are attached."),
//20
list("key"=IS_WRENCH,
"desc"="The hydraulic landing gear are detached.")
)
/datum/construction/reversible/mecha/fighter/baron/action(obj/item/I,mob/user as mob)
return check_step(I,user)
/datum/construction/reversible/mecha/fighter/baron/custom_action(index, diff, obj/item/I, mob/user)
if(!..())
return 0
switch(index)
if(20)
user.visible_message("[user] attaches [holder]'s hydraulic landing gear.", "You attach [holder]'s hydraulic landing gear.")
holder.icon_state = "baron1"
if(19)
if(diff==FORWARD)
user.visible_message("[user] deploys [holder]'s hydraulic landing gear.", "You deploy [holder]'s hydraulic landing gear.")
holder.icon_state = "baron2"
else
user.visible_message("[user] removes [holder]'s hydraulic landing gear.", "You remove [holder]'s hydraulic landing gear.")
holder.icon_state = "baron0"
if(18)
if(diff==FORWARD)
user.visible_message("[user] adds the internal wiring to [holder].", "You add the internal wiring to [holder].")
holder.icon_state = "baron3"
else
user.visible_message("[user] retracts [holder]'s hydraulic landing gear.", "You retract [holder]'s hydraulic landing gear.")
holder.icon_state = "baron1"
if(17)
if(diff==FORWARD)
user.visible_message("[user] adjusts the internal wiring of [holder].", "You adjust the internal wiring of [holder].")
holder.icon_state = "baron4"
else
user.visible_message("[user] removes the internal wiring from [holder].", "You remove the internal 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 = "baron2"
if(16)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central control module into [holder].")
qdel(I)
holder.icon_state = "baron5"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "baron3"
if(15)
if(diff==FORWARD)
user.visible_message("[user] secures the central control module.", "You secure the central control module.")
holder.icon_state = "baron6"
else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/baron/main(get_turf(holder))
holder.icon_state = "baron4"
if(14)
if(diff==FORWARD)
user.visible_message("[user] installs the flight control module into [holder].", "You install the flight control module into [holder].")
qdel(I)
holder.icon_state = "baron7"
else
user.visible_message("[user] unfastens the central control module.", "You unfasten the central control module.")
holder.icon_state = "baron5"
if(13)
if(diff==FORWARD)
user.visible_message("[user] secures the flight control module.", "You secure the flight control module.")
holder.icon_state = "baron8"
else
user.visible_message("[user] removes the flight control module from [holder].", "You remove the flight control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/baron/flight(get_turf(holder))
holder.icon_state = "baron6"
if(12)
if(diff==FORWARD)
user.visible_message("[user] installs the targeting control module into [holder].", "You install the targeting control module into [holder].")
qdel(I)
holder.icon_state = "baron9"
else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "baron7"
if(11)
if(diff==FORWARD)
user.visible_message("[user] secures the targeting control module.", "You secure the targeting control module.")
holder.icon_state = "baron10"
else
user.visible_message("[user] removes the targeting control module from [holder].", "You remove the targeting control module from [holder].")
new /obj/item/circuitboard/mecha/fighter/baron/targeting(get_turf(holder))
holder.icon_state = "baron8"
if(10)
if(diff==FORWARD)
user.visible_message("[user] installs the advanced capacitor into [holder].", "You install the advanced capacitor into [holder].")
qdel(I)
holder.icon_state = "baron11"
else
user.visible_message("[user] unfastens the targeting control module.", "You unfasten the targeting control module.")
holder.icon_state = "baron9"
if(9)
if(diff==FORWARD)
user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.")
holder.icon_state = "baron12"
else
user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].")
new /obj/item/stock_parts/capacitor/adv(get_turf(holder))
holder.icon_state = "baron10"
if(8)
if(diff==FORWARD)
user.visible_message("[user] installs the manual flight controls to [holder].", "You install the manual flight controls to [holder].")
qdel(I)
holder.icon_state = "baron13"
else
user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
holder.icon_state = "baron11"
if(7)
if(diff==FORWARD)
user.visible_message("[user] secures the manual flight controls.", "You secure the manual flight controls.")
holder.icon_state = "baron14"
else
user.visible_message("[user] removes the manual flight controls from [holder].", "You remove the manual flight controls from [holder].")
new /obj/item/circuitboard/mecha/fighter/baron/cockpitboard(get_turf(holder))
holder.icon_state = "baron12"
if(6)
if(diff==FORWARD)
user.visible_message("[user] installs the internal armor layer to [holder].", "You install the internal armor layer to [holder].")
holder.icon_state = "baron19"
else
user.visible_message("[user] unfastens the manual flight controls.", "You unfasten the manual flight controls.")
holder.icon_state = "baron13"
if(5)
if(diff==FORWARD)
user.visible_message("[user] bolts the internal armor layer.", "You bolt the internal armor layer.")
holder.icon_state = "baron20"
else
user.visible_message("[user] pries the internal armor layer from [holder].", "You pry the internal armor layer from [holder].")
var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder))
MS.amount = 5
holder.icon_state = "baron14"
if(4)
if(diff==FORWARD)
user.visible_message("[user] welds the internal armor layer into place on [holder].", "You weld the internal armor layer into place on [holder].")
holder.icon_state = "baron21"
else
user.visible_message("[user] unbolt the internal armor layer.", "You unbolt the internal armor layer.")
holder.icon_state = "baron19"
if(3)
if(diff==FORWARD)
user.visible_message("[user] installs the external reinforced armor layer to [holder].", "You install the external reinforced armor layer to [holder].")
holder.icon_state = "baron22"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "baron20"
if(2)
if(diff==FORWARD)
user.visible_message("[user] bolts external armor layer.", "You bolt external reinforced armor layer.")
holder.icon_state = "baron23"
else
user.visible_message("[user] pries the external armor layer from [holder].", "You pry 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 = "baron21"
if(1)
if(diff==FORWARD)
user.visible_message("[user] welds the external armor layer to [holder].", "You weld the external armor layer to [holder].")
else
user.visible_message("[user] unbolts the external armor layer.", "You unbolt the external armor layer.")
holder.icon_state = "baron22"
return 1
/datum/construction/reversible/mecha/fighter/baron/spawn_result()
..()
feedback_inc("mecha_fighter_baron_created",1)
return

View File

@@ -340,3 +340,120 @@
name="Prototype Durand Right Leg"
icon_state = "janus_r_leg"
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3, TECH_ARCANE = 1)
///Fighters///
/obj/item/mecha_parts/fighter
icon = 'icons/mecha/fighters_construct64x64.dmi'
/obj/item/mecha_parts/fighter/chassis
name="Fighter Chassis"
icon_state = "backbone"
var/datum/construction/construct
/obj/item/mecha_parts/fighter/chassis/attackby(obj/item/W, mob/user)
if(!construct || !construct.action(W, user))
..()
return
/obj/item/mecha_parts/fighter/chassis/attack_hand(mob/user, list/params)
return
//! Pinnace
/obj/item/mecha_parts/fighter/chassis/pinnace
name = "\improper Pinnace Chassis"
icon_state = "pinnace_chassis"
origin_tech = list(TECH_MATERIAL = 2)
/obj/item/mecha_parts/fighter/chassis/pinnace/New()
..()
construct = new /datum/construction/mecha/fighter/pinnace_chassis(src)
/obj/item/mecha_parts/fighter/part/pinnace_core
name="\improper Pinnace Core"
icon_state = "pinnace_core"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_cockpit
name="\improper Pinnace Cockpit"
icon_state = "pinnace_cockpit"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_left_wing
name="\improper Pinnace Left Wing"
icon_state = "pinnace_l_wing"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_right_wing
name="\improper Pinnace Right Wing"
icon_state = "pinnace_r_wing"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_main_engine
name="\improper Pinnace Main Engine"
icon_state = "pinnace_m_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_left_engine
name="\improper Pinnace Left Engine"
icon_state = "pinnace_l_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
/obj/item/mecha_parts/fighter/part/pinnace_right_engine
name="\improper Pinnace Right Engine"
icon_state = "pinnace_r_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
//! Baron
/obj/item/mecha_parts/fighter/chassis/baron
name = "\improper Baron Chassis"
icon_state = "baron_chassis"
origin_tech = list(TECH_MATERIAL = 2)
/obj/item/mecha_parts/fighter/chassis/baron/New()
..()
construct = new /datum/construction/mecha/fighter/baron_chassis(src)
/obj/item/mecha_parts/fighter/part/baron_core
name="\improper Baron Core"
icon_state = "baron_core"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_BIO = 2, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_cockpit
name="\improper Baron Cockpit"
icon_state = "baron_cockpit"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_BIO = 2, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_left_wing
name="\improper Baron Left Wing"
icon_state = "baron_l_wing"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_right_wing
name="\improper Baron Right Wing"
icon_state = "baron_r_wing"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_main_engine
name="\improper Baron Main Engine"
icon_state = "baron_m_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_left_engine
name="\improper Baron Left Engine"
icon_state = "baron_l_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_ENGINEERING = 4)
/obj/item/mecha_parts/fighter/part/baron_right_engine
name="\improper Baron Right Engine"
icon_state = "baron_r_engine"
origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 5, TECH_ENGINEERING = 4)

View File

@@ -2,6 +2,10 @@
#error T_BOARD_MECHA already defined elsewhere, we can't use it.
#endif
#define T_BOARD_MECHA(name) "exosuit module circuit board (" + (name) + ")"
#ifdef T_BOARD_FIGHTER
#error T_BOARD_FIGHTER already defined elsewhere, we can't use it.
#endif
#define T_BOARD_FIGHTER(name) "fightercraft circuit board (" + (name) + ")"
/obj/item/circuitboard/mecha
name = "exosuit circuit board"
@@ -124,5 +128,56 @@
desc = "It is marked with a " + span_alien("constantly shifting glyph") + "."
origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 1, TECH_PRECURSOR = 2)
//Undef the macro, shouldn't be needed anywhere else
///Fighters///
//Pinnace//
/obj/item/circuitboard/mecha/fighter/pinnace
/obj/item/circuitboard/mecha/fighter/pinnace/main
name = T_BOARD_FIGHTER("Pinnace central control")
origin_tech = list(TECH_DATA = 4, TECH_BIO = 2, TECH_BLUESPACE = 2)
icon_state = "mainboard"
/obj/item/circuitboard/mecha/fighter/pinnace/flight
name = T_BOARD_FIGHTER("Pinnace flight control")
icon_state = "mcontroller"
origin_tech = list(TECH_DATA = 4, TECH_BLUESPACE = 2)
/obj/item/circuitboard/mecha/fighter/pinnace/targeting
name = T_BOARD_FIGHTER("Pinnace weapon control and targeting")
icon_state = "mcontroller"
origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 1)
/obj/item/circuitboard/mecha/fighter/pinnace/cockpitboard
name = T_BOARD_FIGHTER("Pinnace manual flight control instruments")
origin_tech = list(TECH_DATA = 4, TECH_BLUESPACE = 2)
icon_state = "card_mod"
//Baron//
/obj/item/circuitboard/mecha/fighter/baron
/obj/item/circuitboard/mecha/fighter/baron/main
name = T_BOARD_FIGHTER("Baron central control")
icon_state = "mainboard"
origin_tech = list(TECH_DATA = 6, TECH_BIO = 4, TECH_BLUESPACE = 5)
/obj/item/circuitboard/mecha/fighter/baron/flight
name = T_BOARD_FIGHTER("Baron flight control")
icon_state = "mcontroller"
origin_tech = list(TECH_DATA = 6, TECH_BLUESPACE = 5)
/obj/item/circuitboard/mecha/fighter/baron/targeting
name = T_BOARD_FIGHTER("Baron weapon control and targeting")
icon_state = "mcontroller"
origin_tech = list(TECH_DATA = 6, TECH_BIO = 4, TECH_COMBAT = 5)
/obj/item/circuitboard/mecha/fighter/baron/cockpitboard
name = T_BOARD_FIGHTER("Baron manual flight control instruments")
icon_state = "card_mod"
origin_tech = list(TECH_DATA = 6, TECH_BLUESPACE = 5)
//Undef the macros, shouldn't be needed anywhere else
#undef T_BOARD_MECHA
#undef T_BOARD_FIGHTER

View File

@@ -864,3 +864,65 @@ CIRCUITS BELOW
build_path = /obj/item/circuitboard/recycler_stamper
sort_string = "OAABE"
department = LATHE_ALL | LATHE_ENGINEERING // CHOMPAdd
///Fighters///
//Pinnace//
/datum/design/circuit/mecha/fighter/pinnace_main
name = "Pinnace central control board"
id = "pinnace_main"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/pinnace/main
sort_string = "NAAGA"
/datum/design/circuit/mecha/fighter/pinnace_flight
name = "Pinnace flight control board"
id = "pinnace_flight"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/pinnace/flight
sort_string = "NAAGB"
/datum/design/circuit/mecha/fighter/pinnace_targeting
name = "Pinnace weapon control and targeting board"
id = "pinnace_targeting"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/pinnace/targeting
sort_string = "NAAGC"
/datum/design/circuit/mecha/fighter/pinnace_cockpit_control
name = "Pinnace manual flight control instruments"
id = "pinnace_cockpit_control"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/pinnace/cockpitboard
sort_string = "NAAGD"
//Baron//
/datum/design/circuit/mecha/fighter/baron_main
name = "Baron central control board"
id = "baron_main"
req_tech = list(TECH_DATA = 5, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/baron/main
sort_string = "NAAHA"
/datum/design/circuit/mecha/fighter/baron_flight
name = "Baron flight control board"
id = "baron_flight"
req_tech = list(TECH_DATA = 5, TECH_POWER = 4)
build_path = /obj/item/circuitboard/mecha/fighter/baron/flight
sort_string = "NAAHB"
/datum/design/circuit/mecha/fighter/baron_targeting
name = "Baron weapon control and targeting board"
id = "baron_targeting"
req_tech = list(TECH_DATA = 5, TECH_POWER = 4, TECH_COMBAT = 3)
build_path = /obj/item/circuitboard/mecha/fighter/baron/targeting
sort_string = "NAAHC"
/datum/design/circuit/mecha/fighter/baron_cockpit_control
name = "Baron manual flight control instruments"
id = "baron_cockpit_control"
req_tech = list(TECH_DATA = 5, TECH_POWER = 4, TECH_COMBAT = 3)
build_path = /obj/item/circuitboard/mecha/fighter/baron/cockpitboard
sort_string = "NAAHD"

View File

@@ -1253,3 +1253,129 @@
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 4)
materials = list(MAT_PLASTEEL = 10000, MAT_OSMIUM = 3000, MAT_GOLD = 5000)
build_path = /obj/item/mecha_parts/component/actuator/hispeed
///--------///
///Fighters///
///--------///
///Pinnace///
/datum/design/item/mechfab/fighter/pinnace
category = list("Pinnace")
/datum/design/item/mechfab/fighter/pinnace/chassis
name = "Pinnace Chassis"
id = "pinnace_chassis"
build_path = /obj/item/mecha_parts/fighter/chassis/pinnace
time = 30
materials = list(MAT_STEEL = 25000, MAT_GLASS = 10000, MAT_PLASTEEL = 10000)
/datum/design/item/mechfab/fighter/pinnace/core
name = "Pinnace Core"
id = "pinnace_core"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_core
time = 60
materials = list(MAT_STEEL = 25000, MAT_GLASS = 7000, MAT_PLASTEEL = 7000)
/datum/design/item/mechfab/fighter/pinnace/cockpit
name = "Pinnace Cockpit"
id = "pinnace_cockpit"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_cockpit
time = 15
materials = list(MAT_STEEL = 2500, MAT_PLASTEEL = 2500, MAT_GLASS = 7500, MAT_PLASTIC = 2500)
/datum/design/item/mechfab/fighter/pinnace/main_engine
name = "Pinnace Main Engine"
id = "pinnace_main_engine"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_main_engine
time = 25
materials = list(MAT_STEEL = 15000, MAT_PLASTEEL = 5000)
/datum/design/item/mechfab/fighter/pinnace/left_engine
name = "Pinnace Left Engine"
id = "pinnace_left_engine"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_left_engine
time = 25
materials = list(MAT_STEEL = 10000, MAT_PLASTEEL = 2500)
/datum/design/item/mechfab/fighter/pinnace/right_engine
name = "Pinnace Right Engine"
id = "pinnace_right_engine"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_right_engine
time = 25
materials = list(MAT_STEEL = 10000, MAT_PLASTEEL = 2500)
/datum/design/item/mechfab/fighter/pinnace/left_wing
name = "Pinnace Left Wing"
id = "pinnace_left_wing"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_left_wing
time = 20
materials = list(MAT_STEEL = 7000, MAT_PLASTIC = 3000, MAT_PLASTEEL = 5000)
/datum/design/item/mechfab/fighter/pinnace/right_wing
name = "Pinnace Right Wing"
id = "pinnace_right_wing"
build_path = /obj/item/mecha_parts/fighter/part/pinnace_right_wing
time = 20
materials = list(MAT_STEEL = 7000, MAT_PLASTIC = 3000, MAT_PLASTEEL = 5000)
///Baron///
/datum/design/item/mechfab/fighter/baron
category = list("Baron")
/datum/design/item/mechfab/fighter/baron/chassis
name = "Baron Chassis"
id = "baron_chassis"
build_path = /obj/item/mecha_parts/fighter/chassis/baron
time = 30
materials = list(MAT_STEEL = 37500, MAT_GLASS = 15000, MAT_PLASTEEL = 15000)
/datum/design/item/mechfab/fighter/baron/core
name = "Baron Core"
id = "baron_core"
build_path = /obj/item/mecha_parts/fighter/part/baron_core
time = 60
materials = list(MAT_STEEL = 37500, MAT_GLASS = 15000, MAT_PLASTEEL = 15000)
/datum/design/item/mechfab/fighter/baron/cockpit
name = "Baron Cockpit"
id = "baron_cockpit"
build_path = /obj/item/mecha_parts/fighter/part/baron_cockpit
time = 15
materials = list(MAT_STEEL = 5000, MAT_PLASTEEL = 5000, MAT_GLASS = 10000, MAT_PLASTIC = 5000)
/datum/design/item/mechfab/fighter/baron/main_engine
name = "Baron Main Engine"
id = "baron_main_engine"
build_path = /obj/item/mecha_parts/fighter/part/baron_main_engine
time = 25
materials = list(MAT_STEEL = 25000, MAT_PLASTEEL = 10000)
/datum/design/item/mechfab/fighter/baron/left_engine
name = "Baron Left Engine"
id = "baron_left_engine"
build_path = /obj/item/mecha_parts/fighter/part/baron_left_engine
time = 25
materials = list(MAT_STEEL = 20000, MAT_PLASTEEL = 5000)
/datum/design/item/mechfab/fighter/baron/right_engine
name = "Baron Right Engine"
id = "baron_right_engine"
build_path = /obj/item/mecha_parts/fighter/part/baron_right_engine
time = 25
materials = list(MAT_STEEL = 20000, MAT_PLASTEEL = 5000)
/datum/design/item/mechfab/fighter/baron/left_wing
name = "Baron Left Wing"
id = "baron_left_wing"
build_path = /obj/item/mecha_parts/fighter/part/baron_left_wing
time = 20
materials = list(MAT_STEEL = 15000, MAT_PLASTIC = 6000, MAT_PLASTEEL = 10000)
/datum/design/item/mechfab/fighter/baron/right_wing
name = "Baron Right Wing"
id = "baron_right_wing"
build_path = /obj/item/mecha_parts/fighter/part/baron_right_wing
time = 20
materials = list(MAT_STEEL = 15000, MAT_PLASTIC = 6000, MAT_PLASTEEL = 10000)

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Binary file not shown.