-
Notifications
You must be signed in to change notification settings - Fork 43
Warfare
Warfare in game consist of series of battles. A country (or rebels) makes order whom to attack, battle happens after current turn. Attacked country automatically re-mobilizes army. Each battle is defensive for one side and offensive for other side. Loser lose all his army involved in battle, while winner lose men in proportion to loser's strength. Winner achieve his goal - for country it's province annexation, for rebels - desired reform enacted (or separatism). Currently, there is no peace treats in game. Countries can attack each other at will.
Default strength of Aristocrat fighters is 4, Tribesmen and Soldiers is 2, Farmers and Workers is 1. Army size depends on population's loyalty. Also there are strength modifiers, such as "Is in defense" giving 50% to defensive side. Moral modifier rises if you have Food to feed army. "Luck" is random modifier. "Horses" modifier applied if country invented Domestication and bought some Cattle. Other modifiers shows up when country invent and buy corresponding product. Note, that "Tanks" and similar modifiers wouldn't work if you have tanks but no Motor fuel or no Ammunition.
When mobilized army takes losses corresponding population unit from which corps was mobilized takes losses too.
static Modifier modifierInDefense = new Modifier(x => (x as Army).isInDefense(), "Is in defense", 0.5f, false); static Modifier modifierMorale = new Modifier(x => (x as Army).getAverageMorale().get(), "Morale", 1f, true); static Modifier modifierHorses = new Modifier(x => (x as Army).getHorsesSupply(), "Horses", 0.5f, false); static Modifier modifierColdArms = new Modifier(x => (x as Army).getColdArmsSupply(), "Cold arms", 1f, false); static Modifier modifierFirearms = new Modifier(x => (x as Army).getEquippedFirearmsSupply(), "Charged Firearms", 2f, false); static Modifier modifierArtillery = new Modifier(x => (x as Army).getEquippedArtillerySupply(), "Charged Artillery", 1f, false); static Modifier modifierCars = new Modifier(x => (x as Army).getEquippedCarsSupply(), "Fueled Cars", 2f, false); static Modifier modifierTanks = new Modifier(x => (x as Army).getEquippedTanksSupply(), "Fueled & charged Tanks", 1f, false); static Modifier modifierAirplanes = new Modifier(x => (x as Army).getEquippedAirplanesSupply(), "Fueled & charged Airplanes", 1f, false); static Modifier modifierLuck = new Modifier(x => (float)Math.Round(UnityEngine.Random.Range(-0.5f, 0.5f), 2), "Luck", 1f, false);
(actual for v0.16.2)