No description
  • TypeScript 98.1%
  • JavaScript 1.9%
Find a file
2026-05-20 13:25:29 +00:00
.devcontainer chore: Install Vitest in VSCode 2026-05-18 08:21:20 +00:00
.vscode chore: Ruler for Line Lenght 2026-05-18 08:18:44 +00:00
src fix: Update last coordinate 2026-05-20 13:25:29 +00:00
.gitignore feat: Setup IDE 2026-01-01 10:04:46 +00:00
eslint.config.mjs style: Apply Styleguide 2026-03-09 21:33:50 +01:00
LICENSE docs: Propper README 2026-03-06 07:07:35 +00:00
package-lock.json chore: Install v8 for test coverage 2026-05-13 07:30:07 +00:00
package.json chore: Install v8 for test coverage 2026-05-13 07:30:07 +00:00
README.md feat: Change Building Pipeline 2026-03-08 18:20:53 +00:00
rollup.config.js fix: Reserved identificator 2026-03-15 17:09:10 +01:00
tsconfig.json feat: Keep Mining Sites besieged 2026-05-01 08:34:17 +00:00
vitest.config.ts tests: Coverage Configuration 2026-05-18 08:18:22 +00:00

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

License

This project is licensed under the MIT License

Acknowledgments