Happy to see you visiting one of my rooms. Visit FAQ to find answers
This is the AI I'm using for screeps. I managed to reach Top 10 from November 2015 - March 2016. Main Goal is to automate everything, no manual interaction needed.
The AI is deployable on a private screeps server, follow the information on Steam.
This is not a good example for code quality or structure, most LOCs written while fighting or other occasions which needed quick fixes or in the ingame editor. But I think there are a couple of funny ideas. Every contribution is welcome.
- Automatic Base building
- External room harvesting
- Basic mineral handling
- Power harvesting
- New rooms claiming on GCL level up
- Automatic attack
- Rebuild of fallen rooms
Add a src/friends.js
with player names to ignore them from all attack
considerations.
E.g.:
module.exports = ['TooAngel'];
Add a src/config_local.js
to overwrite configuration values. Copy
config_local.js.example
to src/config_local.js
as an example. src/config.js
has the default values.
All kind of contribution is welcome, issues, contact via channels, pull requests.
Follow this link if you are planning to contribute via pull request.
Issues with label 'enhancement' exist, which are open for discussion and implementation. The description will reflect the latest status of the discussion and should end up in the documentation, when finishing the implementation.
npm install
export email=EMAIL
export password=PASSWORD
echo "module.exports = { email: '[email protected]', password: 'your-secret' };" > account.screeps.com.js
or edit and rename account.screeps.com.js.sample to account.screeps.com.js
grunt screeps
Create a .locaSync.js
file with content:
module.exports = [{
cwd: 'src',
src: [
'*.js'
],
dest: '$HOME/.config/Screeps/scripts/SERVER/default',
}
`grunt local`
grunt jshint
grunt jsbeautifier
grunt jscs
If you are playing on the live server with the TooAngel AI you are welcome to join the The Angels Alliance. Ping one of the members, you can recognize us, because our rooms look like yours.
####Attacking a room with a single creep:
Game.rooms.W81N49.memory.queue.push({role: 'autoattackmelee', routing: {targetRoom: 'W82N48'}})
Game.rooms.W81N49.memory.queue.push is where the creeps is build.
role: is the role the creep will be, you can change this to any available role.
targetRoom: is the creeps target room.
Soon you can also use
startAutoSquad('roomFrom' , 'roomTo')
Sending a Reserver to reserve a rooms controller: (This will also trigger Remote Mining in the room)
Game.rooms.W81N49.memory.queue.push({role: 'reserver', routing: {targetRoom: 'W82N48', targetId: '5873bc0e11e3e4361b4d6fc3'}})
targetId: Is in this case the ID of the controller in the target room.
Game.getObjectById('TheCreepsIdHere').claimController(Game.rooms.RoomNameHere.controller)
Game.getObjectById('TheCreepsIdHere').signController(Game.rooms.RoomNameHere.controller, "YourTextHere");
• Using the commands above you can also send sourcer, carry, defender etc. to certain rooms/targets.
Soon there will be Squad attacks the Commands for those are:
brain.startSquad('RoomFrom','RoomTo')
brain.startMeleeSquad('RoomFrom','RoomTo')