Commit graph

580 commits

Author SHA1 Message Date
Yair Morgenstern
86464ccdb0 Many UI updates are now done on the clone, so we won't get concurrency exceptions 2018-08-25 23:15:40 +03:00
Yair Morgenstern
ce00fd43e0 Fixed bug where even if the unit couldn't be placed within 3 tiles it was still added to the civ's unit list 2018-08-25 23:14:20 +03:00
Yair Morgenstern
9fbb997e63 Added burial tomb unique building for Egypt 2018-08-24 15:15:52 +03:00
Yair Morgenstern
d48d7aa9fe You now choose civilizations from a list which also tells you what's unique to that civ 2018-08-24 12:28:27 +03:00
Yair Morgenstern
8978d13cdc Added paper maker as first unique building! 2018-08-23 13:16:41 +03:00
Yair Morgenstern
4fd9ac0f38 Added musketeer unique unit for France 2018-08-23 08:43:14 +03:00
Yair Morgenstern
6b5c1e62da City-to-tile ownership is more efficient
Fixed bug where when starting a new game your initial units would get an extra turn until you reloaded the game
2018-08-22 13:30:37 +03:00
Yair Morgenstern
5e1bccdc47 Organized clone functions
Found one last place where the unit was destroyed manually and not using the destroy() function =\
2018-08-20 22:36:01 +03:00
Yair Morgenstern
040866609e Added effects of Militarism, Total War and Facism 2018-08-20 21:58:01 +03:00
Yair Morgenstern
034f6b0860 Finding map tiles now works with a matrix instead of a map - works MUCH faster! 2018-08-20 09:19:37 +03:00
Yair Morgenstern
f820b75fff Json is apparently not thread safe, so we now create a new instance for each stringify 2018-08-20 09:17:40 +03:00
Yair Morgenstern
4c5e6a8a39 TileMap that was saved in memory changed to TileList, to give more freedom with how we save tiles - TileMap now generated on runtime 2018-08-18 21:48:40 +03:00
Yair Morgenstern
06091d640d civ units are now cached and not calculated every time 2018-08-17 14:45:48 +03:00
Yair Morgenstern
1957c4ca80 Code reorganization - separated variables, pure functions and state-changing functions in all main logic classes 2018-08-17 13:36:23 +03:00
Yair Morgenstern
749ff90fe0 Policy screen translated 2018-08-17 11:44:20 +03:00
Yair Morgenstern
8b90571a77 Fixed some concurrency problems 2018-08-17 11:38:19 +03:00
Yair Morgenstern
fe67fda906 Performance improvement - Moved all autosaving to save a *clone* of the current game in another thread, thus allowing the user to continue his game without having to wait for the game to save 2018-08-16 23:33:56 +03:00
Yair Morgenstern
b4fece29e0 Slight performance improvements for AI 2018-08-16 09:13:34 +03:00
Yair Morgenstern
1affaa38c2 Clicking the Back button when on diplomacy screen returns you to the world screen 2018-08-16 08:53:34 +03:00
Yair Morgenstern
b1e17a67c6 Added Range, Sentry, Siege and Indirect Fire promotions
Units now get experience when capturing a city
2018-08-16 08:52:29 +03:00
Yair Morgenstern
26b3366d93 Added all policy translation lines 2018-08-14 19:24:47 +03:00
Yair Morgenstern
f9632b4151 Back button now acts like the "close" button, returning you to the upper-level screen (usually the world screen) 2018-08-14 19:09:58 +03:00
Yair Morgenstern
27b4c2c2ab AI units now fortify when healing and prefer tiles with defensive bonuses while healing 2018-08-13 09:25:29 +03:00
Yair Morgenstern
fee0b718ec Shrunk game size by 15% by including the images only when packed 2018-08-13 08:56:15 +03:00
Yair Morgenstern
bb25616b69 Fixed bug when playing with translations and constructing science, gold or nothing in a city 2018-08-12 20:45:17 +03:00
Yair Morgenstern
4c0372a8b5 When cities expand, units that aren't allowed to enter there are pushed to the closest moveable tile 2018-08-12 08:56:10 +03:00
Yair Morgenstern
847bf9650d Changed the basic stat icons to not use the original Civ's 2018-08-10 18:31:18 +03:00
Yair Morgenstern
3515b0f6bd Added instructions to deal with situations where the game has crashed but we've noticed it 2018-08-10 11:35:56 +03:00
Yair Morgenstern
c67d515ec4 Organized all game images and added TexturPacker to pack them all into a single image, with an atlas to find the texture regions -
MASSIVE boost in rendering performance!
2018-08-10 11:05:21 +03:00
Yair Morgenstern
4d27f7f769 Added icon to city tiles 2018-08-09 21:52:28 +03:00
Yair Morgenstern
4f727df216 Added crosshair image on attackable enemies 2018-08-09 21:04:25 +03:00
Yair Morgenstern
6f2b845e13 Civilization class renamd to Nation, to have it be distinct from CivilizationInfo 2018-08-09 18:44:43 +03:00
Yair Morgenstern
186feab0c6 Added notification when enemy declares war on us 2018-08-09 18:36:37 +03:00
Yair Morgenstern
e6bc3a1ab7 Added tutorials when first encountering barbarians and other civilizations 2018-08-09 18:33:47 +03:00
Yair Morgenstern
b79b682376 Added "conquer defeated city with melee unit" tutorial 2018-08-09 10:23:10 +03:00
Yair Morgenstern
97bb4e05b9 Fixed bug where you could buy the same buildings multiple times - thanks vita10g! 2018-08-09 10:10:49 +03:00
Yair Morgenstern
9b38d0c33e Cities conquered in battle lose population 2018-08-08 18:34:23 +03:00
Yair Morgenstern
376ae64e77 AI Ranged units no longer head towards defeated cities 2018-08-08 08:26:23 +03:00
Yair Morgenstern
0ac87fa8c4 AI Performance improvement (added transient currentTile to unit) 2018-08-08 08:25:19 +03:00
Yair Morgenstern
9d0035a8a6 AI now considers war on multiple civs, starting with the closest 2018-08-08 08:23:20 +03:00
Yair Morgenstern
c35f7d68f2 No longer get notifications for units of other friendly civs around your territory 2018-08-07 09:04:35 +03:00
Yair Morgenstern
3b83627386 Left side of diplomacy screen now scrolls 2018-08-07 07:39:44 +03:00
Yair Morgenstern
02fd349243 Massive AI combat improvements!
Added translations
2018-08-06 21:58:30 +03:00
Yair Morgenstern
99c0abd24d Fixed crash when you would melee attack an enemy unit that was in a friendly civ's (unenterable) territory 2018-08-06 13:08:45 +03:00
Yair Morgenstern
13e1d06c8b Fixed bug where everyone would pay upkeep costs for all tiles, instead of just their own tiles 2018-08-06 13:07:36 +03:00
Yair Morgenstern
2be6a5c15c AI construction choices now better and change between peacetime and wartime.
AIs now declare war on each other if they think they can defeat the other side
(Returned movement alg. to the way it was because the new way didn't allow ais to find enemy units, added comment)
2018-08-05 23:08:50 +03:00
Yair Morgenstern
e655d6620a Added LOADS of words to be translated - all buildings and units! 2018-08-05 16:12:46 +03:00
Yair Morgenstern
c3cdae12d4 Tutorials are now defined per language! 2018-08-04 23:57:53 +03:00
Yair Morgenstern
7983901435 Info on translation percentage in language picker screen 2018-08-04 21:50:56 +03:00
Yair Morgenstern
ec0ebc73f0 Expanded translation for new game screen and overview screen 2018-08-04 21:36:08 +03:00
Yair Morgenstern
5b26974752 AI picks a random tech from those with the lowest cost
AI civs trade luxury resources wiith each other when they have spares
2018-08-03 15:21:41 +03:00
Yair Morgenstern
f0a56b5e84 Units are moved to movable tiles when an enemy city expands its territory to the unit's tile
Diplomacy button is not shown unless you have other civs you can diplomatize with
2018-08-03 14:47:25 +03:00
Yair Morgenstern
215310b413 Diplomacy screen, declaring war, no entering frienly enemy territory 2018-08-02 21:21:30 +03:00
Yair Morgenstern
bf9e06445c All diplomacy now done from a separate screen 2018-08-02 14:59:53 +03:00
Yair Morgenstern
023c4cd1c6 Trade now almost entirely separate from Trade Screen, so the Trade screen can become a Diplomacy screen! 2018-08-01 22:41:23 +03:00
Yair Morgenstern
04c0c87d7c Trade table separated into a distict entity, allows us to put the trade into other screens 2018-08-01 13:00:06 +03:00
Yair Morgenstern
d8daf6dc88 Separated trade logic from UI display 2018-08-01 09:00:06 +03:00
Yair Morgenstern
d8bb0eb9e5 Can now trade Peace Treaty! Which leads to actual fukken peace! 2018-07-31 17:48:57 +03:00
Yair Morgenstern
fa8e8a148d Can now trade technologies!
AI assessment of luxury resources improved
2018-07-30 21:34:31 +03:00
Yair Morgenstern
82c42e8528 Trade classes re now separate files 2018-07-30 13:30:13 +03:00
Yair Morgenstern
8b259a3db3 Added ai unhappiness modifier to difficulty 2018-07-27 10:03:44 +03:00
Yair Morgenstern
1689005fef Tutorials saved between turns
No notification for "discovering" barbarians
2018-07-27 00:07:32 +03:00
Yair Morgenstern
041f904f6c Added language picker screen 2018-07-26 23:46:14 +03:00
Yair Morgenstern
f6f9433c41 Fixed concurrent iterator change problems 2018-07-26 23:17:18 +03:00
Yair Morgenstern
592b716e81 Removed the 1/63 chance that on a small map you couldn't have many civs 2018-07-26 23:16:56 +03:00
Yair Morgenstern
03f0b2a1f9 Added getBackground helper function 2018-07-26 23:15:33 +03:00
Yair Morgenstern
1cba56c947 Tutorials shown are now per-device (in the game settings) rather than per-game
Game settings are now saved as a proper class, found how to ignore unknown properties in json! =)
2018-07-26 13:15:38 +03:00
Yair Morgenstern
efef41541c Razed cities do not grow 2018-07-25 23:05:21 +03:00
Yair Morgenstern
06c68302ce Added difficulty settings! 2018-07-25 22:56:25 +03:00
Yair Morgenstern
7af1a89913 You can no longer see city connection status of enemy cities 2018-07-24 18:25:36 +03:00
Yair Morgenstern
b4614fc1f5 Railroad now looks like a railroad and visible on tundra 2018-07-24 18:22:39 +03:00
Yair Morgenstern
18a8f9f0d5 Fixed bug where units on hills thought they could attack further away units 2018-07-23 20:04:33 +03:00
Yair Morgenstern
a3eda1fd52 Fixed bug that caused barbarians to not do anything 2018-07-20 16:04:38 +03:00
Yair Morgenstern
9c23c8f551 Civs start at least 3 tiles away from edge of board 2018-07-20 15:58:03 +03:00
Yair Morgenstern
a33a161fdb Unique units can now be upgraded to (e.g. archer to longbowman) - Thanks Am-per-sand! 2018-07-20 15:57:44 +03:00
Yair Morgenstern
ea20201c1b Renamed Unit to BaseUnit so it wouldn't conflict with Kotlin's Unit cllass 2018-07-20 12:13:37 +03:00
Yair Morgenstern
0d261e88bf Added list of units to empire overview 2018-07-19 13:29:52 +03:00
Yair Morgenstern
d8ac537535 Cut down saved game size when copying text to the clipboard by 85% using gzip 2018-07-18 23:13:58 +03:00
Yair Morgenstern
a2530b5480 Player no longer always starts in the middle of the map 2018-07-18 18:45:37 +03:00
Yair Morgenstern
606a375467 World screen centers on capital instead of zero position 2018-07-18 18:41:15 +03:00
Yair Morgenstern
e6a95452b4 If a unit's upgrade is obsolete, then we try to upgrade to the next non-obsolete unit in line in the upgrade succession tree 2018-07-18 17:58:38 +03:00
Yair Morgenstern
a86460b345 Ranged units cannot indirect attack (e.g. if a hill is in the way) 2018-07-18 17:52:13 +03:00
Yair Morgenstern
5ee0c47e22 If a unit can be promoted twice, the promotion picker remains open after you pick the first promotion 2018-07-18 13:26:29 +03:00
Yair Morgenstern
23a9886de7 Expanded unit civilopedia description 2018-07-17 23:14:58 +03:00
Yair Morgenstern
12c925f79c Apollo program status correctly displayed in victory screen - you can now actually win a scientific victory! 2018-07-17 23:07:17 +03:00
Yair Morgenstern
b5d198adcd AI examines city construction each turn, in case there's something better to build 2018-07-17 23:05:55 +03:00
Yair Morgenstern
9e50051c61 When out of gold, units disband at a rate dependant on your deficit 2018-07-17 23:05:08 +03:00
Yair Morgenstern
5fed13eb76 Tiles with gold are now ranked higher if civ is in a bad financial situation 2018-07-17 13:13:23 +03:00
Yair Morgenstern
a7ddc07880 Changed city construction automation - should help the AI not constantly go broke 2018-07-17 12:53:43 +03:00
Yair Morgenstern
7ec95fefd9 No tile will now be in 2 cities simultaneously
Cities can't "take over" tiles neighboring to a city
2018-07-16 23:50:35 +03:00
Yair Morgenstern
bc404d9b17 Fixed bug that preclude building spaceship parts 2018-07-16 19:57:27 +03:00
Yair Morgenstern
e40bc91156 City cannot starve below 0 population
Starvation notifications when a city generates negative food, not only when population decreases
2018-07-16 18:31:32 +03:00
Yair Morgenstern
2cd3347cec Barbarians will not spawn in tiles that any civilization can currently see 2018-07-16 12:36:33 +03:00
Yair Morgenstern
ce7cb2ce17 Tiles outside the 3rd ring of a city can no longer be "worked" in the screen (before they could be chosen but didn't provide yields) 2018-07-16 09:43:36 +03:00
Yair Morgenstern
43ef42be5f When removing a terrain (e.g. Forest) whose improvement depends on it (e.g. Lumber mill), the improvement is removed 2018-07-16 09:17:42 +03:00
Yair Morgenstern
6ca586c3b1 Can no longer accept "empty" trades 2018-07-16 09:16:53 +03:00
Yair Morgenstern
da3d749547 When unable to support units, they disband one by one instead of all at the same time 2018-07-15 19:51:27 +03:00
Yair Morgenstern
68781ed5f7 Units can only upgrade within your borders (thanks Noam!) 2018-07-13 17:28:08 +03:00
Yair Morgenstern
7e34d95707 After a civ loses enough resources to go "negative", trades relating to that resource are cancelled 2018-07-13 16:17:11 +03:00
Yair Morgenstern
d34a3cd1a2 After accepting a trade you cannot "accept" the same trade again 2018-07-13 16:13:36 +03:00
Yair Morgenstern
cfe231ee4e Barbarians no longer disband units for lack of gold 2018-07-13 16:10:45 +03:00
Yair Morgenstern
bfb53a1940 Updating happiness happens in a different thread so it doesn't impede the update() function 2018-07-12 19:17:58 +03:00
Yair Morgenstern
c05503bb86 Attacking with a unit disables its "move" command 2018-07-11 21:31:59 +03:00
Yair Morgenstern
3215e0eea9 Displayed happiness updated within the turn (thanks Am-Per-Sand!) 2018-07-11 21:25:23 +03:00
Yair Morgenstern
4196f72a20 Can no longer see enemy city construction progress, enemy city health of unviewed cities and improvement progress in unviewed tiles (thanks Am-Per-Sand!) 2018-07-11 19:20:03 +03:00
Yair Morgenstern
a1d358e9c8 You can now trade "gold per turn" 2018-07-11 19:13:59 +03:00
Yair Morgenstern
d385ebd10b XP and promotions are retained when upgrading units (thanks Noam!) 2018-07-11 19:10:18 +03:00
Yair Morgenstern
3425c117ff Automated workers will build camps on forest tiles where they can 2018-07-10 12:29:29 +03:00
Yair Morgenstern
f9ec46a376 Trades visually separated in overview screen 2018-07-10 09:07:36 +03:00
Yair Morgenstern
35b66316bc Camps are now buildable in forests without removing the forests (Thanks Noam!) 2018-07-10 09:04:45 +03:00
Yair Morgenstern
1b5f2a2e00 Free policies no longer increase future policy cost 2018-07-10 08:57:35 +03:00
Yair Morgenstern
73384ffb8c UI Bugfix - After conquering a city, unmoved city borders would stay the same color 2018-07-09 23:18:27 +03:00
Yair Morgenstern
949d64c53c Added tutorials for strategic and luxury resources 2018-07-09 22:51:50 +03:00
Yair Morgenstern
849129ac65 Added trade translation texts
Added duration to trade screen buttons
2018-07-09 22:43:32 +03:00
Yair Morgenstern
f0ac694ba1 Bugfix - Great People can no longer construct improvements on city centers 2018-07-09 22:21:38 +03:00
Yair Morgenstern
0c2f506412 Fixed bug where if an enemies capital was captured and he had no cities but he had a settler, the game would still try to relocate the capital 2018-07-09 17:30:44 +03:00
Yair Morgenstern
a511aa2927 You can no longer open 2 Yes/No popup instances at the same time (caused a crash if you opened 2 to disband a unit and clicked "yes" on both) 2018-07-09 17:24:44 +03:00
Yair Morgenstern
4d43b8d226 Fixed bug where if you discovered and enemy and traded ith him and your trade finished without leaving and reentering the game, the game would crash (but would be okay on reload) 2018-07-08 18:40:26 +03:00
Yair Morgenstern
1c304da9d1 Fixed bug where workers would try to head towards tiles they couldn't reach to construct roads 2018-07-06 16:47:51 +03:00
Yair Morgenstern
0c17e19ea2 Trading gold now works as well! 2018-07-06 16:42:32 +03:00
Yair Morgenstern
5fc20fb547 You now recieve notifications when units disband 2018-07-06 16:32:56 +03:00
Yair Morgenstern
74b10e8a31 Trade works! 2018-07-06 16:28:42 +03:00
Yair Morgenstern
895b4b55e2 Promotions can now be picked if ANY of the prerequisites is met, rather than all (thanks am-per-sand!) 2018-07-04 19:59:56 +03:00
Yair Morgenstern
9f81ac6676 Defeated civs no longer have automated actions, and their remaining units are removed from the map 2018-07-03 22:25:13 +03:00
Yair Morgenstern
220ed19e3b AI now upgrades upgradable units if it has the money 2018-07-03 16:53:54 +03:00
Yair Morgenstern
de6e3f9ec8 All AI units that don't have a speciific target to attack will head towards the closest hostile city 2018-07-03 16:37:20 +03:00
Yair Morgenstern
9b59494a47 When civilization is in negative gold, units will start to disband until we can support the extra units 2018-07-03 16:36:18 +03:00
Yair Morgenstern
71f4c04948 Automated (and UI) workers now build roads between cities if they're big enough!
This was the major cause for the AI's economic failure!
2018-07-02 23:40:50 +03:00
Yair Morgenstern
c49a282a74 Added Trade and Diplomacy screens
When the civilization is losing money, buiding gold buildings is prioritized
2018-07-02 13:33:23 +03:00
Yair Morgenstern
ca99cbb989 Moved Delete Save button away from the Load Game button in the Load Game screen 2018-07-01 18:13:54 +03:00
Yair Morgenstern
62246ff1c9 More translation stuff
When will the madness end?
2018-07-01 17:27:52 +03:00
Yair Morgenstern
f08261edaf Fixed bug where (I assume) if you started a game before version 94, then you may not have any techs at all, and so wwhen you try to fund the player's Era by techs, it finds nothing and explodes 2018-07-01 17:16:56 +03:00
Yair Morgenstern
67b9b7ea7a When aa unit that was moving towards somewhere encounters an enemy unit within walking distance, it stops the movement that it had completely 2018-07-01 17:10:52 +03:00
Yair Morgenstern
4593bed7dc Future tech can now be constantly researched! 2018-07-01 17:05:30 +03:00
Yair Morgenstern
837195293c Fixed minor merge conflict between dutch and other languages 2018-07-01 16:59:41 +03:00
Damjan94
45db23bd95 added the ability to scroll the cities in cities overview screen (#187)
* added the ability to scroll the cities in cities overview screen

* fixed the includes

* shortned the code a bit
2018-07-01 16:18:25 +03:00
Yair Morgenstern
e81df16317 Added Yes/No popup (we'll need it when we have diplomacy and you tell a unit to enter enemy territory)
Added opttion to disband unit (as a test for the popup)
2018-06-27 22:43:15 +03:00
Yair Morgenstern
c5787803f9 Overview screen now accessible from top bar 2018-06-27 20:35:04 +03:00
Damjan94
8cf6a43605 fixed the crash caused by missing curly braces (#181) 2018-06-27 19:53:38 +03:00
Yair Morgenstern
7836f6237f Civilian units no longer have promote action 2018-06-26 23:08:50 +03:00
Yair Morgenstern
15b602da1f Added empire overview screen! 2018-06-26 23:08:21 +03:00
Yair Morgenstern
fe1b74c197 Started adding empire overview screen 2018-06-26 18:13:01 +03:00
Yair Morgenstern
23f9d157a4 Organized files 2018-06-26 08:19:41 +03:00
Yair Morgenstern
805fc5c739 Oligarchy policy now works as intended
More translation stuff
2018-06-25 23:11:22 +03:00
Yair Morgenstern
4bbffe318b More translation stuff 2018-06-25 21:50:56 +03:00
Yair Morgenstern
a59d6e7a46 Translation stuff
Fixed ultra rare bug where a unit that expends all its movement points on roads right before attacking will think that it can attack when it can't
2018-06-25 20:08:57 +03:00
Yair Morgenstern
1388aec34a Tech manager now shows eras of technologies! 2018-06-25 19:27:27 +03:00
Yair Morgenstern
c5f127e555 Policy branches are unlocked by era 2018-06-25 18:09:38 +03:00
Yair Morgenstern
1dffbe2db5 Added Dynamite tech with Artillery 2018-06-25 13:59:51 +03:00
Yair Morgenstern
b166e23858 Game now longer gets an Application Not Responding when taking a long time creating a new game 2018-06-25 08:41:22 +03:00