Respect Fremen group revival grant for bots
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
e439f3f7b6
commit
f9ca7ed9a9
6 files changed
+203
-7
No files matched your search
+3
-4
@@ -4670,11 +4670,10 @@ export function botActions(g: GameView): Action[] {
|
||||
* finish that decision; responses and unrelated actions remain available. */
|
||||
function waitsForHumanFremenGrant(g: Game, player: Game['players'][number]): boolean {
|
||||
if (g.status !== 'playing' || g.advanced || g.phase !== 4 || g.revivalOrder ||
|
||||
g.coalitionState || player.tanks <= 0 || revivalPrevented(g, player.id)) return false;
|
||||
player.tanks <= 0 || revivalPrevented(g, player.id)) return false;
|
||||
const fremen = g.players.find(seat => seat.faction === 'fremen');
|
||||
if (!fremen || fremen.bot || fremen.autopilot || fremen.ally !== player.id ||
|
||||
player.ally !== fremen.id || g.ready.includes(fremen.id) ||
|
||||
fremenRevivalGrantBlock(g, fremen.id) !== null) return false;
|
||||
if (!fremen || fremen.bot || fremen.autopilot || g.ready.includes(fremen.id) ||
|
||||
fremenRevivalGrantBlock(g, fremen.id, player.id) !== null) return false;
|
||||
const current = freeRevivalRemaining(g, player);
|
||||
const granted = freeRevivalRemaining({ ...g, freeRevival: [...g.freeRevival, player.id] }, player);
|
||||
return Math.min(player.tanks, granted) > Math.min(player.tanks, current);
|
||||
|
||||
Reference in new issue
Block a user