Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exosuits can't pick up loose ores on the ground w/ an ore box #1642

Open
4 of 5 tasks
githubuser4141 opened this issue Mar 23, 2022 · 2 comments
Open
4 of 5 tasks

Exosuits can't pick up loose ores on the ground w/ an ore box #1642

githubuser4141 opened this issue Mar 23, 2022 · 2 comments

Comments

@githubuser4141
Copy link

githubuser4141 commented Mar 23, 2022

Description of issue

Title. Plasma cutters aren't useful for mining as your exosuit won't pick up loose ores. This also goes for any ores the drill 'missed' AFAIK it doesn't pick up every ore it drills.

Exosuits w/ an ore box should automatically place ores they drive over into their onboard ore box which is how they work on every non-Bay server.

OresPickup

Steps to reproduce

Get into an exosuit w/ an ore box in the hydraulic clamp and a plasma cutter, try to mine some ores, be disappointed.

Length of time in which bug has been known to occur

Likely since BayMechs have existed.

Client version, Server revision & Game ID

N/A for the above reason.

Issue bingo

  • Issue could be reproduced at least once
  • Issue could be reproduced by different players
  • Issue could be reproduced in multiple rounds
  • Issue happened in a recent (less than 7 days ago) round
  • Couldn't find an existing issue about this
@Rafflesia7793
Copy link
Contributor

Rafflesia7793 commented Mar 26, 2022

These are the lines where the drill adds ore to the ore box.

if(owner.hardpoints.len) //if this isn't true the drill should not be working to be fair
for(var/hardpoint in owner.hardpoints)
var/obj/item/I = owner.hardpoints[hardpoint]
if(!istype(I))
continue
var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in I //clamps work, but anythin that contains an ore crate internally is valid
if(ore_box)
for(var/obj/item/weapon/ore/ore in range(T,1))
if(get_dir(owner,ore)&owner.dir)
ore.Move(ore_box)

When the drill runs it checks for an ore box and then adds the ore to the ore box.

The simplest way to fix this would be to make the mech check for ore on the tile it moves onto on as well/instead, as long as it's carrying an ore box. Might not be the most elegant way though.

@githubuser4141
Copy link
Author

That's what Tg does and is probably the best solution really. I think there's a performance issue with the drill that causes the server to stop for a few seconds on each use too, not sure if it's related.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants