diff --git a/aurorastation.dme b/aurorastation.dme index 209ce81a4ad..81343162641 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1651,6 +1651,7 @@ #include "code\modules\heavy_vehicle\premade\heavy.dm" #include "code\modules\heavy_vehicle\premade\hoverpod.dm" #include "code\modules\heavy_vehicle\premade\light.dm" +#include "code\modules\heavy_vehicle\premade\military.dm" #include "code\modules\heavy_vehicle\premade\miner.dm" #include "code\modules\heavy_vehicle\premade\misc.dm" #include "code\modules\heavy_vehicle\premade\powerloader.dm" diff --git a/code/modules/heavy_vehicle/equipment/combat.dm b/code/modules/heavy_vehicle/equipment/combat.dm index 3adfec10283..94e5d8e0abc 100644 --- a/code/modules/heavy_vehicle/equipment/combat.dm +++ b/code/modules/heavy_vehicle/equipment/combat.dm @@ -12,7 +12,6 @@ name = "mounted ion rifle" desc = "An exosuit-mounted ion rifle. Handle with care." icon_state = "mecha_ion" - restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) holding_type = /obj/item/gun/energy/rifle/ionrifle/mounted/mech /obj/item/mecha_equipment/mounted_system/taser/laser @@ -31,7 +30,7 @@ /obj/item/mecha_equipment/mounted_system/pulse name = "heavy pulse cannon" desc = "A weapon for combat exosuits. The eZ-13 mk2 heavy pulse rifle shoots powerful pulse-based beams, capable of destroying structures." - icon_state = "railauto" + icon_state = "pulse" holding_type = /obj/item/gun/energy/pulse/mounted/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_ADVWEAPONS) @@ -41,7 +40,7 @@ desc = "A weapon for combat exosuits. Shoots armor penetrating xray beams." icon_state = "mecha_xray" holding_type = /obj/item/gun/energy/xray/mounted/mech - restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) + restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_ADVWEAPONS) /obj/item/mecha_equipment/mounted_system/blaster @@ -68,22 +67,22 @@ /obj/item/gun/energy/rifle/ionrifle/mounted/mech use_external_power = TRUE self_recharge = TRUE - has_safety = FALSE + has_safety = FALSE /obj/item/gun/energy/laser/mounted/mech use_external_power = TRUE self_recharge = TRUE - has_safety = FALSE + has_safety = FALSE /obj/item/gun/energy/pulse/mounted/mech use_external_power = TRUE self_recharge = TRUE - has_safety = FALSE + has_safety = FALSE /obj/item/gun/energy/xray/mounted/mech use_external_power = TRUE self_recharge = TRUE - has_safety = FALSE + has_safety = FALSE /*Launchers*/ @@ -98,7 +97,7 @@ /obj/item/mecha_equipment/mounted_system/grenadefrag name = "frag grenade launcher" desc = "The SGL-6FR grenade launcher is designed to launch primed fragmentation grenades." - icon_state = "mecha_fraglnchr" + icon_state = "mech_gl" holding_type = /obj/item/gun/launcher/mech/mountedgl restricted_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_ADVWEAPONS) @@ -106,7 +105,7 @@ /obj/item/mecha_equipment/mounted_system/grenadeflash name = "flashbang launcher" desc = "The SGL-6FL grenade launcher is designated to launch primed flashbangs." - icon_state = "mecha_grenadelnchr" + icon_state = "mech_gl" holding_type = /obj/item/gun/launcher/mech/mountedfl restricted_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_WEAPONS) @@ -114,7 +113,7 @@ /obj/item/mecha_equipment/mounted_system/grenadetear name = "teargas launcher" desc = "The SGL-6TGL grenade launcher is designated to launch primed teargas grenades." - icon_state = "mecha_grenadelnchr" + icon_state = "mech_gl" holding_type = /obj/item/gun/launcher/mech/mountedtgl restricted_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_WEAPONS) @@ -122,7 +121,7 @@ /obj/item/mecha_equipment/mounted_system/grenadesmoke name = "smoke grenade launcher" desc = "The SGL-6SGL grenade launcher is designated to launch primed smoke grenades." - icon_state = "mecha_grenadelnchr" + icon_state = "mech_gl" holding_type = /obj/item/gun/launcher/mech/mountedsgl restricted_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_WEAPONS) @@ -363,7 +362,7 @@ if((world.time - last_recharge) < cooldown) return var/obj/item/cell/cell = owner.get_cell() - + var/actual_required_power = Clamp(max_charge - charge, 0, charging_rate) charge += cell.use(actual_required_power) @@ -396,7 +395,7 @@ user.vis_contents -= src shields = null . = ..() - + /obj/aura/mechshield/proc/toggle() active = !active @@ -406,7 +405,7 @@ flick("shield_raise", src) else flick("shield_drop", src) - + /obj/aura/mechshield/update_icon() . = ..() diff --git a/code/modules/heavy_vehicle/mech_icon.dm b/code/modules/heavy_vehicle/mech_icon.dm index 8b32b4646f6..0b56f9a1ca8 100644 --- a/code/modules/heavy_vehicle/mech_icon.dm +++ b/code/modules/heavy_vehicle/mech_icon.dm @@ -20,16 +20,16 @@ proc/get_mech_icon(var/list/components = list(), var/overlay_layer = FLOAT_LAYER return all_images /mob/living/heavy_vehicle/update_icon() - var/list/new_overlays = get_mech_icon(list(body, head), MECH_BASE_LAYER) + var/list/new_overlays = get_mech_icon(list(body), MECH_BASE_LAYER) if(body && !hatch_closed) new_overlays += get_mech_image("[body.icon_state]_cockpit", body.on_mech_icon, MECH_BASE_LAYER) - update_pilot_overlay(FALSE) if(LAZYLEN(pilot_overlays)) new_overlays += pilot_overlays if(head) + new_overlays += get_mech_image("[head.icon_state]", head.on_mech_icon, head.color, MECH_INTERMEDIATE_LAYER) new_overlays += get_mech_image("[head.icon_state]_eyes", head.on_mech_icon, null, MECH_INTERMEDIATE_LAYER) if(body) - new_overlays += get_mech_image("[body.icon_state]_overlay[hatch_closed ? "" : "_open"]", body.on_mech_icon, body.color, MECH_COCKPIT_LAYER) + new_overlays += get_mech_image("[body.icon_state]_overlay[hatch_closed ? "" : "_open"]", body.on_mech_icon, body.color, MECH_BASE_LAYER) if(arms) new_overlays += get_mech_image(arms.icon_state, arms.on_mech_icon, arms.color, MECH_ARM_LAYER) if(legs) @@ -52,30 +52,11 @@ proc/get_mech_icon(var/list/components = list(), var/overlay_layer = FLOAT_LAYER var/use_icon_state = "[object_icon_state]_[hardpoint]" if(use_icon_state in mecha_weapon_overlays) new_overlays += get_mech_image(use_icon_state, 'icons/mecha/mecha_weapon_overlays.dmi', null, hardpoint_object.mech_layer) + var/far_icon_state = "[use_icon_state]_far" + if(far_icon_state in mecha_weapon_overlays) + new_overlays += get_mech_image(far_icon_state, 'icons/mecha/mecha_weapon_overlays.dmi', null, MECH_BASE_LAYER - 0.01) overlays = new_overlays -/mob/living/heavy_vehicle/proc/update_pilot_overlay(var/update_overlays = TRUE) - if(update_overlays && LAZYLEN(pilot_overlays)) - overlays -= pilot_overlays - pilot_overlays = null - if(!body || ((body.pilot_coverage < 100 || body.transparent_cabin) && !body.hide_pilot)) - for(var/i = 1 to LAZYLEN(pilots)) - var/mob/pilot = pilots[i] - var/image/draw_pilot = new - draw_pilot.appearance = pilot - draw_pilot.layer = MECH_PILOT_LAYER + (body ? ((LAZYLEN(body.pilot_positions)-i)*0.001) : 0) - draw_pilot.plane = FLOAT_PLANE - if(body && i <= LAZYLEN(body.pilot_positions)) - var/list/offset_values = body.pilot_positions[i] - var/list/directional_offset_values = offset_values["[dir]"] - draw_pilot.pixel_x = directional_offset_values["x"] - draw_pilot.pixel_y = directional_offset_values["y"] - draw_pilot.pixel_z = 0 - draw_pilot.transform = null - LAZYADD(pilot_overlays, draw_pilot) - if(update_overlays && LAZYLEN(pilot_overlays)) - overlays += pilot_overlays - /mob/living/heavy_vehicle/regenerate_icons() return \ No newline at end of file diff --git a/code/modules/heavy_vehicle/mech_interaction.dm b/code/modules/heavy_vehicle/mech_interaction.dm index 890e634d190..dce73c0a2da 100644 --- a/code/modules/heavy_vehicle/mech_interaction.dm +++ b/code/modules/heavy_vehicle/mech_interaction.dm @@ -233,13 +233,11 @@ user.forceMove(src) LAZYDISTINCTADD(pilots, user) sync_access() - update_pilot_overlay() playsound(src, 'sound/machines/windowdoor.ogg', 50, 1) user << sound('sound/mecha/nominal.ogg',volume=50) if(user.client) user.client.screen |= hud_elements LAZYDISTINCTADD(user.additional_vision_handlers, src) update_icon() - update_pilot_overlay() return 1 /mob/living/heavy_vehicle/proc/sync_access() @@ -275,8 +273,6 @@ set_intent(I_HURT) LAZYREMOVE(pilots, user) UNSETEMPTY(pilots) - update_pilot_overlay() - return /mob/living/heavy_vehicle/relaymove(var/mob/living/user, var/direction) if(world.time < next_mecha_move) diff --git a/code/modules/heavy_vehicle/mech_life.dm b/code/modules/heavy_vehicle/mech_life.dm index 7aa02dbc521..975ee16c16c 100644 --- a/code/modules/heavy_vehicle/mech_life.dm +++ b/code/modules/heavy_vehicle/mech_life.dm @@ -19,7 +19,6 @@ pilot.client.screen -= hud_elements LAZYREMOVE(pilots, pilot) UNSETEMPTY(pilots) - update_pilot_overlay() if(radio) radio.on = (head?.radio && head.radio.is_functional()) diff --git a/code/modules/heavy_vehicle/premade/_premade.dm b/code/modules/heavy_vehicle/premade/_premade.dm index 0698798febe..cd7a4cb291f 100644 --- a/code/modules/heavy_vehicle/premade/_premade.dm +++ b/code/modules/heavy_vehicle/premade/_premade.dm @@ -180,22 +180,22 @@ ) var/mech_colour = super_random ? FALSE : pick(use_colours) if(!arms) - var/list/forbidden_arm_types = list(/obj/item/mech_component/manipulators/cult) + var/list/forbidden_arm_types = list(/obj/item/mech_component/manipulators/cult, /obj/item/mech_component/manipulators/superheavy, /obj/item/mech_component/manipulators/combat) var/armstype = pick(subtypesof(/obj/item/mech_component/manipulators) - forbidden_arm_types) arms = new armstype(src) arms.color = mech_colour ? mech_colour : pick(use_colours) if(!legs) - var/list/forbidden_leg_types = list(/obj/item/mech_component/propulsion/cult) + var/list/forbidden_leg_types = list(/obj/item/mech_component/propulsion/cult, /obj/item/mech_component/propulsion/superheavy, /obj/item/mech_component/propulsion/combat) var/legstype = pick(subtypesof(/obj/item/mech_component/propulsion) - forbidden_leg_types) legs = new legstype(src) legs.color = mech_colour ? mech_colour : pick(use_colours) if(!head) - var/list/forbidden_head_types = list(/obj/item/mech_component/sensors/cult) + var/list/forbidden_head_types = list(/obj/item/mech_component/sensors/cult, /obj/item/mech_component/sensors/superheavy, /obj/item/mech_component/sensors/combat) var/headtype = pick(subtypesof(/obj/item/mech_component/sensors) - forbidden_head_types) head = new headtype(src) head.color = mech_colour ? mech_colour : pick(use_colours) if(!body) - var/list/forbidden_body_types = list(/obj/item/mech_component/chassis/cult) + var/list/forbidden_body_types = list(/obj/item/mech_component/chassis/cult, /obj/item/mech_component/chassis/superheavy, /obj/item/mech_component/chassis/combat) var/bodytype = pick(subtypesof(/obj/item/mech_component/chassis) - forbidden_body_types) body = new bodytype(src) body.color = mech_colour ? mech_colour : pick(use_colours) diff --git a/code/modules/heavy_vehicle/premade/combat.dm b/code/modules/heavy_vehicle/premade/combat.dm index 6c1c745e421..39678918efc 100644 --- a/code/modules/heavy_vehicle/premade/combat.dm +++ b/code/modules/heavy_vehicle/premade/combat.dm @@ -9,24 +9,28 @@ e_legs = /obj/item/mech_component/propulsion/combat e_color = COLOR_DARK_GUNMETAL - h_r_shoulder = /obj/item/mecha_equipment/mounted_system/grenadetear - h_l_hand = /obj/item/mecha_equipment/mounted_system/blaster - h_r_hand = /obj/item/mecha_equipment/mounted_system/taser/ion + h_r_shoulder = /obj/item/mecha_equipment/mounted_system/taser/smg + h_l_shoulder = /obj/item/mecha_equipment/mounted_system/taser/smg /obj/item/mech_component/manipulators/combat name = "combat arms" exosuit_desc_string = "flexible, advanced manipulators" + desc = "Extremely fast and responsive weapon mounts for combat mechas. These seem sturdy, but their short nature only permits access to shoulder-mounted weapons." icon_state = "combat_arms" melee_damage = 30 - action_delay = 10 + action_delay = 5 + max_damage = 130 power_use = 5000 + has_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) /obj/item/mech_component/propulsion/combat name = "combat legs" exosuit_desc_string = "sleek hydraulic legs" + desc = "Complex armor provides excellent protective coverage over the internals of these combat-oriented legs." icon_state = "combat_legs" move_delay = 3 turn_delay = 3 + max_damage = 100 power_use = 5000 trample_damage = 35 @@ -34,7 +38,9 @@ name = "combat sensors" gender = PLURAL exosuit_desc_string = "high-resolution sensors" + desc = "A highly advanced cockpit with high-resolution thermal optics installed on its faces. Poorly armored with excellent situational awareness." icon_state = "combat_head" + max_damage = 50 power_use = 50000 vision_flags = SEE_MOBS see_invisible = SEE_INVISIBLE_NOLIGHTING @@ -50,9 +56,12 @@ hatch_descriptor = "canopy" pilot_coverage = 100 exosuit_desc_string = "an armored chassis" + desc = "A lightweight composite frame keeps the armor of this chassis respectable, but the interior spacious." icon_state = "combat_body" + max_damage = 200 power_use = 2500 transparent_cabin = TRUE + has_hardpoints = list(HARDPOINT_BACK) /obj/item/mech_component/chassis/combat/prebuild() . = ..() diff --git a/code/modules/heavy_vehicle/premade/heavy.dm b/code/modules/heavy_vehicle/premade/heavy.dm index 898a133dc5a..cd83db551d7 100644 --- a/code/modules/heavy_vehicle/premade/heavy.dm +++ b/code/modules/heavy_vehicle/premade/heavy.dm @@ -63,34 +63,3 @@ . = ..() mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src) -/obj/item/mech_component/chassis/superheavy - name = "reinforced exosuit chassis" - hatch_descriptor = "hatch" - desc = "The HI-Koloss chassis is a veritable juggernaut, capable of protecting a pilot even in the most hostile of environments. It handles like a battlecruiser, however." - pilot_coverage = 100 - exosuit_desc_string = "a heavily armored chassis" - icon_state = "heavy_body" - max_damage = 450 - mech_health = 1250 - has_hardpoints = list(HARDPOINT_BACK, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) - power_use = 15000 - -/obj/item/mech_component/chassis/superheavy/prebuild() - . = ..() - cell = new /obj/item/cell/super(src) - mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src) - -/mob/living/heavy_vehicle/premade/superheavy - name = "Marauder" - desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations." - icon_state = "darkgygax" - - e_head = /obj/item/mech_component/sensors/heavy - e_body = /obj/item/mech_component/chassis/superheavy - e_arms = /obj/item/mech_component/manipulators/heavy - e_legs = /obj/item/mech_component/propulsion/heavy - e_color = COLOR_DARK_GUNMETAL - - h_r_shoulder = /obj/item/mecha_equipment/mounted_system/missile - h_l_shoulder = /obj/item/mecha_equipment/mounted_system/pulse - h_r_hand = /obj/item/mecha_equipment/mounted_system/taser/smg \ No newline at end of file diff --git a/code/modules/heavy_vehicle/premade/hoverpod.dm b/code/modules/heavy_vehicle/premade/hoverpod.dm index 06cc1cd62b4..8501321722a 100644 --- a/code/modules/heavy_vehicle/premade/hoverpod.dm +++ b/code/modules/heavy_vehicle/premade/hoverpod.dm @@ -1,44 +1,23 @@ -/mob/living/heavy_vehicle/premade/hoverpod - name = "hoverpod" - desc = "An aging exosuit, produced to be a cheap variant to traditional space transport." - icon_state = "engineering_pod" - - e_head = /obj/item/mech_component/sensors/ripley - e_body = /obj/item/mech_component/chassis/pod - e_arms = /obj/item/mech_component/manipulators/ripley - e_legs = /obj/item/mech_component/propulsion/hover - e_color = COLOR_BLUE_GRAY - - h_l_hand = /obj/item/mecha_equipment/drill - h_r_hand = /obj/item/mecha_equipment/clamp - /obj/item/mech_component/propulsion/hover - name = "hover thrusters" - exosuit_desc_string = "hover thrusters" - desc = "An ancient set of hover thrusters capable of keeping a exosuit aloft." - icon_state = "hoverlegs" + name = "heavy thrusters" + exosuit_desc_string = "heavy thrusters" + desc = "An set of very powerful hover-thrusters meant to propel an exosuit. These seem bulky." + icon_state = "heavy-hoverlegs" mech_turn_sound = null mech_step_sound = null - max_damage = 80 - move_delay = 4 + max_damage = 150 + move_delay = 5 turn_delay = 2 - power_use = 3000 + power_use = 4000 trample_damage = 0 hover = TRUE -/obj/item/mech_component/chassis/pod - name = "spherical exosuit chassis" - desc = "A simple spherical exosuit cockpit commonly used in space pods." - hatch_descriptor = "window" - pilot_coverage = 100 - transparent_cabin = TRUE - hide_pilot = TRUE - exosuit_desc_string = "a spherical chassis" - icon_state = "pod_body" - max_damage = 150 - power_use = 5 - has_hardpoints = list(HARDPOINT_BACK) - -/obj/item/mech_component/chassis/pod/prebuild() - . = ..() - mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/radproof(src) \ No newline at end of file +/obj/item/mech_component/propulsion/hover/light + name = "light thrusters" + exosuit_desc_string = "light thrusters" + desc = "A set of fragile hover-thrusters. This variant seems to sacrifice vast structural integrity for... more speed." + icon_state = "light-hoverlegs" + max_damage = 40 + move_delay = 2 + turn_delay = 2 + power_use = 1500 diff --git a/code/modules/heavy_vehicle/premade/military.dm b/code/modules/heavy_vehicle/premade/military.dm new file mode 100644 index 00000000000..c64cbe0f152 --- /dev/null +++ b/code/modules/heavy_vehicle/premade/military.dm @@ -0,0 +1,64 @@ +/obj/item/mech_component/manipulators/superheavy + name = "superheavy arms" + exosuit_desc_string = "super-heavy reinforced manipulators" + icon_state = "strider_arms" + desc = "These basic, heavy plasteel mounts are used for mounting only the meanest weapons. Probably good at breaking things, too." + melee_damage = 50 + action_delay = 15 + max_damage = 4000 + power_use = 7500 + has_hardpoints = list(HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) + punch_sound = 'sound/mecha/mech_punch_slow.ogg' + +/obj/item/mech_component/propulsion/superheavy + name = "superheavy motivators" + exosuit_desc_string = "heavy hydraulic legs" + desc = "Four utterly goliath stump-like pistons hold this propulsion mechanism together." + icon_state = "strider_legs" + move_delay = 5 + max_damage = 650 + power_use = 5000 + trample_damage = 45 + +/obj/item/mech_component/sensors/superheavy + name = "superheavy sensors" + exosuit_desc_string = "a reinforced monoeye" + desc = "A small optic is all that can be discerned of this faceless, unmarked spire of an exosuit control center." + icon_state = "strider_head" + max_damage = 550 + power_use = 0 + +/obj/item/mech_component/sensors/superheavy/prebuild() + ..() + software = new(src) + software.installed_software = list(MECH_SOFTWARE_WEAPONS, MECH_SOFTWARE_ADVWEAPONS) + +/obj/item/mech_component/chassis/superheavy + name = "heavy-duty military chassis" + hatch_descriptor = "hatch" + desc = "A cramped compartment and a senseless amount of armor is all this steel coffin contains." + pilot_coverage = 100 + exosuit_desc_string = "a heavily armored chassis" + icon_state = "strider_body" + max_damage = 750 + mech_health = 3500 + power_use = 15000 + +/obj/item/mech_component/chassis/superheavy/prebuild() + . = ..() + cell = new /obj/item/cell/super(src) + mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src) + +/mob/living/heavy_vehicle/premade/superheavy + name = "Basilisk" + desc = "An incredibly heavy-duty quadruped war machine derived from an Interstellar War design." + icon_state = "darkgygax" + + e_head = /obj/item/mech_component/sensors/superheavy + e_body = /obj/item/mech_component/chassis/superheavy + e_arms = /obj/item/mech_component/manipulators/superheavy + e_legs = /obj/item/mech_component/propulsion/superheavy + e_color = COLOR_DARK_GUNMETAL + + h_r_shoulder = /obj/item/mecha_equipment/mounted_system/pulse + h_l_shoulder = /obj/item/mecha_equipment/mounted_system/pulse \ No newline at end of file diff --git a/code/modules/heavy_vehicle/premade/misc.dm b/code/modules/heavy_vehicle/premade/misc.dm index 9dc63bb2764..7d5573656d5 100644 --- a/code/modules/heavy_vehicle/premade/misc.dm +++ b/code/modules/heavy_vehicle/premade/misc.dm @@ -1,7 +1,7 @@ /obj/item/mech_component/propulsion/spider name = "quadlegs" exosuit_desc_string = "hydraulic quadlegs" - desc = "Xion Manufacturing Group's arachnid series boasts more leg per leg than the leading competitor." + desc = "Xion Manufacturing Group's arachnid series boasts more leg per leg than the leading competitor. Useful for vehicles requiring tight, instant turning." icon_state = "spiderlegs" max_damage = 160 move_delay = 4 @@ -9,6 +9,17 @@ power_use = 2500 trample_damage = 10 +/obj/item/mech_component/propulsion/spider/heavy + name = "industrial quadlegs" + exosuit_desc_string = "hydraulic quadlegs" + desc = "A titan's take on the arachnid series from Xion Manufacturing Group. Much heavier than its smaller counterpart at the sacrifice of acceleration and power draw." + icon_state = "spiderlegs-industrial" + max_damage = 250 + move_delay = 5 + turn_delay = 1 + power_use = 7500 + trample_damage = 25 + /obj/item/mech_component/propulsion/tracks name = "tracks" exosuit_desc_string = "armored tracks" diff --git a/code/modules/heavy_vehicle/premade/powerloader.dm b/code/modules/heavy_vehicle/premade/powerloader.dm index aa012d8f27d..02038c0e824 100644 --- a/code/modules/heavy_vehicle/premade/powerloader.dm +++ b/code/modules/heavy_vehicle/premade/powerloader.dm @@ -55,7 +55,7 @@ hatch_descriptor = "roll cage" pilot_coverage = 40 exosuit_desc_string = "an industrial rollcage" - desc = "A Xion industrial brand roll cage. Technically OSHA compliant. Technically." + desc = "A Xion industrial brand roll cage. Technically OSHA compliant. Technically. This variant has an extra compartment for a copilot, but has no sealed atmosphere." max_damage = 200 power_use = 5000 diff --git a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm index e380270f8b7..8eb85d4cb5d 100644 --- a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm +++ b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm @@ -177,18 +177,25 @@ build_path = /obj/item/mech_component/propulsion/spider req_tech = list(TECH_ENGINEERING = 2) -/datum/design/item/mechfab/exosuit/hover_torso - name = "Hoverpod Torso" - time = 40 - materials = list(DEFAULT_WALL_MATERIAL = 22000) - build_path = /obj/item/mech_component/chassis/pod +/datum/design/item/mechfab/exosuit/spider/heavy + name = "Industrial Quadruped Motivators" + time = 35 + materials = list(DEFAULT_WALL_MATERIAL = 25000) + build_path = /obj/item/mech_component/propulsion/spider/heavy + req_tech = list(TECH_ENGINEERING = 4) /datum/design/item/mechfab/exosuit/hover_legs - name = "Hoverthrusters" + name = "Heavy Hoverthrusters" time = 35 materials = list(DEFAULT_WALL_MATERIAL = 14000) build_path = /obj/item/mech_component/propulsion/hover +/datum/design/item/mechfab/exosuit/hover_legs/light + name = "Light Hoverthrusters" + time = 25 + materials = list(DEFAULT_WALL_MATERIAL = 7500) + build_path = /obj/item/mech_component/propulsion/hover/light + /datum/design/item/mechfab/exosuit/track name = "Armored Treads" time = 35 diff --git a/html/changelogs/kyres1-#9950.yml b/html/changelogs/kyres1-#9950.yml new file mode 100644 index 00000000000..3b202b35639 --- /dev/null +++ b/html/changelogs/kyres1-#9950.yml @@ -0,0 +1,45 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: kyres1 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Alters every single mech piece sprite, and all equipment." + - rscadd: "Added a superheavy mech type that is adminspawn only." + - rscadd: "Added industrial quadlegs, heavy thrusters, and light thrusters to the robotics fabricator." + - tweak: "Changed the attributes of the combat pieces for mechs, rebalancing them significantly. " + - tweak: "Clarifies the purpose of a bunch of mech parts in descriptions." diff --git a/icons/mecha/mech_equipment.dmi b/icons/mecha/mech_equipment.dmi index f5ac6106ad0..741cac0adb5 100644 Binary files a/icons/mecha/mech_equipment.dmi and b/icons/mecha/mech_equipment.dmi differ diff --git a/icons/mecha/mech_parts.dmi b/icons/mecha/mech_parts.dmi index b129456e122..4e2f02d74d4 100644 Binary files a/icons/mecha/mech_parts.dmi and b/icons/mecha/mech_parts.dmi differ diff --git a/icons/mecha/mecha_decals.dmi b/icons/mecha/mecha_decals.dmi index de513a0cbcf..7a09612fbde 100644 Binary files a/icons/mecha/mecha_decals.dmi and b/icons/mecha/mecha_decals.dmi differ diff --git a/icons/mecha/mecha_weapon_overlays.dmi b/icons/mecha/mecha_weapon_overlays.dmi index 8733e025000..e6a8a19ea65 100644 Binary files a/icons/mecha/mecha_weapon_overlays.dmi and b/icons/mecha/mecha_weapon_overlays.dmi differ