--- id: wiki-2026-0508-jailing title: Jailing category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Player Jailing, Pinning, Lockdown Tactics] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [game-design, pvp, mmo-strategy, war-commander] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: design-pattern framework: pvp-strategy --- # Jailing ## 매 한 줄 > **"매 victim 의 base 의 around 매 cordon 의 build → 매 movement 의 prevent"**. Jailing 매 PvP MMO strategy 매 attacker 의 victim 의 surrounding tiles 의 occupy 하여 매 base relocation, scouting, alliance reinforcement 의 block. War Commander, Last War, Mobile Strike 매 default war tactic. ## 매 핵심 ### 매 Mechanics - **Tile occupation**: 매 victim base 의 adjacent grid cells 의 attacker units 의 station. - **Bubble (shield) blocking**: 매 victim 의 peace shield 의 expire 후 매 immediate strike 의 setup. - **Travel time exploit**: 매 march time + tile cooldown 매 victim 의 reaction window 의 close. ### 매 Tactical Layers - **Solo jailing**: 매 1v1 attacker → defender 의 personal lockdown. - **Coordinated jailing**: 매 alliance-wide cordon, 매 multiple bases 의 simultaneously pin. - **Counter-jail**: 매 jailed player 의 alliance 의 rescue march 의 dispatch. ### 매 응용 1. Pre-event farming — 매 high-value target 의 jail 한 후 매 resource 의 systematically loot. 2. War objective — 매 enemy alliance leader 의 jail 매 morale crash 의 induce. 3. Bullying/griefing concern — 매 design tension 매 healthy PvP vs toxic harassment. ## 💻 패턴 ### Tile occupation check ```typescript interface Tile { x: number; y: number; occupantId: string | null; } interface Base { ownerId: string; x: number; y: number; } function isJailed(base: Base, tiles: Map): boolean { const adjacent = [ [-1, -1], [0, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1], ]; let blocked = 0; for (const [dx, dy] of adjacent) { const key = `${base.x + dx},${base.y + dy}`; const t = tiles.get(key); if (t?.occupantId && t.occupantId !== base.ownerId) blocked++; } return blocked >= 6; // 6/8 surrounding tiles occupied = jailed } ``` ### Relocation block validator ```typescript function canRelocate(base: Base, tiles: Map, cooldownMs: number, lastMove: number): Result { if (Date.now() - lastMove < cooldownMs) { return { ok: false, error: 'RELOCATE_COOLDOWN' }; } if (isJailed(base, tiles)) { return { ok: false, error: 'JAILED_CANNOT_RELOCATE' }; } return { ok: true, value: { x: base.x, y: base.y, occupantId: null } }; } ``` ### Alliance rescue march ```typescript async function dispatchRescue(allianceId: string, jailedBaseId: string): Promise { const members = await getAllianceMembers(allianceId); const target = await getBase(jailedBaseId); return members .filter(m => marchTime(m.base, target) < 30 * MINUTE) .map(m => ({ from: m.base, to: pickAdjacentEnemyTile(target), type: 'rally', arrivesAt: Date.now() + marchTime(m.base, target), })); } ``` ### Jail timer + escape window ```typescript class JailState { jailedAt: number | null = null; consecutiveJailMs = 0; tick(now: number, currentlyJailed: boolean) { if (currentlyJailed && this.jailedAt === null) this.jailedAt = now; if (currentlyJailed) this.consecutiveJailMs = now - (this.jailedAt ?? now); if (!currentlyJailed) { this.jailedAt = null; this.consecutiveJailMs = 0; } } // Mercy mechanic: 매 24h+ jailing 매 forced teleport shouldForceTeleport(): boolean { return this.consecutiveJailMs > 24 * HOUR; } } ``` ### Anti-griefing throttle ```typescript function canAttack(attacker: Player, defender: Player): boolean { const power = attacker.power / Math.max(1, defender.power); if (power > 5) return false; // 매 5x power gap 의 block if (defender.daysSinceInstall < 7) return false; // newbie protection return true; } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Hardcore PvP MMO (War Commander, Last War) | 매 jailing 의 core mechanic 의 enable | | Casual / mid-core | 매 24h jail cap + auto-teleport 의 mercy | | New player onboarding | 매 first 7 days 의 immune | | Whale-vs-newbie 의 mismatch | 매 power gap throttle 의 enforce | **기본값**: 매 jailing 의 enabled 하되 매 mercy timer + power throttle 의 always enforce. ## 🔗 Graph - 부모: [[War Commander]] - 응용: [[Mobile Strike]] · [[Evolution-of-the-War-Commander-Combat-Ecosystem]] - Adjacent: [[Alliances-and-Sector-Hegemony]] · [[Defense-Buildings]] · [[Base-Layouts-and-Kill-Zones]] ## 🤖 LLM 활용 **언제**: Tactical guide drafting, alliance war debrief synthesis, anti-griefing policy copy. **언제 X**: Live combat decisions (latency), legal policy 매 toxic behavior boundary. ## ❌ 안티패턴 - **Unbounded jailing**: 매 mercy timer 매 absent 매 player churn 의 surge. - **No power throttle**: 매 whale 의 newbie 의 farm 매 acquisition funnel 의 destroy. - **Tile economy 의 absent**: 매 attacker 의 cost 매 zero 매 perpetual lockdown. - **Alliance rescue 의 broken**: 매 cooperative gameplay 매 stripped. ## 🧪 검증 / 중복 - Verified (War Commander community wikis, Mobile Strike PvP guides, MMO strategy literature 2024-2025). - 신뢰도 A-. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — jailing mechanics, tile occupation, anti-grief throttles |