diff --git a/assets/Script/CoreGame/Changelog.ts b/assets/Script/CoreGame/Changelog.ts index 89708c7..eb1fbfa 100644 --- a/assets/Script/CoreGame/Changelog.ts +++ b/assets/Script/CoreGame/Changelog.ts @@ -1,1480 +1,1500 @@ export const CHANGELOG = [ - { - version: "0.20.8", - content: [ - "If you own either expansion packs, you can double your offline earning without watching a reward video (iOS & Android only)", - "Bugfix: When Factory Mining policy is active, wholesale orders will not contain natural deposits (reported by @jgestiot, fixed by @FishPond)", - "Bugfix: When Pumpkin Battery or Pumpkin Steel is active, the corresponding research buildings are not shown in Research center (reported by @WingedLeo)", - "Add in-game notification about seasonal events in Policy Center", - "Add a banner and link in Headquarter about CivIdle: Industry Idle's spiritual successor. The banner can be turned off in settings", - "Add back support for Windows 7/8/8.1", - ], - }, - { - version: "0.20.7", - content: [ - "Introducing weekly free premium city roster: every week, a city in either of the expansion packs will be free for all players regardless of expansion pack ownership", - "Previously, if your account has connected to another game profile, it will fail authentication silently. Now the game will show 'Account Connected' check in Headquarter", - "Bugfix: In previous patch, the trade quota calculation is incorrect. This patch corrects the calculation: profits result from trading will be excluded when calculating market cap-based quota", - "Add Hungarian Translation (@KaaPeeM)", - ], - }, - { - version: "0.20.6", - content: [ - "Update translations", - "Balance: When calculating market-cap based trade quota, trades since the last market update will be excluded (@FishPond)", - "QoL: The game will try to renew authentication if it expires. There's also a new button in Headquarter to manually renew authentication (@FishPond)", - "Upgrade game engine and runtime frameworks - this should help improve compatibility (@FishPond)", - ], - }, - { - version: "0.20.5", - content: [ - "Added Turkish and Bahasa language in chat (@FishPond)", - "Hide Produce All Crops Swiss Boost if the game does not have Expansion Pack 2 (@FishPond)", - "Bugfix: Activating Electric Fish Pond policy without Hydro Power Plant will cause Fish Pond to malfunction (@FishPond)", - "QoL: Add building count in building panel (@WingedLeo)", - "QoL: Add a warning if a building does not benefit from certain policies (@WingedLeo)", - ], - }, - { - version: "0.20.4", - content: [ - "Allow returning trade profit by paying resources (@FishPond)", - "Showing the existing trades that offers better profits in Player Trade UI when adding a new trade (@FishPond)", - "Bugfix: Fix disabling controller support does not work (@FishPond)", - "QoL: Batch sell of buildings (@WingedLeo)", - ], - }, - { - version: "0.20.3", - content: [ - "New anti-cheat mechanism: previously repeated trades with cheating account will result in an anti-cheat ban. This process involves a lot of investigation and takes a lot of effort. Now this will result in a trade suspension - you can resume trading after returning all the profits made from trades with the cheating account. This can be resolved automatically in Player Trade UI (@FishPond)", - "Add a page showing past player trades (by @FishPond)", - "QoL: New settings menu (by @GrayTheWanderer)", - "QoL: New batch mode action: Downgrade - All/Cluster/Adjacent (by @GrayTheWanderer)", - "Add Turkish translation (by @Readrift)", - "Improve Steam Deck support (@FishPond)", - "QoL: Add support for game controllers: use left joystick to move camera, right joystick to move cursor, trigger buttons to zoom/scroll, right shoulder button and X button to click. Joystick sensitivity can be adjusted in settings", - "QoL: Add support for camera edge pan (@FishPond) - Activate in Settings -> Input", - "Add support for moderator to remove suspicious player trades. Resources will be refunded for removed trades (@FishPond)", - "Improve stability of Steam Cloud integration (@FishPond)", - ], - }, - { - version: "0.20.2", - content: [ - "QoL: Add more purchase amount option in Trade Center (by @jimmyh77)", - "QoL: Allow filter player trade by price range and player name (by @jimmyh77)", - "QoL: Add warning for Purge My Trades (by @jimmyh77)", - "QoL: Add an option to show only positive tile modifiers (by @jimmyh77)", - "QoL: Change power bank units to Joules (by @2kai2kai2)", - "Bugfix: Nikola Tesla policy in Detroit no longer requires nature gas (by @ryansb)", - "Bugfix: Wind Turbines and Solar Panels cannot be turned on when turned off by inheriting default settings (by @GrayTheWanderer)", - "Bugfix: Fix an exploit w.r.t cancelling player trades. You need to upgrade to this version to cancel player trade (reported by @WingedLeo)", - ], - }, - { - version: "0.20.1", - content: [ - "Bugfix: Fix a bug where some buildings are not appearing in Research Lab on maps that meet the unlock requirement", - "Bugfix: If a building is shut down, it will not be supply-chained boosted (boost will be given to other eligible buildings)", - "QoL: Add 'Set as Default' for production settings in building page", - ], - }, - { - version: "0.20.0", - content: [ - "Buildings with multiple recipes now shows an icon indicating current production recipe: we are still missing some icons for certain recipes. If you'd like to help add missing icons, contact me directly", - "Seasonal harvest: Farmland and Greenhouse will produce pumpkin in October. Pumpkin productions are doubled!", - "Seasonal recipes: Bakery will produce pumpkin pie (from pumpkin, flour, butter and milk) and drink factory will produce pumpkin spice latte (from pumpkin, refined sugar, coffee and milk)", - "New building: Quantum Computer Lab", - "New building: TV Studio+", - "Resource explorers, farmlands and greenhouses now use recipes - this also allows them to be part of an Industry Zone chain - you might need to re-select their output", - "Update translation files - a big thank you to all community translators", - "Update game engine version to improve stability", - ], - }, - { - version: "0.19.1", - content: [ - "Balance: Now auto sell capacity upgrade will grant a baseline capacity: even if your production is zero, you will still be able to auto sell a certain amount. This amount is affected by Swiss production modifier boost/upgrade", - "Bugfix: Fix a bug where tariff rate is not calculated corrected based on price difference", - "Bugfix: Fix a bug where Hydro Farming policy will break Greenhouses if there's no hydro dams", - "Update translation files - a big thank you to all community translators", - ], - }, - { - version: "0.19.0", - content: [ - "New Player trade tariff will replace the old player trade quota. Each player will be granted tariff credit based on production and market cap. Trades that exceed the tariff credit will be taxed. The tariff rate depends on price difference between trade price and local price. You can see a detailed tariff calculation breakdown when adding and filling trades", - "Cancelling a trade will now refund 100% of resources (instead of 90%). Tariffs are not refundable", - "Offline productions are now counted towards production-based tariff credit", - "Add a new recipe for Photogram: 8x Three Course Meal -> 2x Internet", - "New building: Meal, Ready-To-Eat Plant (Expansion Pack 2). It has the following recipe: 3x Whopping Burger -> 1x Spaceship; 4x Cocktail -> 1x Nuclear Missile; 7x Wine + 7x Pastry -> 1 Aircraft Carrier; 22x Joyful Meal -> 1x ICBM", - "New building option: Resource Input Buffer - The maximum cycles of input resource to keep in the storage before this building will no longer transport that resource. Auto means using prediction to keep a minimum buffer that allows continuous production. Stockpile means always transporting input resources regardless of the amount in the storage. This will replace existing Stockpile option and your existing map will be migrated to this new option", - "New building option: Input Capacity Override - It allows you to override the input capacity to between 50% to 1000% of the amount needed for production", - "New policy: Super Water Pump - Water pumps produce 2x output but consumes 2x power", - "Bugfix: Fix a bug where buildings with multiple recipes do not work with Industry Zone correctly", - "Bugfix: Fix a bug where Factory Mining policy doesn't work for power plants", - "QoL: Numbers in the game now always shows 4 valid digits: 2.9M will become 2.901M, 21.2K will become 21.21K, 321.1B will remain the same", - "Add support for Cyrillic characters in world map", - "Player trade time limit for limited account has been changed to every minute instead of every 5 minutes", - "Update translation files - a big thank you to all community translators", - ], - }, - { - version: "0.18.2", - content: [ - "Multiple Sources is always enabled for Trade Center (this no longer requires Expansion Pack 2)", - "Balance: Adjust trade center pricing - now the minimum price is 10% of the original price instead of $1. This will increase the resource valuation (and trade quota)", - "Balance: Auto-selling now drives down the price slower than before", - ], - }, - { - version: "0.18.1", - content: [ - "Add achievements for Auckland map: Hoiho, Whio and Kiwi", - "Balance: Auto sell capacity is now measured as percentage of your production. The upgrade cost and corresponding Swiss upgrades/boosts have been adjusted", - "Balance: Player trade value limit (1%) with specific player will reset every day (together with market news and crowdfunding)", - "QoL: Add a warning icon in player trades listing indicating your trading value with that player has exceed 1% of your market cap and extra quota is needed", - "QoL: Add a new filter to hide player trades that require extra quota", - "Bugfix: Fix a bug where some times default player trade amount is negative when filling a trade", - ], - }, - { - version: "0.18.0", - content: [ - "New map: Auckland. Unique building: Hydro Power Plant. Unique Policy: Mine Booster, Electric Fish Pond, Hydro Farming", - "Balance: Player trade quota now applies to filling orders as well. If the total traded value with a specific player stays within 1% of your current market cap, trades with that player are exempt from price deviation penalty when applying the quota", - "Balance: Sugar refinery's capacity is increased 2x", - "Market News Rework: now market news will always be positive: it will provide 50% - 200% output boost. It will be re-rolled everyday (same time as crowdfunding)", - "Balance Policy: Press Conference - All market news are 50% more effective", - "New Swiss Upgrade/Boost: Extra Player Trade Quota - Initial player trade quota is 1% of your market cap - this will grant extra percentage", - "New Swiss Boost: Research Agreement - Filling each trade with an unique player gives 10 mins of research point production", - "New Policy: Modern Fertilizer - Farmlands and greenhouses produce 2x crops but crop transport costs 2x fuel", - "New Policy: Livestock Steroid - Chicken farms, pig farms, cow farms, fish ponds and fodder factories have 2x capacity but uses 2x power", - "New Swiss Boost: Produce All Crops - Farmlands and greenhouses can produce all crops, including the ones that are not on the map", - "Balance: Reduce the power requirement for pig, cow and chicken farms", - "Bugfix: Fix a bug where Kansas City hydro dam unique bonus is wrongly applied", - "Bugfix: Fix a bug where certain Swiss boosts' costs are not calculated correctly with Swiss Boost Cost Divider", - "Bugfix: Fix a bug where Industry Zone fail to recognize certain supply chains", - "Bugfix: Fix a bug where rewarded ads sometimes fail to grant rewards", - ], - }, - { - version: "0.17.1", - content: [ - "Balance: Industry Zone Plus policy requires all buildings inside the zone to be working", - "Bugfix: Fix a bug where theoretical input/output does not take Industry Zone Plus into account", - "Bugfix: Fix a bug where warehouses cannot select input routes of buildings that support multiple recipes", - "Android: Google Play Games sign in is required to participate in player trading", - "iOS: Game Center sign in is required to participate in player trading", - ], - }, - { - version: "0.17.0", - content: [ - "New Building for Expansion Pack 2: Fine Dining Restaurant, Photogram, Drink Factory", - "New Resources for Expansion Pack 2: Sushi, Pastry, Joyful Meal, Whopping Burger, Soft Drink, Alcohol, Wine, Cocktail, 3/6/9-Course Meal", - "New Policy for Expansion Pack 2: Industry Zone Plus - Every tier or every 10 level of an Industry Zone provide 10% output boost to buildings in it", - "New Swiss Upgrade: Industry Zone Capacity Booster, Extra Building Permit", - "New Swiss Boost: Industry Zone Capacity Booster, Extra Building Permit", - "QoL: Introducing experimental portrait mode support on mobile devices", - "Balance: Adjacent Bonus Plus/Tile Modifier Plus/Industry Zone Plus will not apply to Food Processing Plant and FaceApp", - "Bugfix: Fix a bug where Random Island map causes the UI to disappear", - "Bugfix: Fix a bug where Admiral of the Fish Pond achievement is not correctly unlocked", - "Bugfix: Fix a bug where total rewards for Tower Defense mode is not calculated correctly", - "Bugfix: Fix a bug where resources in-transit are lost when closing the game (Steam only)", - ], - }, - { - version: "0.16.1", - content: [ - "Add 'Trusted Account': to prevent cheating/fraud, free-to-play accounts are required to pass the platform requirement to participate in player trade", - "Add achievements for Expansion Pack 2 maps: Perth (Pademelon/Wallaby/Kangaroo), Kansas City (Corn on the Cob/Corn Dog/Popcorn), Rio (Leblon/Barra da Tijuca/Copacabana), Random Island (Bernoulli/Poisson/Gauss), Istanbul (Leo the Great/Justinian the Great/Constantine the Great), Admiral of the Fish Pond", - "Show Expansion Pack 2 badge in Leaderboard", - "Bugfix: Fix a bug where greenhouses on Random Island have UI glitch showing random crops on every cycle (If you are on random island, you might need to restart on that map)", - "Bugfix: Fix a bug where 100% Gluten Free does not unlock Flour Mill", - "Bugfix: Fix a bug where UI panel covers the edge of the map when it is docked", - ], - }, - { - version: "0.16.0", - content: [ - "Expansion Pack 2 is here: this version contains the support Expansion Pack 2", - "Trade Center UI has been redesigned", - "Add an option to show Standby Mode in toolbar (Steam Only)", - ], - }, - { - version: "0.15.3", - content: [ - "QoL: Optimize the UI of Statistics Bureau to allow easy toggle on/off resources in the top bar", - "QoL: Add an opt ion to filter 'what I have' in player trade filter option", - "QoL: Add an option to change mousewheel zoom sensitivity", - "QoL: When zooming using mousewheel, the camera will zoom to the cursor location", - "QoL: Add a confirm dialog when cancelling player trade", - "Change: Disable profit warning icon on buildings as it is confusing for new players and useless for experienced players", - "Bugfix: Fix a but where turning on automatically claim trades will result in right to trade error", - "Remove 'Always Export' option in Trade Center since it is mostly useless", - ], - }, - { - version: "0.15.2", - content: [ - "Right To Trade: To enable save file transfer between devices and prevent abuse, a new right to trade mechanism has been introduced. You can export multiple save files but only one can have the right to trade. In headquarter, you can choose to backup your save (right to trade remains) or transfer your save (right to trade goes with the save file). If you import a save that has the right to trade, you will not be subject to any cooldown at all - this should make transferring save across devices much easier. If you import a save that doesn't have the right to trade, you will not be able to trade from that save. However, you can force restoring the right to trade on that save but you will be subject to cooldown (N^N hour, N = number of force restore in the last 30 days). In headquarter, you can check whether your current save has the right to trade", - "Expansion 2 Playtest: Replacing São Paulo with Rio de Janeiro", - "Expansion 2 Playtest: New Map - Istanbul (Tower Defense Mode)", - ], - }, - { - version: "0.15.1", - content: [ - "When you use batteries as fuel, they will become battery shells after use", - "New building: Battery Recycler - you can recycle battery shells to iron and aluminum or recharge battery with C. If your map has lithium, you can also recycle shells to lithium or recharge it with lithium", - "New Batch Mode: You can upgrade or apply changes to adjacent, clustered or all buildings of the type", - "New save format: Now all save is filed based instead of text based", - "Save import player trade cooldown adjustment: from 2h to X^X h where X = the number of imports in the last 30 days", - "Add UI font size scaling option in Headquarter", - "Expansion 2 Playtest: Fried Rice, Fried Chicken, Fish Pond, Coffee, Cocoa, Food Processing Plant", - "Expansion 2 Playtest: New Map - São Paulo", - ], - }, - { - version: "0.15.0", - content: [ - "In-game Streaming: You can now watch your friend's gameplay while building your economy!", - "Gameplay Recording: You can record your gameplay - either a freeform recording or a 10s director's cut", - "Increase active trades allowed for Expansion Pack 1 owners from 4 to 6 (Hong Kong still gets 50% more active trades)", - "QoL: You can now batch upgrade a type of building to certain level", - "Lunar New Year event (25 Jan - 10 Feb): New resource - Lantern, produced by power plants and can be used as fuel. New policy - Year of The Tiger. All buildings that consume paper will use Lantern instead and will have 2x capacity. Paper mills become Paper Academy and produce culture instead", - "Optimization: Add a new resource movement option: In Viewport", - "Optimization: Improve the performance of large base with resource movements turned off", - "Optimization: Improve the resource movement (flying dots) rendering by 30%-60%", - "Bugfix: Expansion Pack 2 resources accidentally show up in news and crowdfunding", - "Expansion 2 Playtest: New Buildings - Pig Farm, Dairy Factory, Fast Food Chain, Sausage Factory", - "Expansion 2 Playtest: New Resources - Butter, Cheese, Cookie, Burger, Sandwich, Pork, Sausage, Hotdog, Pizza", - ], - }, - { - version: "0.14.5", - content: [ - "Add an option to force graph's Y axis to start from zero", - "Add an option to show the whole supply chain when highlighting a building", - "Add standby mode - the game will run in the background but will disable graphics. This will reduce GPU/CPU usage (Steam Only)", - "New chat badge style for mods and expansion owners", - "Update translations and game framework", - "Bugfix: chat doesn't scroll to bottom if there's an image", - "Bugfix: clear My Trades doesn't work properly", - "Bugfix: achievements are not translated", - "Bugfix: force downgrade might lead to data corruption", - "Expansion 2 Playtest: Fix a bug where Factory Mine policy cause incorrect theoretical value in Stat Bureau", - "Expansion 2 Playtest: Warehouse Push Mode", - "Expansion 2 Playtest: Multiple Source routing mode", - "Expansion 2 Playtest: New Map Kansas City", - "Expansion 2 Playtest: New Deposit - Water", - "Expansion 2 Playtest: New Buildings - Water Pump, Farmland, Greenhouse, Hydro Dam, Vapor Condenser, Capacitor Factory, Fodder Factory, Sugar Refinery, Chicken Farm, Cow Farm", - "Expansion 2 Playtest: New Resources - Rice, Corn, Wheat, Soybean, Sugarcane, Vegetable, Bread, Fodder, Refined Sugar, Cake, Chicken, Egg, Beef, Milk", - "Expansion 2 Playtest: New Policy - 100% Gluten Free", - "Expansion 2 Playtest: Offline Production (via Capacitor)", - ], - }, - { - version: "0.14.4", - content: [ - "New leaderboard: Tabulation by Player Flag and Tabulation by Map", - "Now you can specific a weight (1-100) for each warehouse route - the transport capacity will be divided according to the weight", - "Add a Best Price price filter in player trade", - "Add Valuation Per Active Minute in Swiss Shop", - "Support smooth zoom on PC with mouse wheel", - "A new shortcut [9] for downgrading buildings", - "Add image support in chat: your message should solely contain the URL to the image (.jpeg, .jpg or .png) from imgur.com/gyazo.com/imgbb.com/Discord. Only HTTPS is supported and to prevent spam, only expansion owners can post image (non-expansion owners's message will remain as text)", - "Resource valuation will include your pending player trades and crowdfunding - this will make market cap more consistent", - "Balance: your total pledged value of a crowdfunding cannot exceed your market cap", - "Balance: starting fuel amount has been reduced from 5M to 1M for first time player and to 100K for subsequent prestige", - "Bugfix: To prevent corrupting save data, the game will not load save from incompatible versions", - "Bugfix: Fix a bug where a building's profit breakdown is inaccurate if its production cycle is not 1", - "Bugfix: Fix a bug where market news is not correct on specific maps with certain policies on", - "Add Polish translation (thanks to the help from community)", - "Expansion 2 Playtest: Add manual source control for buildings", - "Expansion 2 Playtest: Add Random Island Map", - "Expansion 2 Playtest: Add Perth Map", - ], - }, - { - version: "0.14.3", - content: [ - "Christmas Timed Exclusive (12.5 - 1.5): New resource - Reindeer. All power plants produce reindeers. They can be used as fuel but cannot be sold or traded", - "Christmas Timed Exclusive Policy: Reindeer Silicon (FREE) - All buildings that consume silicon use reindeer instead", - "Christmas Timed Exclusive Policy: Reindeer Aluminum (FREE) - All buildings that consume aluminum use reindeer instead", - "Christmas Timed Exclusive Policy: Santa Clause is Coming (FREE) - Santa factories consume reindeer and toy and produce santa, science and culture. Santa factories have max tile modifier. Toy factories produce reindeer in addition to toy", - "New Policy: Meta Rebranding - Social Network Inc is renamed to Meta Inc and consumes internet, game, super computer, bitcoin and dogecoin instead", - "Bugfix: Increase the width of docked panel to avoid UI layout issue", - "Bugfix: Fix notification click-to-dismiss area", - "Bugfix: Fix the wording when you don't have enough cash to buy from Trade Center", - "Bugfix: Fix a bug where Science in trade center will disappear after game restarts", - "QoL: Now you can clear your player trades (Save Id mismatch error) in Headquarter (scroll to bottom, in Import/Export Save section)", - ], - }, - { - version: "0.14.2", - content: [ - "Balance: FaceApp's input and output has been adjusted", - "QoL: Now you can dock Player Trade, Statistics Bureau, Trade Center panels (Desktop version only)", - "QoL: Add Swiss money amount to Swiss Boost and Swiss Upgrade page", - "Bugfix: Fix a bug where offline earning does not work if you have unclaimed offline earning before logging off", - "Bugfix: Fix a bug where downgrade a building refunds incorrect cash", - "QoL: Optimize the CPU/GPU usage while running the game on the background (Steam version only)", - "QoL: Improve toast notification UI", - ], - }, - { - version: "0.14.1", - content: [ - "Halloween Timed Exclusive (Oct. 10 - Nov. 5): New resource - Pumpkin. All power plants produce certain amount of pumpkins. Pumpkin can be used as fuel but cannot be sold or traded", - "Halloween Timed Exclusive Policy: Pumpkin Battery (FREE) - All buildings that consume battery use pumpkin instead", - "Halloween Timed Exclusive Policy: Pumpkin Steel (FREE) - All buildings that consume steel use pumpkin instead", - "QoL: Auto highlight option is now on by default", - ], - }, - { - version: "0.14.0", - content: [ - "QoL: You can now customize which resources are shown in the top bar by clicking resource details in Statistics Bureau and toggle the Show In Top Bar option", - "New Swiss Boost: Explore All Resources - Resource explorers can produce all resources, including the ones that are not on the map (this DOES NOT unlock the relevant technologies)", - "Now you can downgrade Research Lab and Policy Center", - "Balance: Sell/Downgrade refund are capped at 90%", - "Balance: Research cost of Industrial Zone is reduced by 99%", - "Balance: Warehouses now provide inward and outward fuel save by default. Free Delivery policy is obsolete and removed", - "QoL: Add a clear filter button in Player Trade", - "QoL: Resource dropdown in Warehouse is now sorted alphabetically", - "QoL: You can tap anywhere on the right side of top bar to open Trade Center", - "QoL: When you start in a new city, the game will try to set the correct fuel type by default", - "Bugfix: fix a bug where production multipliers are not applied correctly", - ], - }, - { - version: "0.13.2", - content: [ - "New achievements for San Jose: Venture Hobbyist, Venture Enthusiast and Venture Capitalist", - "New achievements: Crowdfunding Tycoon, Cash Is King, Power Tycoon", - "QoL: Improve player trade resource filter: now you can filter multiple resources and your filter will be saved while the game is running", - "QoL: Now your old trades will be cleared if you import a save from text or Steam Cloud. Previously those trade will be stuck with save id mismatch error", - ], - }, - { - version: "0.13.1", - content: ["Fix a bug where finished crowdfunding still accepts contribution"], - }, - { - version: "0.13.0", - content: [ - "Industry Zones have been reworked: now partial production chains can form a valid industry zone and the bonuses (free permits and capacity boost) are based on the tiers of productions in the zone instead", - "Crowdfunding has been reworked: it now has multiple tiers of return and more backers will increase the return.", - "New map: San Jose", - "San Jose: unique building - Chip Manufacturer", - "San Jose: unique building - FaceApp Inc", - "San Jose: unique building - Bitcoin Miner", - "New building: SnapTok Inc", - "New building: Galvanic Battery Factory", - "New bonus for Rotterdam: Wind turbines generate 2x power", - "Improve how Production Multipliers are shown on building panel", - "Power now shows KW/MW/GW as unit", - "Player trade quota for price has changed: outside +-25% of your local price, for every 25% difference, you need 25% more quota. A in-game description has been added", - "Added Wholesale Center in quick links", - "Power Bank's base capacity has been increased by 500%", - ], - }, - { - version: "0.12.0", - content: [ - "Introducing Swiss Boost: a set of boosts that can be purchased with Swiss money and only affect your current run (more will be added)", - "New Swiss upgrade: Swiss Boost Cost Divider", - "World's Fair is now a Swiss boost, instead of a policy", - "New Swiss boost: Industry Zone Capacity Booster - Each building inside an industry zone provides this capacity boost to all the buildings in the same zone", - "New Swiss boost: Offline Research - Research points are generated while you are offline (according to your Research Lab level, Science in your warehouse and offline earning time)", - "New Policy: High Speed Warehouse - Warehouses have 2x capacity and 50% faster inward and outward transport speed, but use 2x power", - "New building: Air Force Command (Expansion Pack 1)", - "New building: Stealth Fighter Factory (Expansion Pack 1)", - "New building: Army Command", - "New achievement: Green Peacekeeper", - "New achievement: DotCom Tycoon", - "Now you can search policy by description as well", - "Improve how production multipliers are shown on building info panel", - "You can now place building blueprints that you haven't researched yet (you still need to research the building to construct it)", - "Fix the calculation of player trade quota", - "Fix a bug of incorrect offline earning calculation", - "Add Chinese (Hong Kong) translation", - ], - }, - { - version: "0.11.0", - content: [ - "Introducing Industry Zone: combines adjacent buildings that forms a supply chain and save building permits", - "New building: Super Computer Lab", - "New building: Robocar Factory (Expansion Pack 1)", - "New building: SkyNet Inc (Expansion Pack 1)", - "New building: Musify Inc", - "New building: Webflix Inc (Expansion Pack 1)", - "New building: GameCloud Inc (Expansion Pack 1)", - "New policy: Warehouse Permit Act - Every two warehouses provide one free building permit (Expansion Pack 1)", - "Power usage of steel tech tree has been slightly reduced", - "Power usage of internet tech tree has been slightly increased", - "Add an option in Player Trade to automatically claim filled trades", - "Add a search box in Policy Center", - "Fix a bug where opening the game for a short time will cause offline earning to be wrong", - "Fix a bug where shopping spree fails to buy resources for production - now shopping spree will buy according theoretical input/output", - "Fix a bug where chat sometimes misbehave", - ], - }, - { - version: "0.10.6", - content: [ - "Fix a bug where crowdfunding has Science - your total pledged value will be refunded.", - "Fix a bug where log in via Steam on Web sometimes fails to work properly", - ], - }, - { - version: "0.10.5", - content: [ - "Show time played and valuation per hour in Swiss Shop", - "Zeppelin Factory has been moved out of Expansion Pack 1", - "Input/Output value in Statistics Bureau will take into account whether the building is working or not (unless you turn on theoretical value). This will affect price elasticity when you buy from Trade Center, as well as wholesale orders", - "Price elasticity will only update when the market updates (every 2 hours, 1 hour for Hong Kong)", - "Add a new building option: high power priority - switching this on will make the building draw power before other buildings", - "Player trade quota reduction will only apply if the trade amount exceeds what's available on the player trade market", - ], - }, - { - version: "0.10.4", - content: [ - "Cancelling a buy trade will refund 100% cash", - "Player trade quota calculation has changed: if the price is outside 25% of your local price, for every 25% difference, you need double the quota. For example, if the price is 75% higher than your local price, then you need 4x quota for the trade", - "Player trade price range has changed: Your price range is the larger range of +-25% of your local price or +-5% of the best market price", - "You need to be on the latest patch to participate in player trade", - "The minimum 10% overnight interest rate cap has been removed", - ], - }, - { - version: "0.10.3", - content: [ - "Crowdfunding time changed to 24h - the current crowdfunding will be replaced by a new one and your investment will be refunded", - "You can now choose the additional amount you want to pledge after your first pledge", - "Move patch notes section to Headquarter and to a separate panel", - "You can now choose to dock or float the panel if you fix it to left/right", - "Fix a bug where ghost lines are drawn if a building is sold already", - "Fix a bug where sometimes wholesale orders are not generated", - ], - }, - { - version: "0.10.2", - content: [ - "Move crowdfunding to Central Bank from Wholesale Center", - "Add a warning when you cash in if you have pending crowdfunding pledges", - "Fix a bug where Wholesale Partners policy occasionally still feature lower tier resources", - "Update game framework version (this update might be bigger than usual)", - ], - }, - { - version: "0.10.1", - content: [ - "Earth Is Flat policy no longer requires Expansion Pack 1", - "Fix a bug where chat messages sometimes get truncated", - "Update language translation - thanks to all the community translators", - ], - }, - { - version: "0.10.0", - content: [ - "Introducing crowdfunding: you can now pledge your support in crowdfunding (which can be found in Wholesale Center). If enough players have pledged support, all of participants will get rewards! Each crowdfunding lasts 3 days and a new one will be added when the current one ends", - "New building: Software Compiler (Expansion Pack 1)", - "New building: Search Engine Company (Expansion Pack 1)", - "New building: Battleship Factory (Expansion Pack 1)", - "New building: NavyCommand (Expansion Pack 1)", - "Shipyard no longer requires Expansion Pack 1", - "Power statistics now show the power required to have all buildings up and running - and power surplus will go to negative", - "If you choose to fix the panel position to left or right, the panel will dock to that side, allowing you to move the map to that edge", - "Resource Explorers can be boosted if you turn on Resource Explorer 2.0 and Supply Chain Booster (you need an adjacent mine of the same type)", - "Fix a bug where buildings that are boosted by Resource Boosters did not increase power usage", - "Resource Boosters' power usage no longer scales with the number of boosters built", - "New Policy: Earth Is Flat - All tile modifiers are zero. This policy will deactivate Nature's Power and Tile Modifier Plus policies.", - "Policy Change: Wholesale Partner - Wholesale center orders only contain resources that are from the top-half of your most-advanced researched products (which has to satisfy the minimum resources requirement)", - "Balance: Wholesale center orders will now evenly contain resources of different tiers and the volume will be based on your actual production capacity", - "Rotterdam's bonus changed to: Earth Is Flat policy is free", - "QoL: You can now sort by name in Trade Center", - "New resource movement options: always show, on highlight (show dots and lines when highlighted), line only (show line only when highlighted) and always hide", - "Add Japanese and Korean chat channel", - "Add Japanese translation, update Chinese/Korean/Russian/German translation - thanks to all the community translators", - ], - }, - { - version: "0.9.7", - content: [ - "Add Swiss money achievements for Vancouver: Sap Seller (100 Swiss), Syrup Savant (500 Swiss) and Canuck Conqueror (1000 Swiss)", - "Add a new achievement: Barbarians At The Gate - Use 1 trillion worth of player trade quota between market updates", - "Add a new achievement: Diversified Productions - Build 100 different types of buildings on a single map", - "Add a new achievement: Real Estate Tycoon - Have 400 buildings on a single map", - ], - }, - { - version: "0.9.6", - content: [ - "New sound effect for chat mentions and trades to claim", - "Fix a bug where Statistics Bureau shows incorrect amount in Vancouver when Production Diversification policy is active", - "Fix a bug where Production Diversification policy is applied on top of production multiplier (it should be applied before the production multiplier)", - "Fix a bug where Renaissance Policy causes incorrect Research Point reward in Wholesale Center", - ], - }, - { - version: "0.9.5", - content: [ - "Fix a bug where Wholesaler Center timer is stuck when World's Fair policy runs out of policy points", - "Fix a bug where buildings cannot be shut down when Cost Saver policy runs out of policy points", - "Fix a bug where It's All Green achievement is not awarded correctly", - "Fix a bug where some Portuguese characters are missing on the world map", - "World's Fair policy will now double the research point and policy point reward from wholesale orders", - "Resource boosters will always run before other buildings in one cycle (this will minimize the flickers caused by resource boosters)", - ], - }, - { - version: "0.9.4", - content: [ - "Balance: Political Lobbyist changed to: policy center has 2x policy points conversion capacity", - "Balance: policy point costs per policy has been adjusted so that they are easier for new players", - "Balance: Supply chain booster policy will make resource booster boost higher-level factories first", - ], - }, - { - version: "0.9.3", - content: [ - "Wholesale center order has been reverted to the old logic in 0.8.0", - "Fix a bug where It's All Green achievement is not awarded correctly", - ], - }, - { - version: "0.9.2", - content: ["Bugfix: Fix a bug Supply Chain Booster policy does not calculate boost correctly"], - }, - { - version: "0.9.1", - content: ["Bugfix: Fix a bug where Maple Syrup Factory is available on maps other than Vancouver"], - }, - { - version: "0.9.0", - content: [ - "New map: Vancouver - new unique bonuses, unique buildings and unique policies (Expansion Pack 1)", - "New policy: High Pressure Gas Pump - Natural gas pumps have 2x output but use 2x power", - "New policy: The Renaissance - Research Lab has 2x capacity but takes culture as the extra input", - "New policy: Supply Chain Booster - Resource boosters use 2x power and science, but for each working mine a resource booster is boosting, it also provides capacity boost to adjacent factories that consume the mine's output (the factory should only consume deposits)", - "New policy: Production Diversification - Each different type of building gives 1% extra capacity to all buildings (Vancouver only)", - "New policy: Syrup Plastic - All buildings that input plastic use maple syrup instead (Vancouver only)", - "New building: Maple Syrup Factory (Vancouver only)", - "Balance: IC Fab change from 4 Al + 2 Battery to 4 Al + 14 Si", - "Balance: Liquid Propellant change from 20 Petrol to 10 Petrol", - "Balance: Gas Propellant change from 45 Gas to 24 Gas", - "As a result of the propellant change, the input of the following buildings are slightly adjusted: Missile Factory, Project V-2, Project Vostok, Air Shuttle Inc, Satelink Inc", - "Air Shuttle Inc no longer requires expansion pack 1", - "Policy costs now ramp up faster to the number of active policies", - "Wholesale orders should now have more consistent value", - "Custom building color is now stable and available to all players", - "Update translations - thanks to the hard work of community translators", - ], - }, - { - version: "0.8.6", - content: [ - "You can now customize a specific building type's color in building info panel (this is an experimental feature and is only available for Expansion Pack owners until it stabilizes. Please report bugs on Discord)", - "A new leaderboard: Total Valuation Per Hour Per Swiss", - "City leaderboards has been changed to Total Valuation Per Hour", - "Update game framework version (this update might be bigger than usual)", - "Update translations - thanks to the hard work of community translators", - ], - }, - { - version: "0.8.5", - content: [ - "New leaderboards: Total Valuation Per Hour, Total Valuation Per Hour (< 1000 Swiss), Building Valuation Per Building. New players get more chances to feature in the leaderboard!", - "Fix a bug where hiding resource movement might cause blackout for a cycle", - "Fix a bug where auto highlight sometimes highlight the wrong buildings", - "Fix a bug where Wind Turbine has wrong descriptions", - "Now when you get the GPU is busy popup, the reload game button should work better - but if you continue to have issues, please report on Discord", - "Update game framework version (this update might be bigger than usual)", - "Update Chinese/German/French translation", - ], - }, - { - version: "0.8.4", - content: [ - "Now when you cancel a trade or fail to accept a trade, the resource will be refunded to one of the buildings that it is drawn from instead of always to Trade Center", - "Fix a bug where adjacent bonus square policy is not implemented correctly", - "Profit in building info panel will grey out if the building is not working", - "Add a hotkey [0] for cancel building construction", - "When resuming from background, the game's screen sometimes turns grey - this is because the operating system has put the game's graphics to sleep as GPU is busy with other tasks. A popup has been added to reload the game in this case", - "Update Chinese/German/French translation", - ], - }, - { - version: "0.8.3", - content: ["Fix a bug where Chinese chat channel sometimes fails to update when new messages come in"], - }, - { - version: "0.8.2", - content: [ - "Bugfix: St. Petersburg's map bonus has been changed to: Project Vostok has 2x capacity", - "Bugfix: Toulouse's map bonus has been changed to: Rocket factories have 2x capacity", - ], - }, - { - version: "0.8.1", - content: [ - "Add Missing Policy: Fuel Dynamite - Dynamite factories use your current fuel instead of oil", - "Fix a bug where tile modifiers do not show correct gradient color", - ], - }, - { - version: "0.8.0", - content: [ - "Steel-Space tech tree has been expanded and rebuilt", - "New Building: Radar Factory", - "New Building: Project V-2 (Expansion Pack 1)", - "New Building: ICBM Factory (Expansion Pack 1)", - "New Building: Atomic Bomb Factory", - "New Building: Nuclear Missile Factory", - "New Building: Dynamite Factory", - "New Building: Liquid Propellant Factory", - "New Building: Gas Propellant Factory", - "New Building: Project Vostok (Expansion Pack 1)", - "New Building: Space Force Command (Expansion Pack 1)", - "New Building: Space Colony Inc", - "The following buildings' input has been adjusted, please see build menu for the new input requirement: Semiconductor Fab, Artillery Factory, Missile Factory, Satellite Factory, Spaceship Factory, Air Shuttle Inc, Shipyard, Submarine Factory, Aircraft Factory, Helicopter Factory, Zeppelin Factory, Console Factory, Linux Distribution, Satelink Inc, Web Browser, Music Producer, Book Publisher", - "New Policy: Adjacent Bonus Square - Adjacent bonus is 50% more effective, but tile modifiers scale from -15% to +15% (square map only)", - "New Policy: Resource Booster Square - Resource boosters provide 25% more boost but their science input and power usage also increase by 25%", - "New Policy: Steel Furnace Modernization - Steel mills and stainless steel plants have 2x capacity but uses 2x power", - "New Policy: Iron Steel Zone - Resource booster provide a output bonus equivalent to adjacent bonus to adjacent steel mills or stainless steel plants for each working iron mine it is boosting", - "You can only change your name once every 24h", - "Improve performance of player trade and chat", - "Update translations - thanks to the hard work of community translators", - ], - }, - { - version: "0.7.7", - content: [ - "Balance: Resource Explorer's upgrade cost reduced by 50%, research cost reduced by 50%", - "You can now block a user's chat messages - the block will be in effect in the current game session and you cannot undo it unless you restart the game. If you encounter abusive behaviors in chat, please report to moderators.", - "Add timestamps to chat messages", - "Fix a bug where building hotkey can sometimes cause ghost buildings", - "Add a hotkey [5] for adding routes in warehouses", - "Improve UI performance when chat/trade window is open", - ], - }, - { - version: "0.7.6", - content: [ - "Now if you build a building that is not a mine on top of a deposit, the resource icon will appear on the bottom left instead of being hidden", - "Now if you show the tile modifier on map, the deposit icon will show on the bottom left as well", - "Statistics Bureau now show Science and Culture input/output. If you turn on theoretical value, wind turbines will assume 80% capacity and solar panels will assume 50% capacity when calculating science output", - "Fix a bug where Stockholm's city bonus not working properly", - "Fix a bug sometimes offline earning is not awarded even though the game is connected to the internet", - ], - }, - { - version: "0.7.5", - content: [ - "Massive performance improvement if you hide resource movement. For a very large base, FPS improves from 8-10FPS to easily 60 FPS on my Skylake i5 CPU", - "Resource boosters' science and power input no longer scales with the upgrade multiplier and Swiss production multiplier. e.g. A level 10 resource booster with x2 Swiss production multiplier used to require 400 science/s - after it only requires 100 science/s", - "Resource boosters' science and power input now scales to the total number you own - the more resource boosters you own, the more input each requires", - "Theoretical value in Statistics Bureau now assume resource boosters are always on", - "You can now choose to use scientific notation for numbers larger than 1Qa (1e15)", - "Tile modifier overlay now shows on the deposit tile", - "Fix a bug where building upgrade cost divider also affect building/research cost", - "Fix a bug where cancelling a construction on location warning does not give refund", - "Fix a bug where leaderboard shows incorrect title", - "Update German and Chinese translation", - ], - }, - { - version: "0.7.4", - content: [ - "New Swiss Upgrade: building upgrade cost divider - divide building construction and upgrade cost by this divider", - "New Achievement: Software Giant - Build a level 10 Software Company, level 10 Operating System Inc, level 10 Database Company and level 10 Web Browser on the same map", - "New Achievement: Space Race - Build a level 10 Rocket Factory, level 10 Satellite Factory, level 10 Spaceship Factory and level 10 Space Station Factory on the same map", - "New Achievement: To The Moon - Build a level 40 Bitcoin Farm and level 40 Dogecoin Farm. Own 1B Bitcoin and 1B Dogecoin", - "New Achievement: It's All Green - Have 50 production lines and no production deficit at all", - "New Achievement: Deep In Red - Have 50 production lines that has production deficit", - "Leaderboard page now has a dropdown menu and shows top 50", - "Swiss Shop now shows your all time swiss money earned", - "Redesigned part of Research Lab / Policy Center UI to make the culture/science conversion more clear", - "You can now turn off science & culture conversion in Research Lab / Policy Center", - "All maps that has oil deposit only now have Oil Refinery unlocked when you start", - "Resource boosters no longer has upgrade multiplier (the x1 you get for every 10 level)", - ], - }, - { - version: "0.7.3", - content: ["Fix a bug where turning off mines is not working"], - }, - { - version: "0.7.2", - content: [ - "Fix a bug where Hide Resource Movement option does not work properly", - "Fix a bug where Resource Boosters' calculation has wrongly taken production multiplier into consideration", - ], - }, - { - version: "0.7.0", - content: [ - "New Building: Resource Booster - takes Science and boost the output of adjacent mines/oil wells/gas pumps", - "Now new players will start on Oslo instead of Stockholm", - "Stockholm's map bonus has been changed, please see new bonus in the world map", - "Oslo's map bonus has been changed to, please see new bonus in the world map", - "New Building: eBook Inc - takes Screen, Battery and Semiconductor and produces Book and Science", - "New Building: Music Producer - unique to Stockholm, takes Guitar, Drum and Paper and produces Music (available without expansion pack 1)", - "New Policy: Plastic Fiber - fiber factories use 50% more plastics but 50% less glass", - "New Policy: Press Conference - the effect of market news doubles, both positive and negative (expansion pack 1)", - "New Swiss Upgrade: Sell/Downgrade Refund", - "New Swiss Upgrade: Builder Move Speed", - "Update Tutorial to include a new section on Logistics Department and Statistics Bureau", - "Highlighting a building under certain level will not highlight built-in buildings", - "Free Oil Transport policy has been renamed to Electric Oil Transport and is now available without expansion pack 1", - "Now if you build a building that has tile requirement (e.g. power bank and resource booster), the game will give you a warning instead of blocking you from building it", - "Balance: Satelink Inc's rocket input reduced to 16 from 20", - "Balance: Web Browser's fiber input reduced to 25 from 50", - "Balance: Fiber Factory's input reduced to 4 Glass/Plastic from 5 Glass/Plastic", - "The game now loads from Steam Cloud by default - and your save will sync across devices via Steam Cloud automatically", - "Player trade cool down after manually importing save/restoring from Steam Cloud has been increased to 2 hours - synching via Steam Cloud will not result in cool down", - "Improve general game performance, especially when you have the dots turned on", - ], - }, - { - version: "0.6.12", - content: [ - "Your personal news should be more relevant to your productions now", - "Market news for Hong Kong should show up correctly (Hong Kong has 2 city specific news)", - "Fix a bug where buildings someones stuck in building queue", - "Player trade cool down after importing/restoring save has been reduced to 1h until 0.7.0 when your save will sync via Steam Cloud automatically (and will not result in cool down)", - "Update Portuguese (BR) translation", - ], - }, - { - version: "0.6.11", - content: [ - "Market news are volatility are tuned down", - "80% of the market news should be buff to production (i.e. increase in output or decrease in input)", - "Theoretical input/output values in Statistics Bureau do not take market news into account", - "City unique resources will not appear in the market news", - ], - }, - { - version: "0.6.10", - content: [ - "Introducing Market News: when the market updates, you will get 3 news: 1 for all players, 1 for specific map and 1 for you only. They provide buff/debuff to your production", - "You can see the news in Wholesale Center and highlight all affected buildings. Buildings that are affected also shows a banner on its info panel", - "Overnight interest rate calculation has been changed, it is now based on the following factor: price, production surplus, auto sell capacity/concurrency and stock rating", - "You can only have 1 active connection to player trade server per save (i.e. other connections will be logged out)", - "You can only claim your trades using the save that created the trade (the export of the save will not be able to claim/cancel the trade)", - "You cannot participate in player trade within 24h after you have imported a save or restored from Steam Backup", - "Add a warning if your Steam Cloud save does not match local save (the game will switch Steam Cloud by default in 0.7.0)", - "Fix a bug where the game fails to load if you have blueprint buildings", - ], - }, - { - version: "0.6.9", - content: ["Fix a bug where Trade Center does not show correct UI"], - }, - { - version: "0.6.8", - content: [ - "Rework Blueprint policy: now placing a blueprint is free - you only pay building cost (+ permit cost) once you start building. Once a building is started, you cannot pause it any more (but you can still cancel it as long as it is queueing)", - "Buildings under construction (including blueprint) will show its icon with the cog on the top left corner. Blueprint buildings will show a faded cog", - "If you currently have paused construction, it will be moved as blueprint building (unpaid) and the construction cost will be refunded", - "Show player flag in Leaderboard", - "Fix a bug where Resource Explorer 2.0 does not show correct number in UI", - "Add Portuguese and Vietnamese translation", - ], - }, - { - version: "0.6.7", - content: [ - "Remove Unlock Warehouse policy: now the warehouse needs to be researched (with a small amount of research point)", - "New policy: Resource Explorer 2.0 - resource explorers produce 2x output but use 2x power", - "New policy: Blueprint - Construction of a building will not automatically start - it has to be started manually (FREE POLICY)", - "You can pause a construction that is queueing - and resume it later", - "Add highlight options in Headquarter: highlight buildings that haven't been constructed, that are under level 10/20/30", - "Add a Force Scroll option on chat: if force scroll is on, the chat will scroll whenever there's a new message. Otherwise it will only scroll when you are already at the bottom", - ], - }, - { - version: "0.6.6", - content: [ - "Fix a bug where adding player trade shows user id mismatch error", - "Player trade price range is now +-25% of best market price or your local price, whichever is larger", - ], - }, - { - version: "0.6.5", - content: [ - "Building constructions are now in two phases: queueing and building. You can cancel construction in queue without any cost at any time. Once construction has started, you cannot cancel any more", - "When you highlight a building type, buildings under construction will also be highlighted", - "Building Recycle policy has been removed", - "Add a Save and Quit button in Headquarter so that you can quit the game in fullscreen mode", - "Add a auto scroll checkbox for chat", - "Player trade form now remembers your last trade information (Buy/Sell, Resource)", - "Show a warning in Research Lab and Wholesale Center if auto sell is on for a resources - the amount stored in trade center will not be usable for this purpose", - "Optimize CPU/GPU usage when the game is minimized", - "Update Chinese/Russian/German translation", - ], - }, - { - version: "0.6.4", - content: ["Fix a bug where Nikola Tesla policy is broken on Detroit"], - }, - { - version: "0.6.3", - content: [ - "Fix a bug where wholesale orders have incorrect amount", - "Fix a bug where game does not run in background any more", - ], - }, - { - version: "0.6.2", - content: [ - "The all new leaderboard is here: you need to be authenticated and your Steam ID need to pass VAC (Valve Anti-Cheat) to submit to leaderboard", - "The game will gradually move to use Steam Cloud as your main save (currently your local save is your main save). Please upgrade to this version and confirm that your Steam Cloud save is working", - "Game studios are available for non-expansion owners. Air Shuttle Inc is in expansion pack 1", - "New city bonus for Detroit: car factories use gas instead of petrol", - "Wholesale orders are now scaled to your production (instead of market cap)", - "Now you can play the game in fullscreen on Steam", - "Now if you choose a dark them, the window frame/scroll bar/dropdown menu will also adapt accordingly on Steam", - "Optimize performance of the game on Steam, if you had performance issue before, see if this update fixes it for you", - "Fix a bug where your own player trade allows you to increase the price range", - "Update Chinese/Russian translation", - ], - }, - { - version: "0.6.0", - content: [ - "New building: Air Shuttle Inc, provides an alternative spaceship production", - "New building: Aircraft Carrier Factory, produces Aircraft Carrier (CRR) (Expansion Pack 1)", - "New building: GameStation Inc, provides an alternative console production (Expansion Pack 1)", - "New building: Database Company, produces database (DB)", - "New building: Satelink Inc, provides an alternative internet production (Expansion Pack 1)", - "New building: Social Network Inc, produces social network (SNS)", - "New building: Fiber Factory, produces Fiber (FIB)", - "New policy: Nikola Tesla, car factories use batteries instead of petrol and only require 50% of the amount", - "Detroit's map bonus changed: +free car transportation, +Nikola Tesla policy is free, -car factories do not need batteries", - "Hong Kong's map bonus changed: +wholesale center unlocks with 4 resources, +start with 100M cash, -movie studios have 2x capacity", - "Pearl of the Orient policy changed: free Kung-fu and Tai-chi transportation. Movie studios have 2x capacity but uses 50% more power", - "Player trade price limit is now +-25% of the market best price (instead of +-25% of your local price)", - "Stainless Steel Plant: iron 2 -> 3", - "Bitcoin Farm: power usage 50 -> 100", - "Dogecoin Farm: power usage 50 -> 100", - "Car Factory: aluminum 4 -> 2, battery 2 -> 0, petrol 0 -> 10", - "Console Factory: game 2 -> 5, circuit 2 -> 30, plastics 2 -> 30, battery 2 -> 30, aluminum 2 -> 0. The console price will reflect the increased cost. It is now available for non-DLC owners", - "Linux Distribution: robot 0 -> 30", - "Web Browser: chromium 5 -> 50, fiber -> 50", - ], - }, - { - version: "0.5.5", - content: [ - "A redesigned Statistics Bureau with a breakdown of idle resource amount in buildings", - "You can now sort by Run Out timer in Statistics Bureau", - "Run Out timer now will be formatted in days, months and years as well", - "Bid/Ask and Better Than Market filter will not be saved (Resource filter will still be flushed)", - "Now the game will try to re-authenticate your account if you have been disconnected", - "Improve Steam Cloud backup - if you still encounter error, please report on Discord", - "Improve UI performance especially on Chat/Trade UI", - "Turning on energy saving option will also lower the UI refresh rate", - "Update Russian translation", - ], - }, - { - version: "0.5.4", - content: [ - "Add all missing city-specific Swiss achievements", - "Add a Force Steam Cloud Sync button in Steam Cloud backup", - "If you are authenticated, you should see a green check mark next to your name in the headquarter", - "Trade Center freight warehouse is now sorted alphabetically", - "All sort-by-name features are now language aware - it will sort based on the game language", - "Fix a bug where offline mode on Steam does not work (infinite loading)", - ], - }, - { - version: "0.5.3", - content: [ - "Achievement is here! You can see a list of achievements in Headquarter", - "You will get Swiss Money rewards after achieving an achievement", - "Achievements are also synced to your Steam library", - "New achievements are constantly added - if you have a good idea, share it on Discord #suggestion channel", - "Add Korean translation, updated Russian, Chinese and German translation", - ], - }, - { - version: "0.5.2", - content: ["Fix a bug where player trade resource dropdown does not work properly"], - }, - { - version: "0.5.1", - content: [ - "Hong Kong: You can now place BUY/SELL orders for resources unlocked via player trade", - "Hong Kong: Prices in Trade Center are more sensitive to buying/selling (this is not a new change, but I forgot to mention it in the last patch note)", - "Add a search box in Research Lab: you can search by building name or its input/output resources", - "Now you can type in power to search for power plants in Build panel and Research Lab", - "Offline earning multiplier has been removed. If you have existing upgrades, the swiss money spent will be refunded", - "Balance: Book publisher now needs 5 paper + 5 coal (instead of 10 paper)", - ], - }, - { - version: "0.5.0", - content: [ - "New map - Hong Kong (Expansion Pack 1)", - "Unique trade center pricing algorithm: prices follow normal distribution (bell curve)", - "Market updates and trade quota resets every 1 hour", - "Research can be unlocked via player trades", - "50% more active player trades", - "2 unique policies: International Export Trade, Pearl of the Orient", - "2 unique buildings: Kung-Fu Dojo and Tai-Chi Dojo", - "Other unique production bonuses", - ], - }, - { - version: "0.4.13", - content: [ - "Fix a bug where trade amount is incorrect on fill popup", - "Fix a bug popup text color is not correct", - ], - }, - { - version: "0.4.12", - content: [ - "A more secure player trade: if you play with an unauthenticated account, your trade size and frequency will be rate-limited", - "You can now play Rome map without Expansion Pack 1!", - "You can now play with expansion packs on web as well: you need to own the expansion pack on Steam and sign in via your Steam account", - "Fix a bug where Steam backup frequency is not correct (it is now every 10 minutes)", - "Fix a bug where trade amount has rounding error - now it has to be an integer", - ], - }, - { - version: "0.4.11", - content: [ - "Add profit breakdown in building info panel: now building's profit margin take fuel cost into account", - "Resource explorers are now counted correctly in Statistics Bureau", - "Partial fill orders will be combined into one claim (instead of one claim per fill)", - "Partial fill percentage is now scaled to the maximum amount you can afford", - "Steam backup now have 5 slots - and will back up your local save every 10 minutes", - "Fix a bug where offline warning shows up every second (it should only show up once)", - "Fix a bug where chat scroll sometimes doesn't work (again)", - ], - }, - { - version: "0.4.10", - content: ["Fix a bug where player trade does not work correctly"], - }, - { - version: "0.4.9", - content: [ - "Add Steam guide link in Headquarters. Also add a banner to beginner's guide for new players", - "Player trade quota now shows the amount of resources (instead of $)", - "Profit margin calculation has been corrected. Now it is (Price-Cost)/Price. Before it was (Price-Cost)/Cost", - "Fix a bug where chat doesn't scroll in certain cases", - "Fix a bug where you can fill a trade with 0 amount (now the minimum amount is 1)", - "If you opt out of the leaderboard, you won't be able to trade with other players", - ], - }, - { - version: "0.4.8", - content: [ - "Player trade quota has been increased to 1% of your market up (from 0.1%)", - "Remove the Can Afford filter in player trade: since now you can partial fill an order", - "When you fill an order, the slider is capped at maximum amount you can fill", - ], - }, - { - version: "0.4.7", - content: [ - "Introducing partial fill: now you can fill a player trade partially (from 0.1% - 99.9%)!", - "Trade quota has been changed to 0.1% of your market cap and it resets every 2 hours together with the market", - "Trade time limit has been reduced to 5 seconds (expansion owner) and 10 seconds (others)", - "Swiss shop now shows your Cash In Swiss money amount in more digits if you have more than 1000", - "Fix a bug where player trade filter is broken", - "Fix a bug where statistics bureau did not count auto sell correctly", - "Now if you are auto selling a resource, factories won't be able to pull that resource from Trade Center. And you cannot use the amount in Trade Center for Research/Wholesale/Player Trade", - "Add Portuguese chat channel", - ], - }, - { - version: "0.4.6", - content: [ - "Introducing Resource Explorer: a building that allow you to extract resources from any empty tile", - "Now the Out-In values in statistics bureau will take auto sell amount into account (they are added to In value)", - "Now if a building is out of power, there will be a warning badge showing on the top left corner of the building. Also the warning inside of the panel has been changed to an icon to avoid UI flickering", - "Improve trade and chat server stability", - "Update German translation", - ], - }, - { - version: "0.4.5", - content: [ - "Buy/Sell orders are now changed to Bid/Ask to avoid confusion", - "Trade action buttons have been renamed to improve clarity. Also the effect has been put under the button for further clarity", - "Now you can filter trades that are better than market price: i.e. for bid orders, it is higher than market, for ask orders, it is lower than market price", - "Trades are sorted in bid (high -> low) and ask (low -> high) order", - "Can afford option now filters correctly (for bid orders, it checks resources, for ask orders, it checks your cash)", - "Fix a bug where filters do not update when the trade updates", - "Fix a bug you cannot accept a buy order unless you have enough cash: buy orders only require resources", - "Improve chat and language channel stability", - "Building construction/upgrade/research cost is no longer tied to the real-time trade center price, but is now tied to price when the market update", - ], - }, - { - version: "0.4.4", - content: ["Fix a bug where language-specific chat channel doesn't work"], - }, - { - version: "0.4.3", - content: [ - "New trade system: now the trade system shows real-time orders (no need to hit refresh)", - "New trade system: now you can place BUY orders in the trade system", - "Swiss multiplier upgrades are now capped at 100 (instead of 10)", - ], - }, - { - version: "0.4.2", - content: [ - "Now if you hover over a player flag, it shows the name and ISO3166 region code", - "Fix the wrong pricing for books and anime (reported by @Antux). Now book publishers and anime studios should show profit margin (the price of culture/science will be considered as 0 in this case)", - "Fix a bug that popup dialog layout is incorrect", - "Fix a bug where chat can cause accidental hotkey conflict (reported by @Devonin)", - "Fix a bug where player trade same-origin IP check sometimes fails", - "Fix a bug where warehouse still shows transport visuals even though the amount is 0 (reported by @Lupus)", - "Fix a bug where server check is erroneously applied even if leaderboard is turned off", - "Update Chinese (Simplified/Traditional), German translation", - ], - }, - { - version: "0.4.1", - content: ["Fix a bug where building permit shows negative (reported by @Mikos)"], - }, - { - version: "0.4.0", - content: [ - "New map: Osaka, with unique map generation algorithm, unique buildings and other unique bonuses! (Expansion Pack 1) The map is still being fine-tuned so please give your feedback on Discord", - "Shinny redesigned chat (desktop only): it is now a separate panel so you can chat AND play the game, wow!", - "Language-specific chat channel: bonjour le monde!", - "Now if you auto sell a resource, you can use the amount stored in trade center for research/whole sale order", - "Now if you run out of building permit, the build menu will automatically have permit price included", - "Show run out timer in logistics center that replaces flickering the warning badge", - "Semiconductor Fab is renamed as Integrated Circuit Fab", - "Central bank now shows offline earning after the multiplier applied", - ], - }, - { - version: "0.3.6", - content: [ - "Now mines will appear on top (and bind to key [1]) before last built buildings (key [2])", - "Fix a bug where Statistics Bureau didn't show the correct theoretical input/output (reported by @Arlene)", - "Fix a bug where warehouses' power consumption is incorrect (reported by @Mikos)", - "Fix a (very rare) bug where selling a building can cause negative building valuation (reported by @Ultima)", - ], - }, - { - version: "0.3.5", - content: [ - "New policy: Rechargeable Battery - battery fuel economy improves by 100% (ie. 50% fuel cost)", - "Add an option in statistics bureau to show theoretical input/output capacity, which will assume all buildings are working with full adjacent bonus and ignore shut down (replace the old option)", - "Tile modifiers are rounded to the nearest 5%", - "Your last built buildings will appear at the top of your build panel and bind to key [1] if it can be built. Mines have been moved to key [2]. Adjacent buildings will be highlighted and appear at the top as well", - "Now you can see resources with special transport cost in logistics center (scroll to bottom)", - "Fix the missing ⭐ for expansion owners in Chat (now it's a golden cog)", - "Policy center will show a run out timer if you don't produce enough policy points", - "Add a check to disallow importing new save to old game version (which will result in corrupted save)", - ], - }, - { - version: "0.3.4", - content: [ - "Now battery can be used as fuel as well", - "New policy: The Wind Rises - wind turbines work 100% of the time but produces 30% less power (expansion pack 1)", - "New policy: Science Literature - book publishers produce science instead of culture", - "New policy: Free Delivery - warehouses provide the same fuel save on outward transportation as well", - "Balance: University's base output has been changed to 15 Culture and Science (from 20)", - "Balance: Opera House's base output has been changed to 10 Culture (from 6)", - "Fix a bug where research center and wholesale center erroneously count resources en route (you cannot pay for research and wholesale orders with resources en route)", - "You can now choose a player flag in Headquarter. It shows up in the chat currently", - "Auto scroll chat if you've already scrolled to the bottom", - "Update French translation", - ], - }, - { - version: "0.3.3", - content: [ - "Reduce the warehouse power consumption (it should now require less power when you add a new route)", - "Rewrite the way resources are counted: now resources en route are counted as well. This will result in a more stable resource numbers and make the Moving Average option obsolete (which has been removed)", - "Shopping Spree no longer has a upper cap (it was 10x of resources) - so now it will buy from Trade Center as long as you have a deficit", - ], - }, - { - version: "0.3.2", - content: [ - "Now there's experimental MacOS and Linux version on Steam! Please note these two versions are provided on the best effort basis - they are not fully tested so please report any issues on Discord", - "Logistics center now shows fuel cost per route (instead of per transport)", - "Increase warehouse base capacity, and the capacity is now divided among all routes. Power usage per route has been changed", - "Power Banks needs to be researched (it will take effect after you start in a new city)", - "Fix the UI glitch that turning on/off auto sell will make the inventory amount flicker", - "Update Chinese and German translation", - ], - }, - { - version: "0.3.1", - content: [ - "Fix the game stuck at loading screen when playing with Chinese language, Please update to this version if you cannot load the game", - "Cancelling an order will refund 90% instead of 75%", - ], - }, - { - version: "0.3.0", - content: [ - "Introducing new warehouse: now you can manually route resources to warehouses", - "Adjacent bonus is now implemented correctly: only buildings that are working are counted", - "You can now downgrade your buildings (you get 50% of your investment back)", - "Cancelling a player trade will only refund 75% of the resource - and the resource will be moved to Trade Center", - "Fix dark UI overrides not working for alert", - "Improve Logistics Department dashboard UI", - "To prevent server overload, you can only accept one trade every 30 seconds (10 seconds for expansion pack owners)", - "Update Chinese, French and German translations", - ], - }, - { - version: "0.2.9", - content: [ - "Color theme editor: now you can customize colors in the game and UI! Share your creation with the community on Discord", - "Redesign Chat UI", - "You can now reply a chat message and copy the content. You will get a notification when you received a reply - you can turn that off in the settings", - "Your chat message draft will now be saved if you navigate to other panels", - "Add a way to have light mode UI with dark mode game: now default Blueprint theme has light mode menu", - ], - }, - { - version: "0.2.8", - content: [ - "Dark UI mode: now the color theme mode will be synced to UI", - "Balance: Adjust shopping spree policy threshold", - "Bugfix: Player Trade wrong price range is displayed", - "Update NL, ZH, DE translations. Thank you the community translators!", - ], - }, - { - version: "0.2.7", - content: [ - "Add new color themes: Solarized Light, Solarized Dark (Expansion Pack 1), Dracula (Expansion Pack 1)", - "New policies: Silicon Valley, Industrial Revolution, Aluminum Smelting, Deforestation", - "Show formatted number (1K, 1M, etc) in Player Trade input", - "Some of the colors from color theme are not in UI as well", - "Reworked power grid chart in Statistic Bureau", - "When you turn off cost saver policy, all buildings will be turned on", - "Add an option to hide resource movement (tiny dots) by default and only show when you select a building", - "Fix transport line drawing order", - ], - }, - { - version: "0.2.6", - content: [ - "Add power bank building: it has to be built next to a power plant. It store surplus power and provides power supply during shortage", - "Add new color theme: Monokai, you can change color theme in HQ", - "Add an option to exclude buildings that are shut down in statistics bureau", - "Fix shopping spree policy (it now should NOT buy resources that you already have enough)", - ], - }, - { - version: "0.2.5", - content: [ - "Player trade has been disabled on previous versions: you need to upgrade to this patch to re-enable player trade.", - "Now you can zoom out as much as your screen", - "Update FR, DE, NL translations", - ], - }, - { - version: "0.2.4", - content: [ - "Now you will receive a notification if your active trade is filled", - "Research center will show buildings that you can unlock even if you are not producing the resources", - "If you own the expansion pack, you can now have maximum 4 active player trades (instead of 2)", - "Player trade quota is now based on valuation instead of market cap (stock rating will be excluded)", - "Add Chinese translation, Update French, German and Dutch translations", - ], - }, - { - version: "0.2.3", - content: [ - "You can now filter player trade", - "Introducing player trade quota: you can trade max 10% of your market cap, cancelling a trade will refund the quota. Buying doesn't count towards the quota", - "Bugfix: You cannot accept a trade from the same IP address", - "Bugfix: You need to cancel/claim your active player trades before you can export save, import save and start in a new city", - "Balance: Now fuel should be deducted from the buildings with the highest amount first", - "Add Russian and Dutch translation (complete)", - ], - }, - { - version: "0.2.2", - content: [ - "Bugfix: Now you can see all trades (previously only shows latest 10)", - "Bugfix: Now your own trades will always appear on top", - ], - }, - { - version: "0.2.1", - content: ["Address some nasty bugs in player trade, happy trading!"], - }, - { - version: "0.2.0", - content: [ - "Introducing player trade: you can now trade resources with other players directly!", - "New order sound has been changed to something that sounds less like your phone notification", - "Bugfix: fix a bug where Cost Saver policy will break Policy Center and Research Lab", - "Add Spanish (almost complete) and German (85% complete) translation", - ], - }, - { - version: "0.1.12", - content: [ - "Bugfix: Fix a bug where cash is not included in market cap. This results in incorrect Swiss money shown and now it has been corrected", - "Balance: Adjust market price volatility", - "Balance: Adjust price sensitivity's scale to production capacity", - "QoL: You can hide prices of resources that you are not producing in trade center", - "QoL: You can hide resources that you are not producing in statistics bureau", - "QoL: You can sort resources in statistics bureau", - "Bugfix: Fix a bug where some translations are not displayed properly", - "Add German translation (Incomplete)", - ], - }, - { - version: "0.1.11", - content: ["Bugfix: Fix a bug where selling an item will make market price dive to 1"], - }, - { - version: "0.1.10", - content: [ - "Market price reset time will be the same for all players (0:00UTC, 2:00UTC, 4:00UTC, etc) and the reset price (including stock rating) will be the same for everyone on the same map", - "Market should now behave more stable than previous patch. But if you rely heavily on importing, most likely you still need to change your strategy", - "The less you produce a certain resource, the more sensitive the price will be in the trade center", - "Add French translation, you can help translating the game as well", - ], - }, - { - version: "0.1.9", - content: [ - "Balance: Buying from trade center will push up the price more significantly", - "Balance: Market prices at a particular reset time will remain the same no matter how many times you try", - "Balance: Market prices will have a lower volatility compared to previous patch", - "QoL: Now you can press [1] on build panel to build the recommended mine", - "Bugfix: Turning World Fair policy on/off will reset order timer", - "Add a link to official guide on Steam (Hitchhiker's Guide to Industry Idle)", - "Improve performance of scrolling/zooming on a large map with lots of buildings", - "Improve performance of showing tile modifier overlay", - ], - }, - { - version: "0.1.8", - content: [ - "You can now show an overlay of tile modifier of a building on map on build panel", - "You can now search buildings (you can either search by name, input resources and output resources", - "Balance: Rotterdam no longer has tile modifiers (all tile modifiers are 0)", - "Balance: Adjacent Bonus Plus and Tile Modifier Plus has been changed, please see the description in policy center", - "Bugfix: Research lab and policy center should not be affected by tile modifier any more", - "Bugfix: Selling an item will not drive the price down to 0 any more", - ], - }, - { - version: "0.1.7", - content: [ - "New Policy: Tile Modifier Plus - Tile modifiers only affect output instead of both input and output", - "New Policy: Wholesale Partners - Wholesale center orders only contain resources that are currently being produced (you also need to be producing the number of required resources to unlock wholesale center)", - ], - }, - { - version: "0.1.6", - content: [ - "Introducing tile modifier: each tile will impact building's capacity (-25% ~ +25%). You can see the modifier when you build a building (next to the name) and see a building's info", - "New Policy: Nature's Power - doubles the tile modifier's effect (expansion pack 1)", - "New Building: Dogecoin Farm (Dogecoin), Operating System Inc (Operating System), Linux Distribution (Operating System, expansion pack 1), Web Browser (Internet)", - "Trade Center will show the price of a resource as soon as you've unlocked its production in research lab", - "Trade Center will no longer show the price of a resource if you cannot produce it", - "Now you can apply a building's setting to all buildings of the same type", - "Bugfix: Wholesale center will not generate orders that you cannot produce", - "Balance: Bitcoin requires 5 integrated circuits as input", - "Balance: Cities with only oil deposits have oil refineries unlocked by default", - "Balance: Knowledge through Steel policy cost has been reduced by half", - "Bugfix: Fuel Cost Discount now works correctly", - ], - }, - { - version: "0.1.5", - content: [ - "Statistics Bureau has been completely redesigned", - "Offline Earning calculation has been revamped - now it should better reflect your progression", - "New Building: Chromium Alloy Plant", - "New Building: Titanium Alloy Plant", - "New Policy: Chroiron - chromium alloy plants do not use Lithium but use 2x Iron instead. Now you should be able to build space station without expansion pack", - "The game can be run without internet connection (offline earning will not be generated). Web version still requires internet (duh)", - "Improve Swiss Shop UI", - "Improve Logistics Center UI - now it will show a warning badge if your fuel consumption exceeds production", - "Add hotkey [4] for shut down/turn on production", - "You can now shut down mines/oil wells/natural gas pumps now", - "Sell building's hotkey has been changed from [Backspace] to [0]", - "Bugfix: Slow down to save up policy should now work correctly (expansion pack 1)", - ], - }, - { - version: "0.1.4", - content: [ - "Bugfix: Sometimes grid highlight is not rendered properly after using logistics center", - "Balance: Wholesale center requires 8 different resources to unlock", - "Balance: Max builders upgrade base cost reduced from 50 to 25", - "The last upgrade option is changed to upgrade to next multiplier instead of fixed 10x", - "Logistics center now shows top 20 fuel cost routes", - "Add leaderboard opt-out. PLEASE NOTE: if you want to enable leaderboard later, you need to reset your data first", - ], - }, - { - version: "0.1.3", - content: [ - "Balance: Schools now have 4x science and 2x power usage", - "Balance: Wholesale center requires 10 different resources to unlock", - "Balance: Universities do not require books any more (expansion pack 1)", - "New Building: Polytechnics use semiconductors to produce science", - "New Policy: Knowledge Through Steel - steel mills use 2x input and produce extra science", - "New Map: Detroit", - "New Map: Boston (expansion pack 1)", - "Bugfix: Correct the description of Hearts of Iron policy", - "Expansion pack owners will have a ⭐ next to the name in leaderboard as well", - "You can only send one chat message every 10 seconds (doesn't apply to expansion pack owners)", - ], - }, - { - version: "0.1.2", - content: [ - "Add Steam Cloud backup - now your save is automatically backed up in Steam in case your local save is lost", - "Add an option to hide chat message from bottom toolbar", - "Resources in the statistics bureau are now sorted by deficit amount", - "Bugfix: you can now import save without expansion pack into a game with expansion pack", - ], - }, - { - version: "0.1.1", - content: [ - "Bugfix: sometimes swiss money are not rewarded when starting in a new city", - "Bugfix: world's fair policy now should work properly", - "Steam only: now the game runs in background, this will increase power usage (not in-game power, the real power)", - "Research lab now only shows research that can be unlocked on a certain map", - "Add a settings shortcut next to the chat icon", - ], - }, - { - version: "0.1.0", - content: [ - "A new era: welcome to beta! There are a lot of new features, contents and changes for you to explore in-game", - ], - }, - { - version: "0.0.27", - content: [ - "Add Research Lab: now you will need to unlock buildings", - "Change how policy points are generated: they now need to be produced", - "New buildings: School, University, Colosseum", - "New resources: Science and Culture. They do not cost fuel for transportation", - "Add a brand new tutorial", - ], - }, - { - version: "0.0.26", - content: [ - "Fix a bug where resource transportation are not calculated correctly", - "Shopping Spree policy will no longer buy a resources if there's already enough in the Trade Center", - ], - }, - { - version: "0.0.25", - content: [ - "Fix a bug where adjacent bonus plus policy causes skipped production cycle", - "Support data import on iOS/Android", - ], - }, - { - version: "0.0.24", - content: [ - "Add Logistics Department", - "Add Petrol Power Plant, Natural Gas Pump (Natural Gas), Gas Power Plant, Uranium Enrichment Plant (Enriched Uranium), Nuclear Power Plant.", - "Add permanent upgrades for Swiss money (prestige currency)", - "Add natural gas as a new fuel type", - "Add new policy: Sticky Input, Gas Liquidizer, Mo Plastics Mo Problems", - "Move 'Start In A New Map' to a new building from central bank", - "Show a building's profit margin in UI", - "Balancing: cost for buildings and upgrades are now based on market price", - "New sound effect when an order has arrived", - ], - }, - { - version: "0.0.23", - content: [ - "Add a new map: Amsterdam with hex grid", - "New deposits: Titanium, Chromium and Uranium", - "Add a draft prestige system: Swiss Bank", - "Wind Turbines only work for 80% of the time - but unlike Solar Panel, the cycles are not synced", - "Change the market price simulation in Trade Center: the price is more volatile now", - "Highlight system works on deposit tile as well", - "Add auto highlight option in Headquarter: enable it will automatically highlight buildings of the same type when you select a tile", - ], - }, - { - version: "0.0.22", - content: [ - "Add Only for Warehouses option in buildings: if you turn it on, only warehouses can transport resources from that building (you have to enable Unlock Warehouse policy)", - "Add several highlight options in Headquarter", - "Now a building's power usage will increase according to multiplier as well (you might need to build more power plants). Coal Power Plant's output has been doubled", - "Add keyboard shortcut: [Space] Move viewport to Headquarter, [H] Headquarter, [T] Trade Center, [P] Policy Center, [R] Research Center, [S] Statistics Bureau, [C] Central Bank, [W] Wholesale Center", - "New policies: Unlock Warehouse (Free), The Sun Never Sets", - "New buildings and resources: Solar Panel (works only 50% of the time), Console Factory (Game Console), Train Factory (Train), Shoe Factory (Shoes), Clothing Factory (Clothes), Fashion Factory (Fashion)", - ], - }, - { - version: "0.0.21", - content: [ - "Fix a bug where Shopping Spree policy doesn't work properly", - "Fix a bug where adjacent bonus is not correctly displayed", - "Improve performance if you have a lot of Auto Sell resources", - "Improve performance if you have a lot of buildings", - ], - }, - { - version: "0.0.20", - content: [ - "Building highlight feature: you can highlight buildings of the same type, buildings that produce the input and buildings that consume the output", - "Statistics Bureau adds building highlight support and shows the total input/output capacity of a certain resource", - "Add keyboard shortcuts: [Esc] close panel, [1] Upgrade x1, [2] Upgrade x5, [3] Upgrade x10, [A] Highlight all buildings of the same type", - "Fix a bug where Warehouse disappears from Build panel", - "New buildings and resources: Helicopter Factory (Helicopter), Santa Factory (Santa)", - "New policies: Low Carbon Steel, Cost Saver, Shopping Spree", - ], - }, - { - version: "0.0.19", - content: [ - "Add changelogs for each version in Central Bank", - "Interest rate now fluctuates every 2 hours (same with market price)", - "Only show corresponding mines on a deposit tile", - "Add tips/tutorials in building UI", - 'Add "Building Recycle" policy: you can get a full refund if you sell a building within 1 min', - 'Add "Coal Liquidizer" policy: coal power plants use extra coal to produce petrol', - "Add energy saving option in Headquarter", - "Add a confirm dialog before hard reset in Headquarter", - "Add Space Station Factory, Artillery Factory", - "Adjust some factories' input resources", - ], - }, - { - version: "0.0.18", - content: ["Add a link to the introduction tutorial in Headquarter"], - }, + { + version: "0.20.9", + content: [ + "Update Norwegian, Czech, Portuguese (Brazil) and Chinese translation (@FishPond)", + ], + }, + { + version: "0.20.8", + content: [ + "If you own either expansion packs, you can double your offline earning without watching a reward video (iOS & Android only)", + "Bugfix: When Factory Mining policy is active, wholesale orders will not contain natural deposits (reported by @jgestiot, fixed by @FishPond)", + "Bugfix: When Pumpkin Battery or Pumpkin Steel is active, the corresponding research buildings are not shown in Research center (reported by @WingedLeo)", + "Add in-game notification about seasonal events in Policy Center", + "Add a banner and link in Headquarter about CivIdle: Industry Idle's spiritual successor. The banner can be turned off in settings", + "Add back support for Windows 7/8/8.1", + ], + }, + { + version: "0.20.7", + content: [ + "Introducing weekly free premium city roster: every week, a city in either of the expansion packs will be free for all players regardless of expansion pack ownership", + "Previously, if your account has connected to another game profile, it will fail authentication silently. Now the game will show 'Account Connected' check in Headquarter", + "Bugfix: In previous patch, the trade quota calculation is incorrect. This patch corrects the calculation: profits result from trading will be excluded when calculating market cap-based quota", + "Add Hungarian Translation (@KaaPeeM)", + ], + }, + { + version: "0.20.6", + content: [ + "Update translations", + "Balance: When calculating market-cap based trade quota, trades since the last market update will be excluded (@FishPond)", + "QoL: The game will try to renew authentication if it expires. There's also a new button in Headquarter to manually renew authentication (@FishPond)", + "Upgrade game engine and runtime frameworks - this should help improve compatibility (@FishPond)", + ], + }, + { + version: "0.20.5", + content: [ + "Added Turkish and Bahasa language in chat (@FishPond)", + "Hide Produce All Crops Swiss Boost if the game does not have Expansion Pack 2 (@FishPond)", + "Bugfix: Activating Electric Fish Pond policy without Hydro Power Plant will cause Fish Pond to malfunction (@FishPond)", + "QoL: Add building count in building panel (@WingedLeo)", + "QoL: Add a warning if a building does not benefit from certain policies (@WingedLeo)", + ], + }, + { + version: "0.20.4", + content: [ + "Allow returning trade profit by paying resources (@FishPond)", + "Showing the existing trades that offers better profits in Player Trade UI when adding a new trade (@FishPond)", + "Bugfix: Fix disabling controller support does not work (@FishPond)", + "QoL: Batch sell of buildings (@WingedLeo)", + ], + }, + { + version: "0.20.3", + content: [ + "New anti-cheat mechanism: previously repeated trades with cheating account will result in an anti-cheat ban. This process involves a lot of investigation and takes a lot of effort. Now this will result in a trade suspension - you can resume trading after returning all the profits made from trades with the cheating account. This can be resolved automatically in Player Trade UI (@FishPond)", + "Add a page showing past player trades (by @FishPond)", + "QoL: New settings menu (by @GrayTheWanderer)", + "QoL: New batch mode action: Downgrade - All/Cluster/Adjacent (by @GrayTheWanderer)", + "Add Turkish translation (by @Readrift)", + "Improve Steam Deck support (@FishPond)", + "QoL: Add support for game controllers: use left joystick to move camera, right joystick to move cursor, trigger buttons to zoom/scroll, right shoulder button and X button to click. Joystick sensitivity can be adjusted in settings", + "QoL: Add support for camera edge pan (@FishPond) - Activate in Settings -> Input", + "Add support for moderator to remove suspicious player trades. Resources will be refunded for removed trades (@FishPond)", + "Improve stability of Steam Cloud integration (@FishPond)", + ], + }, + { + version: "0.20.2", + content: [ + "QoL: Add more purchase amount option in Trade Center (by @jimmyh77)", + "QoL: Allow filter player trade by price range and player name (by @jimmyh77)", + "QoL: Add warning for Purge My Trades (by @jimmyh77)", + "QoL: Add an option to show only positive tile modifiers (by @jimmyh77)", + "QoL: Change power bank units to Joules (by @2kai2kai2)", + "Bugfix: Nikola Tesla policy in Detroit no longer requires nature gas (by @ryansb)", + "Bugfix: Wind Turbines and Solar Panels cannot be turned on when turned off by inheriting default settings (by @GrayTheWanderer)", + "Bugfix: Fix an exploit w.r.t cancelling player trades. You need to upgrade to this version to cancel player trade (reported by @WingedLeo)", + ], + }, + { + version: "0.20.1", + content: [ + "Bugfix: Fix a bug where some buildings are not appearing in Research Lab on maps that meet the unlock requirement", + "Bugfix: If a building is shut down, it will not be supply-chained boosted (boost will be given to other eligible buildings)", + "QoL: Add 'Set as Default' for production settings in building page", + ], + }, + { + version: "0.20.0", + content: [ + "Buildings with multiple recipes now shows an icon indicating current production recipe: we are still missing some icons for certain recipes. If you'd like to help add missing icons, contact me directly", + "Seasonal harvest: Farmland and Greenhouse will produce pumpkin in October. Pumpkin productions are doubled!", + "Seasonal recipes: Bakery will produce pumpkin pie (from pumpkin, flour, butter and milk) and drink factory will produce pumpkin spice latte (from pumpkin, refined sugar, coffee and milk)", + "New building: Quantum Computer Lab", + "New building: TV Studio+", + "Resource explorers, farmlands and greenhouses now use recipes - this also allows them to be part of an Industry Zone chain - you might need to re-select their output", + "Update translation files - a big thank you to all community translators", + "Update game engine version to improve stability", + ], + }, + { + version: "0.19.1", + content: [ + "Balance: Now auto sell capacity upgrade will grant a baseline capacity: even if your production is zero, you will still be able to auto sell a certain amount. This amount is affected by Swiss production modifier boost/upgrade", + "Bugfix: Fix a bug where tariff rate is not calculated corrected based on price difference", + "Bugfix: Fix a bug where Hydro Farming policy will break Greenhouses if there's no hydro dams", + "Update translation files - a big thank you to all community translators", + ], + }, + { + version: "0.19.0", + content: [ + "New Player trade tariff will replace the old player trade quota. Each player will be granted tariff credit based on production and market cap. Trades that exceed the tariff credit will be taxed. The tariff rate depends on price difference between trade price and local price. You can see a detailed tariff calculation breakdown when adding and filling trades", + "Cancelling a trade will now refund 100% of resources (instead of 90%). Tariffs are not refundable", + "Offline productions are now counted towards production-based tariff credit", + "Add a new recipe for Photogram: 8x Three Course Meal -> 2x Internet", + "New building: Meal, Ready-To-Eat Plant (Expansion Pack 2). It has the following recipe: 3x Whopping Burger -> 1x Spaceship; 4x Cocktail -> 1x Nuclear Missile; 7x Wine + 7x Pastry -> 1 Aircraft Carrier; 22x Joyful Meal -> 1x ICBM", + "New building option: Resource Input Buffer - The maximum cycles of input resource to keep in the storage before this building will no longer transport that resource. Auto means using prediction to keep a minimum buffer that allows continuous production. Stockpile means always transporting input resources regardless of the amount in the storage. This will replace existing Stockpile option and your existing map will be migrated to this new option", + "New building option: Input Capacity Override - It allows you to override the input capacity to between 50% to 1000% of the amount needed for production", + "New policy: Super Water Pump - Water pumps produce 2x output but consumes 2x power", + "Bugfix: Fix a bug where buildings with multiple recipes do not work with Industry Zone correctly", + "Bugfix: Fix a bug where Factory Mining policy doesn't work for power plants", + "QoL: Numbers in the game now always shows 4 valid digits: 2.9M will become 2.901M, 21.2K will become 21.21K, 321.1B will remain the same", + "Add support for Cyrillic characters in world map", + "Player trade time limit for limited account has been changed to every minute instead of every 5 minutes", + "Update translation files - a big thank you to all community translators", + ], + }, + { + version: "0.18.2", + content: [ + "Multiple Sources is always enabled for Trade Center (this no longer requires Expansion Pack 2)", + "Balance: Adjust trade center pricing - now the minimum price is 10% of the original price instead of $1. This will increase the resource valuation (and trade quota)", + "Balance: Auto-selling now drives down the price slower than before", + ], + }, + { + version: "0.18.1", + content: [ + "Add achievements for Auckland map: Hoiho, Whio and Kiwi", + "Balance: Auto sell capacity is now measured as percentage of your production. The upgrade cost and corresponding Swiss upgrades/boosts have been adjusted", + "Balance: Player trade value limit (1%) with specific player will reset every day (together with market news and crowdfunding)", + "QoL: Add a warning icon in player trades listing indicating your trading value with that player has exceed 1% of your market cap and extra quota is needed", + "QoL: Add a new filter to hide player trades that require extra quota", + "Bugfix: Fix a bug where some times default player trade amount is negative when filling a trade", + ], + }, + { + version: "0.18.0", + content: [ + "New map: Auckland. Unique building: Hydro Power Plant. Unique Policy: Mine Booster, Electric Fish Pond, Hydro Farming", + "Balance: Player trade quota now applies to filling orders as well. If the total traded value with a specific player stays within 1% of your current market cap, trades with that player are exempt from price deviation penalty when applying the quota", + "Balance: Sugar refinery's capacity is increased 2x", + "Market News Rework: now market news will always be positive: it will provide 50% - 200% output boost. It will be re-rolled everyday (same time as crowdfunding)", + "Balance Policy: Press Conference - All market news are 50% more effective", + "New Swiss Upgrade/Boost: Extra Player Trade Quota - Initial player trade quota is 1% of your market cap - this will grant extra percentage", + "New Swiss Boost: Research Agreement - Filling each trade with an unique player gives 10 mins of research point production", + "New Policy: Modern Fertilizer - Farmlands and greenhouses produce 2x crops but crop transport costs 2x fuel", + "New Policy: Livestock Steroid - Chicken farms, pig farms, cow farms, fish ponds and fodder factories have 2x capacity but uses 2x power", + "New Swiss Boost: Produce All Crops - Farmlands and greenhouses can produce all crops, including the ones that are not on the map", + "Balance: Reduce the power requirement for pig, cow and chicken farms", + "Bugfix: Fix a bug where Kansas City hydro dam unique bonus is wrongly applied", + "Bugfix: Fix a bug where certain Swiss boosts' costs are not calculated correctly with Swiss Boost Cost Divider", + "Bugfix: Fix a bug where Industry Zone fail to recognize certain supply chains", + "Bugfix: Fix a bug where rewarded ads sometimes fail to grant rewards", + ], + }, + { + version: "0.17.1", + content: [ + "Balance: Industry Zone Plus policy requires all buildings inside the zone to be working", + "Bugfix: Fix a bug where theoretical input/output does not take Industry Zone Plus into account", + "Bugfix: Fix a bug where warehouses cannot select input routes of buildings that support multiple recipes", + "Android: Google Play Games sign in is required to participate in player trading", + "iOS: Game Center sign in is required to participate in player trading", + ], + }, + { + version: "0.17.0", + content: [ + "New Building for Expansion Pack 2: Fine Dining Restaurant, Photogram, Drink Factory", + "New Resources for Expansion Pack 2: Sushi, Pastry, Joyful Meal, Whopping Burger, Soft Drink, Alcohol, Wine, Cocktail, 3/6/9-Course Meal", + "New Policy for Expansion Pack 2: Industry Zone Plus - Every tier or every 10 level of an Industry Zone provide 10% output boost to buildings in it", + "New Swiss Upgrade: Industry Zone Capacity Booster, Extra Building Permit", + "New Swiss Boost: Industry Zone Capacity Booster, Extra Building Permit", + "QoL: Introducing experimental portrait mode support on mobile devices", + "Balance: Adjacent Bonus Plus/Tile Modifier Plus/Industry Zone Plus will not apply to Food Processing Plant and FaceApp", + "Bugfix: Fix a bug where Random Island map causes the UI to disappear", + "Bugfix: Fix a bug where Admiral of the Fish Pond achievement is not correctly unlocked", + "Bugfix: Fix a bug where total rewards for Tower Defense mode is not calculated correctly", + "Bugfix: Fix a bug where resources in-transit are lost when closing the game (Steam only)", + ], + }, + { + version: "0.16.1", + content: [ + "Add 'Trusted Account': to prevent cheating/fraud, free-to-play accounts are required to pass the platform requirement to participate in player trade", + "Add achievements for Expansion Pack 2 maps: Perth (Pademelon/Wallaby/Kangaroo), Kansas City (Corn on the Cob/Corn Dog/Popcorn), Rio (Leblon/Barra da Tijuca/Copacabana), Random Island (Bernoulli/Poisson/Gauss), Istanbul (Leo the Great/Justinian the Great/Constantine the Great), Admiral of the Fish Pond", + "Show Expansion Pack 2 badge in Leaderboard", + "Bugfix: Fix a bug where greenhouses on Random Island have UI glitch showing random crops on every cycle (If you are on random island, you might need to restart on that map)", + "Bugfix: Fix a bug where 100% Gluten Free does not unlock Flour Mill", + "Bugfix: Fix a bug where UI panel covers the edge of the map when it is docked", + ], + }, + { + version: "0.16.0", + content: [ + "Expansion Pack 2 is here: this version contains the support Expansion Pack 2", + "Trade Center UI has been redesigned", + "Add an option to show Standby Mode in toolbar (Steam Only)", + ], + }, + { + version: "0.15.3", + content: [ + "QoL: Optimize the UI of Statistics Bureau to allow easy toggle on/off resources in the top bar", + "QoL: Add an opt ion to filter 'what I have' in player trade filter option", + "QoL: Add an option to change mousewheel zoom sensitivity", + "QoL: When zooming using mousewheel, the camera will zoom to the cursor location", + "QoL: Add a confirm dialog when cancelling player trade", + "Change: Disable profit warning icon on buildings as it is confusing for new players and useless for experienced players", + "Bugfix: Fix a but where turning on automatically claim trades will result in right to trade error", + "Remove 'Always Export' option in Trade Center since it is mostly useless", + ], + }, + { + version: "0.15.2", + content: [ + "Right To Trade: To enable save file transfer between devices and prevent abuse, a new right to trade mechanism has been introduced. You can export multiple save files but only one can have the right to trade. In headquarter, you can choose to backup your save (right to trade remains) or transfer your save (right to trade goes with the save file). If you import a save that has the right to trade, you will not be subject to any cooldown at all - this should make transferring save across devices much easier. If you import a save that doesn't have the right to trade, you will not be able to trade from that save. However, you can force restoring the right to trade on that save but you will be subject to cooldown (N^N hour, N = number of force restore in the last 30 days). In headquarter, you can check whether your current save has the right to trade", + "Expansion 2 Playtest: Replacing São Paulo with Rio de Janeiro", + "Expansion 2 Playtest: New Map - Istanbul (Tower Defense Mode)", + ], + }, + { + version: "0.15.1", + content: [ + "When you use batteries as fuel, they will become battery shells after use", + "New building: Battery Recycler - you can recycle battery shells to iron and aluminum or recharge battery with C. If your map has lithium, you can also recycle shells to lithium or recharge it with lithium", + "New Batch Mode: You can upgrade or apply changes to adjacent, clustered or all buildings of the type", + "New save format: Now all save is filed based instead of text based", + "Save import player trade cooldown adjustment: from 2h to X^X h where X = the number of imports in the last 30 days", + "Add UI font size scaling option in Headquarter", + "Expansion 2 Playtest: Fried Rice, Fried Chicken, Fish Pond, Coffee, Cocoa, Food Processing Plant", + "Expansion 2 Playtest: New Map - São Paulo", + ], + }, + { + version: "0.15.0", + content: [ + "In-game Streaming: You can now watch your friend's gameplay while building your economy!", + "Gameplay Recording: You can record your gameplay - either a freeform recording or a 10s director's cut", + "Increase active trades allowed for Expansion Pack 1 owners from 4 to 6 (Hong Kong still gets 50% more active trades)", + "QoL: You can now batch upgrade a type of building to certain level", + "Lunar New Year event (25 Jan - 10 Feb): New resource - Lantern, produced by power plants and can be used as fuel. New policy - Year of The Tiger. All buildings that consume paper will use Lantern instead and will have 2x capacity. Paper mills become Paper Academy and produce culture instead", + "Optimization: Add a new resource movement option: In Viewport", + "Optimization: Improve the performance of large base with resource movements turned off", + "Optimization: Improve the resource movement (flying dots) rendering by 30%-60%", + "Bugfix: Expansion Pack 2 resources accidentally show up in news and crowdfunding", + "Expansion 2 Playtest: New Buildings - Pig Farm, Dairy Factory, Fast Food Chain, Sausage Factory", + "Expansion 2 Playtest: New Resources - Butter, Cheese, Cookie, Burger, Sandwich, Pork, Sausage, Hotdog, Pizza", + ], + }, + { + version: "0.14.5", + content: [ + "Add an option to force graph's Y axis to start from zero", + "Add an option to show the whole supply chain when highlighting a building", + "Add standby mode - the game will run in the background but will disable graphics. This will reduce GPU/CPU usage (Steam Only)", + "New chat badge style for mods and expansion owners", + "Update translations and game framework", + "Bugfix: chat doesn't scroll to bottom if there's an image", + "Bugfix: clear My Trades doesn't work properly", + "Bugfix: achievements are not translated", + "Bugfix: force downgrade might lead to data corruption", + "Expansion 2 Playtest: Fix a bug where Factory Mine policy cause incorrect theoretical value in Stat Bureau", + "Expansion 2 Playtest: Warehouse Push Mode", + "Expansion 2 Playtest: Multiple Source routing mode", + "Expansion 2 Playtest: New Map Kansas City", + "Expansion 2 Playtest: New Deposit - Water", + "Expansion 2 Playtest: New Buildings - Water Pump, Farmland, Greenhouse, Hydro Dam, Vapor Condenser, Capacitor Factory, Fodder Factory, Sugar Refinery, Chicken Farm, Cow Farm", + "Expansion 2 Playtest: New Resources - Rice, Corn, Wheat, Soybean, Sugarcane, Vegetable, Bread, Fodder, Refined Sugar, Cake, Chicken, Egg, Beef, Milk", + "Expansion 2 Playtest: New Policy - 100% Gluten Free", + "Expansion 2 Playtest: Offline Production (via Capacitor)", + ], + }, + { + version: "0.14.4", + content: [ + "New leaderboard: Tabulation by Player Flag and Tabulation by Map", + "Now you can specific a weight (1-100) for each warehouse route - the transport capacity will be divided according to the weight", + "Add a Best Price price filter in player trade", + "Add Valuation Per Active Minute in Swiss Shop", + "Support smooth zoom on PC with mouse wheel", + "A new shortcut [9] for downgrading buildings", + "Add image support in chat: your message should solely contain the URL to the image (.jpeg, .jpg or .png) from imgur.com/gyazo.com/imgbb.com/Discord. Only HTTPS is supported and to prevent spam, only expansion owners can post image (non-expansion owners's message will remain as text)", + "Resource valuation will include your pending player trades and crowdfunding - this will make market cap more consistent", + "Balance: your total pledged value of a crowdfunding cannot exceed your market cap", + "Balance: starting fuel amount has been reduced from 5M to 1M for first time player and to 100K for subsequent prestige", + "Bugfix: To prevent corrupting save data, the game will not load save from incompatible versions", + "Bugfix: Fix a bug where a building's profit breakdown is inaccurate if its production cycle is not 1", + "Bugfix: Fix a bug where market news is not correct on specific maps with certain policies on", + "Add Polish translation (thanks to the help from community)", + "Expansion 2 Playtest: Add manual source control for buildings", + "Expansion 2 Playtest: Add Random Island Map", + "Expansion 2 Playtest: Add Perth Map", + ], + }, + { + version: "0.14.3", + content: [ + "Christmas Timed Exclusive (12.5 - 1.5): New resource - Reindeer. All power plants produce reindeers. They can be used as fuel but cannot be sold or traded", + "Christmas Timed Exclusive Policy: Reindeer Silicon (FREE) - All buildings that consume silicon use reindeer instead", + "Christmas Timed Exclusive Policy: Reindeer Aluminum (FREE) - All buildings that consume aluminum use reindeer instead", + "Christmas Timed Exclusive Policy: Santa Clause is Coming (FREE) - Santa factories consume reindeer and toy and produce santa, science and culture. Santa factories have max tile modifier. Toy factories produce reindeer in addition to toy", + "New Policy: Meta Rebranding - Social Network Inc is renamed to Meta Inc and consumes internet, game, super computer, bitcoin and dogecoin instead", + "Bugfix: Increase the width of docked panel to avoid UI layout issue", + "Bugfix: Fix notification click-to-dismiss area", + "Bugfix: Fix the wording when you don't have enough cash to buy from Trade Center", + "Bugfix: Fix a bug where Science in trade center will disappear after game restarts", + "QoL: Now you can clear your player trades (Save Id mismatch error) in Headquarter (scroll to bottom, in Import/Export Save section)", + ], + }, + { + version: "0.14.2", + content: [ + "Balance: FaceApp's input and output has been adjusted", + "QoL: Now you can dock Player Trade, Statistics Bureau, Trade Center panels (Desktop version only)", + "QoL: Add Swiss money amount to Swiss Boost and Swiss Upgrade page", + "Bugfix: Fix a bug where offline earning does not work if you have unclaimed offline earning before logging off", + "Bugfix: Fix a bug where downgrade a building refunds incorrect cash", + "QoL: Optimize the CPU/GPU usage while running the game on the background (Steam version only)", + "QoL: Improve toast notification UI", + ], + }, + { + version: "0.14.1", + content: [ + "Halloween Timed Exclusive (Oct. 10 - Nov. 5): New resource - Pumpkin. All power plants produce certain amount of pumpkins. Pumpkin can be used as fuel but cannot be sold or traded", + "Halloween Timed Exclusive Policy: Pumpkin Battery (FREE) - All buildings that consume battery use pumpkin instead", + "Halloween Timed Exclusive Policy: Pumpkin Steel (FREE) - All buildings that consume steel use pumpkin instead", + "QoL: Auto highlight option is now on by default", + ], + }, + { + version: "0.14.0", + content: [ + "QoL: You can now customize which resources are shown in the top bar by clicking resource details in Statistics Bureau and toggle the Show In Top Bar option", + "New Swiss Boost: Explore All Resources - Resource explorers can produce all resources, including the ones that are not on the map (this DOES NOT unlock the relevant technologies)", + "Now you can downgrade Research Lab and Policy Center", + "Balance: Sell/Downgrade refund are capped at 90%", + "Balance: Research cost of Industrial Zone is reduced by 99%", + "Balance: Warehouses now provide inward and outward fuel save by default. Free Delivery policy is obsolete and removed", + "QoL: Add a clear filter button in Player Trade", + "QoL: Resource dropdown in Warehouse is now sorted alphabetically", + "QoL: You can tap anywhere on the right side of top bar to open Trade Center", + "QoL: When you start in a new city, the game will try to set the correct fuel type by default", + "Bugfix: fix a bug where production multipliers are not applied correctly", + ], + }, + { + version: "0.13.2", + content: [ + "New achievements for San Jose: Venture Hobbyist, Venture Enthusiast and Venture Capitalist", + "New achievements: Crowdfunding Tycoon, Cash Is King, Power Tycoon", + "QoL: Improve player trade resource filter: now you can filter multiple resources and your filter will be saved while the game is running", + "QoL: Now your old trades will be cleared if you import a save from text or Steam Cloud. Previously those trade will be stuck with save id mismatch error", + ], + }, + { + version: "0.13.1", + content: [ + "Fix a bug where finished crowdfunding still accepts contribution", + ], + }, + { + version: "0.13.0", + content: [ + "Industry Zones have been reworked: now partial production chains can form a valid industry zone and the bonuses (free permits and capacity boost) are based on the tiers of productions in the zone instead", + "Crowdfunding has been reworked: it now has multiple tiers of return and more backers will increase the return.", + "New map: San Jose", + "San Jose: unique building - Chip Manufacturer", + "San Jose: unique building - FaceApp Inc", + "San Jose: unique building - Bitcoin Miner", + "New building: SnapTok Inc", + "New building: Galvanic Battery Factory", + "New bonus for Rotterdam: Wind turbines generate 2x power", + "Improve how Production Multipliers are shown on building panel", + "Power now shows KW/MW/GW as unit", + "Player trade quota for price has changed: outside +-25% of your local price, for every 25% difference, you need 25% more quota. A in-game description has been added", + "Added Wholesale Center in quick links", + "Power Bank's base capacity has been increased by 500%", + ], + }, + { + version: "0.12.0", + content: [ + "Introducing Swiss Boost: a set of boosts that can be purchased with Swiss money and only affect your current run (more will be added)", + "New Swiss upgrade: Swiss Boost Cost Divider", + "World's Fair is now a Swiss boost, instead of a policy", + "New Swiss boost: Industry Zone Capacity Booster - Each building inside an industry zone provides this capacity boost to all the buildings in the same zone", + "New Swiss boost: Offline Research - Research points are generated while you are offline (according to your Research Lab level, Science in your warehouse and offline earning time)", + "New Policy: High Speed Warehouse - Warehouses have 2x capacity and 50% faster inward and outward transport speed, but use 2x power", + "New building: Air Force Command (Expansion Pack 1)", + "New building: Stealth Fighter Factory (Expansion Pack 1)", + "New building: Army Command", + "New achievement: Green Peacekeeper", + "New achievement: DotCom Tycoon", + "Now you can search policy by description as well", + "Improve how production multipliers are shown on building info panel", + "You can now place building blueprints that you haven't researched yet (you still need to research the building to construct it)", + "Fix the calculation of player trade quota", + "Fix a bug of incorrect offline earning calculation", + "Add Chinese (Hong Kong) translation", + ], + }, + { + version: "0.11.0", + content: [ + "Introducing Industry Zone: combines adjacent buildings that forms a supply chain and save building permits", + "New building: Super Computer Lab", + "New building: Robocar Factory (Expansion Pack 1)", + "New building: SkyNet Inc (Expansion Pack 1)", + "New building: Musify Inc", + "New building: Webflix Inc (Expansion Pack 1)", + "New building: GameCloud Inc (Expansion Pack 1)", + "New policy: Warehouse Permit Act - Every two warehouses provide one free building permit (Expansion Pack 1)", + "Power usage of steel tech tree has been slightly reduced", + "Power usage of internet tech tree has been slightly increased", + "Add an option in Player Trade to automatically claim filled trades", + "Add a search box in Policy Center", + "Fix a bug where opening the game for a short time will cause offline earning to be wrong", + "Fix a bug where shopping spree fails to buy resources for production - now shopping spree will buy according theoretical input/output", + "Fix a bug where chat sometimes misbehave", + ], + }, + { + version: "0.10.6", + content: [ + "Fix a bug where crowdfunding has Science - your total pledged value will be refunded.", + "Fix a bug where log in via Steam on Web sometimes fails to work properly", + ], + }, + { + version: "0.10.5", + content: [ + "Show time played and valuation per hour in Swiss Shop", + "Zeppelin Factory has been moved out of Expansion Pack 1", + "Input/Output value in Statistics Bureau will take into account whether the building is working or not (unless you turn on theoretical value). This will affect price elasticity when you buy from Trade Center, as well as wholesale orders", + "Price elasticity will only update when the market updates (every 2 hours, 1 hour for Hong Kong)", + "Add a new building option: high power priority - switching this on will make the building draw power before other buildings", + "Player trade quota reduction will only apply if the trade amount exceeds what's available on the player trade market", + ], + }, + { + version: "0.10.4", + content: [ + "Cancelling a buy trade will refund 100% cash", + "Player trade quota calculation has changed: if the price is outside 25% of your local price, for every 25% difference, you need double the quota. For example, if the price is 75% higher than your local price, then you need 4x quota for the trade", + "Player trade price range has changed: Your price range is the larger range of +-25% of your local price or +-5% of the best market price", + "You need to be on the latest patch to participate in player trade", + "The minimum 10% overnight interest rate cap has been removed", + ], + }, + { + version: "0.10.3", + content: [ + "Crowdfunding time changed to 24h - the current crowdfunding will be replaced by a new one and your investment will be refunded", + "You can now choose the additional amount you want to pledge after your first pledge", + "Move patch notes section to Headquarter and to a separate panel", + "You can now choose to dock or float the panel if you fix it to left/right", + "Fix a bug where ghost lines are drawn if a building is sold already", + "Fix a bug where sometimes wholesale orders are not generated", + ], + }, + { + version: "0.10.2", + content: [ + "Move crowdfunding to Central Bank from Wholesale Center", + "Add a warning when you cash in if you have pending crowdfunding pledges", + "Fix a bug where Wholesale Partners policy occasionally still feature lower tier resources", + "Update game framework version (this update might be bigger than usual)", + ], + }, + { + version: "0.10.1", + content: [ + "Earth Is Flat policy no longer requires Expansion Pack 1", + "Fix a bug where chat messages sometimes get truncated", + "Update language translation - thanks to all the community translators", + ], + }, + { + version: "0.10.0", + content: [ + "Introducing crowdfunding: you can now pledge your support in crowdfunding (which can be found in Wholesale Center). If enough players have pledged support, all of participants will get rewards! Each crowdfunding lasts 3 days and a new one will be added when the current one ends", + "New building: Software Compiler (Expansion Pack 1)", + "New building: Search Engine Company (Expansion Pack 1)", + "New building: Battleship Factory (Expansion Pack 1)", + "New building: NavyCommand (Expansion Pack 1)", + "Shipyard no longer requires Expansion Pack 1", + "Power statistics now show the power required to have all buildings up and running - and power surplus will go to negative", + "If you choose to fix the panel position to left or right, the panel will dock to that side, allowing you to move the map to that edge", + "Resource Explorers can be boosted if you turn on Resource Explorer 2.0 and Supply Chain Booster (you need an adjacent mine of the same type)", + "Fix a bug where buildings that are boosted by Resource Boosters did not increase power usage", + "Resource Boosters' power usage no longer scales with the number of boosters built", + "New Policy: Earth Is Flat - All tile modifiers are zero. This policy will deactivate Nature's Power and Tile Modifier Plus policies.", + "Policy Change: Wholesale Partner - Wholesale center orders only contain resources that are from the top-half of your most-advanced researched products (which has to satisfy the minimum resources requirement)", + "Balance: Wholesale center orders will now evenly contain resources of different tiers and the volume will be based on your actual production capacity", + "Rotterdam's bonus changed to: Earth Is Flat policy is free", + "QoL: You can now sort by name in Trade Center", + "New resource movement options: always show, on highlight (show dots and lines when highlighted), line only (show line only when highlighted) and always hide", + "Add Japanese and Korean chat channel", + "Add Japanese translation, update Chinese/Korean/Russian/German translation - thanks to all the community translators", + ], + }, + { + version: "0.9.7", + content: [ + "Add Swiss money achievements for Vancouver: Sap Seller (100 Swiss), Syrup Savant (500 Swiss) and Canuck Conqueror (1000 Swiss)", + "Add a new achievement: Barbarians At The Gate - Use 1 trillion worth of player trade quota between market updates", + "Add a new achievement: Diversified Productions - Build 100 different types of buildings on a single map", + "Add a new achievement: Real Estate Tycoon - Have 400 buildings on a single map", + ], + }, + { + version: "0.9.6", + content: [ + "New sound effect for chat mentions and trades to claim", + "Fix a bug where Statistics Bureau shows incorrect amount in Vancouver when Production Diversification policy is active", + "Fix a bug where Production Diversification policy is applied on top of production multiplier (it should be applied before the production multiplier)", + "Fix a bug where Renaissance Policy causes incorrect Research Point reward in Wholesale Center", + ], + }, + { + version: "0.9.5", + content: [ + "Fix a bug where Wholesaler Center timer is stuck when World's Fair policy runs out of policy points", + "Fix a bug where buildings cannot be shut down when Cost Saver policy runs out of policy points", + "Fix a bug where It's All Green achievement is not awarded correctly", + "Fix a bug where some Portuguese characters are missing on the world map", + "World's Fair policy will now double the research point and policy point reward from wholesale orders", + "Resource boosters will always run before other buildings in one cycle (this will minimize the flickers caused by resource boosters)", + ], + }, + { + version: "0.9.4", + content: [ + "Balance: Political Lobbyist changed to: policy center has 2x policy points conversion capacity", + "Balance: policy point costs per policy has been adjusted so that they are easier for new players", + "Balance: Supply chain booster policy will make resource booster boost higher-level factories first", + ], + }, + { + version: "0.9.3", + content: [ + "Wholesale center order has been reverted to the old logic in 0.8.0", + "Fix a bug where It's All Green achievement is not awarded correctly", + ], + }, + { + version: "0.9.2", + content: [ + "Bugfix: Fix a bug Supply Chain Booster policy does not calculate boost correctly", + ], + }, + { + version: "0.9.1", + content: [ + "Bugfix: Fix a bug where Maple Syrup Factory is available on maps other than Vancouver", + ], + }, + { + version: "0.9.0", + content: [ + "New map: Vancouver - new unique bonuses, unique buildings and unique policies (Expansion Pack 1)", + "New policy: High Pressure Gas Pump - Natural gas pumps have 2x output but use 2x power", + "New policy: The Renaissance - Research Lab has 2x capacity but takes culture as the extra input", + "New policy: Supply Chain Booster - Resource boosters use 2x power and science, but for each working mine a resource booster is boosting, it also provides capacity boost to adjacent factories that consume the mine's output (the factory should only consume deposits)", + "New policy: Production Diversification - Each different type of building gives 1% extra capacity to all buildings (Vancouver only)", + "New policy: Syrup Plastic - All buildings that input plastic use maple syrup instead (Vancouver only)", + "New building: Maple Syrup Factory (Vancouver only)", + "Balance: IC Fab change from 4 Al + 2 Battery to 4 Al + 14 Si", + "Balance: Liquid Propellant change from 20 Petrol to 10 Petrol", + "Balance: Gas Propellant change from 45 Gas to 24 Gas", + "As a result of the propellant change, the input of the following buildings are slightly adjusted: Missile Factory, Project V-2, Project Vostok, Air Shuttle Inc, Satelink Inc", + "Air Shuttle Inc no longer requires expansion pack 1", + "Policy costs now ramp up faster to the number of active policies", + "Wholesale orders should now have more consistent value", + "Custom building color is now stable and available to all players", + "Update translations - thanks to the hard work of community translators", + ], + }, + { + version: "0.8.6", + content: [ + "You can now customize a specific building type's color in building info panel (this is an experimental feature and is only available for Expansion Pack owners until it stabilizes. Please report bugs on Discord)", + "A new leaderboard: Total Valuation Per Hour Per Swiss", + "City leaderboards has been changed to Total Valuation Per Hour", + "Update game framework version (this update might be bigger than usual)", + "Update translations - thanks to the hard work of community translators", + ], + }, + { + version: "0.8.5", + content: [ + "New leaderboards: Total Valuation Per Hour, Total Valuation Per Hour (< 1000 Swiss), Building Valuation Per Building. New players get more chances to feature in the leaderboard!", + "Fix a bug where hiding resource movement might cause blackout for a cycle", + "Fix a bug where auto highlight sometimes highlight the wrong buildings", + "Fix a bug where Wind Turbine has wrong descriptions", + "Now when you get the GPU is busy popup, the reload game button should work better - but if you continue to have issues, please report on Discord", + "Update game framework version (this update might be bigger than usual)", + "Update Chinese/German/French translation", + ], + }, + { + version: "0.8.4", + content: [ + "Now when you cancel a trade or fail to accept a trade, the resource will be refunded to one of the buildings that it is drawn from instead of always to Trade Center", + "Fix a bug where adjacent bonus square policy is not implemented correctly", + "Profit in building info panel will grey out if the building is not working", + "Add a hotkey [0] for cancel building construction", + "When resuming from background, the game's screen sometimes turns grey - this is because the operating system has put the game's graphics to sleep as GPU is busy with other tasks. A popup has been added to reload the game in this case", + "Update Chinese/German/French translation", + ], + }, + { + version: "0.8.3", + content: [ + "Fix a bug where Chinese chat channel sometimes fails to update when new messages come in", + ], + }, + { + version: "0.8.2", + content: [ + "Bugfix: St. Petersburg's map bonus has been changed to: Project Vostok has 2x capacity", + "Bugfix: Toulouse's map bonus has been changed to: Rocket factories have 2x capacity", + ], + }, + { + version: "0.8.1", + content: [ + "Add Missing Policy: Fuel Dynamite - Dynamite factories use your current fuel instead of oil", + "Fix a bug where tile modifiers do not show correct gradient color", + ], + }, + { + version: "0.8.0", + content: [ + "Steel-Space tech tree has been expanded and rebuilt", + "New Building: Radar Factory", + "New Building: Project V-2 (Expansion Pack 1)", + "New Building: ICBM Factory (Expansion Pack 1)", + "New Building: Atomic Bomb Factory", + "New Building: Nuclear Missile Factory", + "New Building: Dynamite Factory", + "New Building: Liquid Propellant Factory", + "New Building: Gas Propellant Factory", + "New Building: Project Vostok (Expansion Pack 1)", + "New Building: Space Force Command (Expansion Pack 1)", + "New Building: Space Colony Inc", + "The following buildings' input has been adjusted, please see build menu for the new input requirement: Semiconductor Fab, Artillery Factory, Missile Factory, Satellite Factory, Spaceship Factory, Air Shuttle Inc, Shipyard, Submarine Factory, Aircraft Factory, Helicopter Factory, Zeppelin Factory, Console Factory, Linux Distribution, Satelink Inc, Web Browser, Music Producer, Book Publisher", + "New Policy: Adjacent Bonus Square - Adjacent bonus is 50% more effective, but tile modifiers scale from -15% to +15% (square map only)", + "New Policy: Resource Booster Square - Resource boosters provide 25% more boost but their science input and power usage also increase by 25%", + "New Policy: Steel Furnace Modernization - Steel mills and stainless steel plants have 2x capacity but uses 2x power", + "New Policy: Iron Steel Zone - Resource booster provide a output bonus equivalent to adjacent bonus to adjacent steel mills or stainless steel plants for each working iron mine it is boosting", + "You can only change your name once every 24h", + "Improve performance of player trade and chat", + "Update translations - thanks to the hard work of community translators", + ], + }, + { + version: "0.7.7", + content: [ + "Balance: Resource Explorer's upgrade cost reduced by 50%, research cost reduced by 50%", + "You can now block a user's chat messages - the block will be in effect in the current game session and you cannot undo it unless you restart the game. If you encounter abusive behaviors in chat, please report to moderators.", + "Add timestamps to chat messages", + "Fix a bug where building hotkey can sometimes cause ghost buildings", + "Add a hotkey [5] for adding routes in warehouses", + "Improve UI performance when chat/trade window is open", + ], + }, + { + version: "0.7.6", + content: [ + "Now if you build a building that is not a mine on top of a deposit, the resource icon will appear on the bottom left instead of being hidden", + "Now if you show the tile modifier on map, the deposit icon will show on the bottom left as well", + "Statistics Bureau now show Science and Culture input/output. If you turn on theoretical value, wind turbines will assume 80% capacity and solar panels will assume 50% capacity when calculating science output", + "Fix a bug where Stockholm's city bonus not working properly", + "Fix a bug sometimes offline earning is not awarded even though the game is connected to the internet", + ], + }, + { + version: "0.7.5", + content: [ + "Massive performance improvement if you hide resource movement. For a very large base, FPS improves from 8-10FPS to easily 60 FPS on my Skylake i5 CPU", + "Resource boosters' science and power input no longer scales with the upgrade multiplier and Swiss production multiplier. e.g. A level 10 resource booster with x2 Swiss production multiplier used to require 400 science/s - after it only requires 100 science/s", + "Resource boosters' science and power input now scales to the total number you own - the more resource boosters you own, the more input each requires", + "Theoretical value in Statistics Bureau now assume resource boosters are always on", + "You can now choose to use scientific notation for numbers larger than 1Qa (1e15)", + "Tile modifier overlay now shows on the deposit tile", + "Fix a bug where building upgrade cost divider also affect building/research cost", + "Fix a bug where cancelling a construction on location warning does not give refund", + "Fix a bug where leaderboard shows incorrect title", + "Update German and Chinese translation", + ], + }, + { + version: "0.7.4", + content: [ + "New Swiss Upgrade: building upgrade cost divider - divide building construction and upgrade cost by this divider", + "New Achievement: Software Giant - Build a level 10 Software Company, level 10 Operating System Inc, level 10 Database Company and level 10 Web Browser on the same map", + "New Achievement: Space Race - Build a level 10 Rocket Factory, level 10 Satellite Factory, level 10 Spaceship Factory and level 10 Space Station Factory on the same map", + "New Achievement: To The Moon - Build a level 40 Bitcoin Farm and level 40 Dogecoin Farm. Own 1B Bitcoin and 1B Dogecoin", + "New Achievement: It's All Green - Have 50 production lines and no production deficit at all", + "New Achievement: Deep In Red - Have 50 production lines that has production deficit", + "Leaderboard page now has a dropdown menu and shows top 50", + "Swiss Shop now shows your all time swiss money earned", + "Redesigned part of Research Lab / Policy Center UI to make the culture/science conversion more clear", + "You can now turn off science & culture conversion in Research Lab / Policy Center", + "All maps that has oil deposit only now have Oil Refinery unlocked when you start", + "Resource boosters no longer has upgrade multiplier (the x1 you get for every 10 level)", + ], + }, + { + version: "0.7.3", + content: ["Fix a bug where turning off mines is not working"], + }, + { + version: "0.7.2", + content: [ + "Fix a bug where Hide Resource Movement option does not work properly", + "Fix a bug where Resource Boosters' calculation has wrongly taken production multiplier into consideration", + ], + }, + { + version: "0.7.0", + content: [ + "New Building: Resource Booster - takes Science and boost the output of adjacent mines/oil wells/gas pumps", + "Now new players will start on Oslo instead of Stockholm", + "Stockholm's map bonus has been changed, please see new bonus in the world map", + "Oslo's map bonus has been changed to, please see new bonus in the world map", + "New Building: eBook Inc - takes Screen, Battery and Semiconductor and produces Book and Science", + "New Building: Music Producer - unique to Stockholm, takes Guitar, Drum and Paper and produces Music (available without expansion pack 1)", + "New Policy: Plastic Fiber - fiber factories use 50% more plastics but 50% less glass", + "New Policy: Press Conference - the effect of market news doubles, both positive and negative (expansion pack 1)", + "New Swiss Upgrade: Sell/Downgrade Refund", + "New Swiss Upgrade: Builder Move Speed", + "Update Tutorial to include a new section on Logistics Department and Statistics Bureau", + "Highlighting a building under certain level will not highlight built-in buildings", + "Free Oil Transport policy has been renamed to Electric Oil Transport and is now available without expansion pack 1", + "Now if you build a building that has tile requirement (e.g. power bank and resource booster), the game will give you a warning instead of blocking you from building it", + "Balance: Satelink Inc's rocket input reduced to 16 from 20", + "Balance: Web Browser's fiber input reduced to 25 from 50", + "Balance: Fiber Factory's input reduced to 4 Glass/Plastic from 5 Glass/Plastic", + "The game now loads from Steam Cloud by default - and your save will sync across devices via Steam Cloud automatically", + "Player trade cool down after manually importing save/restoring from Steam Cloud has been increased to 2 hours - synching via Steam Cloud will not result in cool down", + "Improve general game performance, especially when you have the dots turned on", + ], + }, + { + version: "0.6.12", + content: [ + "Your personal news should be more relevant to your productions now", + "Market news for Hong Kong should show up correctly (Hong Kong has 2 city specific news)", + "Fix a bug where buildings someones stuck in building queue", + "Player trade cool down after importing/restoring save has been reduced to 1h until 0.7.0 when your save will sync via Steam Cloud automatically (and will not result in cool down)", + "Update Portuguese (BR) translation", + ], + }, + { + version: "0.6.11", + content: [ + "Market news are volatility are tuned down", + "80% of the market news should be buff to production (i.e. increase in output or decrease in input)", + "Theoretical input/output values in Statistics Bureau do not take market news into account", + "City unique resources will not appear in the market news", + ], + }, + { + version: "0.6.10", + content: [ + "Introducing Market News: when the market updates, you will get 3 news: 1 for all players, 1 for specific map and 1 for you only. They provide buff/debuff to your production", + "You can see the news in Wholesale Center and highlight all affected buildings. Buildings that are affected also shows a banner on its info panel", + "Overnight interest rate calculation has been changed, it is now based on the following factor: price, production surplus, auto sell capacity/concurrency and stock rating", + "You can only have 1 active connection to player trade server per save (i.e. other connections will be logged out)", + "You can only claim your trades using the save that created the trade (the export of the save will not be able to claim/cancel the trade)", + "You cannot participate in player trade within 24h after you have imported a save or restored from Steam Backup", + "Add a warning if your Steam Cloud save does not match local save (the game will switch Steam Cloud by default in 0.7.0)", + "Fix a bug where the game fails to load if you have blueprint buildings", + ], + }, + { + version: "0.6.9", + content: ["Fix a bug where Trade Center does not show correct UI"], + }, + { + version: "0.6.8", + content: [ + "Rework Blueprint policy: now placing a blueprint is free - you only pay building cost (+ permit cost) once you start building. Once a building is started, you cannot pause it any more (but you can still cancel it as long as it is queueing)", + "Buildings under construction (including blueprint) will show its icon with the cog on the top left corner. Blueprint buildings will show a faded cog", + "If you currently have paused construction, it will be moved as blueprint building (unpaid) and the construction cost will be refunded", + "Show player flag in Leaderboard", + "Fix a bug where Resource Explorer 2.0 does not show correct number in UI", + "Add Portuguese and Vietnamese translation", + ], + }, + { + version: "0.6.7", + content: [ + "Remove Unlock Warehouse policy: now the warehouse needs to be researched (with a small amount of research point)", + "New policy: Resource Explorer 2.0 - resource explorers produce 2x output but use 2x power", + "New policy: Blueprint - Construction of a building will not automatically start - it has to be started manually (FREE POLICY)", + "You can pause a construction that is queueing - and resume it later", + "Add highlight options in Headquarter: highlight buildings that haven't been constructed, that are under level 10/20/30", + "Add a Force Scroll option on chat: if force scroll is on, the chat will scroll whenever there's a new message. Otherwise it will only scroll when you are already at the bottom", + ], + }, + { + version: "0.6.6", + content: [ + "Fix a bug where adding player trade shows user id mismatch error", + "Player trade price range is now +-25% of best market price or your local price, whichever is larger", + ], + }, + { + version: "0.6.5", + content: [ + "Building constructions are now in two phases: queueing and building. You can cancel construction in queue without any cost at any time. Once construction has started, you cannot cancel any more", + "When you highlight a building type, buildings under construction will also be highlighted", + "Building Recycle policy has been removed", + "Add a Save and Quit button in Headquarter so that you can quit the game in fullscreen mode", + "Add a auto scroll checkbox for chat", + "Player trade form now remembers your last trade information (Buy/Sell, Resource)", + "Show a warning in Research Lab and Wholesale Center if auto sell is on for a resources - the amount stored in trade center will not be usable for this purpose", + "Optimize CPU/GPU usage when the game is minimized", + "Update Chinese/Russian/German translation", + ], + }, + { + version: "0.6.4", + content: ["Fix a bug where Nikola Tesla policy is broken on Detroit"], + }, + { + version: "0.6.3", + content: [ + "Fix a bug where wholesale orders have incorrect amount", + "Fix a bug where game does not run in background any more", + ], + }, + { + version: "0.6.2", + content: [ + "The all new leaderboard is here: you need to be authenticated and your Steam ID need to pass VAC (Valve Anti-Cheat) to submit to leaderboard", + "The game will gradually move to use Steam Cloud as your main save (currently your local save is your main save). Please upgrade to this version and confirm that your Steam Cloud save is working", + "Game studios are available for non-expansion owners. Air Shuttle Inc is in expansion pack 1", + "New city bonus for Detroit: car factories use gas instead of petrol", + "Wholesale orders are now scaled to your production (instead of market cap)", + "Now you can play the game in fullscreen on Steam", + "Now if you choose a dark them, the window frame/scroll bar/dropdown menu will also adapt accordingly on Steam", + "Optimize performance of the game on Steam, if you had performance issue before, see if this update fixes it for you", + "Fix a bug where your own player trade allows you to increase the price range", + "Update Chinese/Russian translation", + ], + }, + { + version: "0.6.0", + content: [ + "New building: Air Shuttle Inc, provides an alternative spaceship production", + "New building: Aircraft Carrier Factory, produces Aircraft Carrier (CRR) (Expansion Pack 1)", + "New building: GameStation Inc, provides an alternative console production (Expansion Pack 1)", + "New building: Database Company, produces database (DB)", + "New building: Satelink Inc, provides an alternative internet production (Expansion Pack 1)", + "New building: Social Network Inc, produces social network (SNS)", + "New building: Fiber Factory, produces Fiber (FIB)", + "New policy: Nikola Tesla, car factories use batteries instead of petrol and only require 50% of the amount", + "Detroit's map bonus changed: +free car transportation, +Nikola Tesla policy is free, -car factories do not need batteries", + "Hong Kong's map bonus changed: +wholesale center unlocks with 4 resources, +start with 100M cash, -movie studios have 2x capacity", + "Pearl of the Orient policy changed: free Kung-fu and Tai-chi transportation. Movie studios have 2x capacity but uses 50% more power", + "Player trade price limit is now +-25% of the market best price (instead of +-25% of your local price)", + "Stainless Steel Plant: iron 2 -> 3", + "Bitcoin Farm: power usage 50 -> 100", + "Dogecoin Farm: power usage 50 -> 100", + "Car Factory: aluminum 4 -> 2, battery 2 -> 0, petrol 0 -> 10", + "Console Factory: game 2 -> 5, circuit 2 -> 30, plastics 2 -> 30, battery 2 -> 30, aluminum 2 -> 0. The console price will reflect the increased cost. It is now available for non-DLC owners", + "Linux Distribution: robot 0 -> 30", + "Web Browser: chromium 5 -> 50, fiber -> 50", + ], + }, + { + version: "0.5.5", + content: [ + "A redesigned Statistics Bureau with a breakdown of idle resource amount in buildings", + "You can now sort by Run Out timer in Statistics Bureau", + "Run Out timer now will be formatted in days, months and years as well", + "Bid/Ask and Better Than Market filter will not be saved (Resource filter will still be flushed)", + "Now the game will try to re-authenticate your account if you have been disconnected", + "Improve Steam Cloud backup - if you still encounter error, please report on Discord", + "Improve UI performance especially on Chat/Trade UI", + "Turning on energy saving option will also lower the UI refresh rate", + "Update Russian translation", + ], + }, + { + version: "0.5.4", + content: [ + "Add all missing city-specific Swiss achievements", + "Add a Force Steam Cloud Sync button in Steam Cloud backup", + "If you are authenticated, you should see a green check mark next to your name in the headquarter", + "Trade Center freight warehouse is now sorted alphabetically", + "All sort-by-name features are now language aware - it will sort based on the game language", + "Fix a bug where offline mode on Steam does not work (infinite loading)", + ], + }, + { + version: "0.5.3", + content: [ + "Achievement is here! You can see a list of achievements in Headquarter", + "You will get Swiss Money rewards after achieving an achievement", + "Achievements are also synced to your Steam library", + "New achievements are constantly added - if you have a good idea, share it on Discord #suggestion channel", + "Add Korean translation, updated Russian, Chinese and German translation", + ], + }, + { + version: "0.5.2", + content: [ + "Fix a bug where player trade resource dropdown does not work properly", + ], + }, + { + version: "0.5.1", + content: [ + "Hong Kong: You can now place BUY/SELL orders for resources unlocked via player trade", + "Hong Kong: Prices in Trade Center are more sensitive to buying/selling (this is not a new change, but I forgot to mention it in the last patch note)", + "Add a search box in Research Lab: you can search by building name or its input/output resources", + "Now you can type in power to search for power plants in Build panel and Research Lab", + "Offline earning multiplier has been removed. If you have existing upgrades, the swiss money spent will be refunded", + "Balance: Book publisher now needs 5 paper + 5 coal (instead of 10 paper)", + ], + }, + { + version: "0.5.0", + content: [ + "New map - Hong Kong (Expansion Pack 1)", + "Unique trade center pricing algorithm: prices follow normal distribution (bell curve)", + "Market updates and trade quota resets every 1 hour", + "Research can be unlocked via player trades", + "50% more active player trades", + "2 unique policies: International Export Trade, Pearl of the Orient", + "2 unique buildings: Kung-Fu Dojo and Tai-Chi Dojo", + "Other unique production bonuses", + ], + }, + { + version: "0.4.13", + content: [ + "Fix a bug where trade amount is incorrect on fill popup", + "Fix a bug popup text color is not correct", + ], + }, + { + version: "0.4.12", + content: [ + "A more secure player trade: if you play with an unauthenticated account, your trade size and frequency will be rate-limited", + "You can now play Rome map without Expansion Pack 1!", + "You can now play with expansion packs on web as well: you need to own the expansion pack on Steam and sign in via your Steam account", + "Fix a bug where Steam backup frequency is not correct (it is now every 10 minutes)", + "Fix a bug where trade amount has rounding error - now it has to be an integer", + ], + }, + { + version: "0.4.11", + content: [ + "Add profit breakdown in building info panel: now building's profit margin take fuel cost into account", + "Resource explorers are now counted correctly in Statistics Bureau", + "Partial fill orders will be combined into one claim (instead of one claim per fill)", + "Partial fill percentage is now scaled to the maximum amount you can afford", + "Steam backup now have 5 slots - and will back up your local save every 10 minutes", + "Fix a bug where offline warning shows up every second (it should only show up once)", + "Fix a bug where chat scroll sometimes doesn't work (again)", + ], + }, + { + version: "0.4.10", + content: ["Fix a bug where player trade does not work correctly"], + }, + { + version: "0.4.9", + content: [ + "Add Steam guide link in Headquarters. Also add a banner to beginner's guide for new players", + "Player trade quota now shows the amount of resources (instead of $)", + "Profit margin calculation has been corrected. Now it is (Price-Cost)/Price. Before it was (Price-Cost)/Cost", + "Fix a bug where chat doesn't scroll in certain cases", + "Fix a bug where you can fill a trade with 0 amount (now the minimum amount is 1)", + "If you opt out of the leaderboard, you won't be able to trade with other players", + ], + }, + { + version: "0.4.8", + content: [ + "Player trade quota has been increased to 1% of your market up (from 0.1%)", + "Remove the Can Afford filter in player trade: since now you can partial fill an order", + "When you fill an order, the slider is capped at maximum amount you can fill", + ], + }, + { + version: "0.4.7", + content: [ + "Introducing partial fill: now you can fill a player trade partially (from 0.1% - 99.9%)!", + "Trade quota has been changed to 0.1% of your market cap and it resets every 2 hours together with the market", + "Trade time limit has been reduced to 5 seconds (expansion owner) and 10 seconds (others)", + "Swiss shop now shows your Cash In Swiss money amount in more digits if you have more than 1000", + "Fix a bug where player trade filter is broken", + "Fix a bug where statistics bureau did not count auto sell correctly", + "Now if you are auto selling a resource, factories won't be able to pull that resource from Trade Center. And you cannot use the amount in Trade Center for Research/Wholesale/Player Trade", + "Add Portuguese chat channel", + ], + }, + { + version: "0.4.6", + content: [ + "Introducing Resource Explorer: a building that allow you to extract resources from any empty tile", + "Now the Out-In values in statistics bureau will take auto sell amount into account (they are added to In value)", + "Now if a building is out of power, there will be a warning badge showing on the top left corner of the building. Also the warning inside of the panel has been changed to an icon to avoid UI flickering", + "Improve trade and chat server stability", + "Update German translation", + ], + }, + { + version: "0.4.5", + content: [ + "Buy/Sell orders are now changed to Bid/Ask to avoid confusion", + "Trade action buttons have been renamed to improve clarity. Also the effect has been put under the button for further clarity", + "Now you can filter trades that are better than market price: i.e. for bid orders, it is higher than market, for ask orders, it is lower than market price", + "Trades are sorted in bid (high -> low) and ask (low -> high) order", + "Can afford option now filters correctly (for bid orders, it checks resources, for ask orders, it checks your cash)", + "Fix a bug where filters do not update when the trade updates", + "Fix a bug you cannot accept a buy order unless you have enough cash: buy orders only require resources", + "Improve chat and language channel stability", + "Building construction/upgrade/research cost is no longer tied to the real-time trade center price, but is now tied to price when the market update", + ], + }, + { + version: "0.4.4", + content: ["Fix a bug where language-specific chat channel doesn't work"], + }, + { + version: "0.4.3", + content: [ + "New trade system: now the trade system shows real-time orders (no need to hit refresh)", + "New trade system: now you can place BUY orders in the trade system", + "Swiss multiplier upgrades are now capped at 100 (instead of 10)", + ], + }, + { + version: "0.4.2", + content: [ + "Now if you hover over a player flag, it shows the name and ISO3166 region code", + "Fix the wrong pricing for books and anime (reported by @Antux). Now book publishers and anime studios should show profit margin (the price of culture/science will be considered as 0 in this case)", + "Fix a bug that popup dialog layout is incorrect", + "Fix a bug where chat can cause accidental hotkey conflict (reported by @Devonin)", + "Fix a bug where player trade same-origin IP check sometimes fails", + "Fix a bug where warehouse still shows transport visuals even though the amount is 0 (reported by @Lupus)", + "Fix a bug where server check is erroneously applied even if leaderboard is turned off", + "Update Chinese (Simplified/Traditional), German translation", + ], + }, + { + version: "0.4.1", + content: [ + "Fix a bug where building permit shows negative (reported by @Mikos)", + ], + }, + { + version: "0.4.0", + content: [ + "New map: Osaka, with unique map generation algorithm, unique buildings and other unique bonuses! (Expansion Pack 1) The map is still being fine-tuned so please give your feedback on Discord", + "Shinny redesigned chat (desktop only): it is now a separate panel so you can chat AND play the game, wow!", + "Language-specific chat channel: bonjour le monde!", + "Now if you auto sell a resource, you can use the amount stored in trade center for research/whole sale order", + "Now if you run out of building permit, the build menu will automatically have permit price included", + "Show run out timer in logistics center that replaces flickering the warning badge", + "Semiconductor Fab is renamed as Integrated Circuit Fab", + "Central bank now shows offline earning after the multiplier applied", + ], + }, + { + version: "0.3.6", + content: [ + "Now mines will appear on top (and bind to key [1]) before last built buildings (key [2])", + "Fix a bug where Statistics Bureau didn't show the correct theoretical input/output (reported by @Arlene)", + "Fix a bug where warehouses' power consumption is incorrect (reported by @Mikos)", + "Fix a (very rare) bug where selling a building can cause negative building valuation (reported by @Ultima)", + ], + }, + { + version: "0.3.5", + content: [ + "New policy: Rechargeable Battery - battery fuel economy improves by 100% (ie. 50% fuel cost)", + "Add an option in statistics bureau to show theoretical input/output capacity, which will assume all buildings are working with full adjacent bonus and ignore shut down (replace the old option)", + "Tile modifiers are rounded to the nearest 5%", + "Your last built buildings will appear at the top of your build panel and bind to key [1] if it can be built. Mines have been moved to key [2]. Adjacent buildings will be highlighted and appear at the top as well", + "Now you can see resources with special transport cost in logistics center (scroll to bottom)", + "Fix the missing ⭐ for expansion owners in Chat (now it's a golden cog)", + "Policy center will show a run out timer if you don't produce enough policy points", + "Add a check to disallow importing new save to old game version (which will result in corrupted save)", + ], + }, + { + version: "0.3.4", + content: [ + "Now battery can be used as fuel as well", + "New policy: The Wind Rises - wind turbines work 100% of the time but produces 30% less power (expansion pack 1)", + "New policy: Science Literature - book publishers produce science instead of culture", + "New policy: Free Delivery - warehouses provide the same fuel save on outward transportation as well", + "Balance: University's base output has been changed to 15 Culture and Science (from 20)", + "Balance: Opera House's base output has been changed to 10 Culture (from 6)", + "Fix a bug where research center and wholesale center erroneously count resources en route (you cannot pay for research and wholesale orders with resources en route)", + "You can now choose a player flag in Headquarter. It shows up in the chat currently", + "Auto scroll chat if you've already scrolled to the bottom", + "Update French translation", + ], + }, + { + version: "0.3.3", + content: [ + "Reduce the warehouse power consumption (it should now require less power when you add a new route)", + "Rewrite the way resources are counted: now resources en route are counted as well. This will result in a more stable resource numbers and make the Moving Average option obsolete (which has been removed)", + "Shopping Spree no longer has a upper cap (it was 10x of resources) - so now it will buy from Trade Center as long as you have a deficit", + ], + }, + { + version: "0.3.2", + content: [ + "Now there's experimental MacOS and Linux version on Steam! Please note these two versions are provided on the best effort basis - they are not fully tested so please report any issues on Discord", + "Logistics center now shows fuel cost per route (instead of per transport)", + "Increase warehouse base capacity, and the capacity is now divided among all routes. Power usage per route has been changed", + "Power Banks needs to be researched (it will take effect after you start in a new city)", + "Fix the UI glitch that turning on/off auto sell will make the inventory amount flicker", + "Update Chinese and German translation", + ], + }, + { + version: "0.3.1", + content: [ + "Fix the game stuck at loading screen when playing with Chinese language, Please update to this version if you cannot load the game", + "Cancelling an order will refund 90% instead of 75%", + ], + }, + { + version: "0.3.0", + content: [ + "Introducing new warehouse: now you can manually route resources to warehouses", + "Adjacent bonus is now implemented correctly: only buildings that are working are counted", + "You can now downgrade your buildings (you get 50% of your investment back)", + "Cancelling a player trade will only refund 75% of the resource - and the resource will be moved to Trade Center", + "Fix dark UI overrides not working for alert", + "Improve Logistics Department dashboard UI", + "To prevent server overload, you can only accept one trade every 30 seconds (10 seconds for expansion pack owners)", + "Update Chinese, French and German translations", + ], + }, + { + version: "0.2.9", + content: [ + "Color theme editor: now you can customize colors in the game and UI! Share your creation with the community on Discord", + "Redesign Chat UI", + "You can now reply a chat message and copy the content. You will get a notification when you received a reply - you can turn that off in the settings", + "Your chat message draft will now be saved if you navigate to other panels", + "Add a way to have light mode UI with dark mode game: now default Blueprint theme has light mode menu", + ], + }, + { + version: "0.2.8", + content: [ + "Dark UI mode: now the color theme mode will be synced to UI", + "Balance: Adjust shopping spree policy threshold", + "Bugfix: Player Trade wrong price range is displayed", + "Update NL, ZH, DE translations. Thank you the community translators!", + ], + }, + { + version: "0.2.7", + content: [ + "Add new color themes: Solarized Light, Solarized Dark (Expansion Pack 1), Dracula (Expansion Pack 1)", + "New policies: Silicon Valley, Industrial Revolution, Aluminum Smelting, Deforestation", + "Show formatted number (1K, 1M, etc) in Player Trade input", + "Some of the colors from color theme are not in UI as well", + "Reworked power grid chart in Statistic Bureau", + "When you turn off cost saver policy, all buildings will be turned on", + "Add an option to hide resource movement (tiny dots) by default and only show when you select a building", + "Fix transport line drawing order", + ], + }, + { + version: "0.2.6", + content: [ + "Add power bank building: it has to be built next to a power plant. It store surplus power and provides power supply during shortage", + "Add new color theme: Monokai, you can change color theme in HQ", + "Add an option to exclude buildings that are shut down in statistics bureau", + "Fix shopping spree policy (it now should NOT buy resources that you already have enough)", + ], + }, + { + version: "0.2.5", + content: [ + "Player trade has been disabled on previous versions: you need to upgrade to this patch to re-enable player trade.", + "Now you can zoom out as much as your screen", + "Update FR, DE, NL translations", + ], + }, + { + version: "0.2.4", + content: [ + "Now you will receive a notification if your active trade is filled", + "Research center will show buildings that you can unlock even if you are not producing the resources", + "If you own the expansion pack, you can now have maximum 4 active player trades (instead of 2)", + "Player trade quota is now based on valuation instead of market cap (stock rating will be excluded)", + "Add Chinese translation, Update French, German and Dutch translations", + ], + }, + { + version: "0.2.3", + content: [ + "You can now filter player trade", + "Introducing player trade quota: you can trade max 10% of your market cap, cancelling a trade will refund the quota. Buying doesn't count towards the quota", + "Bugfix: You cannot accept a trade from the same IP address", + "Bugfix: You need to cancel/claim your active player trades before you can export save, import save and start in a new city", + "Balance: Now fuel should be deducted from the buildings with the highest amount first", + "Add Russian and Dutch translation (complete)", + ], + }, + { + version: "0.2.2", + content: [ + "Bugfix: Now you can see all trades (previously only shows latest 10)", + "Bugfix: Now your own trades will always appear on top", + ], + }, + { + version: "0.2.1", + content: ["Address some nasty bugs in player trade, happy trading!"], + }, + { + version: "0.2.0", + content: [ + "Introducing player trade: you can now trade resources with other players directly!", + "New order sound has been changed to something that sounds less like your phone notification", + "Bugfix: fix a bug where Cost Saver policy will break Policy Center and Research Lab", + "Add Spanish (almost complete) and German (85% complete) translation", + ], + }, + { + version: "0.1.12", + content: [ + "Bugfix: Fix a bug where cash is not included in market cap. This results in incorrect Swiss money shown and now it has been corrected", + "Balance: Adjust market price volatility", + "Balance: Adjust price sensitivity's scale to production capacity", + "QoL: You can hide prices of resources that you are not producing in trade center", + "QoL: You can hide resources that you are not producing in statistics bureau", + "QoL: You can sort resources in statistics bureau", + "Bugfix: Fix a bug where some translations are not displayed properly", + "Add German translation (Incomplete)", + ], + }, + { + version: "0.1.11", + content: [ + "Bugfix: Fix a bug where selling an item will make market price dive to 1", + ], + }, + { + version: "0.1.10", + content: [ + "Market price reset time will be the same for all players (0:00UTC, 2:00UTC, 4:00UTC, etc) and the reset price (including stock rating) will be the same for everyone on the same map", + "Market should now behave more stable than previous patch. But if you rely heavily on importing, most likely you still need to change your strategy", + "The less you produce a certain resource, the more sensitive the price will be in the trade center", + "Add French translation, you can help translating the game as well", + ], + }, + { + version: "0.1.9", + content: [ + "Balance: Buying from trade center will push up the price more significantly", + "Balance: Market prices at a particular reset time will remain the same no matter how many times you try", + "Balance: Market prices will have a lower volatility compared to previous patch", + "QoL: Now you can press [1] on build panel to build the recommended mine", + "Bugfix: Turning World Fair policy on/off will reset order timer", + "Add a link to official guide on Steam (Hitchhiker's Guide to Industry Idle)", + "Improve performance of scrolling/zooming on a large map with lots of buildings", + "Improve performance of showing tile modifier overlay", + ], + }, + { + version: "0.1.8", + content: [ + "You can now show an overlay of tile modifier of a building on map on build panel", + "You can now search buildings (you can either search by name, input resources and output resources", + "Balance: Rotterdam no longer has tile modifiers (all tile modifiers are 0)", + "Balance: Adjacent Bonus Plus and Tile Modifier Plus has been changed, please see the description in policy center", + "Bugfix: Research lab and policy center should not be affected by tile modifier any more", + "Bugfix: Selling an item will not drive the price down to 0 any more", + ], + }, + { + version: "0.1.7", + content: [ + "New Policy: Tile Modifier Plus - Tile modifiers only affect output instead of both input and output", + "New Policy: Wholesale Partners - Wholesale center orders only contain resources that are currently being produced (you also need to be producing the number of required resources to unlock wholesale center)", + ], + }, + { + version: "0.1.6", + content: [ + "Introducing tile modifier: each tile will impact building's capacity (-25% ~ +25%). You can see the modifier when you build a building (next to the name) and see a building's info", + "New Policy: Nature's Power - doubles the tile modifier's effect (expansion pack 1)", + "New Building: Dogecoin Farm (Dogecoin), Operating System Inc (Operating System), Linux Distribution (Operating System, expansion pack 1), Web Browser (Internet)", + "Trade Center will show the price of a resource as soon as you've unlocked its production in research lab", + "Trade Center will no longer show the price of a resource if you cannot produce it", + "Now you can apply a building's setting to all buildings of the same type", + "Bugfix: Wholesale center will not generate orders that you cannot produce", + "Balance: Bitcoin requires 5 integrated circuits as input", + "Balance: Cities with only oil deposits have oil refineries unlocked by default", + "Balance: Knowledge through Steel policy cost has been reduced by half", + "Bugfix: Fuel Cost Discount now works correctly", + ], + }, + { + version: "0.1.5", + content: [ + "Statistics Bureau has been completely redesigned", + "Offline Earning calculation has been revamped - now it should better reflect your progression", + "New Building: Chromium Alloy Plant", + "New Building: Titanium Alloy Plant", + "New Policy: Chroiron - chromium alloy plants do not use Lithium but use 2x Iron instead. Now you should be able to build space station without expansion pack", + "The game can be run without internet connection (offline earning will not be generated). Web version still requires internet (duh)", + "Improve Swiss Shop UI", + "Improve Logistics Center UI - now it will show a warning badge if your fuel consumption exceeds production", + "Add hotkey [4] for shut down/turn on production", + "You can now shut down mines/oil wells/natural gas pumps now", + "Sell building's hotkey has been changed from [Backspace] to [0]", + "Bugfix: Slow down to save up policy should now work correctly (expansion pack 1)", + ], + }, + { + version: "0.1.4", + content: [ + "Bugfix: Sometimes grid highlight is not rendered properly after using logistics center", + "Balance: Wholesale center requires 8 different resources to unlock", + "Balance: Max builders upgrade base cost reduced from 50 to 25", + "The last upgrade option is changed to upgrade to next multiplier instead of fixed 10x", + "Logistics center now shows top 20 fuel cost routes", + "Add leaderboard opt-out. PLEASE NOTE: if you want to enable leaderboard later, you need to reset your data first", + ], + }, + { + version: "0.1.3", + content: [ + "Balance: Schools now have 4x science and 2x power usage", + "Balance: Wholesale center requires 10 different resources to unlock", + "Balance: Universities do not require books any more (expansion pack 1)", + "New Building: Polytechnics use semiconductors to produce science", + "New Policy: Knowledge Through Steel - steel mills use 2x input and produce extra science", + "New Map: Detroit", + "New Map: Boston (expansion pack 1)", + "Bugfix: Correct the description of Hearts of Iron policy", + "Expansion pack owners will have a ⭐ next to the name in leaderboard as well", + "You can only send one chat message every 10 seconds (doesn't apply to expansion pack owners)", + ], + }, + { + version: "0.1.2", + content: [ + "Add Steam Cloud backup - now your save is automatically backed up in Steam in case your local save is lost", + "Add an option to hide chat message from bottom toolbar", + "Resources in the statistics bureau are now sorted by deficit amount", + "Bugfix: you can now import save without expansion pack into a game with expansion pack", + ], + }, + { + version: "0.1.1", + content: [ + "Bugfix: sometimes swiss money are not rewarded when starting in a new city", + "Bugfix: world's fair policy now should work properly", + "Steam only: now the game runs in background, this will increase power usage (not in-game power, the real power)", + "Research lab now only shows research that can be unlocked on a certain map", + "Add a settings shortcut next to the chat icon", + ], + }, + { + version: "0.1.0", + content: [ + "A new era: welcome to beta! There are a lot of new features, contents and changes for you to explore in-game", + ], + }, + { + version: "0.0.27", + content: [ + "Add Research Lab: now you will need to unlock buildings", + "Change how policy points are generated: they now need to be produced", + "New buildings: School, University, Colosseum", + "New resources: Science and Culture. They do not cost fuel for transportation", + "Add a brand new tutorial", + ], + }, + { + version: "0.0.26", + content: [ + "Fix a bug where resource transportation are not calculated correctly", + "Shopping Spree policy will no longer buy a resources if there's already enough in the Trade Center", + ], + }, + { + version: "0.0.25", + content: [ + "Fix a bug where adjacent bonus plus policy causes skipped production cycle", + "Support data import on iOS/Android", + ], + }, + { + version: "0.0.24", + content: [ + "Add Logistics Department", + "Add Petrol Power Plant, Natural Gas Pump (Natural Gas), Gas Power Plant, Uranium Enrichment Plant (Enriched Uranium), Nuclear Power Plant.", + "Add permanent upgrades for Swiss money (prestige currency)", + "Add natural gas as a new fuel type", + "Add new policy: Sticky Input, Gas Liquidizer, Mo Plastics Mo Problems", + "Move 'Start In A New Map' to a new building from central bank", + "Show a building's profit margin in UI", + "Balancing: cost for buildings and upgrades are now based on market price", + "New sound effect when an order has arrived", + ], + }, + { + version: "0.0.23", + content: [ + "Add a new map: Amsterdam with hex grid", + "New deposits: Titanium, Chromium and Uranium", + "Add a draft prestige system: Swiss Bank", + "Wind Turbines only work for 80% of the time - but unlike Solar Panel, the cycles are not synced", + "Change the market price simulation in Trade Center: the price is more volatile now", + "Highlight system works on deposit tile as well", + "Add auto highlight option in Headquarter: enable it will automatically highlight buildings of the same type when you select a tile", + ], + }, + { + version: "0.0.22", + content: [ + "Add Only for Warehouses option in buildings: if you turn it on, only warehouses can transport resources from that building (you have to enable Unlock Warehouse policy)", + "Add several highlight options in Headquarter", + "Now a building's power usage will increase according to multiplier as well (you might need to build more power plants). Coal Power Plant's output has been doubled", + "Add keyboard shortcut: [Space] Move viewport to Headquarter, [H] Headquarter, [T] Trade Center, [P] Policy Center, [R] Research Center, [S] Statistics Bureau, [C] Central Bank, [W] Wholesale Center", + "New policies: Unlock Warehouse (Free), The Sun Never Sets", + "New buildings and resources: Solar Panel (works only 50% of the time), Console Factory (Game Console), Train Factory (Train), Shoe Factory (Shoes), Clothing Factory (Clothes), Fashion Factory (Fashion)", + ], + }, + { + version: "0.0.21", + content: [ + "Fix a bug where Shopping Spree policy doesn't work properly", + "Fix a bug where adjacent bonus is not correctly displayed", + "Improve performance if you have a lot of Auto Sell resources", + "Improve performance if you have a lot of buildings", + ], + }, + { + version: "0.0.20", + content: [ + "Building highlight feature: you can highlight buildings of the same type, buildings that produce the input and buildings that consume the output", + "Statistics Bureau adds building highlight support and shows the total input/output capacity of a certain resource", + "Add keyboard shortcuts: [Esc] close panel, [1] Upgrade x1, [2] Upgrade x5, [3] Upgrade x10, [A] Highlight all buildings of the same type", + "Fix a bug where Warehouse disappears from Build panel", + "New buildings and resources: Helicopter Factory (Helicopter), Santa Factory (Santa)", + "New policies: Low Carbon Steel, Cost Saver, Shopping Spree", + ], + }, + { + version: "0.0.19", + content: [ + "Add changelogs for each version in Central Bank", + "Interest rate now fluctuates every 2 hours (same with market price)", + "Only show corresponding mines on a deposit tile", + "Add tips/tutorials in building UI", + 'Add "Building Recycle" policy: you can get a full refund if you sell a building within 1 min', + 'Add "Coal Liquidizer" policy: coal power plants use extra coal to produce petrol', + "Add energy saving option in Headquarter", + "Add a confirm dialog before hard reset in Headquarter", + "Add Space Station Factory, Artillery Factory", + "Adjust some factories' input resources", + ], + }, + { + version: "0.0.18", + content: ["Add a link to the introduction tutorial in Headquarter"], + }, ]; diff --git a/assets/Script/General/GameData.ts b/assets/Script/General/GameData.ts index c265555..78dc2bc 100644 --- a/assets/Script/General/GameData.ts +++ b/assets/Script/General/GameData.ts @@ -1,22 +1,26 @@ import { SAVE_FILE_KEY } from "../Config/Config"; import { ACH } from "../CoreGame/AchievementDefinitions"; import { - BuildingNumberMap, - Buildings, - ResourceNumberMap, - ResourceSet, + BuildingNumberMap, + Buildings, + ResourceNumberMap, + ResourceSet, } from "../CoreGame/Buildings/BuildingDefinitions"; import { CHANGELOG } from "../CoreGame/Changelog"; import { COLORS } from "../CoreGame/ColorThemes"; import { Grid } from "../CoreGame/GridHelper"; import { ICrowdfunding } from "../CoreGame/Logic/Crowdfunding"; import { Entity, PowerBankEntity } from "../CoreGame/Logic/Entity"; -import { EntityDefaultType, getEntityDefault } from "../CoreGame/Logic/EntityDefault"; +import { + EntityDefaultType, + getEntityDefault, +} from "../CoreGame/Logic/EntityDefault"; import { IOrder, IPolicyInfo, MAP } from "../CoreGame/Logic/Logic"; import { IMarketNews } from "../CoreGame/MarketNews"; import { Policy } from "../CoreGame/PolicyDefinitions"; import { Resources } from "../CoreGame/ResourceDefinitions"; import World from "../CoreGame/World"; +import { CZ } from "../Languages/cz"; import { DE } from "../Languages/de"; import { EN } from "../Languages/en"; import { ES } from "../Languages/es"; @@ -25,6 +29,7 @@ import { HU } from "../Languages/hu"; import { JP } from "../Languages/jp"; import { KR } from "../Languages/kr"; import { NL } from "../Languages/nl"; +import { NO } from "../Languages/no"; import { PL } from "../Languages/pl"; import { PT_BR } from "../Languages/pt-BR"; import { RU } from "../Languages/ru"; @@ -36,9 +41,24 @@ import { ZH_TW } from "../Languages/zh-TW"; import ResourceLoader from "../UI/ResourceLoader"; import { AudioController } from "./AudioController"; import { GAME_DATA_LS_KEY } from "./Constants"; -import { forEach, getDebugUrlParams, hasValue, murmurhash3, sizeOf, uuidv4, xmur3 } from "./Helper"; +import { + forEach, + getDebugUrlParams, + hasValue, + murmurhash3, + sizeOf, + uuidv4, + xmur3, +} from "./Helper"; import { t } from "./i18n"; -import { isAndroid, isIOS, isSteam, NativeSdk, Platform, steamworks } from "./NativeSdk"; +import { + isAndroid, + isIOS, + isSteam, + NativeSdk, + Platform, + steamworks, +} from "./NativeSdk"; import { serverNow } from "./ServerClock"; import { CHAT_CHANNEL, Socket } from "./Socket"; import { TypedEvent } from "./TypedEvent"; @@ -50,26 +70,26 @@ export const ENERGY_PER_MIN = 1; export const ENERGY_COST = 20; class GlobalRef { - res: ResourceLoader; - audio: AudioController; - world: World; - socket: Socket; - grid: Grid; - tradeCenter: Entity; - centralBank: Entity; - swissShop: Entity; - wholesaleCenter: Entity; - statBureau: Entity; - policyCenter: Entity; - researchLab: Entity; - headquarter: Entity; - logisticsDept: Entity; - buildingTiers: BuildingNumberMap = {}; - resourceTiers: ResourceNumberMap = {}; - onRedraw = new TypedEvent(); - wasm: Record = {}; - pfWorker: Worker; - banner: string; + res: ResourceLoader; + audio: AudioController; + world: World; + socket: Socket; + grid: Grid; + tradeCenter: Entity; + centralBank: Entity; + swissShop: Entity; + wholesaleCenter: Entity; + statBureau: Entity; + policyCenter: Entity; + researchLab: Entity; + headquarter: Entity; + logisticsDept: Entity; + buildingTiers: BuildingNumberMap = {}; + resourceTiers: ResourceNumberMap = {}; + onRedraw = new TypedEvent(); + wasm: Record = {}; + pfWorker: Worker; + banner: string; } export type IWasmSeedFunction = (a: number, b: number) => number; @@ -77,77 +97,80 @@ export type IWasmSeedFunction = (a: number, b: number) => number; export const G = new GlobalRef(); export interface ResourceNode { - dot?: cc.Sprite; - fromXy: string; - toXy: string; - fromPosition: cc.Vec3; - toPosition: cc.Vec3; - type: keyof Resources; - fuelCost: number; - fuelRes: keyof Resources; - totalTime: number; - aliveUntil: number; - amount: number; -} - -export type IBoostCache = Record>>; + dot?: cc.Sprite; + fromXy: string; + toXy: string; + fromPosition: cc.Vec3; + toPosition: cc.Vec3; + type: keyof Resources; + fuelCost: number; + fuelRes: keyof Resources; + totalTime: number; + aliveUntil: number; + amount: number; +} + +export type IBoostCache = Record< + string, + Partial> +>; // This is needed here to avoid cycle reference (which Cocos cannot handle) const _RES = new Resources(); export class Cycle { - boosts: IBoostCache = {}; - boostsStable: IBoostCache = {}; - // power = 0; - powerSupply = 0; - powerUsage = 0; - powerRequired = 0; - fuelCost = 0; - industryZoneTier: Record = {}; - industryZonePermit = 0; - industryZone: Record = {}; - io: Partial> = {}; - constructor() { - forEach(_RES, (k) => { - this.io[k] = [0, 0]; - }); - } + boosts: IBoostCache = {}; + boostsStable: IBoostCache = {}; + // power = 0; + powerSupply = 0; + powerUsage = 0; + powerRequired = 0; + fuelCost = 0; + industryZoneTier: Record = {}; + industryZonePermit = 0; + industryZone: Record = {}; + io: Partial> = {}; + constructor() { + forEach(_RES, (k) => { + this.io[k] = [0, 0]; + }); + } } export type ModalPosition = "left" | "right" | "hidden"; export class TempData { - current = new Cycle(); - next = new Cycle(); - lastOrderAt = 0; - modalWidth = 0; - modalPosition: ModalPosition = "hidden"; - buildingCount: BuildingNumberMap = {}; - workingBuildingCount: BuildingNumberMap = {}; - res: ResourceNumberMap = {}; - usableRes: ResourceNumberMap = {}; - resToBldCache: Partial> = {}; - powerBanks: PowerBankEntity[] = []; - stableInputOutput: Partial> = {}; - dots: Record = {}; - adjacentCount: Record = {}; - adjacentMines: Record = {}; - stableAdjacentCount: Record = {}; - visibleResources: (keyof Resources)[] = []; - timeSeries: Record = {}; - diffTimeSeries: Record = {}; - tickQueue: string[] = []; - tickQueueLength = 0; - tickCount = 0; - currentWaveStatus: WaveStatus = "init"; + current = new Cycle(); + next = new Cycle(); + lastOrderAt = 0; + modalWidth = 0; + modalPosition: ModalPosition = "hidden"; + buildingCount: BuildingNumberMap = {}; + workingBuildingCount: BuildingNumberMap = {}; + res: ResourceNumberMap = {}; + usableRes: ResourceNumberMap = {}; + resToBldCache: Partial> = {}; + powerBanks: PowerBankEntity[] = []; + stableInputOutput: Partial> = {}; + dots: Record = {}; + adjacentCount: Record = {}; + adjacentMines: Record = {}; + stableAdjacentCount: Record = {}; + visibleResources: (keyof Resources)[] = []; + timeSeries: Record = {}; + diffTimeSeries: Record = {}; + tickQueue: string[] = []; + tickQueueLength = 0; + tickCount = 0; + currentWaveStatus: WaveStatus = "init"; } export type WaveStatus = "init" | "inProgress" | "success" | "fail"; export interface IPrice { - price: number; - elasticity: number; - quantity: number; + price: number; + elasticity: number; + quantity: number; } export const T = new TempData(); @@ -155,153 +178,165 @@ export const T = new TempData(); export const MAX_BOOSTER_SLOTS = 9; export const BLOCK_COLORS = { - Green: cc.color().fromHEX("#00cec9"), - Purple: cc.color().fromHEX("#6c5ce7"), - Pink: cc.color().fromHEX("#e84393"), - Orange: cc.color().fromHEX("#e17055"), - Yellow: cc.color().fromHEX("#fdcb6e"), - Blue: cc.color().fromHEX("#0984e3"), + Green: cc.color().fromHEX("#00cec9"), + Purple: cc.color().fromHEX("#6c5ce7"), + Pink: cc.color().fromHEX("#e84393"), + Orange: cc.color().fromHEX("#e17055"), + Yellow: cc.color().fromHEX("#fdcb6e"), + Blue: cc.color().fromHEX("#0984e3"), }; export interface IOfflineEarning { - start: number; - end: number; - cashPerMinute: number; - researchPoint: number; - production: ResourceNumberMap; + start: number; + end: number; + cashPerMinute: number; + researchPoint: number; + production: ResourceNumberMap; } export function syncFPSSetting() { - cc.game.setFrameRate(D.persisted.fps30 ? 30 : 60); + cc.game.setFrameRate(D.persisted.fps30 ? 30 : 60); } export const Languages = { - DE: DE, - EN: EN, - ES: ES, - FR: FR, - JP: JP, - KR: KR, - NL: NL, - PL: PL, - PT_BR: PT_BR, - RU: RU, - VN: VN, - ZH_CN: ZH_CN, - ZH_HK: ZH_HK, - ZH_TW: ZH_TW, - TR: TR, - HU: HU, + DE: DE, + EN: EN, + ES: ES, + FR: FR, + JP: JP, + KR: KR, + NL: NL, + PL: PL, + PT_BR: PT_BR, + RU: RU, + VN: VN, + ZH_CN: ZH_CN, + ZH_HK: ZH_HK, + ZH_TW: ZH_TW, + TR: TR, + HU: HU, + CZ: CZ, + NO: NO, } as const; export const BatchModeOptions = { - adjacent: () => t("BatchModeAdjacent"), - cluster: () => t("BatchModeCluster"), - all: () => t("BatchModeAll"), + adjacent: () => t("BatchModeAdjacent"), + cluster: () => t("BatchModeCluster"), + all: () => t("BatchModeAll"), } as const; export type BatchMode = keyof typeof BatchModeOptions; export class PersistedData { - version = getCurrentVersion(); - tips = 0; - fps30 = false; - sound = true; - music = false; - isSFXVolumeOverride = false; - musicVolume = 0.25; - sfxVolume = 0.25; - sfxBubbleVolume = 0.25; - sfxClickVolume = 0.25; - sfxCompletedVolume = 0.25; - sfxErrorVolume = 0.25; - sfxFreeChestVolume = 0.25; - sfxGoldVolume = 0.25; - sfxKachingVolume = 0.25; - sfxLevelupVolume = 0.25; - sfxPowerupVolume = 0.25; - edgePanEnabled = false; - edgePanSize = 20; - edgePanSensitivity = 5; - gameControllerEnabled = true; - gameControllerCursorSensitivity = 10; - gameControllerCameraSensitivity = 10; - gameControllerScrollSensitivity = 20; - panelPosition: PanelPosition = "auto"; - panelHeight: PanelHeight = "60"; - offlineEarningMinutes = 60 * 4; - batchMode: BatchMode = "all"; - allowPortrait = false; - prestigeCurrency = 0; - allPrestigeCurrency = 0; - lastTickAt = serverNow(); - maxBuilders = 1; - builderSpeedUpPercentage = 0; - language: keyof typeof Languages = "EN"; - productionMultiplier = 1; - autoSellCapacityMultiplier = 1; - buildingPermitCostDivider = 1; - buildingUpgradeCostDivider = 1; - swissBoostCostDivider = 1; - extraAdjacentBonus = 0; - extraTradeQuota = 0; - sellRefundPercentage = 50; - fuelDiscount = 0; - yAxisStartsFromZero = true; - showSupplyChain = false; - fullscreen = false; - hideDiscordBanner = false; - hideCivIdleBanner = false; - hideChat = isIOS(); - hideChatMentions = false; - buildingColors: Partial> = {}; - dlc: Partial> = {}; - userId = uuidv4(); - tradeToken = uuidv4(); - userName: string; - lastNameChangedAt = 0; - showStandbyModeInToolbar = false; - flag = "earth"; - fontSizeScaling: FontSizeScaling = "1"; - scrollSensitivity: ScrollSensitivity = 1; - chatChannel: keyof typeof CHAT_CHANNEL = "en"; - leaderboardOptOut = false; - industryZoneCapacityBooster = 0; - achievements: Partial> = {}; - cf = false; - useScientificNotation = false; - colorTheme: keyof typeof COLORS = "Blue"; - colorThemeOverrides: Record = {}; - resourceMovement: ResourceMovement = "show"; - extraBuildingPermit = 0; - autoClaimTradeOrder = false; - disableBuildWarningPowerBank = false; - disableBuildWarningResourceBooster = false; - constructor() { - this.userName = `${this.userId.substr(0, 6).toUpperCase()}`; - this.panelPosition = isIOS() || isAndroid() ? "auto" : "right"; - this.edgePanEnabled = !isIOS() && !isAndroid(); - } -} - -export const FontSizeScalingOptions = ["0.9", "1", "1.1", "1.2", "1.3", "1.4", "1.5"] as const; + version = getCurrentVersion(); + tips = 0; + fps30 = false; + sound = true; + music = false; + isSFXVolumeOverride = false; + musicVolume = 0.25; + sfxVolume = 0.25; + sfxBubbleVolume = 0.25; + sfxClickVolume = 0.25; + sfxCompletedVolume = 0.25; + sfxErrorVolume = 0.25; + sfxFreeChestVolume = 0.25; + sfxGoldVolume = 0.25; + sfxKachingVolume = 0.25; + sfxLevelupVolume = 0.25; + sfxPowerupVolume = 0.25; + edgePanEnabled = false; + edgePanSize = 20; + edgePanSensitivity = 5; + gameControllerEnabled = true; + gameControllerCursorSensitivity = 10; + gameControllerCameraSensitivity = 10; + gameControllerScrollSensitivity = 20; + panelPosition: PanelPosition = "auto"; + panelHeight: PanelHeight = "60"; + offlineEarningMinutes = 60 * 4; + batchMode: BatchMode = "all"; + allowPortrait = false; + prestigeCurrency = 0; + allPrestigeCurrency = 0; + lastTickAt = serverNow(); + maxBuilders = 1; + builderSpeedUpPercentage = 0; + language: keyof typeof Languages = "EN"; + productionMultiplier = 1; + autoSellCapacityMultiplier = 1; + buildingPermitCostDivider = 1; + buildingUpgradeCostDivider = 1; + swissBoostCostDivider = 1; + extraAdjacentBonus = 0; + extraTradeQuota = 0; + sellRefundPercentage = 50; + fuelDiscount = 0; + yAxisStartsFromZero = true; + showSupplyChain = false; + fullscreen = false; + hideDiscordBanner = false; + hideCivIdleBanner = false; + hideChat = isIOS(); + hideChatMentions = false; + buildingColors: Partial> = {}; + dlc: Partial> = {}; + userId = uuidv4(); + tradeToken = uuidv4(); + userName: string; + lastNameChangedAt = 0; + showStandbyModeInToolbar = false; + flag = "earth"; + fontSizeScaling: FontSizeScaling = "1"; + scrollSensitivity: ScrollSensitivity = 1; + chatChannel: keyof typeof CHAT_CHANNEL = "en"; + leaderboardOptOut = false; + industryZoneCapacityBooster = 0; + achievements: Partial< + Record + > = {}; + cf = false; + useScientificNotation = false; + colorTheme: keyof typeof COLORS = "Blue"; + colorThemeOverrides: Record = {}; + resourceMovement: ResourceMovement = "show"; + extraBuildingPermit = 0; + autoClaimTradeOrder = false; + disableBuildWarningPowerBank = false; + disableBuildWarningResourceBooster = false; + constructor() { + this.userName = `${this.userId.substr(0, 6).toUpperCase()}`; + this.panelPosition = isIOS() || isAndroid() ? "auto" : "right"; + this.edgePanEnabled = !isIOS() && !isAndroid(); + } +} + +export const FontSizeScalingOptions = [ + "0.9", + "1", + "1.1", + "1.2", + "1.3", + "1.4", + "1.5", +] as const; export type FontSizeScaling = (typeof FontSizeScalingOptions)[number]; export const ScrollSensitivityOptions = [0.1, 0.2, 0.5, 1, 2, 5, 10] as const; export type ScrollSensitivity = (typeof ScrollSensitivityOptions)[number]; export const ResourceMovementOptions = { - show: () => t("ResourceMovementShow"), - viewport: () => t("ResourceMovementViewport"), - highlight: () => t("ResourceMovementHighlight"), - line: () => t("ResourceMovementLine"), - hide: () => t("ResourceMovementHide"), + show: () => t("ResourceMovementShow"), + viewport: () => t("ResourceMovementViewport"), + highlight: () => t("ResourceMovementHighlight"), + line: () => t("ResourceMovementLine"), + hide: () => t("ResourceMovementHide"), } as const; export const PortraitPanelHeightOptions = { - "80": "80%", - "60": "60%", - "40": "40%", + "80": "80%", + "60": "60%", + "40": "40%", }; export type PanelHeight = keyof typeof PortraitPanelHeightOptions; @@ -309,181 +344,185 @@ export type PanelHeight = keyof typeof PortraitPanelHeightOptions; export type ResourceMovement = keyof typeof ResourceMovementOptions; export function getCurrentVersion() { - return CHANGELOG[0].version; + return CHANGELOG[0].version; } export class SwissBoosts { - productionMultiplier = 1; - buildingPermitCostDivider = 1; - buildingUpgradeCostDivider = 1; - autoSellCapacityMultiplier = 1; - industryZoneCapacityBooster = 0; - extraTradeQuota = 0; - extraBuildingPermit = 0; - resourceExplorerAllDeposits = false; - wholesaleUpgrade1 = false; - offlineResearch = false; - produceAllCrops = false; - researchAgreement = false; + productionMultiplier = 1; + buildingPermitCostDivider = 1; + buildingUpgradeCostDivider = 1; + autoSellCapacityMultiplier = 1; + industryZoneCapacityBooster = 0; + extraTradeQuota = 0; + extraBuildingPermit = 0; + resourceExplorerAllDeposits = false; + wholesaleUpgrade1 = false; + offlineResearch = false; + produceAllCrops = false; + researchAgreement = false; } export class GameData { - persisted = new PersistedData(); - swissBoosts = new SwissBoosts(); - mapCreatedAt = serverNow(); - sig = ""; - isFirstSession = true; - map: keyof typeof MAP = "Oslo"; - seed: string = null; - buildingPermit = 20; - offlineEarnings: IOfflineEarning[] = []; - buildings: Record = {}; - buildingsToConstruct: Record = {}; - unlockedBuildings: Partial> = {}; - fuelResType: keyof Resources = "Petrol"; - autoSellPerSec = 10; - autoSellConcurrency = 3; - autoSellRes: Partial> = {}; - price: Partial> = {}; - marketNews: Partial> = {}; - lastPricedAt = 0; - cashSpent = 0; - stockRating = 1; - cashPerSec = 0; - tradeAmount = 0; - oneOffTradeQuota = 1e9; - oneOffTradeQuotaUsed = 0; - tradeAmountPerPlayer: Record = {}; - lastCrowdfundingAt = 0; - crowdfunding: Record = {}; - orders: IOrder[] = []; - policies: Partial> = {}; - producedRes: ResourceNumberMap = {}; - tradedRes: ResourceNumberMap = {}; - tradeProfit = 0; - producedTicks = 0; - hideResourcesInTopBar: ResourceSet = {}; - tickCount = 0; - waveCount = 0; - entityDefault: EntityDefaultType = getEntityDefault(); + persisted = new PersistedData(); + swissBoosts = new SwissBoosts(); + mapCreatedAt = serverNow(); + sig = ""; + isFirstSession = true; + map: keyof typeof MAP = "Oslo"; + seed: string = null; + buildingPermit = 20; + offlineEarnings: IOfflineEarning[] = []; + buildings: Record = {}; + buildingsToConstruct: Record = {}; + unlockedBuildings: Partial> = {}; + fuelResType: keyof Resources = "Petrol"; + autoSellPerSec = 10; + autoSellConcurrency = 3; + autoSellRes: Partial> = {}; + price: Partial> = {}; + marketNews: Partial> = {}; + lastPricedAt = 0; + cashSpent = 0; + stockRating = 1; + cashPerSec = 0; + tradeAmount = 0; + oneOffTradeQuota = 1e9; + oneOffTradeQuotaUsed = 0; + tradeAmountPerPlayer: Record = {}; + lastCrowdfundingAt = 0; + crowdfunding: Record = {}; + orders: IOrder[] = []; + policies: Partial> = {}; + producedRes: ResourceNumberMap = {}; + tradedRes: ResourceNumberMap = {}; + tradeProfit = 0; + producedTicks = 0; + hideResourcesInTopBar: ResourceSet = {}; + tickCount = 0; + waveCount = 0; + entityDefault: EntityDefaultType = getEntityDefault(); } export function hasDLC(dlc: DownloadableContent): boolean { - if (!dlc) { - return true; - } - return hasValue(D.persisted.dlc[dlc]); + if (!dlc) { + return true; + } + return hasValue(D.persisted.dlc[dlc]); } export function hasAnyDlc() { - return sizeOf(D.persisted.dlc) > 0; -} - -function convertSKUsToDLCs(purchases: string[]): Partial> { - const dlc: Partial> = {}; - purchases.forEach((p) => { - const d = PlatformSKUs[NativeSdk.name()]?.[p]; - if (d) { - dlc[d] = true; - } - // Handle old iOS/Android pricing - if ((isIOS() || isAndroid()) && p === "dlc1") { - dlc[DLC[0]] = true; - dlc[DLC[1]] = true; - } - }); - // Handle debug - if (CC_DEBUG) { - // DLC.forEach((d) => { - // dlc[d] = true; - // }); - } - return dlc; + return sizeOf(D.persisted.dlc) > 0; +} + +function convertSKUsToDLCs( + purchases: string[], +): Partial> { + const dlc: Partial> = {}; + purchases.forEach((p) => { + const d = PlatformSKUs[NativeSdk.name()]?.[p]; + if (d) { + dlc[d] = true; + } + // Handle old iOS/Android pricing + if ((isIOS() || isAndroid()) && p === "dlc1") { + dlc[DLC[0]] = true; + dlc[DLC[1]] = true; + } + }); + // Handle debug + if (CC_DEBUG) { + // DLC.forEach((d) => { + // dlc[d] = true; + // }); + } + return dlc; } export function syncPurchases(verifiedPurchases: string[]) { - const dlc = convertSKUsToDLCs(verifiedPurchases); - D.persisted.cf = !containsDlc(dlc, D.persisted.dlc); - D.persisted.dlc = dlc; + const dlc = convertSKUsToDLCs(verifiedPurchases); + D.persisted.cf = !containsDlc(dlc, D.persisted.dlc); + D.persisted.dlc = dlc; } export function addPurchases(verifiedPurchases: string[]) { - const dlc = convertSKUsToDLCs(verifiedPurchases); - D.persisted.dlc = { ...D.persisted.dlc, ...dlc }; + const dlc = convertSKUsToDLCs(verifiedPurchases); + D.persisted.dlc = { ...D.persisted.dlc, ...dlc }; } export async function verifyPurchases() { - try { - syncPurchases(await NativeSdk.verifyPurchases()); - } catch (err) { - D.persisted.dlc = {}; - } + try { + syncPurchases(await NativeSdk.verifyPurchases()); + } catch (err) { + D.persisted.dlc = {}; + } } export function containsDlc( - a: Partial>, - b: Partial> + a: Partial>, + b: Partial>, ) { - a = a ?? {}; - b = b ?? {}; - let contains = true; - forEach(b, (k, v) => { - if (a[k] !== v) { - contains = false; - } - }); - return contains; + a = a ?? {}; + b = b ?? {}; + let contains = true; + forEach(b, (k, v) => { + if (a[k] !== v) { + contains = false; + } + }); + return contains; } export function dlcLabel(dlc: DownloadableContent): string { - switch (dlc) { - case "dlc1": - return t("RequireExpansionPack1"); - case "dlc2": - return t("RequireExpansionPack2"); - default: - return ""; - } + switch (dlc) { + case "dlc1": + return t("RequireExpansionPack1"); + case "dlc2": + return t("RequireExpansionPack2"); + default: + return ""; + } } export function dlcDesc(dlc: DownloadableContent): string { - switch (dlc) { - case "dlc1": - return t("RequireExpansionPack1Desc"); - case "dlc2": - return t("RequireExpansionPack2Desc"); - default: - return ""; - } + switch (dlc) { + case "dlc1": + return t("RequireExpansionPack1Desc"); + case "dlc2": + return t("RequireExpansionPack2Desc"); + default: + return ""; + } } export const DLC = ["dlc1", "dlc2"] as const; export type DownloadableContent = (typeof DLC)[number]; -export const PlatformSKUs: Partial>> = { - iOS: { - ep1: DLC[0], - ep2: DLC[1], - }, - Android: { - ep1: DLC[0], - ep2: DLC[1], - }, - Steam: { - 1577540: DLC[0], - 1807800: DLC[1], - }, - Unknown: { - 1577540: DLC[0], - 1807800: DLC[1], - }, +export const PlatformSKUs: Partial< + Record> +> = { + iOS: { + ep1: DLC[0], + ep2: DLC[1], + }, + Android: { + ep1: DLC[0], + ep2: DLC[1], + }, + Steam: { + 1577540: DLC[0], + 1807800: DLC[1], + }, + Unknown: { + 1577540: DLC[0], + 1807800: DLC[1], + }, } as const; export const PanelPositionOptions = { - auto: () => t("PanelPositionAuto"), - left: () => t("PanelPositionLeft"), - leftFloat: () => t("PanelPositionLeftFloat"), - right: () => t("PanelPositionRight"), - rightFloat: () => t("PanelPositionRightFloat"), + auto: () => t("PanelPositionAuto"), + left: () => t("PanelPositionLeft"), + leftFloat: () => t("PanelPositionLeftFloat"), + right: () => t("PanelPositionRight"), + rightFloat: () => t("PanelPositionRightFloat"), } as const; export type PanelPosition = keyof typeof PanelPositionOptions; @@ -493,119 +532,134 @@ export const ORIGINAL_GAMEDATA = Object.freeze(new GameData()); export const D = new GameData(); export function loadData(): Promise { - return NativeSdk.getItem(GAME_DATA_LS_KEY); + return NativeSdk.getItem(GAME_DATA_LS_KEY); } export function sign(data: T): T { - delete data.sig; - const str = - Object.keys(data) - .sort() - .map((k) => JSON.stringify(data[k])) - .join() + SAVE_FILE_KEY; - data.sig = xmur3(str)().toString(16); - return data; -} - -export function signTrade(data: T): T { - delete data.sig; - data.token = D.persisted.tradeToken; - const str = - Object.keys(data) - .sort() - .map((k) => JSON.stringify(data[k])) - .join() + SAVE_FILE_KEY; - data.sig = murmurhash3(str, Math.floor(serverNow() / 5000)).toString(16); - return data; + delete data.sig; + const str = + Object.keys(data) + .sort() + .map((k) => JSON.stringify(data[k])) + .join() + SAVE_FILE_KEY; + data.sig = xmur3(str)().toString(16); + return data; +} + +export function signTrade( + data: T, +): T { + delete data.sig; + data.token = D.persisted.tradeToken; + const str = + Object.keys(data) + .sort() + .map((k) => JSON.stringify(data[k])) + .join() + SAVE_FILE_KEY; + data.sig = murmurhash3(str, Math.floor(serverNow() / 5000)).toString(16); + return data; } export function verify(data: GameData): boolean { - const actual = data.sig; - sign(data); - return actual === data.sig; + const actual = data.sig; + sign(data); + return actual === data.sig; } export function saveData(): Promise { - sign(D); - return NativeSdk.setItem(GAME_DATA_LS_KEY, JSON.stringify(D)); + sign(D); + return NativeSdk.setItem(GAME_DATA_LS_KEY, JSON.stringify(D)); } export function saveDataOverride(d: GameData): Promise { - sign(d); - return NativeSdk.setItem(GAME_DATA_LS_KEY, JSON.stringify(d)); + sign(d); + return NativeSdk.setItem(GAME_DATA_LS_KEY, JSON.stringify(d)); } export function signAndEncryptData(data: GameData) { - sign(data); - return encryptData(data); + sign(data); + return encryptData(data); } export function encryptData(data: T) { - return CryptoJS.AES.encrypt(JSON.stringify(data), SAVE_FILE_KEY).toString(CryptoJS.format.OpenSSL); + return CryptoJS.AES.encrypt(JSON.stringify(data), SAVE_FILE_KEY).toString( + CryptoJS.format.OpenSSL, + ); } export function decryptData(encrypted: string): T { - const decrypted = CryptoJS.AES.decrypt(encrypted, SAVE_FILE_KEY); - return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8)) as T; + const decrypted = CryptoJS.AES.decrypt(encrypted, SAVE_FILE_KEY); + return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8)) as T; } export function clearTrades(userId: string): Promise { - return fetch(`${API_HOST}/trade/clear`, { - method: "post", - headers: { "X-User-Id": userId }, - }); + return fetch(`${API_HOST}/trade/clear`, { + method: "post", + headers: { "X-User-Id": userId }, + }); } export async function getAuthQueryString(): Promise { - const appId = isSteam() ? `&appId=${await steamworks.getAppId()}` : ""; - const ticket = await NativeSdk.getAuthTicket(); - const token = ticket ? `&token=${ticket}` : ""; - return `user=${ - D.persisted.userId - }${token}&platform=${NativeSdk.name().toLowerCase()}${appId}&version=${getCurrentVersion()}`; + const appId = isSteam() ? `&appId=${await steamworks.getAppId()}` : ""; + const ticket = await NativeSdk.getAuthTicket(); + const token = ticket ? `&token=${ticket}` : ""; + return `user=${ + D.persisted.userId + }${token}&platform=${NativeSdk.name().toLowerCase()}${appId}&version=${getCurrentVersion()}`; } export async function authenticatePlayer(): Promise { - return fetch(`${API_HOST}/user/authentication?${await getAuthQueryString()}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch( + `${API_HOST}/user/authentication?${await getAuthQueryString()}`, + { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }, + ); } export function removeTrade(tradeId: string): Promise { - return fetch(`${API_HOST}/trade/remove?id=${tradeId}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch(`${API_HOST}/trade/remove?id=${tradeId}`, { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }); } const serverOverride = getDebugUrlParams().server; -export const API_HOST = serverOverride ? `http://${serverOverride}` : "https://api.fishpondstudio.com"; +export const API_HOST = serverOverride + ? `http://${serverOverride}` + : "https://api.fishpondstudio.com"; export function muteUser(ip: string, time: number) { - return fetch(`${API_HOST}/chat/mute?ip=${ip}&time=${time}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch(`${API_HOST}/chat/mute?ip=${ip}&time=${time}`, { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }); } export function checkVerification() { - return fetch(`${API_HOST}/user/verification?tradeToken=${D.persisted.tradeToken}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch( + `${API_HOST}/user/verification?tradeToken=${D.persisted.tradeToken}`, + { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }, + ); } export function refreshTradeToken(token: string) { - return fetch(`${API_HOST}/trade/import-save?token=${token}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch(`${API_HOST}/trade/import-save?token=${token}`, { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }); } export function forceRestoreTradeToken() { - return fetch(`${API_HOST}/trade/force-restore?token=${D.persisted.tradeToken}`, { - method: "post", - headers: { "X-User-Id": D.persisted.userId }, - }); + return fetch( + `${API_HOST}/trade/force-restore?token=${D.persisted.tradeToken}`, + { + method: "post", + headers: { "X-User-Id": D.persisted.userId }, + }, + ); } diff --git a/assets/Script/Languages/cz.ts b/assets/Script/Languages/cz.ts index c45465c..dd6aaa0 100644 --- a/assets/Script/Languages/cz.ts +++ b/assets/Script/Languages/cz.ts @@ -1,4 +1,4 @@ -export const EN = { +export const CZ = { Translator: "Překladatel", TranslatorName: "Kedron", Language: "Jazyk", @@ -75,8 +75,7 @@ export const EN = { Rocket: "Raketa", RocketFactory: "Továrna pro rakety", BuildingPermit: "Stavební povolení", - BuildingPermitDesc: - "Máš povolení pro %{amount} budov, už jsi postavil %{amountBuilt} a zbývá ti %{amountLeft}", + BuildingPermitDesc: "Máš povolení pro %{amount} budov, už jsi postavil %{amountBuilt} a zbývá ti %{amountLeft}", BuildingLocked: "Budova není ještě k dispozici, musíš ji vyzkoumat v laboratoři", MaxBuilders: "Max. Stavitelů", MaxBuildersDesc: "Počet budov, které můžeš postavit najednou", @@ -415,7 +414,6 @@ export const EN = { HighlightInput: "🔍 Highlight %{type} Input", HighlightOutput: "🔍 Highlight %{type} Output", RunOutIn: "Out in %{time}", - SwissBank: "Swiss Bank", SwissMoney: "%{money} 💵", PrestigeDesc: "If you start in a new city, you will get %{money} 💵", diff --git a/assets/Script/Languages/no.ts b/assets/Script/Languages/no.ts index 1dbccd3..089e8e0 100644 --- a/assets/Script/Languages/no.ts +++ b/assets/Script/Languages/no.ts @@ -1,4 +1,4 @@ -export const EN = { +export const NO = { Translator: "Oversetter", TranslatorName: "Sigurd E. H. Vie (MrCenny)", Language: "Språk", @@ -415,7 +415,6 @@ export const EN = { HighlightInput: "🔍 Highlight %{type} Input", HighlightOutput: "🔍 Highlight %{type} Output", RunOutIn: "Out in %{time}", - SwissBank: "Swiss Bank", SwissMoney: "%{money} 💵", PrestigeDesc: "If you start in a new city, you will get %{money} 💵", diff --git a/assets/Script/Languages/no.ts.meta b/assets/Script/Languages/no.ts.meta new file mode 100644 index 0000000..159dbd7 --- /dev/null +++ b/assets/Script/Languages/no.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "a3925d82-5a6d-4e04-b8dd-fb896bc9d2a2", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Script/Languages/pt-BR.ts b/assets/Script/Languages/pt-BR.ts index 7d75044..64c4e9c 100644 --- a/assets/Script/Languages/pt-BR.ts +++ b/assets/Script/Languages/pt-BR.ts @@ -1553,7 +1553,8 @@ export const PT_BR = { ClearTradesNo: "Não limpar ", ClearTradesYes: "Limpar as trocas", OnlyShowPositiveModifiers: "Mostrar apenas modificadores de edifícios positivos.", - OnlyShowPositiveModifiersHint: "Marque a caixa de seleção à esquerda do edifício para mostrar os modificadores de edifício no mapa.", + OnlyShowPositiveModifiersHint: + "Marque a caixa de seleção à esquerda do edifício para mostrar os modificadores de edifício no mapa.", ClearMyTradesV2: "Limpar minhas trocas", OpenSource: "Contribuir", OpenSourceDesc: "Industry Idle agora é de código aberto. Você pode contribuir para o desenvolvimento no Github.", diff --git a/assets/Script/Languages/zh-CN.ts b/assets/Script/Languages/zh-CN.ts index 212822c..b8744a2 100644 --- a/assets/Script/Languages/zh-CN.ts +++ b/assets/Script/Languages/zh-CN.ts @@ -1,7 +1,7 @@ export const ZH_CN = { Translator: "译者", TranslatorName: - "LazySu, snewpeap, Orange233, YinTingChow, HagridThick, Kx1672, WUTONK, CarrlangCha, SonodaHanami, 5tanL, TOM1024,以及感谢Github上贡献翻译的诸多玩家", + "LazySu, snewpeap, Orange233, YinTingChow, HagridThick, Kx1672, WUTONK, CarrlangCha, SonodaHanami, 5tanL, TOM1024, 感谢Github上贡献翻译的诸多玩家", Language: "语言", ThisLanguage: "简体中文", OK: "好的", @@ -1146,8 +1146,7 @@ export const ZH_CN = { Sausage: "香肠", Hotdog: "热狗", BatchOperationDesc: "将应用于 %{number} 座建筑物,确定吗?", - BatchOperationGainDesc: - "这将应用于 %{number} 建筑物. 预计退款为 $%{gain}. 您想继续吗?", + BatchOperationGainDesc: "这将应用于 %{number} 建筑物. 预计退款为 $%{gain}. 您想继续吗?", BatchOperationResult: "你的批量操作在 %{success} 座建筑物上生效了", BatchOperationGainResult: "批量操作结果:成功: %{success}, 失败: %{fail}, 总收入: $%{gain}", StreamingMakeMeDiscoverable: "让我可见", @@ -1373,8 +1372,7 @@ export const ZH_CN = { AucklandBonus: "
  • 新西兰所有矿场所有矿场都位于地图中心区域
  • 独特建筑:水力发电厂
  • 独特的政策:矿场加速器
  • 独特政策:电动鱼池
  • 鱼池可以建在任何瓷砖上
  • ", MineBooster: "挖掘加速器", - MineBoosterDesc: - "工作中的矿场可为消耗矿藏的邻近矿场或工厂提供 100% 的产能提升", + MineBoosterDesc: "工作中的矿场可为消耗矿藏的邻近矿场或工厂提供 100% 的产能提升", HydroPowerPlant: "水力发电厂", ElectricFishPond: "水电益鱼", ElectricFishPondDesc: "每个正在运行的水力发电厂为地图上的所有鱼塘提供 20% 的容量提升", @@ -1407,8 +1405,7 @@ export const ZH_CN = { AchievementAuckland1000: "Kiwi", AchievementAuckland1000Desc: "单次在奥克兰赚取1000瑞士货币", ExternalManageYourSave: "导入和导出保存", - ExternalManageYourSaveDesc: - "由于技术限制,必须从游戏官方网站导入和导出您的保存数据。", + ExternalManageYourSaveDesc: "由于技术限制,必须从游戏官方网站导入和导出您的保存数据。", MREPlant: "即食植物餐", PlayerTradeTaxCreditProduction: "税收减免:生产", PlayerTradeTaxCreditProductionDescV2: @@ -1432,7 +1429,7 @@ export const ZH_CN = { InputBufferTypeStockpile: "库存", InputBuffer: "资源输入缓冲", InputBufferDesc: - "在该建筑不再运输输入资源之前,在存储区内保留该资源的最长周期。\"自动\"是指使用预测来保持最低限度的缓冲,以便能够持续生产。储存是指无论输入资源在仓库中的数量多少,都将始终进行运输。", + '在该建筑不再运输输入资源之前,在存储区内保留该资源的最长周期。"自动"是指使用预测来保持最低限度的缓冲,以便能够持续生产。储存是指无论输入资源在仓库中的数量多少,都将始终进行运输。', InputCapacityOverride: "输入容量超限", InputCapacityOverrideDesc: "每个生产周期运输 %{percent} 的生产所需的资源", PumpkinSpiceLatte: "南瓜香料拿铁", @@ -1516,8 +1513,7 @@ export const ZH_CN = { PlayerTradePendingFineReturnCash: "支付现金", PlayerTradePendingFineReturnResources: "支付资源", PlayerTradePendingFineNotEnough: "不足", - PlayerTradeBetterTradesAvailable: - "有 %{count} 更好的交易能带来更好的利润 - 您应首先完成这些交易", + PlayerTradeBetterTradesAvailable: "有 %{count} 更好的交易能带来更好的利润 - 您应首先完成这些交易", PlayerTradeBetterTradesAvailableAction: "显示我的交易", BuildingCount: "计数", NoEfficiencyDesc: "本楼不享受以下政策:", @@ -1529,8 +1525,7 @@ export const ZH_CN = { FreeWeeklyCityDesc: "%{city} 本周对所有玩家免费,无论是否拥有此扩展包!", HideCivIdleBanner: "隐藏 CivIdle 横幅", HideCivIdleBannerDesc: "在总部隐藏 CivIdle 旗帜", - MobileAdDLCOwner: - "如果您拥有这两个扩展包,则无需观看广告视频即可将离线收入翻倍", + MobileAdDLCOwner: "如果您拥有这两个扩展包,则无需观看广告视频即可将离线收入翻倍", AutumnEvent: "秋季活动正在进行:收获南瓜,制作南瓜派和南瓜拿铁咖啡!", HalloweenEvent: "万圣节活动正在进行:使用收获的南瓜有几种新的诡异方法!", ChristmasEvent: "圣诞活动正在进行:圣诞老人和驯鹿为您带来新惊喜!", diff --git a/marketing/800x450_Capitalism.png b/marketing/800x450_Capitalism.png new file mode 100644 index 0000000..3bd43ea Binary files /dev/null and b/marketing/800x450_Capitalism.png differ