diff --git a/code/game/mecha/combat/fighter.dm b/code/game/mecha/combat/fighter.dm
index bf176f6a692..dcbe9f21ac3 100644
--- a/code/game/mecha/combat/fighter.dm
+++ b/code/game/mecha/combat/fighter.dm
@@ -16,6 +16,7 @@
dir_in = null //Don't reset direction when empty
step_in = 2 //Fast
+ step_energy_drain = 0 //These should use fuel instead of energy
health = 400
maxhealth = 400
@@ -38,6 +39,14 @@
max_universal_equip = 1
max_special_equip = 1
+ starting_components = list(
+ /obj/item/mecha_parts/component/hull/lightweight,
+ /obj/item/mecha_parts/component/actuator,
+ /obj/item/mecha_parts/component/armor,
+ /obj/item/mecha_parts/component/gas,
+ /obj/item/mecha_parts/component/electrical
+ )
+
/obj/mecha/combat/fighter/Initialize()
. = ..()
ion_trail = new /datum/effect/effect/system/ion_trail_follow()
diff --git a/code/game/mecha/combat/fighter_vr.dm b/code/game/mecha/combat/fighter_vr.dm
deleted file mode 100644
index 4bc4782e9f8..00000000000
--- a/code/game/mecha/combat/fighter_vr.dm
+++ /dev/null
@@ -1,8 +0,0 @@
-/obj/mecha/combat/fighter
- starting_components = list(
- /obj/item/mecha_parts/component/hull/lightweight,
- /obj/item/mecha_parts/component/actuator,
- /obj/item/mecha_parts/component/armor,
- /obj/item/mecha_parts/component/gas,
- /obj/item/mecha_parts/component/electrical
- )
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index cfcb2923ae8..525a65ffc80 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1450,16 +1450,28 @@
else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != I_HURT)
var/obj/item/weapon/weldingtool/WT = W
+ var/obj/item/mecha_parts/component/hull/HC = internal_components[MECH_HULL]
+ var/obj/item/mecha_parts/component/armor/AC = internal_components[MECH_ARMOR]
if (WT.remove_fuel(0,user))
if (hasInternalDamage(MECHA_INT_TANK_BREACH))
clearInternalDamage(MECHA_INT_TANK_BREACH)
to_chat(user, "You repair the damaged gas tank.")
else
return
- if(src.healthYou repair some damage to [src.name].")
- src.health += min(10, initial(src.health)-src.health)
- update_damage_alerts()
+ if((src.healthYou repair some damage to [src.name].")
+ src.health += min(10, initial(src.health)-src.health)
+ update_damage_alerts()
+ else if(HC.integrityYou repair some damage to [HC.name].")
+ HC.integrity += min(10, HC.max_integrity-HC.integrity)
+ update_damage_alerts()
+ else if(AC.integrityYou repair some damage to [AC.name].")
+ AC.integrity += min(10, AC.max_integrity-AC.integrity)
+ update_damage_alerts()
+
else
to_chat(user, "The [src.name] is at full integrity")
return
diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm
index 3c56beda17a..8ff26d3d011 100644
--- a/code/modules/research/mechfab_designs.dm
+++ b/code/modules/research/mechfab_designs.dm
@@ -571,6 +571,7 @@
materials = list(DEFAULT_WALL_MATERIAL = 7500, "gold" = 750, "silver" = 1500, MAT_ALUMINIUM = 3750)
build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid
+/* These are way too OP to be buildable
/datum/design/item/mecha/combat_shield
name = "linear combat shield"
desc = "Linear shield projector. Deploys a large, familiar, and rectangular shield in one direction at a time."
@@ -586,6 +587,7 @@
req_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 3000, "phoron" = 5000, "glass" = 3750)
build_path = /obj/item/mecha_parts/mecha_equipment/omni_shield
+*/
/datum/design/item/mecha/crisis_drone
name = "Crisis Drone"
diff --git a/maps/expedition_vr/space/_debrisfield.dm b/maps/expedition_vr/space/_debrisfield.dm
index f1b36da15ad..cf63350a596 100644
--- a/maps/expedition_vr/space/_debrisfield.dm
+++ b/maps/expedition_vr/space/_debrisfield.dm
@@ -184,10 +184,10 @@
shuttle_tag = "Debris Carrier"
req_one_access = list()
-/obj/mecha/combat/fighter/baron/loaded/busted
+/obj/mecha/combat/fighter/baron/busted
starting_components = list(/obj/item/mecha_parts/component/hull/lightweight,/obj/item/mecha_parts/component/actuator/hispeed,/obj/item/mecha_parts/component/armor,/obj/item/mecha_parts/component/gas,/obj/item/mecha_parts/component/electrical/high_current)
-/obj/mecha/combat/fighter/baron/loaded/busted/Initialize()
+/obj/mecha/combat/fighter/baron/busted/Initialize()
. = ..()
health = round(rand(50,120))
cell?.charge = 0
diff --git a/maps/offmap_vr/om_ships/shelter_6.dmm b/maps/offmap_vr/om_ships/shelter_6.dmm
index 5918d23ad43..c7d3a9fec8b 100644
--- a/maps/offmap_vr/om_ships/shelter_6.dmm
+++ b/maps/offmap_vr/om_ships/shelter_6.dmm
@@ -1561,12 +1561,13 @@
/obj/machinery/mech_recharger{
icon = 'icons/turf/shuttle_alien_blue.dmi'
},
-/obj/mecha/combat/fighter/baron{
+/obj/mecha/combat/fighter/baron/loaded{
ground_capable = 1;
- health = 800;
- internal_damage_threshold = 100;
- maxhealth = 800;
- name = "Panther"
+ health = 600;
+ maxhealth = 600;
+ name = "Duke";
+ desc = "A heavily modified Baron-class fighter from the commonwealth. It has been retrofitted with heavier armor and additional maneuvering thrusters. Can be used in atmospheric operations.";
+ starting_components = list(/obj/item/mecha_parts/component/hull/lightweight,/obj/item/mecha_parts/component/actuator/hispeed,/obj/item/mecha_parts/component/armor/military,/obj/item/mecha_parts/component/gas/reinforced,/obj/item/mecha_parts/component/electrical)
},
/turf/simulated/floor/reinforced,
/area/shuttle/tabiranth)
diff --git a/maps/submaps/admin_use_vr/kk_mercship.dmm b/maps/submaps/admin_use_vr/kk_mercship.dmm
index 362023e72c4..c1d6949036c 100644
--- a/maps/submaps/admin_use_vr/kk_mercship.dmm
+++ b/maps/submaps/admin_use_vr/kk_mercship.dmm
@@ -4199,7 +4199,6 @@
"sM" = (
/obj/structure/table/rack,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive,
-/obj/item/mecha_parts/mecha_equipment/omni_shield,
/obj/item/mecha_parts/mecha_equipment/repair_droid,
/obj/machinery/firealarm/alarms_hidden{
pixel_y = 26
diff --git a/maps/submaps/pois_vr/debris_field/tinycarrier.dmm b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm
index 5be1f1456bb..908afdd05d1 100644
--- a/maps/submaps/pois_vr/debris_field/tinycarrier.dmm
+++ b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm
@@ -1109,7 +1109,7 @@
/turf/simulated/floor/reinforced/airless,
/area/submap/debrisfield/tinyshuttle/hangar)
"bW" = (
-/obj/mecha/combat/fighter/baron/loaded/busted{
+/obj/mecha/combat/fighter/baron/busted{
dir = 8;
dir_in = 8
},
diff --git a/vorestation.dme b/vorestation.dme
index 9b7f6c7107b..aa4ad30081a 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -975,7 +975,6 @@
#include "code\game\mecha\combat\combat.dm"
#include "code\game\mecha\combat\durand.dm"
#include "code\game\mecha\combat\fighter.dm"
-#include "code\game\mecha\combat\fighter_vr.dm"
#include "code\game\mecha\combat\gorilla.dm"
#include "code\game\mecha\combat\gygax.dm"
#include "code\game\mecha\combat\marauder.dm"