// Main INI File for Shattered Union // --------------------------------- // --------------------------------------------------------------------------- // Balancing parameters // --------------------------------------------------------------------------- INT StartingUnitsPerFaction = 20 INT EasyAIextraMoney = 1000 INT MediumAIextraMoney = 2000 INT HardAIextraMoney = 4000 // --------------------------------------------------------------------------- // Movement and defense costs // --------------------------------------------------------------------------- // DEFENSE MODIFIER // f w t t p c d A V I // o h r o l o u I E N // o e e w a p m R H F // t e a e n t m I A // l d d e r y C N // INT TerrainRoad = 700, 800, 800, 800, 1000, 1000, 0, 0, -1, -1 INT TerrainClear = 1200, 1200, 1200, 1200, 1000, 1000, 0, 0, 0, -1 INT TerrainForest = 1800, 2000, 2200, 3000, 1000, 1000, 0, 0, +1, +3 INT TerrainSwamp = 2000, 2300, 2300, 3400, 1000, 1000, 0, 0, -1, +1 INT TerrainField = 1200, 1200, 1200, 1200, 1000, 1000, 0, 0, 0, 0 INT TerrainCity = 1000, 1200, 1200, 1200, 1000, 1000, 0, 0, +1, +5 INT TerrainOcean = 0, 0, 0, 0, 1000, 1000, 0, 0, 0, 0 INT TerrainLake = 0, 0, 0, 0, 1000, 1000, 0, 0, 0, 0 INT TerrainRiver = 2000, 3500, 3500, 3500, 1000, 1000, 0, 0, -6, -2 //INT TerrainTown = 1000, 1000, 1000, 1000, 1000, 1000, 0, 0, +1, +5 // --------------------------------------------------------------------------- // Map scanline renderer values // This contains adjustable data for the colormap scanline rendered in editor mode. // --------------------------------------------------------------------------- // The texture size used for rendering the light map. INT LightMapSize=1024 // The light value in RGB for the sunlight. FLOAT LightColor=232, 235, 230 // The light value used for the dark side of things FLOAT SkyColor=50, 60, 80 // Ambient light value in RGB FLOAT AmbientColor=32, 32, 32 // --------------------------------------------------------------------------- // D3D light controls // This contains adjustable data for the runtime light for objects, trees // and editor mode terrain // --------------------------------------------------------------------------- // Light direction for ingame lit stuff FLOAT HWInitalLightDirection = 1.0, 1.0, -1.0 // What is the multiplier for color of the sky. FLOAT HWSkyColorMultiplier = 0.65, 0.8, 0.95 // What is the base color for the sky? FLOAT HWSkyColorAmbient = 0.0, 0.0, 0.0 // What is the color multiplier for the light? (In RGB components) Applies to diffuse and ambient FLOAT HWLightColorMultiplier = 0.7, 0.675, 0.675 // What is the color additive for the light? (In RGB components) Applies ONLY to diffuse FLOAT HWLightColorAdditive = 0.325, 0.325, 0.3 // What are the directional coefficients for the light (1st is terrain, 2nd is object, 3rd is trees) FLOAT HWDirectionalCoefficients = 1.0, 0.3, 1.0 // What are the ambient light base value to add (1st is terrain, 2nd is object, 3rd is trees) FLOAT HWAmbientLightValues = -0.05, 1.0, 0.0 // Fog range modifier. FLOAT HWFogRangeMultiplier = 0.1 // --------------------------------------------------------------------------- // Movement/animation speed for the units // --------------------------------------------------------------------------- // Infantry FLOAT Game_InfantrySpeedModifier = 1.0 // Land vehicles FLOAT WheeledVehicleSpeed = 0.35 FLOAT TrackedVehicleSpeed = 0.325 FLOAT Game_LandVehicleSpeedModifier = 1.0 // Helicopters FLOAT Game_RotaryWingSpeedModifier = 1.0 // Airplanes FLOAT Game_FixedWingySpeedModifier = 0.4 // PowerUp parachutes FLOAT Game_ParachuteSpeedModifier = 2.0 // --------------------------------------------------------------------------- // Parameters for the water to land transitions. // --------------------------------------------------------------------------- // This tells how reflective the water of the ocean is at their deepest point. 0 = full, 255 = none. FLOAT OceanDeepestAlpha = 70 // This parameter must be left at 127 FLOAT OceanShorelineAlpha = 127 // This tells how reflective the water of the lakes is at their deepest point. 0 = full, 255 = none. FLOAT LakesDeepestAlpha = 70 // This parameter must be left at 127 FLOAT LakesShorelineAlpha = 127 // These parameters are used to compute the shoreline edges. INT MaxCellDistanceOcean = 3 INT MaxCellDistanceLake = 2 INT MaxCellDistanceRiver = 2 INT MaxCellDistanceLand = 2 // --------------------------------------------------------------------------- //Thumbnail Camera Parameters - PI = 3.141592 // --------------------------------------------------------------------------- // How tilted the camera will be put when going into thumbnail mode. 0.0 = pure vertical, Pi/2 = pure horizontal FLOAT ThumbnailMapViewAnglePhiOffset = 0.0 // PI = north at the top. FLOAT ThumbnailMapViewAngleTheta = 3.141592 // How far away the camera is placed when going into thumbnail mode. // (If greater that Camera_Game_MaxHeight, this value will be clamped to Camera_Game_MaxHeight value) FLOAT ThumbnailMapFocalLength = 32000 // The FOV factor, 2.0 = game camera default, less = less perspespective, more = more perspective. FLOAT ThumbnailMapTargetFOV = 0.325 // --------------------------------------------------------------------------- //Camera Parameters - DO NOT TOUCH UNLESS YOU KNOW WHAT YOU ARE DOING // --------------------------------------------------------------------------- //decreasing this will make the camera less steep at the max height FLOAT Camera_Game_MaxPhi = 1.1 //decreasing this will make the camera less steep (more towards the horizon) at the min height FLOAT Camera_Game_MinPhi = 0.55 //max camera height (this is also used for the non-locked camera as well now) // ggg -> You'll need to change this for the thumbnail stuff FLOAT Camera_Game_MaxHeight = 3000 //min camera height FLOAT Camera_Game_MinHeight = 350 //the height at which the camera starts to pitch towards the horizon FLOAT Camera_Game_HeightToBeginPhiChange = 1700 //Action Camera Parameters FLOAT Camera_Action_MinAttackHeight = 90 FLOAT Camera_Action_MaxAttackHeight = 150 FLOAT Camera_Action_AttackHexHeight = 250 FLOAT Camera_Action_AttackDistance = 125 FLOAT Camera_Action_MovementDistance = 300 FLOAT Camera_Action_MovementHeight = 250 FLOAT Camera_Action_MovementViewerSpeed = 50 FLOAT Camera_Action_MovementTargetSpeed = 40 FLOAT Camera_Action_AttackViewerSpeed = 70 FLOAT Camera_Action_AttackTargetSpeed = 50 FLOAT Camera_Action_AirCombatViewerSpeed = 90 FLOAT Camera_Action_AirCombatTargetSpeed = 120 FLOAT Camera_Action_AirCombatInitialFocalDistance = 200 FLOAT Camera_Action_AirCombatEndingFocalDistance = 300 // ----------------------------------------------------------------------------------- // Combat Mechanics // --------------------------------------------------------------------------------- //the number of world units at which the combat takes into //account either a major or minor height advantage. FLOAT Game_WorldUnitsForMinorHeightAdvantage = 20 FLOAT Game_WorldUnitsForMajorHeightAdvantage = 50 //The bonus points given to the attack strength for major and minor height advantages (No longer used) INT Game_BonusForMinorHeightAdvantage = 0 INT Game_BonusForMajorHeightAdvantage = 0 //the percentage chance that an attack will be a critical hit FLOAT Game_PercentageForCriticalHits = 0.05 //the amount the attack strength is multiplied by if a critical hit occurs FLOAT Game_CriticalHitAttackMultiplier = 1.25 //the amount that damage is multiplied by for an initiated attack FLOAT Game_InitiatorAttackMultiplier = 1.15 //the amount that damage is multiplied by for a retalliation attack FLOAT Game_RetalliationAttackMultiplier = 1.0 //The range of randomness applied to attack strength INT Game_AttackStrengthRandomModifierMin = 0 INT Game_AttackStrengthRandomModifierMax = 2 // --------------------------------------------------------------------------- // Hex Destruction parameters // --------------------------------------------------------------------------- //The amount of "destruction cost" attributed to the player when he blows up one of these types of objects //This is used for prestige and reputation calculations INT DestructionCostForTrees = 0 INT DestructionCostForBridges = 80 INT DestructionCostForBuildings = 40 INT DestructionCostForLandmarks = 300 INT DestructionCostForFarms = 20 // When determining the max hit points for each hex, this is how much each object is worth. // Note that the objects themselves do not have hit points, only the hex has hit points. The // hex gets a certain amount of hit points for each of the objects it contains. When hit points // are taken away from the hex, objects become destroyed, but not in any particular order. FLOAT HitPointsForTrees = 0.5 FLOAT HitPointsForBridges = 10.0 FLOAT HitPointsForBuildings = 2.0 FLOAT HitPointsForLandmarks = 21.0 FLOAT HitPointsForFarms = 2.0 //hit point multipliers. The above hit points for each type of object are multiplied by these values //according to logical terrain type. This allows us to make city hexes tougher than suburban hexes(towns), //as the buildings in the city hexes should be tougher than those in town hexes. FLOAT HitPointMultiplierForCity = 1.5 FLOAT HitPointMultiplierForTown = 1.2 FLOAT HitPointMultiplierForClear = 1.0 FLOAT HitPointMultiplierForForest = 1.1 FLOAT HitPointMultiplierForSwamp = 1.0 FLOAT HitPointMultiplierForOcean = 1.0 FLOAT HitPointMultiplierForLake = 1.0 FLOAT HitPointMultiplierForRiver = 1.0 //every hex gets at least the minimum hit points, plus points for the objects they contain //no hex can go over the maximum number of hit points INT MinHexHitPoints = 3 INT MaxHexHitPoints =50 // ----------------------------------------------------------------------------------- // Buy, Sell, and Requisition interface // ----------------------------------------------------------------------------------- // the smaller this number, the faster the cube will rotate INT CubeRotationTime = 100 // ----------------------------------------------------------------------------------- // Unit Variables // ----------------------------------------------------------------------------------- // what percentage of the purchase cost will an undamaged unit sell for? INT SellPercentageOfPurchaseCost =75 // what percentage of the purchase cost would a 100% damaged unit cost to repair?] INT RepairPercentageOfPurchaseCost = 30 // how many battles does a unit need to achieve Regular status? INT BattlesNeededForRegularStatus = 2 // percentage increase in hit points if unit has Regular status INT HPIncreaseForRegularStatus = 20 // how many battles does a unit need to achieve Veteran status INT BattlesNeededForVeteranStatus = 5 // percentage increase in hit points if unit has Veteran status INT HPIncreaseForVeteranStatus = 50 // What is the maximum number of partisans that can appear in a battle? INT MaxNumberOfPartisans = 5 // For every "X" points that the winning side's popularity is higher, they get one partisan. What is X? INT PopularityPerPartisan = 115 // ----------------------------------------------------------------------------------- // Skirmish Setup // ----------------------------------------------------------------------------------- // default starting money for skirmish mode (must be in increments of 100000! Must be between MinSkirmishCash and MaxSkirmishCash!) INT DefaultSkirmishCash = 800000 // minimum and maximum amounts of cash that a player can have when starting skirmish mode INT MinSkirmishCash = 100000 INT MaxSkirmishCash = 10000000 // ----------------------------------------------------------------------------------- // Credits Screen // ----------------------------------------------------------------------------------- // Credits text scroll rate. Slower values = faster text. // 15000 is a pretty medium speed. INT CreditsTextSpeed = 15000 // ----------------------------------------------------------------------------------- // Karma modifiers // ----------------------------------------------------------------------------------- // percentage of the enemy's damage that you should be held accountable for FLOAT Karma_EnemyDamagePercent = 0.10 // percentage of the global karma change that should apply towards the local // karma between that faction and that territory. FLOAT Karma_GlobalToLocalPercent = 0.10 // how many karma points do you get per destruction point of damage you cause FLOAT KarmaPointsPerDestructionPoint = 0.5 // the maximum amount of prestigue slide capable in one turn (both towards good, // or towards bad, you will never be able to move more than this many points per battle) INT Karma_MaximumPrestigeSlidePerBattle = 20 // these determine how the prestige (0-1000) get turned into the special powers level (-5-5) // The base "neutral" value is 500. If you add/subtract the value for any of these, that will // get you the number that your prestige has to pass in order to get to that level of SP. // Example: Neutral of 500 - ( PrestigeLevel2 = 100 ) = 400. so once your prestigue gets // below 400, you will drop from SP level -1 to SP level -2. Note, because of this, that // PrestigeLevel5 should not be equal to 500 like I said, as that will force you to max out // your prestige in either direction in order to attain that ranking. INT Prestige_Level1 = 55 INT Prestige_Level2 = 115 INT Prestige_Level3 = 195 INT Prestige_Level4 = 305 INT Prestige_Level5 = 445 // ----------------------------------------------------------------------------------- // campaign specifics // ----------------------------------------------------------------------------------- // which turn to play the movies. // movies will be played at the very -beginning- of this turn INT TurnForFirstMovie = 5 INT TurnForSecondMovie = 10 // default starting cash for a faction in campaign (in 1000s) INT DefaultCampaignCash = 125000 // percent bonus per feature building (bar on the campaign screen) INT BonusPerMoneyBar = 5 INT BonusPerAirCostBar = 5 INT BonusPerInfantryCostBar = 5 INT BonusPerVehicleCostBar = 5 INT BonusPerFuelBar = 5 INT BonusPerDamageBonusBar = 5 INT BonusPerDamageResistanceBar = 5 INT BonusPerRepairBar = 5 // cumulative bonuses can't go higher than this percentage INT TerritoryBonusCap = 50 // ----------------------------------------------------------------------------------- // resupply modifiers // ----------------------------------------------------------------------------------- // percentage (of total) of hp and fuel to restore if the unit spends a turn not moving or firing in a city hex INT HPPercResupplyCity = 50 INT FuelPercResupplyCity = 100 // percentage (of total) of hp and fuel to restore if the unit spends a turn not moving or firing in any hex other than a city hex INT HPPercResupplyNOTCity = 25 INT FuelPercResupplyNOTCity = 50 // --------------------------------------------------------------- // AI deployment hint percentages // ----------------------------------------------------------------- //each set needs to add to 1.0 FLOAT AI_AggressiveTendencyToUseKing = 0.5 FLOAT AI_AggressiveTendencyToUseQueen = 0.2 FLOAT AI_AggressiveTendencyToUseRook = 0.2 FLOAT AI_AggressiveTendencyToUseBishop = 0.1 FLOAT AI_BalancedTendencyToUseKing = 0.25 FLOAT AI_BalancedTendencyToUseQueen = 0.4 FLOAT AI_BalancedTendencyToUseRook = 0.25 FLOAT AI_BalancedTendencyToUseBishop = 0.1 FLOAT AI_PassiveTendencyToUseKing = 0.1 FLOAT AI_PassiveTendencyToUseQueen = 0.2 FLOAT AI_PassiveTendencyToUseRook = 0.5 FLOAT AI_PassiveTendencyToUseBishop = 0.2 // --------------------------------------------------------------- // campaign ending video decisions // ----------------------------------------------------------------- // if the ending reputation is below this number, play the evil video INT ThatGuyWasEvil = 250 // if the ending reputation is above this number, play the good video INT WhatANiceGuy = 750 // if it's in between those numbers, we'll play the neutral video