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

[WIP] Add an automated grey goo command #4368

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

Arch-Shaman
Copy link
Contributor

@Arch-Shaman Arch-Shaman commented Apr 1, 2021

Implements / fixes #2548 (didn't know this was a thing, thanks @sprunk).

This adds a command for grey goo units that will:

  • When issued on a wreck the unit will move to it then consume it before performing the next command. (This is useful if that Dante wreck or whatever is in noman's land and you want to send puppies after it then go perform some other task [eg: return to base to be reclaimed])
  • When issued as an area command, the unit will move to and consume all wrecks in an area (starting with nearby ones then working to the next closest one).

The goal of this pr is to automate grey goo units in a way users can set up a command and forget about the task.

TODO:

  • Add custom icon (currently uses the grey state of puppy reclaim) -- Extra?
  • Grey goo units spawned from hosts that are performing CMD_GREYGOO inherit the cmd and add a guard order afterwards.
  • Stop performing cmd when the greygoo state is toggled to off?
  • Add demo video.
  • Better command name. "Reclaim (Grey Goo)" may be misleading?
  • Decide if command should require LOS of wrecks or HadSight of them. (Likely require LOS)
  • Alt makes persistent command.
  • Potentially filter out resurrecting wrecks (non single targeted)

This automates grey goo for grey goo units. 
* A command issued on a wreck will consume it before performing the next command. (This is useful if that Dante wreck or whatever is nearby)
* An area command will consume all wrecks in an area (starting with nearby ones then working to the next closest one)

Checks for updates at 5hz.

Attempts to be optimized by checking for nearby wrecks, etc.
@sprunk
Copy link
Member

sprunk commented Apr 1, 2021

#2548

@Arch-Shaman
Copy link
Contributor Author

Arch-Shaman commented Apr 2, 2021

Also includes UI work.
@sprunk
Copy link
Member

sprunk commented Apr 2, 2021

ALT should make a persistent area command.
Wrecks being rezzed should be ignored for area command (but not single-target command).

@Arch-Shaman
Copy link
Contributor Author

It can't be ignored if the puppies run into range of them on accident or if it's next to an unprotected wreck.

@sprunk
Copy link
Member

sprunk commented Apr 2, 2021

Yes but it shouldn't be actively moved to.

end
end

function gadget:GameFrame(f)
Copy link
Contributor

Choose a reason for hiding this comment

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

I would think that the bulk of the command handling could happen in CommandFallback.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

CommandFallback calls once every long update from what I understand. I'll test it out.

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

Successfully merging this pull request may close these issues.

Area reclaim for Puppy
3 participants