- TypeScript 98.1%
- JavaScript 1.9%
| .devcontainer | ||
| .vscode | ||
| src | ||
| .gitignore | ||
| eslint.config.mjs | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| rollup.config.js | ||
| tsconfig.json | ||
| vitest.config.ts | ||
Hellfire
A fully automated Screeps Bot. Or at least another try at one...
Getting Started
These instructions will give you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Requirements for the software and other tools to build, test and push
Supported IDEs
The project uses DevContainers for providing a standardized IDE. You can use any IDE you want. However, VS Code is the only official and supported IDE.
Development
As soon as the dev container is startet, the general IDE is ready. You now only have to install all dependencies.
npm clean-install
Testing
The project uses Jest as a unittest framework. To start the unit testing run:
npm test
Building
Screeps runs on Javascript, so it does not realy need any building. However, all files in the project get merged into a single file, minimized and optimized.
npm run build
Building for production
For the production code, the version should be created of tags
npm run build:prod
Hierarchy of Action
A Creep can make a function call to the API. With this function call, an action can be taken. Most of the time a single action is not useful on its own. You rarely want to move only one step in a direction... Therefore, multiple actions can be combined into a step of a task. A single step repeats an action until an end condition is met. For example, the creep moves along a path until the target coordinate is reached. This step is always a part of a task that combines multiple steps to accomplish a broader purpose. For example, could a task be "Pick up resources".
Only the steps of the current task are fully specified. With this, the plan stays dynamic, for example if the mining site has upgraded to drop-mining between planing the tasks of the creep and reacing the mining site.
Authors
- Lukas Gysin - Main Contributor & Project Owner
License
This project is licensed under the MIT License
Acknowledgments
- Billie Thompson - Provided README Template
- Contributor Covenant - Provided CODE_OF_CONDUCT Template