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

Build baseline #206

Closed
wants to merge 41 commits into from
Closed

Build baseline #206

wants to merge 41 commits into from

Conversation

tiennou
Copy link

@tiennou tiennou commented Feb 2, 2024

Pull request summary

Description:

This is the first part of the massive amounts of changes I had to make to get it to build and run after so long, so mostly tooling and updates, gathering various changes across the community, with a few small functional changes thrown in (mostly around ruins and tombstones), which I'll describe below.

Added:

  • Basic ruin handling. Doesn't really work right, but wires the property to Room.

Changed:

  • Up-to-date versions of most dependencies. Some of our types have been replaced by ones from typed-screeps.
  • Switch to ESLint since TSLint has been merged in it.
  • Removed most deprecated functions in favor of the current ones. It's a simple pass, so things like being efficient with room status checks (which can be costly) came later (♻️ refactor deprecated isRoomAvailable function #191). Also, a load of changes about the new Store class.
  • Lots of stricter type-safety tweaks.
  • Nuke response #178
  • Fillers get reassigned as transports instead of self-terminating when the bootstrap condition clears
  • findBlockingPos works across rooms now, because MiningOverlord uses it and it was throwing errors.
  • Task gained a generic parameter for its target type. I don't remember why I did that; I think I was chasing after a crashing invalid task, or maybe something about TaskRecharge.
  • Room status is taken into account when selecting outposts, expansion locations, and when random-scout-walking around.
  • Improved the output of the outpost efficiency commands. Also made it account for the expected container position.

Fixed:

Testing checklist:

  • Changes are backward-compatible: not sure. I don't think there's anything in there that actually saves to memory since it's mostly cleanup or changes that don't end up touching Memory.
  • Codebase compiles with current tsconfig configuration
  • Tested changes on public server (well at the time)

As those creeps have a push priority of 0, the check would fail and
default them, defeating the push protection entirely.
This reworks the nuke planner fortify logic to get to minimum safe value, then
balance fortifications instead of full true up of barriers in order of priority
which could be a massive jump if behind

Squashed from commits 53df937,
d492973
This switches to Node 18 and more recent version of most dependencies
There was a logic error in the AnyZerg move() method, causing the issue in
Movement.vacatePos(). The method vacatePos() sets creep.blockMovement to true,
but is meant to override it with force: true. The check in AnyZerg said
"!this.blockMovement && !force" therefore this method was not working, and the
creep not moving. Swapped it to "!this.blockMovement || force".

Also fixed an issue where Zergs of a role would stop working if one of their
kind was spawning, there was a return instead of an continue, aborting any Zerg
actions after it.

Squashed from eb2b78c
@tiennou tiennou closed this Feb 2, 2024
@tiennou tiennou deleted the fix/build branch February 2, 2024 23:12
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.

1 participant