Add Assimilation checks to Colonization#115
Add Assimilation checks to Colonization#115Coolfeather2 wants to merge 7 commits intobencbartlett:masterfrom
Conversation
|
It might be better to not reformat all of the imports? |
|
IDE formatted it when adding new imports automatically |
|
Might as well add a low conflict mode where it plays nice with non-overminds too. |
|
Something like the mode discussed here? |
|
Not really. Basically a mode where invading other players space is prevented. Low-conflict mode where you don't try and expand/mine from other players territory. |
| } | ||
|
|
||
| // if reserved or owned by Overmind user - throw warning but don't remove? Included code to remove, just commented out. | ||
| let AssimilatedRoomOwner = (typeof RoomIntel.roomOwnedBy(this.pos.roomName) === 'string' && RoomIntel.roomOwnedBy(this.pos.roomName) != MY_USERNAME && Assimilator.isAssimilated(RoomIntel.roomOwnedBy(this.pos.roomName)!)) |
There was a problem hiding this comment.
An example:
let roomOwner = RoomIntel.roomOwnedBy(this.pos.roomName);
let NonConflictRoomOwner = (typeof roomOwner === 'string' && roomOwner != MY_USERNAME && (getAggressionLevel() == Aggression.LOW || Assimilator.isAssimilated(roomOwner!)));
There was a problem hiding this comment.
Similarly, it could be renamed from isAssimilated to isFriendly, which checks if you are set non-conflict and have not blacklisted them (enemy list), or if they are assimilated/on your whitelist (allies)
|
This type of feature you're suggesting would need it's own PR, I do not intend to add a blacklist/whitelist for the player, I don't think it suits this codebase? |
|
Sure, happy to add it after your merge. I'm saying a setting to treat all other players reasonably well is a good stealth mode during a colony growing phase. Don't want your level 4 rooms picking fights over remotes with a level 8 room nearby. |
|
I agree @MatthewARoy, it probably have to be turned off for SWC, but attacking freely might be painting a target on your back. |
|
Also it's just not very effective. A lower level room is going to be wasting precious resources trying to fight an RCL 8 room that just spawns a single 50 part creep to defend it's remote. You'll lose that fight every time and drain your room. I'd propose having a new bot setting definition that describes it's behavior (not in this PR, but in general going forward)
Universal whitelist/blacklist helps define behavior for all of these, where assimilation is considered whitelist. End-level behavior for whitelist could be as far as assisting in ally roombuilding/defending. |
Pull request summary
Description:
I have added assimilation checks to the three colonization directives and the strategist
This is an attempt to getting Overmind to play better when neighboring other Overmind users.
I am open to additional things you want me to try and get this implemented on - I have only thought about the colonization directives - or if there is better ways for my code.
Added:
Changed:
Removed:
Fixed:
Testing checklist:
Not sure how to check this?
tsconfigconfigurationStill currently testing strategist.ts, will update once done - looking for feedback currently