Skip to content

Conversation

githubuser4141
Copy link
Contributor

@githubuser4141 githubuser4141 commented Aug 4, 2025

What this does

Change mech balance
Ports onyx mech icons
Ports polaris mech internal components

Why it's good

Changes a bunch of mech stuff!

Balance Details:
Medium/Major:
Buffs:

  • Massively buffs the mech's LMG by making it fire .380 Auto
  • Gives exosuits a new, deadly SMG which fires a single round of 9mm
  • Gives exosuits the ability to equip heavier armor compared to the "base" armor, at the cost of weight, which may or may not be a buff or a nerf.
  • Allows the Odysseus to equip clamps, but gives it no cargo space, so it can force open firelocks and depowered airlocks.
  • Allows the mecha jail cell to consume uncuffed, unbola'd people, allowing it to be more effective and function as a two-man transport cell.
  • Allows exosuits to equip more modules than they normally would be able to.
  • You can now remove a mecha's DNA lock via the maintenance protocol. A mecha with a broken or missing hull can has a always-unlocked maintenance panel.
  • You can precisely break a exosuit's hull & armor by using a welding tool on DISARM intent on it, it takes about 15 seconds to break minus tool speed. Once you've broken the hull, you can freely access the mech by removing any locks in the access management panel. This is also true for deathsquad mechs (But you won't have the armor or hull, and they won't be repairable.).
  • The mechs electrical part now determines how much energy is consumed per step, and how much is consumed from using equipment
  • Some other changes.

Sidegrades:

  • Exosuit ballistic weapons are printed empty, and must be filled with ammo from a ammolathe.
  • Exosuits have breakable components that must be slowly repaired, or replaced from a exosuit fabricator. Completely broken components shouldn't be able to be repaired.
  • Because components reduce the damage an exosuit takes, every exosuit has had its health, baseline armor/damage absorption and deflect chance reduced by a moderate amount.
  • You can be hit by projectiles if your hull is broken.
  • A mech with broken armor takes damage much faster, as most of the mech's armor now rests on the armor (item), rather than the mech itself.
  • The armor module now sets the majority of the mecha's fire and pressure rating. A ordinary station mech, excluding the specialty Firefighter and Clarke, now starts to take fire damage at 55 degrees celcius, which seems realistic for a non-specialized vehicle, compared to most mechs being immune to 10,000 degrees C and over. Mechs can now also take damage from too high pressure. Most hulls, however, have a decently high temperature rating before the mech starts becoming damaged. (WIP - Currently I don't know how to add processing, so this merely checks the pressure every time the mech takes a step.)
  • Some other changes.

Misc changes:

  • Odysseus sleeper can put people out at a clicked location
  • Adds a odysseus switchtool that I have YET TO PUT INTO THE RND -_-
  • I forgot

to-do:

Fix minor bugs
Add minor stuff
Adjust flavor text
?

Pictures:

image image

How it was tested

Ran it a lot in local, spawned many mechs, broke them, had simple mobs shoot and hit them, hit them with hammers, threw things at them, put things on them, took things out of them, clicked the buttons. (It's still mostly broken atm.)

Changelog

🆑

  • rscadd: Added new thing.
  • tweak: Changes mech values, adds new values
  • imageadd: Adds mech gear & mech component sprites (Ported from Polaris & Chaotic Onyx)
  • experiment: Adds content (see above)

@wotisjanitor
Copy link
Contributor

How different is this from our current mechs in practice? Have you played rounds with them on other servers?

@githubuser4141
Copy link
Contributor Author

githubuser4141 commented Aug 4, 2025

How different is this from our current mechs in practice? Have you played rounds with them on other servers?

I think I've played with mechs on Polaris, and I haven't played on Onyx, no.

It's different because of the reasons I gave in the PR. Makes them function more similar to Cyborgs (more advanced repairs, rather than just welding until it's fixed). Notice how a Cyborg can go outside, get broken and it's not as simple as welding it to repair? But with mechs it's just welding to repair?

A mech can be made, go out, come back and request new internal components, similar to Cyborgs.

Icons on the equipment that tell people what the mech currently has equipped, cooler counters, like penetrating guns (.380, 9mm, 7.62x55 (mosins) being able to hit the pilot, being able to smash the mech's hull component and expose the pilot to gunfire and atmospherics, and so on, assuming I finish it.

@BomberBro
Copy link
Contributor

Sounds interesting, giving mechas the ability to get plating+3 guns+drill+repair droid seems insane though.

@TGfugee
Copy link

TGfugee commented Aug 5, 2025

Sounds interesting, giving mechas the ability to get plating+3 guns+drill+repair droid seems insane though.

from the looks of it, it will seriously impair mobility, so it seems like a fair trade

@Eneocho Eneocho added Balance Potentially going to upset people as it changes balance of the game. Content Adds something. Neat! Port Stolen/Ported from another codebase. WiP I'm not completely done yet! labels Aug 7, 2025
@hacker-on-steroids
Copy link
Contributor

might close #30760 ?

@githubuser4141
Copy link
Contributor Author

githubuser4141 commented Aug 11, 2025

might close #30760 ?

Sorry, nah, I pulled the eyes & radio part because it's complex and I want to wrap this up faster, I might be able to work on it again in the future.

@githubuser4141 githubuser4141 marked this pull request as ready for review August 18, 2025 18:14
@west3436
Copy link
Collaborator

Update OP

@githubuser4141 githubuser4141 changed the title Buffs mechs; ports mechs; changes mechs; adds things to mechs (heavy WIP) Buffs mechs; ports mechs; changes mechs; adds things to mechs Aug 19, 2025
@githubuser4141
Copy link
Contributor Author

Update OP

Done i think

@SonixApache
Copy link
Contributor

SonixApache commented Aug 22, 2025

linter failure

Run linters: code/modules/mecha/mecha.dm#L859
ambiguous `!` on left side of an `in`

Run linters: code/modules/mecha/mecha.dm#L859
OD3204: Order of operations for "in" may not be what is expected. Use parentheses to be more explicit.

return "[icon_state]-open"

/obj/mecha/proc/TryMaints(var/mob/user, var/obj/item/weapon/card/id/id_card)
if(!user in range(1))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(!user in range(1))
if(!(user in range(1)))

Copy link
Contributor Author

@githubuser4141 githubuser4141 Aug 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aaaah that's how youre supposed to do that, thx
I cant commit from the website otherwise gh desktop will totally crap out and never work again lol

@githubuser4141
Copy link
Contributor Author

Updating with experimental new feature (not good to merge)

@githubuser4141
Copy link
Contributor Author

image

@west3436
Copy link
Collaborator

west3436 commented Sep 9, 2025

@githubuser4141 linters failing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Potentially going to upset people as it changes balance of the game. Content Adds something. Neat! Port Stolen/Ported from another codebase. WiP I'm not completely done yet!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants