Implement defensive chase behavior and increase rotation speed
- Add defensive AI: players now chase puck carriers on opposing team - Update DefensiveBehavior to check opponent possession and target puck position - Increase player rotation speed from 3 to 10 rad/s for more responsive turning - Update Claude settings permissions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
ff97b227c2
commit
9e81619637
@ -3,7 +3,9 @@
|
||||
"allow": [
|
||||
"Bash(find:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(pnpm run:*)"
|
||||
"Bash(pnpm run:*)",
|
||||
"Bash(mkdir:*)",
|
||||
"Bash(git log:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
||||
@ -30,7 +30,7 @@ export const DEBUG = false;
|
||||
// Player constants
|
||||
export const PLAYER_RADIUS_GOALIE = 12; // pixels
|
||||
export const PLAYER_RADIUS_SKATER = 10; // pixels
|
||||
export const PLAYER_ROTATION_SPEED = 3; // radians per second
|
||||
export const PLAYER_ROTATION_SPEED = 10; // radians per second
|
||||
export const SPEED_SCALE_FACTOR = 10; // speed attribute (0-100) / 10 = m/s
|
||||
export const GOAL_DECELERATION_RATE = 0.9; // Speed multiplier reduction after goal
|
||||
|
||||
|
||||
@ -27,17 +27,20 @@ export class DefensiveBehavior extends BehaviorNode {
|
||||
if (puck.state !== 'carried') return false;
|
||||
if (puck.carrier === player.id) return false;
|
||||
|
||||
// TODO: Check if carrier is opponent (requires team roster access)
|
||||
// For now, just fail - will implement in Phase 6
|
||||
return false;
|
||||
// Check if carrier is opponent (different team)
|
||||
return puck.carrierTeam !== player.team;
|
||||
}),
|
||||
|
||||
// Defensive action (future implementation)
|
||||
new Action((player) => ({
|
||||
type: 'idle',
|
||||
targetX: player.gameX,
|
||||
targetY: player.gameY
|
||||
}))
|
||||
// Chase the puck carrier
|
||||
new Action((player, gameState) => {
|
||||
const { puck } = gameState;
|
||||
|
||||
return {
|
||||
type: 'chase_puck',
|
||||
targetX: puck.gameX,
|
||||
targetY: puck.gameY
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user