A tool that randomly selects a loadout of 4 unique stratagems for Helldivers 2, with support for filtering based on owned Warbonds.
The Stratagem Randomizer is a web-based utility designed for Helldivers 2 players. It intelligently generates random stratagem loadouts that respect your Warbond ownership and the game's equipment constraints. The tool helps players break out of predictable loadout patterns and discover new strategy combinations during gameplay.
- Player level: The randomizer can take into account the player''s current level to ensure that only stratagems they have unlocked are included in the randomization pool.
- Warbonds: The randomizer allows players to specify which Warbonds they own, and it will only include stratagems from those Warbonds in the randomization process.
- Rules: The randomizer respects certain overarching rules such as 'bring 1 backpack'
- Pin Slot Types: The randomizer categorizes stratagems into different pin slot types (e.g., Eagle, Orbital, Support Weapon, Backpack, Sentry, Emplacement, Vehicle) and ensures that the generated loadout adheres to the game's equipment constraints.
We follow a standard development cycle:
-
Fork & Branch Fork the repository and create a feature branch for your work
git checkout -b feature/your-feature-name
-
Setup Local Environment See Local Usage section
-
Make Changes Implement your feature or fix
- Keep commits atomic and descriptive
- Follow the existing code style
-
Test Locally Verify your changes work correctly
- Run the development server
- Test affected functionality manually
- Check console for errors and warnings
-
Commit & Push Push your branch to your fork
git add . git commit -m "feat: brief description of changes" git push origin feature/your-feature-name
-
Create Pull Request Submit a PR with a clear description of:
- What problem does this solve?
- How have you tested it?
- Any breaking changes?
-
Code Review Address feedback from maintainers
-
Merge Your PR will be merged once approved
- Framework: Next.js 16 with React 19
- Language: TypeScript
- UI Components: Ant Design
- Icons: Ant Design Icons
- Styling: CSS Modules
app/Next.js application files (pages, layout, components)app/components/React componentsStratagemRandomizer.tsxMain randomizer componentui/UI building blocks
app/constants/Configuration and constantsapp/hooks/Custom React hooksapp/services/Business logic and utilitiesapp/types/TypeScript type definitionsapp/utils/Helper functionsdata/Static data (stratagems, warbonds, icons)scripts/Build and automation scripts
- Node.js 18 or higher
- npm or yarn package manager
-
Clone the repository:
git clone https://github.com/yourusername/StratagemRandomizer.git cd StratagemRandomizer -
Install dependencies:
npm install
-
Development Server Start the development server with hot reload:
npm run dev
The application will be available at
http://localhost:3000 -
Production Build Build for production:
npm run build
-
Production Start Run the production build:
npm start
-
Linting Check code quality:
npm run lint
The application stores user preferences (owned Warbonds, selections) in browser localStorage. No server-side configuration is needed for local usage.
To modify stratagem data, edit:
- data/stratagems.json Stratagem definitions
- data/warbonds.json Warbond definitions
We welcome contributions from the community! Please see the Development section for guidelines on how to contribute.
Current Team:
Special thanks to nvigneux for providing the icon repository and the community for maintaining the stratagem wiki.
A GitHub Actions workflow runs every 24 hours to automatically check for new stratagems:
- Wiki Scrape — The workflow scrapes the Helldivers Wiki Stratagems page for all entries in the "Current Stratagems" section
- Compare — It compares the wiki list against the local data/stratagems.json
- Icon Fetch — If new stratagems are found, it runs the icon update script to pull icons from the upstream icon repository
- Create PR — A pull request is automatically created with the new stratagem data and icons
The workflow can also be triggered manually from the Actions tab. PRs created by the workflow require manual review — verify categories, subcategories, backpack flags, and direction codes before merging.
When a new stratagem is added to Helldivers 2 that is not in this repository, follow these steps:
Collect the following details about the new stratagem:
- Name Exact name as shown in game
- Stratagem Code The arrow sequence (e.g., UP-DOWN-LEFT-RIGHT)
- Category One of:
eagle,orbital,support_weapon,backpack,sentry,emplacement,vehicle - Subcategory For support weapons:
standardorbackpack_weapon; for emplacements:mineorstatic - Warbond Which Warbond makes it available (if any), and which page
- Unlock Level Minimum player level required
- Cost In-game cost (Requisition Points, Medals, or Warbond Points)
- Associated Ship Module If applicable
- Icon/Image Screenshot or icon of the stratagem
Edit data/stratagems.json and add an entry following this format:
{
"id": "stratagem_id_in_snake_case",
"name": "Stratagem Name",
"code": ["up", "down", "left", "right"],
"category": "eagle|orbital|support_weapon|backpack|sentry|emplacement|vehicle",
"subcategory": "standard|backpack_weapon|mine|static|null",
"requires_backpack": false,
"cost_type": "requisition|medal|warbond_points",
"cost_amount": 100,
"unlock_level": 1,
"ship_module": "name_of_module_or_null",
"warbond": "Warbond Name or null",
"warbond_page": "page_number_or_null"
}Important Notes:
- Use lowercase with underscores for
id - The
codearray uses lowercase direction strings subcategoryshould benullfor categories that don''t use itwarbondandwarbond_pageshould benullfor stratagems not in a Warbond- If the warbond doesn't exist in data/warbonds.json, add it there first
Place the stratagem icon in the appropriate folder under data/icons/:
data/icons/[Warbond Name]/
[Stratagem Name]/
icon.png (or relevant icon file)
For stratagems not in a Warbond, place them in the corresponding section folder if they belong to the Super Destroyer sections (Hangar, Engineering Bay, Bridge or Robotics Workshop):
data/icons/Hangar/
[Stratagem Name]/
icon.png
or
data/icons/Engineering Bay/
[Stratagem Name]/
icon.png
For stratagems not in a Warbond or special section, place them in:
data/icons/General Stratagems/
[Stratagem Name]/
icon.png
Note: The icon folders follow the naming convention of existing folders in the repository.
Ensure the changes respect game rules:
- If
requires_backpack: true, the category should besupport_weaponwithsubcategory: backpack_weapon - If category is
backpack, the backpack should not conflict with anysupport_weaponentries - Verify the stratagem code is accurate (test in game if possible)
- Run the development server (
npm run dev) - Verify the new stratagem appears in randomized loadouts
- Test that it respects:
- Correct Warbond filtering
- Backpack exclusion rules
- Level restrictions (if applicable)
- Ensure it appears in the correct UI category
-
Create a pull request with:
- Updated
data/stratagems.json - Updated
data/warbonds.json(if new warbond was added) - New icon files in
data/icons/ - PR title:
feat: Add [Stratagem Name] stratagem - PR description: Brief explanation of the new stratagem
- Updated
-
Include:
- Game patch/update version that added this stratagem
- Link to game patch notes if available
- Confirmation that you''ve tested it locally