Events, Items & Account

Castle appointments

Look up the positions of the Sunfire Castle and the buffs they give: President, Vice President, and the five Ministers. Use it to show which buffs are available for each position.

The skills of the President, the global perks, are in President skills.


Type

CastleAppointment

FieldTypeDescription
idstringStable identifier, such as minister-of-health
namestringDisplay name
kindCastleAppointmentKind'president', 'vice-president', or 'minister'
bonusesCastleAppointmentBonus[]Buffs the position gives
boostedBonusesCastleAppointmentBonus[]?Boosted values of the same buffs, on the Ministers

CastleAppointmentBonus

FieldTypeDescription
statstringStat name
statKeystringStable key, the same as in Research
valuestringDisplay string in the wording of the game, such as +100%
amountnumberParsed amount
unit'percent' | 'flat'Whether amount is a percent or a flat value

The statKey values are the same as in research(), so a position bonus matches a research bonus of the same stat.

CASTLE_APPOINTMENT

FieldValueDescription
cooldownSeconds7200Cooldown between appointments, 2 hours
applicationValiditySeconds86400An application stays valid for 24 hours
maxApplicationsPerPosition100Most applications for each position

Factory

import { castleAppointments } from 'whiteout-survival-data'

castleAppointments() // all 8 positions
castleAppointments(source) // wrap a pre-filtered array

Filters

MethodSignatureDescription
byKindbyKind(kind: CastleAppointmentKind)Filter to the positions of one kind: president, vice-president, or minister.

Terminal methods

MethodReturnsDescription
.get()CastleAppointment[]All results
.first()CastleAppointment | undefinedFirst result
.find(id)CastleAppointment | undefinedFind by id
.findByName(name)CastleAppointment | undefinedCase-insensitive exact name match
.search(query)CastleAppointment[]Case-insensitive partial name match
.count()numberNumber of results

Data

PositionBonusesBoosted values
Supreme PresidentTroops Attack, Defense, Lethality, Health +7.5%none
PresidentTroops Attack, Defense, Lethality, Health +5%none
Vice PresidentConstruction, Research, Training Speed +10%none
Minister of DefenseTroops Lethality +10%+15%
Minister of StrategyTroops Attack +5%, Deployment Capacity +2,500+8%, +3,750
Minister of HealthHealing Speed +100%, Infirmary Capacity +5,000+150%, +7,500
Minister of EducationTraining Speed +50%, Training Capacity +200+75%, +300
Minister of InteriorResource Production Speed +80%+120%

Examples

import { CASTLE_APPOINTMENT, castleAppointments } from 'whiteout-survival-data'

castleAppointments().count() // 8

// Buffs of one position
const health = castleAppointments().find('minister-of-health')!
health.bonuses.map((b) => `${b.stat} ${b.value}`)
// ['Healing Speed +100%', 'Infirmary Capacity +5,000']
health.boostedBonuses?.map((b) => b.value) // ['+150%', '+7,500']

// Positions of one kind
castleAppointments().byKind('minister').count() // 5

// Rules of the appointments
CASTLE_APPOINTMENT.cooldownSeconds // 7200

Known gaps

Assumptions

The package does not state what makes a minister buff boosted, so boostedBonuses holds the values only.

The President positions and the Vice President have no boosted value.

The Supreme President has one value and the President has another. The package does not say which state holds which, because it depends on the State of Power result.

The Ministers of Security, Development, and Science are not in the data. The package has no appointment duration.

The positions have no icons. The game shows a player portrait for each position.


Next steps

Previous
Chief Orders