Clan Capital

Clan Capital Defenses & Traps

Everything that defends a Clan Capital district during Raid Weekend: defenses, traps, and walls.


Defenses

clanCapital().defenses() returns a ClanCapitalDefenses query over all 21 district defenses.

import { clanCapital } from 'clash-of-clans-data'

const cannon = clanCapital().defenses().cannon().first()!
const dh5Defenses = clanCapital().defenses().byCapitalHall(5).get()

Entities (21)

cannon · spearThrower · airDefense · multiCannon · bombTower · multiMortar · airBombs · blastBow · raidCartPost · rapidRockets · crusher · giantCannon · goblinThrower · hiddenMegaTesla · infernoTower · miniMinionHive · superDragonPost · superGiantPost · superWizardTower · rocketArtillery · reflector

Filters

MethodSignatureDescription
byTargetTypebyTargetType(type: 'ground' | 'air' | 'both')Filter by target type.
byCapitalHallbyCapitalHall(level: number)Filter by Capital Hall availability.

Type shape

interface ClanCapitalDefense extends Building<ClanCapitalDefenseLevel> {
  targetType: 'ground' | 'air' | 'both'
  modes: { normal: DefenseMode }
  defendingTroops?: Array<{ name: string; count: number }>
  availablePerCapitalHall?: CapitalHallAvailability[]
  availablePerDistrict: DistrictAvailability[]
}

interface ClanCapitalDefenseLevel extends BuildingLevel {
  capitalHallRequired?: number
  districtHallRequired: number
  deathDamage?: number
  troopLevel?: number
  stats: { normal: DefenseModeStats }
  images: { normal: string }
}

availablePerDistrict lists how many instances of the defense are placed in each of the 8 Clan Capital districts, indexed by that district's District Hall level.


Traps

clanCapital().traps() returns a ClanCapitalTraps query over all 5 traps.

Entities (5)

mine · megaMine · logTrap · zapTrap · spearTrap

Filters

MethodSignatureDescription
byTargetTypebyTargetType(type: 'ground' | 'air' | 'both')Filter by target type.
byDistrictbyDistrict(district: string)Filter to traps placed in a given district.

Walls

clanCapital().walls() returns a ClanCapitalWalls query over the single Clan Capital wall entity.

import { clanCapital } from 'clash-of-clans-data'

const wall = clanCapital().walls().wall().first()!

Filters

MethodSignatureDescription
byCapitalHallbyCapitalHall(level: number)Filter by Capital Hall availability.

Type shape

interface ClanCapitalWall {
  id: string
  name: string
  levels: ClanCapitalWallLevel[]
  availablePerCapitalHall: CapitalHallAvailability[]
  availablePerDistrict: DistrictAvailability[]
}

interface ClanCapitalWallLevel {
  level: number
  hitpoints: number
  capitalHallRequired: number
  districtHallRequired: number
  images: { normal: string; corner: string }
}

Next steps

Previous
Overview