Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Decompiled using luadec 3.2 -- Tue May 27 22:37:20 2014
- -- File name: _const.lua
- const.DefaultMouseCursor = "UI/Cursors/cursor.tga"
- const.DefaultTimeFactor = 1000
- const.MinTimeFactor = 100
- const.MaxTimeFactor = 100000
- const.RolloverWidth = 150
- const.SACheckConditionTime = 1423
- const.StampAnimDuration = 250
- const.InterfaceAnimDuration = 250
- const.PredefinedSceneActors = {"Hero_01"}
- const.MaxPassableTerrainSlope = 30
- const.MaxPassableHeightDiff = 90 * guic
- const.POIHeightOffset = 1200
- const.FadeCullRadius = 430
- const.TradeOfferShipSpeedUp = 100
- const.DefaultBugPriority = "normal"
- const.MaxNPCDistance = 2000
- const.DefaultCameraRTS = {MinHeight = 12, MaxHeight = 40, HeightInertia = 4, MoveSpeedNormal = 40, MoveSpeedFast = 60, RotateSpeed = 6, LookatDist = 40, LowRotationRadius = 40, HighRotationRadius = 40, CameraYawRestore = 0, UpDownSpeed = 230, MinZoom = 800, MaxZoom = 8000, BBox = box(point(0, 0, 0), point(0, 0, 0))}
- const.CutsceneNearZ = "1.5"
- const.ObjSurfaceCache = 0
- const.XboxCameraPanSpeedConstruction = 20
- const.XboxCameraPanSpeedSelection = 80
- const.XboxCameraPanSpeedDefault = 80
- const.RoadConstructionMaxLength = 200 * guim
- const.RoadMaxLength = 50 * guim
- const.RoadEdgeLen = 8 * guim
- const.RoadMinVisibleLen = 10 * guic
- const.RoadMinLength = const.RoadMinVisibleLen + 2 * const.RoadEdgeLen
- const.RoadMinTurnRadius = 10 * guim
- const.RoadMinDistToCrossroad = 17 * guim
- const.RoadMinDistToSpline = 11 * guim
- const.RoadMaxSlopeAngle = 2400
- if Platform.editor then
- hr.EditorRampThreshold = sin(const.RoadMaxSlopeAngle)
- end
- const.RoadBlurRadius = 6
- const.RoadSmoothStep = 1500
- const.RoadMaxTiltAngle = 1200
- const.RoadUrbanDistance = 100 * guim
- const.RoadUrbanEnumRadius = 100 * guim
- const.RoadSubgraphThreshold = 80 * guim
- const.RoadRemoveObjectsColor = RGB(220, 220, 220)
- const.RoadForbidObjectsColor = RGB(180, 20, 0)
- const.RoadSnapDistance = 15 * guim
- const.RoadSnapAngle = 2700
- const.RoadSnapSize = 10 * guim
- const.RoadSnapToEndDist = 6 * guim
- const.RoadSnapDirMaxAngle = 300
- const.RoadSegmentCost = 20
- const.RoadParallelAngleError = 600
- const.RoadPerpendicularAngleError = 1200
- const.RoadOppositeMinAngle = 10200
- const.RoadFaceAwayAngle = 6600
- const.RoadAdustTanMaxAngle = 4200
- const.RoadAdustTanStepCount = 4
- const.RoadOppositAlignMaxAngle = 2100
- const.RoadSimilarRemoveMinAngle = 8700
- const.RoadCrossEnumStep = 30 * guim
- const.RoadOrientCursorRadius = 40 * guim
- const.RoadMapBorder = 20 * guim
- const.RoadSelfDestroyTime = 500
- const.RoadSidewalk = 2 * guim
- const.RoadSmallClasses = {"Tree", "Bush"}
- const.RoadRemoveGrassBorder = const.RoadSidewalk + 1 * guim
- const.RoadTerrains = {urban = "RoadTiles", rural = "scree"}
- const.MetroStationUseThreshold = 50 * guim
- const.MetroStationWalkDistance = 100 * guim
- const.BuildGridTileSize = 10 * guim
- const.ConstructionFlatZTolerance = 10 * guic
- const.ConstructionLandZTolerance = 5 * guim
- const.ConstructionSlightSlopeZTolerance = 17 * guim / 10
- const.ConstructionWaterDepth = 5 * guim
- const.ConstructionMaxHeight = 1000 * guim
- const.AgesPerAgeGroup = 15
- const.FalloffRadiusPercent = 125
- const.MaximumHouseDistance = 500 * guim
- const.MineSnapDist = 50 * guim
- const.DebtAllowed = 10000
- const.SimulationTickTime = 30000
- const.MonthLength = const.SimulationTickTime
- const.YearLength = 12 * const.MonthLength
- const.InitialYear = 0
- const.DemographicsValues = 5
- const.NonShackAppealBoost = 100
- const.PercentDyingFromStarvation = 1
- const.MigrationHappinessMaxDifference = 30
- const.MigrationMaxChangeFromHappiness = 75
- const.MigrationEmploymentMaxDifference = 15
- const.MigrationMaxChangeFromEmployment = 100
- const.MigrationRandomModification = 25
- const.GarageMaxDistFromRoad = 2100
- const.StartingForeignPowerStanding = 50
- const.StartingFactionStanding = 50
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- const.DeathAgeForEachEra, const.BabyAge, const.GradeSchoolAge, const.JobQualityPerBudgetLevel, const.NewHomeMove, const.HouseQualityAppealMultiplier, const.MaxDistanceToSchool, const.MaxSpouseWorkDistance, const.NewJobMove, const.DepositUraniumWarningAmount, const.DepositOilWarningAmount, const.DepositGoldWarningAmount, const.DepositCoalWarningAmount, const.DepositBauxiteWarningAmount, const.DepositIronWarningAmount, const.SovereignDebtRate, const.ForeignPowersDiplomaticActionCooldown, const.ForeignPowersInviteCooldown, const.ForeignStandingLabels = {T({5288, "Hostile"}), T({5289, "Cold"}), T({5290, "Neutral"}), T({5291, "Warm"}), T({5292, "Cordial"})}, 4, 10, 5, 25 * guim, 5 * guim, 500 * guim, 500 * guim, 5, 1000, 1000, 1000, 1000, 1000, 1000, 10000, 12, 24, 12 * const.MonthLength
- const.InitialCaribbeanHappiness = 25
- const.CaribbeanHappinessStep = 2
- const.CaribbeanHappinessForEachEra = {30, 45, 55, 75}
- const.MaxGiveBirthAge = 55
- const.MaxChildrenForEachEra = {{min = 2, max = 6}, {min = 2, max = 5}, {min = 1, max = 5}, {min = 0, max = 4}}
- const.FactionAxis = {Independence = {text = T({5293, "Independence"}), axis1 = T({5294, "Royalists"}), axis2 = T({5295, "Revolutionaries"}), axis1_id = "royalists", axis2_id = "separatists"}, Values = {text = T({5296, "Values"}), axis1 = T({5297, "Militarists"}), axis2 = T({5298, "Religious"}), axis1_id = "militarists", axis2_id = "religious"}, Economy = {text = T({5299, "Economy"}), axis1 = T({5300, "Communists"}), axis2 = T({5301, "Capitalists"}), axis1_id = "communists", axis2_id = "capitalists"}, Environment = {text = T({5302, "Environment"}), axis1 = T({5303, "Environmentalists"}), axis2 = T({5304, "Industrialists"}), axis1_id = "environmentalists", axis2_id = "industrialists"}, StatePower = {text = T({5305, "State Power"}), axis1 = T({5306, "Nationalists"}), axis2 = T({5307, "Globalists"}), axis1_id = "nationalists", axis2_id = "globalists"}}
- const.FactionNames = {royalists = T({5308, "Royalists"}), militarists = T({5309, "Militarists"}), communists = T({5310, "Communists"}), environmentalists = T({5311, "Environmentalists"}), nationalists = T({5312, "Nationalists"}), separatists = T({5313, "Revolutionaries"}), capitalists = T({5314, "Capitalists"}), religious = T({5315, "Religious"}), industrialists = T({5316, "Industrialists"}), globalists = T({5317, "Globalists"}), intellectuals = T({5318, "Intellectuals"})}
- const.FactionNeutralValue = 3
- const.FactionEras = {{"royalists", "separatists"}, {"militarists", "religious", "communists", "capitalists"}, {"militarists", "religious", "communists", "capitalists", "industrialists", "environmentalists"}, {"nationalists", "globalists", "communists", "capitalists", "industrialists", "environmentalists", "militarists", "religious"}}
- const.FactionAxesEras = {{"Independence"}, {"Values", "Economy"}, {"Values", "Economy", "Environment"}, {"Values", "Economy", "Environment", "StatePower"}}
- FormatFactionStanding = function(standing)
- if standing < 15 then
- return T({5324, "<red>Hated (<standing>)"; standing = standing})
- elseif standing < 40 then
- return T({5325, "Poor Standing (<standing>)"; standing = standing})
- elseif standing < 60 then
- return T({5326, "Indifferent (<standing>)"; standing = standing})
- elseif standing < 85 then
- return T({5327, "Good Standing (<standing>)"; standing = standing})
- else
- return T({5328, "<green>Beloved (<standing>)"; standing = standing})
- end
- end
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- const.FactionStandingReasons, const.FactionStandingNames = {T({5319, "Hated"}), {value = T({5322, "Good Standing"}), text = T({T({5323, "Beloved"}), "Constitution effect"})}, {value = "past events", text = T({5330, "Past Events"})}, {value = "citizens", text = T({5331, "Citizens effect"})}, {value = "buildings", text = T({5332, "New Buildings"})}, {value = "diplomacy", text = T({5333, "Diplomacy effect"})}, {value = "new ruler", text = T({11485, "New Ruler"})}, {value = "faction demand", text = T({11486, "Faction Demand"})}}, {{"Independence"}, {"Values", "Economy"}, {"Values", "Economy", "Environment"}, {"Values", "Economy", "Environment", "StatePower"}}
- const.ForeignStandingReasons = {{value = false, text = ""}, {value = "embassy_praise", text = T({11487, "Praise action"})}}
- const.MaxFactionDecayPercents = 10
- const.BuildingPermitSwissPercent = 10
- const.BuildingPermitCostAddPercent = 20
- const.DiscardBioFuelRange = 200 * guim
- const.DiplomacyActions = {{value = "Request Money", text = T({5334, "Request Money"}), descr = T({5335, "Request <money> from <player_name>."})}, {value = "Share Electricity", text = T({5336, "Share Electricity"}), descr = T({5337, "Share electricity with <player_name>. Consumers must still be within the grids of electricity producers."})}, {value = "Share Food Supply", text = T({5338, "Share Food Supply"}), descr = T({5339, "Share food supply with <player_name>."})}, {value = "Share All Resources", text = T({5340, "Share All Resources"}), descr = T({5341, "Share all resources with <player_name>."})}, {value = "Share Constructors", text = T({5342, "Share Constructors"}), descr = T({5343, "Share construction workers with <player_name>. Constructors must be able to reach a construction site via the road network to service it."})}, {value = "Share Teamsters", text = T({5344, "Share Teamsters"}), descr = T({5345, "Share teamster workers with <player_name>. Teamsters must be able to reach buildings via the road network to service them."})}, {value = "War", text = T({11488, "Attack"}), descr = T({5347, "Attack <player_name>."}), filter = function(sender, receiver)
- if not MissionInfo.peaceful_mode and not sender:IsTeamedWith(receiver) then
- else
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- end
- return not sender.InvadingOtherPlayer
- end
- }, {value = "Recall", text = T({11489, "Recall Attack"}), descr = T({11490, "Recall squads from their current attack."}), filter = function(sender, receiver)
- if not MissionInfo.peaceful_mode then
- end
- return sender.InvadingOtherPlayer == receiver.CityId
- end
- }}
- const.RequestMoneyAmount = 10000
- const.DiplomacyStates = {"Agreement OFF", "Request sent by me", "Request sent by other player", "Agreement ON"}
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- const.SkillsCategoryTexts, const.DiplomacyStatesText = {[T({5348, "No active agreement."})] = T({5349, "Request sent by me."})(T({5350, "Request sent by <player_name>."})), Foreman = T({5353, "Foreman"}), General = T({5354, "General"}), Executive = T({5355, "Executive"})}, {"Agreement OFF", "Request sent by me", "Request sent by other player", "Agreement ON"}
- const.MaxSkillLevel = 5
- const.MaxBudgetLevel = 10
- const.MaxThoughts = 5
- const.MinApproval = 25
- const.MaxApproval = 75
- const.HotelRevenueBonusPerTouristClassPreference = {[0] = 50, [1] = 200}
- const.TouristClassFamilyWealth = {3, 4, 4, 4, 5}
- const.TaskProgressCheckTime = 2000
- const.CarClassesPerEra = {{}, {"Car_01", "Car_02", "Car_03", "CarColor_01", "CarColor_02", "CarColor_03", "Limo"}, {"Car_01", "Car_02", "Car_03", "CarColor_01", "CarColor_02", "CarColor_03", "Limo"}, {"PickupTruck", "CarFordMustang", "CarMiniCooper"}}
- const.UseCarEraChance = {{0, 0, 0, 0, 0}, {0, 10, 20, 30, 40}, {0, 20, 30, 40, 60}, {0, 30, 40, 50, 100}}
- const.ExplorationCostRP = 300
- const.ProtestBribe = 1000
- const.MaxProtestersPerPOI = 15
- const.ProtestBribe = 1000
- const.ForeignerCosts = {{base = 50, increase_per_citizen_hired = 25, cap = 1000}, {base = 100, increase_per_citizen_hired = 50, cap = 1000}, {base = 500, increase_per_citizen_hired = 250, cap = 5000}, {base = 1500, increase_per_citizen_hired = 750, cap = 10000}, {base = 3000, increase_per_citizen_hired = 1500, cap = 10000}}
- if not Platform.xbox or not 1000 then
- end
- const.PopLimit = 2000
- const.MultiplayerModes = {millionaire = T({5356, "Millionaire"}), megalomania = T({5357, "Megalomania"}), agenda_vs = T({5358, "Agenda Vs."}), agenda_coop = T({5359, "Agenda Coop"}), all_in_one = T({5360, "All in One"}), free_play = T({5361, "Free Play"})}
- const.MultiplayerPlayerLobbyStatus = {not ready = T({5362, "Not Ready"}), ready = T({5363, "Ready"}), different map hash = T({5364, "Different Map versions"})}
- const.RebelionTargets = {{"Plantations", "Ranches", "Mines", "Hydroponic Farms", "Factory Farms"}, {"Plantations", "Ranches", "Mines", "Hydroponic Farms", "Factory Farms", "Factories"}, {"Plantations", "Ranches", "Mines", "Hydroponic Farms", "Factory Farms", "Factories", "military"}, {"Plantations", "Ranches", "Mines", "Hydroponic Farms", "Factory Farms", "Factories", "military"}, {"Plantations", "Ranches", "Mines", "Hydroponic Farms", "Factory Farms", "Factories", "military"}}
- const.CitizenBribeCost = {500, 1000, 2000, 5000, 10000}
- const.CitizenDiscreditCost = 5000
- const.CitizenBanishCost = 1000
- const.CitizenActionKill = 2000
- const.TotalStateControlCostModifier = 50
- const.CitizenBanishMoneyStealingCooldown = 12
- const.CitizenDiscreditCooldown = 1
- const.CitizenBanishCooldown = 1
- const.CitizenKillCooldown = 1
- const.CitizenBribeCooldown = 1
- const.InitialPopularSupport = 15
- const.VotingRightWeightChange = 10
- const.PlannedEconomyBonus = 10
- const.PlutocracyBonus = 20
- const.FightPiracyBonus = 20
- const.TotalFirewallPenalty = 10
- const.FreeInternetBonus = 15
- const.AtheistStateBonus = 10
- const.MilitiaEducationRequired = 3
- const.StrategicSectorBonus = 20
- const.SecularStateLibertyBonus = 10
- const.OpenSocietyLibertyBonus = 10
- const.TotalStateControlLibertyPenalty = 10
- const.ProtectionismBonus = 20
- const.OpenBordersBonus = 10
- const.EconomyFirstEffectivenessBonus = 10
- const.EconomyFirstPollution = 50
- const.EnergyEfficiencyBudgetBonus = -20
- const.ZeroEmissionsEffectivenessBonus = -20
- const.ZeroEmissionsPollution = -75
- const.HealthcareDeathChance = 1
- const.ElderHealthcareDeathChance = 5
- const.WorkTime = const.MonthLength / 2
- const.DontHireAfterFireTime = const.MonthLength
- const.MilitiaSquads = 2
- const.BattleWarningTime = 0
- const.ConstructionPointsToHitPoints = 5
- const.DefaultBuildingHP = 3000
- const.MilitaryExploreCost = 1000
- const.TankSpeed = 5 * guim
- const.TankRotationSpeed = 3600
- const.TankAOERadius = 450 * guic
- const.MissileAOERadius = 450 * guic
- const.MissileSpreadRadius = 20 * guim
- const.SmartBombsChanceToSetOnFire = 30
- const.SmartBombsChanceToSetOnFire = 50
- const.NoSmartBombsChanceToSetOnFire = 25
- const.SmartBombsChanceToKillCivilian = 50
- const.NoSmartBombsChanceToKillCivilian = 25
- const.BuildingDieAfterMonthsUndefended = 12
- const.BuildingFullHpRegenMonths = 60
- const.BuildingRemoveGrassBorder = 3 * guim
- const.MultiplayerMaxPlayers = 4
- const.MPTimeFactorMod = 200
- -- Overwrote pending register. (Assignments::assign)
- if Platform[RGB(118, 255, 118)] and 20000 or not Platform.xbox or not 5 then
- end
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- -- Overwrote pending register. (Assignments::assign)
- const.EraStartingYear, const.UnlimitedMoneyAmount, const.PoliticalDifficultyCaribbeanHappinessModifier, const.PoliticalDifficultyRebelsModifier, const.PoliticalDifficultyElectionsModifier, const.clrDamaged, const.PresidentSkillBonusModifier, const.DefaultDynastySwissAccount, const.WellFilledDock, const.DockSplinesMaxYield, const.DockSplinesMinYield, const.DockSplinesDeviation, const.DockSplinesSpotsShip, const.DockSplinesSpotsEnter, const.DockSplinesTangent, const.DockSplinesLength, const.DockSplinesMinDistToMapEdges, const.DockSplinesRefTargetDist, const.DockSplinesMinTargetDist, const.DockSplinesShipFriction, const.DockSplinesShipMass, const.DockSplinesMinWaterDepth, const.DockSplinesMinDistToShore, const.DockSplinesShoreRefDist, const.DockSplinesGradientIter, const.DockSplinesWayOutIter, const.DockSplinesProcessIter, const.DockSplinesFastCompute, const.DockSplinesVersion, const.CityColors = {0, 1914, 1946, RGB(255, 218, 118)}, 200000, 3, 25, 2, RGB(66, 49, RGB(118, 175, 255)), 2, 0, 20000, 50, 10, {55, 35}, {"Ship1", "Ship2"}, {"Enter1", RGB(86, 52, 116)}, 6, 100 * guim, 20 * guim, 300 * guim, 50 * guim, 20, 15, 10 * guim, 50 * guim, 30 * guim, 1000, 10, 40000, true, 1, 200
- const.EraMaxForeignAid = {10000, 25000, 50000, 100000}
- const.ShipClassByEra = {TradeShip = {"SteamShip", "SteamShip"}}
- const.CraneAsyncboxVisualPosDiff = point(527, 0, 2256)
- const.DisasterReliefFund_ReducedBuildCostPercents = 20
- const.DisasterReliefFund_ReducedCasuatiesPercents = 50
- const.BuildLevelDelay = 500
- local seasonal_crop = {{"crop", "idle"}, {"crop", "idle"}, {"crop", "growing"}, {"crop", "growing"}, {"crop", "ripe"}, {"crop", "ripe"}, {"crop", "harvested"}, {"crop", "harvested"}, {"crop"}, 1}
- local permanent_crop = {{"crop", "idle"}, {"crop", "idle"}, {"crop", "growing"}, {"crop", "growing"}, {"crop", "ripe"}, {"crop", "ripe"}, {"crop", "ripe"}, {"crop", "harvested"}, {"crop", "harvested"}, 5}
- local tree_crop = {{"crop", "idle"}, {"crop", "idle"}, {"crop", "growing"}, {"crop", "growing"}, {"tree", "idle"}, {"tree", "idle"}, {"tree", "idle"}, {"tree", "ripe"}, {"tree", "ripe"}, 5}
- const.PlantationStalks = {Tobacco = {dry_colors = {idle = RGB(112, 63, 24), growing = RGB(112, 63, 24), ripe = RGB(85, 69, 49), harvested = RGB(85, 69, 49)}, cycle = seasonal_crop}, Corn = {food = true, dry_colors = {idle = RGB(108, 73, 32), growing = RGB(108, 73, 32), ripe = RGB(102, 85, 65), harvested = RGB(102, 85, 65)}, cycle = seasonal_crop}, Pineapple = {food = true, dry_colors = {idle = RGB(122, 71, 16), growing = RGB(122, 71, 16), ripe = RGB(94, 62, 0), harvested = RGB(94, 62, 0)}, cycle = seasonal_crop}, Cotton = {dry_colors = {idle = RGB(90, 76, 51), growing = RGB(90, 76, 51), ripe = RGB(57, 52, 52), harvested = RGB(57, 52, 52)}, cycle = seasonal_crop}, SugarCane = {crop = "Sugar", dry_colors = {idle = RGB(87, 75, 63), growing = RGB(87, 75, 63), ripe = RGB(91, 83, 73), harvested = RGB(91, 83, 73)}, cycle = seasonal_crop}, Cocoa = {tree = "PalmCocoa", spot = "Palm", single = true, dry_color = RGB(108, 74, 46), cycle = tree_crop}, Coffee = {dry_colors = {idle = RGB(129, 86, 4), growing = RGB(129, 86, 4), ripe = RGB(137, 109, 0), harvested = RGB(137, 109, 0)}, cycle = permanent_crop}, Bananas = {crop = "Banana", tree = "PalmBanana", spot = "Palmbanana", food = true, dry_color = RGB(148, 100, 45), cycle = tree_crop}}
- const.PlantationStalksByName = {}
- for k,v in pairs(const.PlantationStalks) do
- if not v.crop then
- end
- const.PlantationStalksByName[k] = k
- if not v.tree then
- end
- const.PlantationStalksByName[false] = k
- end
- const.PlantationStalksByName[false] = nil
- const.BuildingFires = {{spot = "Fire_01", parsys = "Fire_01", min_count = 3, percents_from_max_count = 20, set_on_fire_delay = range(10000, 20000)}, {spot = "Fire_02", parsys = "Fire_02", min_count = 2, percents_from_max_count = 20, set_on_fire_delay = range(3000, 6000)}, {spot = "Fire_03", parsys = "Fire_03", min_count = 3, percents_from_max_count = 40, set_on_fire_delay = range(0, 4000)}, {spot = "Fire_04", parsys = "Fire_04", min_count = 3, percents_from_max_count = 40, set_on_fire_delay = range(0, 4000)}}
- const.FireBrigadeMaxDistToBuilding = 50 * guim
- const.AvatarRotateSpeed = 400
- const.AttachesTV = {"PropsAntenna_01", "PropsAntenna_02", "PropsSateliteDish_01", "PropsSateliteDish_02"}
- const.CorruptionThreshold = 20000
- const.ShipOutOfMapAdditionalTravelDist = 500 * guim
- const.ShipMinTravelDist = 1000 * guim
- const.TsunamiDenivelation = 30 * guim
- const.TsunamiDiffraction = 900
- const.TsunamiWaveLength = 1024
- const.FireBrigadeMaxDistToRoad = 50 * guim
- const.ChangeCropsLivestockPricePercents = 10
- const.MinUnexploredRadius = 3 * const.BuildGridTileSize
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement