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"