Nobles & conquest

Player villages cannot be destroyed. They are conquered only. Noblemen reduce loyalty. At zero loyalty, a successful attack with a free academy slot transfers the village.

Loyalty

Every player village starts at 100 loyalty. Loyalty only matters for player-held villages. Barbarians have no loyalty track.

When an attack with at least one surviving noble wins, loyalty drops by a random amount between 13 and 33 for that assault (once per attack, not per noble).

If loyalty is still above zero, the village stays with its owner. Over time, loyalty recovers by +1 on a fixed interval (320 minutes at ×1 unit speed) while the village is left in peace.

Taking a village

When loyalty reaches 0, the next successful attack that includes at least one surviving noble can claim the village, but only if you have a free noble slot.

The conquered village becomes yours with loyalty reset to 100. Its queues, troops, and buildings remain as they were at the moment of conquest.

If you lack a slot, you can still farm loyalty to zero repeatedly, but you cannot hold the village until a slot frees up.

Noble slots

Each noble in the field or garrison consumes one slot. Your cap is: total academy levels across all your villages, minus (number of villages − 1).

Example: two villages with academies at levels 2 and 1 give 3 total academy levels. With two villages your slot cap is 3 − 1 = 2 nobles.

The academy building maxes at level 3 per village and is the gate for training noblemen. It is a long, expensive commitment.

Training noblemen

Noblemen train only at the academy. They are slow, costly, and tie up large population. Plan conquest waves carefully.

Multiple nobles in one attack increase battle risk (more valuable units to lose) but do not multiply loyalty damage beyond the single roll per assault.

Reference values (×1 world)

Starting loyalty
100
Loyalty lost per successful attack with nobles
13–33
Loyalty recovery
+1 every 320 minutes when not under pressure
Noble slots available
total_academy_levels − (village_count − 1)