mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-28 11:02:41 +00:00
Mecha Balance and Fighter Fixes (#8081)
* Mecha Balance and Fighter Fixes - Shields are no longer buildable by Robotics - Fighters are now equipped with components that enable them to go fast - Fighter step cost is now zero * Mecha are now repairable * Code Correction * Mrowl
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
initial_icon = ""
|
||||
|
||||
step_in = 2 //Fast
|
||||
step_energy_drain = 0 //These should use fuel instead of energy
|
||||
|
||||
health = 400
|
||||
maxhealth = 400
|
||||
@@ -36,6 +37,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()
|
||||
|
||||
@@ -1453,16 +1453,27 @@
|
||||
|
||||
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, "<span class='notice'>You repair the damaged gas tank.</span>")
|
||||
else
|
||||
return
|
||||
if(src.health<initial(src.health))
|
||||
to_chat(user, "<span class='notice'>You repair some damage to [src.name].</span>")
|
||||
src.health += min(10, initial(src.health)-src.health)
|
||||
update_damage_alerts()
|
||||
if((src.health<initial(src.health)) || (HC.integrity<HC.max_integrity) || (AC.integrity<AC.max_integrity))
|
||||
if(src.health<initial(src.health))
|
||||
to_chat(user, "<span class='notice'>You repair some damage to [src.name].</span>")
|
||||
src.health += min(10, initial(src.health)-src.health)
|
||||
update_damage_alerts()
|
||||
else if(HC.integrity<HC.max_integrity)
|
||||
to_chat(user, "<span class='notice'>You repair some damage to [HC.name].</span>")
|
||||
HC.integrity += min(10, HC.max_integrity-HC.integrity)
|
||||
update_damage_alerts()
|
||||
else if(AC.integrity<AC.max_integrity)
|
||||
to_chat(user, "<span class='notice'>You repair some damage to [AC.name].</span>")
|
||||
AC.integrity += min(10, AC.max_integrity-AC.integrity)
|
||||
update_damage_alerts()
|
||||
else
|
||||
to_chat(user, "The [src.name] is at full integrity")
|
||||
return
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user