• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DaniSomoza / galactic-commander / 12422152220

19 Dec 2024 10:57PM UTC coverage: 52.396% (-13.2%) from 65.587%
12422152220

Pull #11

github

web-flow
Merge e0cd6a508 into 4f9f087f0
Pull Request #11: Build units

204 of 768 branches covered (26.56%)

Branch coverage included in aggregate %.

363 of 886 new or added lines in 84 files covered. (40.97%)

10 existing lines in 7 files now uncovered.

1414 of 2320 relevant lines covered (60.95%)

3.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

4.55
/packages/game-engine/src/engine/units/checkUnitRequirements.ts
1
import { IPlayer } from '../../types/IPlayer'
2
import { IResearch } from '../../types/IResearch'
3
import { IUnit } from '../../types/IUnit'
4

5
export type UnitRequirement = {
6
  research: IResearch
7
  level: number
8
  playerResearchLevel: number
9
}
10
export type CheckUnitRequirementsType = {
11
  isUnitAvailable: boolean
12
  requirements: UnitRequirement[]
13
}
14

15
function checkUnitRequirements(unit: IUnit, player: IPlayer): CheckUnitRequirementsType {
NEW
16
  const requiredResearches = unit.requirements.researches
×
17

NEW
18
  const isOwnerOfTheSpecialPlanet = player.planets.colonies.some((planet) =>
×
NEW
19
    planet.units.some((planetUnit) => planetUnit.name === unit.name)
×
20
  )
21

NEW
22
  const isUnitRequirementsCompleted = requiredResearches.every((requiredResearch) => {
×
NEW
23
    const playerResearch = player.researches.researched.find(
×
NEW
24
      (playerResearch) => playerResearch.research.name === requiredResearch.research.name
×
25
    )
26

NEW
27
    const playerResearchLevel = playerResearch?.level || 0
×
28

NEW
29
    return playerResearchLevel >= requiredResearch.level
×
30
  })
31

NEW
32
  const requirements = requiredResearches.map((requiredResearch) => {
×
NEW
33
    const playerResearch = player.researches.researched.find(
×
NEW
34
      (playerResearch) => playerResearch.research.name === requiredResearch.research.name
×
35
    )
36

NEW
37
    const playerResearchLevel = playerResearch?.level || 0
×
38

NEW
39
    return {
×
40
      research: requiredResearch.research,
41
      level: requiredResearch.level,
42
      playerResearchLevel
43
    }
44
  })
45

NEW
46
  const isUnitAvailable = isOwnerOfTheSpecialPlanet || isUnitRequirementsCompleted
×
47

NEW
48
  return {
×
49
    isUnitAvailable,
50
    requirements
51
  }
52
}
53

54
export default checkUnitRequirements
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc