@artch Wanted to make sure you didn't miss the message above, since you said you wanted player emoji support to validate ideas. I think this separation of concerns is a good start to making downgrade based attacks more doable.
@artch I think the best way might be an inbetween for attackController.
Make there be an attackController that downgrades, and a blockController that prevents upgrading/safemode.
Cd limitation is on attackController, but blockController can have the equivalent to a reservation timer that the enemy can increment up by committing resources. This will give attackers a longer window if they commit, but still allow defenders who hold the room to defend themselves.
blockController: Adds 2 ticks of blocked controller per 5 claim parts, up to 2000 ticks. No cd on it.
attackController: current behavior with the 1000 tick cd, except it only adds 200 ticks of blocking.
Bug reports, critical problems in the game or site not related to your own code
I find the use of circles in screeps wrong and unacceptable. Everything is squares and the visual "circles" will confuse new players almost right away. How many times have you helped a newbie about this? I needed to be corrected by this too.
Why is this massRangeAttack a circle? When it's really 3 distance - Square?
Why is the nuke a circle? When it's really 3 distance square?
Can we get rid of all circles in this square world?
After a bit of analysis, it appears that the PTR common module is stuck on an old commit, judging by the fact that CONTROLLER_DOWNGRADE_RESTORE is defined but FIND_TOMBSTONES is not. However, it does have updated versions of the other modules; Tombstone is available in the global namespace.