Coordinate rallies, assign members, plan siege timing.
Last updated: October 9, 2026. Event rosters reset week to week.
Enter members and targets, then generate.
The post leaders hand-type before every event, built in seconds: paste your members (strongest first — round-robin spreads them evenly), pick an event preset or make your own groups, add per-group orders, copy to Discord. Your roster and groups save automatically for next week.
Paste members, pick a preset, and build.
The Alliance War Planner takes your real member names (one per line), your target list, and the number of rallies you want to run, then assigns members to rallies round-robin so the load spreads evenly. The output is a copy-ready assignment sheet — who leads what, who joins where — which is the artifact alliance chats actually need in the ten minutes before a fight.
Assigns your alliance's members across rally targets and tells you what each rally is carrying.
numRallies = Math.min(numRallies, targets.length || 1, members.length); — Capped by the number of targets AND the number of members — you cannot run more rallies than you have either.Math.ceil(members.length / numRallies) — Rounded UP, so the figure is the largest rally rather than an average that leaves someone out.It reads the roster you keep on the roster page, which lives in your own browser. Nothing about your alliance is sent anywhere.
Every expression shown in code above is quoted from js/calc-war.js, which is the file this page actually runs.