Commit graph

500 commits

Author SHA1 Message Date
Yair Morgenstern
453e25ffe7 City's tiles and worked tiles are now saved in the CityInfo and not in the TileInfo 2018-04-21 22:56:52 +03:00
Yair Morgenstern
17307f16f9 Can now conquer cities! =D 2018-04-20 11:33:56 +03:00
Yair Morgenstern
7e2015572c No longer displays population images for enemy cities 2018-04-18 15:34:41 +03:00
Yair Morgenstern
42ed4e5749 No longer displays red circle in attackable tiles (from range) but not viewed - gave away enemy positions! 2018-04-18 15:33:53 +03:00
Yair Morgenstern
d0f3a10728 Moved notifications to CivInfo, notifications on enemy actions removed 2018-04-18 00:00:31 +03:00
Yair Morgenstern
51148ac347 Can no longer pick branch completion policies 2018-04-17 23:59:34 +03:00
Yair Morgenstern
bfe43b67c1 Added Settler and Worker enemy actions 2018-04-17 23:58:10 +03:00
Yair Morgenstern
c6ebb733a1 Added Greece to civilizations, city names no come from the Civilizations json 2018-04-17 23:57:06 +03:00
Yair Morgenstern
221a8668fa Selected unit now has a white circle around it 2018-04-17 21:56:58 +03:00
Yair Morgenstern
05d61e4982 Fixed bug where when exploring new tiles, map would not show them until something else happened (map click, etc.) 2018-04-14 23:10:24 +03:00
Yair Morgenstern
532dc75c34 Fixed bug where game would crash if the currently selected unit was destroyed 2018-04-12 21:58:38 +03:00
Yair Morgenstern
34c1047b65 Fixed bug where enemy units were viewable despite the tile being unexplored 2018-04-12 21:52:00 +03:00
Yair Morgenstern
e9c69eed6f Attackable units now have red circle marking their location 2018-04-12 21:43:52 +03:00
Yair Morgenstern
ca7fb9c3be Multiple IDE-suggested fixes 2018-04-11 23:46:00 +03:00
Yair Morgenstern
52b2fa1ef5 Explored but unvisible tiles now fade to black, instead of to background olor (which is blueish) 2018-04-11 22:35:09 +03:00
Yair Morgenstern
dd3d4b605f Added archer 2018-04-11 22:34:20 +03:00
Yair Morgenstern
32efae340b Unit table now displays ranged strength for ranged units 2018-04-09 19:09:08 +03:00
Yair Morgenstern
2bac292ce6 When displaying tiles that unit can move to, we now mark those tiles with a blue circle rather than "gray out" all other tiles - gives a much better visual cue 2018-04-09 16:40:22 +03:00
Yair Morgenstern
8798f02217 Select next idle is no longer enables if an ENEMY unit is idle 2018-04-09 12:54:33 +03:00
Yair Morgenstern
90baebc63d Throw exception when attempting to move a unit to a tile that already contains one 2018-04-09 11:08:20 +03:00
Yair Morgenstern
af47880f48 Don't random-walk to tiles that have units in them! 2018-04-09 11:04:13 +03:00
Yair Morgenstern
b59e235df5 Ranged attacks can reach attackee if tile is in range 2018-04-09 11:03:55 +03:00
Yair Morgenstern
3045fe040d Only display unit on tile if tile is visible 2018-04-09 11:03:25 +03:00
Yair Morgenstern
abaf39a15c Ranged units don't get damaged when attacking 2018-04-09 11:02:53 +03:00
Yair Morgenstern
4de9ee106f City button padding expanded, warrior now has 2 strength as it should 2018-04-08 16:13:54 +03:00
Yair Morgenstern
9978ec5264 Added 15% flanking bonus when enemy is surrounded by more than one melee unit 2018-04-08 10:02:52 +03:00
Yair Morgenstern
e476e5862d TileTable no longer displays health of civilian units 2018-04-08 10:00:24 +03:00
Yair Morgenstern
d8a5acb6f2 Battletable only displays combat if the enemy unit is viewable or if the enemy ciity's tile has been explored 2018-04-08 08:58:42 +03:00
Yair Morgenstern
a72c1c7d95 Select next idle unit only selects units belonging to the player 2018-04-08 08:55:53 +03:00
Yair Morgenstern
3ca20951e5 Stats string does not display decimal points 2018-04-08 08:55:06 +03:00
Yair Morgenstern
f662cd910d Added a table in city screen, to show a breakdown of the ciy stats 2018-04-05 13:59:22 +03:00
Yair Morgenstern
39cc236fae City labels are colored according to civ, and scale down when zooming in 2018-04-05 12:47:10 +03:00
Yair Morgenstern
8b176f062b Added unit maintainance costs to civ 2018-04-05 11:53:12 +03:00
Yair Morgenstern
e5e0c5daa5 Now displays defender name properly, and not attacker name 2018-04-05 11:19:31 +03:00
Yair Morgenstern
461bea0cbc Healing units now attempt to go to better tiles to heal there
Fixed bug where units moving from A to B would move multiple times between turns, effectively "jumping" distances
2018-04-05 11:04:40 +03:00
Yair Morgenstern
c56a67211c Now can't see units that we're not supposed to see =) 2018-04-04 23:17:27 +03:00
Yair Morgenstern
7ff9f17943 Added battle modifiers, specifically - terrain defence bonuses 2018-04-04 23:10:16 +03:00
Yair Morgenstern
4e36aa0d5a No longer attempts to attack city that contains a unit
Battle visualization bug fixed
2018-04-04 17:37:59 +03:00
Yair Morgenstern
36c2afd026 Enemy units don't advance towards units they can't see (not viewable to civ) 2018-04-04 17:16:28 +03:00
Yair Morgenstern
541c73a9a5 Organized city and unit combat, now barbarian warriors spawn in the beginning and so you have to protect your workers or whatever 2018-04-04 17:13:01 +03:00
Yair Morgenstern
889072c725 Enemy troops now have movement and will attack 2018-04-02 23:14:42 +03:00
Yair Morgenstern
5d00adb7fe Added GetTile function to MapUnit, which simplifies and normalizes a lot of the unit logic
Battle simulation and actual battle work as expected!
2018-04-02 15:16:28 +03:00
Yair Morgenstern
bd1a191b15 Battle tabl now shows results of battle, added Barbarian civ 2018-04-01 15:01:48 +03:00
Yair Morgenstern
f71c605210 Notifications scroll no longer blocks map scrolling 2018-03-23 12:25:51 +03:00
Yair Morgenstern
4e7d1bfaec Non-idle units are faded out, to show they can't move this turn 2018-03-23 11:01:23 +03:00
Yair Morgenstern
96c217fec8 Added unit icons with the background according to owner 2018-03-22 23:45:28 +02:00
Yair Morgenstern
a8051bc930 Moved CityButton from TileGroup to WorldTileGroup 2018-03-21 22:03:37 +02:00
Yair Morgenstern
3959706ab9 Changed placement of notifications and unit commands in world screen for an unobstructed central view 2018-03-21 21:10:28 +02:00
Yair Morgenstern
c8c1ecc4da Old borders now disappear when borders expand 2018-03-21 19:07:05 +02:00
Yair Morgenstern
e496148e21 Tiles are now larger, population and units placed in a more visually pleasing way 2018-03-19 23:30:54 +02:00
Yair Morgenstern
66f900e4ec Changed terrain visualization - is now plain color awith overlays for terrain feature, looks really good! 2018-03-16 13:09:43 +02:00
Yair Morgenstern
eadf7b01db Added enable/disable functions to textbuttons, can now stop moving and automated units even when out of movement 2018-03-13 22:07:06 +02:00
Yair Morgenstern
53e332e9e8 Tutorials moved to a separate json file 2018-03-12 23:33:03 +02:00
Yair Morgenstern
b659e3b37d All GameBasics are now LinkedHashLists, and so retain order as in the json files 2018-03-12 18:35:57 +02:00
Yair Morgenstern
f59102a2a0 Policy pick and free tech pick moved to when clicking on next turn button 2018-03-11 23:25:57 +02:00
Yair Morgenstern
5db5272810 When generating map, we no longer get terrain areas that have only 1 or 2 tiles 2018-03-10 22:15:42 +02:00
Yair Morgenstern
c4736f0467 Map generation now generates areas coontaining the same terrain, rather than have each tile be a random terrain - much closerr to what you get in the real Civ game, even though we're pretty far from there 2018-03-10 22:01:10 +02:00
Yair Morgenstern
414025dbbe Fixed crash when starting new game 2018-03-07 22:35:41 +02:00
Yair Morgenstern
7f8e1707be Entiirely removed Linq - now only using Kotlin extensions! 2018-03-07 21:51:33 +02:00
Yair Morgenstern
1a4a9d416c Unit control transferred to UnitTable 2018-03-07 18:37:16 +02:00
Yair Morgenstern
146c4111fd tile groups moved to tile map holder, as they should be 2018-03-03 23:38:28 +02:00
Yair Morgenstern
064aee2f07 Split unit actions to a separate file (unitactions), because of all the separate cases 2018-03-03 23:30:27 +02:00
Yair Morgenstern
f2c790aec4 Finisher policies are now unpickable 2018-03-03 22:22:00 +02:00
Yair Morgenstern
abe3d76df7 Changed click listeners to lambdas 2018-03-03 21:54:02 +02:00
Yair Morgenstern
9b29944c2b All coe converted to Kotlin! 2018-03-02 15:34:24 +02:00
Yair Morgenstern
113f3965fc Converted all logic/map files to Kotlin 2018-02-25 00:07:40 +02:00
Yair Morgenstern
18be9e37b2 Converted all GameBasics to Kotlin 2018-02-24 22:43:41 +02:00
Yair Morgenstern
49c0707be1 First Kotlin change - FullStats and CivStats 2018-02-24 20:18:08 +02:00
Yair Morgenstern
9253c40085 Added Kotlin! 2018-02-23 15:36:13 +02:00
Yair Morgenstern
397556f81f Deleted unneccesary files, minor changes that were pointed out by code inspection 2018-02-23 13:31:45 +02:00
Yair Morgenstern
6a2f4a07f1 Major overhaul - all tree items now have transient pointers to their parents, eliiminating the need for static calls for Civilization.Current and the like - neccesary if we want to have multiple civilizations 2018-02-23 12:57:52 +02:00
Yair Morgenstern
4d6b5c997d Split generating the map to a separate class
Fixed bug loading game when multiple cities
2018-02-05 23:19:58 +02:00
Yair Morgenstern
1c1756721a - Slightly improved tile ranking when determining next tile
- Now does not display unexplored tiles in city screen - cleaner view
2018-02-03 22:06:55 +02:00
Yair Morgenstern
ce7a7916c1 - Fixed bug when picking legalism with less than 4 cities
- Added City Center indication, made population image in city screen more prominent and clickable
2018-02-03 21:49:46 +02:00
Yair Morgenstern
7cbddd883b Split WorldScreen functionality into components - civ stats table, tile info table, tile map holder, notificaations scroll, idle unit button
Added yield on tiles
2018-01-31 22:45:21 +02:00
Yair Morgenstern
561fd417ed policy picker screen now opens rom boolean 2018-01-23 21:52:25 +02:00
Yair Morgenstern
b6d235a4d0 Automated actions should now choose best and closest tile to work on, differentiated pre- and post- turn actions 2018-01-22 22:57:17 +02:00
Yair Morgenstern
dd6805d179 City stats now update when adopting policy 2018-01-20 23:23:30 +02:00
Yair Morgenstern
80e3d16895 Load game does not crash when there are notifications
Automated workers no longer complete improvements in a single turn
City screen does not display building catagories which are irrelevant
2018-01-19 13:20:42 +02:00
Yair Morgenstern
d8a7c379e7 Moved more functions to their proper places 2018-01-13 23:21:20 +02:00
Yair Morgenstern
a992dff6fe Split CityInfo into areas of concern - separate files for Stats, Expansion and Population 2018-01-13 23:11:53 +02:00
Yair Morgenstern
3bb849726a Split CivInfo's responsibility into separate classes: Tech,Policy,GoldenAge,GreatPerson and ScienceVictory managers. 2018-01-12 12:37:31 +02:00
Yair Morgenstern
85ffcc58ee Added CivilizationPolicies, added great person pick when completing Liberty 2018-01-11 22:50:59 +02:00
Yair Morgenstern
546472b528 Organized classes into folders 2018-01-11 22:22:51 +02:00
Yair Morgenstern
63f24db67b Implemented line-of-sight according to terrain 2018-01-11 20:51:19 +02:00
Yair Morgenstern
45111d89e0 Notifications when strategic resources are revealed 2018-01-11 20:49:43 +02:00
Yair Morgenstern
5b28840940 Notifications now contain location, and are clickable when appropriate 2018-01-08 22:42:09 +02:00
Yair Morgenstern
6c035c79b6 Improved visuals of science victory screen
Added Scout to game start
Added tutorials
2018-01-08 18:52:30 +02:00
Yair Morgenstern
439efd7a40 Legalism now works! 2018-01-03 22:52:40 +02:00
Yair Morgenstern
9dad8908d6 Added basic tutorials 2018-01-03 22:36:56 +02:00
Yair Morgenstern
aef1c4d707 World screen now corrects itself upon resizing 2018-01-02 21:15:40 +02:00
Yair Morgenstern
08735d8e99 Improvement building no longer generates notification
Roads that turn to railroads now change color, and railroads are gray to help them stand out against the background
Map now contains a 50px padding from the edge
2018-01-02 21:06:50 +02:00
Yair Morgenstern
74f1b6837b No longer displays information for unexplored tiles 2018-01-01 22:45:21 +02:00
Yair Morgenstern
c0927cf49f Added free social policies and expanded automation choices 2018-01-01 22:37:42 +02:00
Yair Morgenstern
9d3fd22d1c Tiles are now black until they have been explored 2017-12-30 23:36:43 +02:00
Yair Morgenstern
befb0561b5 Added unit movement to further tiles 2017-12-30 22:58:36 +02:00
Yair Morgenstern
ab2b33318b Buildings are now divided by type in city screen 2017-12-28 21:50:17 +02:00
Yair Morgenstern
7b0b0b2f3b Great Person Points added to wonder description
Fixed bug where university science percent would keep rising
Specialists are now per-building
2017-12-28 21:11:58 +02:00
Yair Morgenstern
e9ad0be635 Notifications are scrollable, workers do automated action when button is clicked 2017-12-26 21:59:25 +02:00
Yair Morgenstern
39ea64b870 Fixed bugs 2017-12-26 21:50:47 +02:00
Yair Morgenstern
f7e7506b7c ADDED POLICIES 2017-12-25 23:18:25 +02:00
Yair Morgenstern
3f20e9b82e Added worker automation
Solved multiple small bugs
2017-12-21 20:32:33 +02:00
Yair Morgenstern
effe3b55d0 Added "select next idle unit" button! 2017-12-21 15:50:24 +02:00
Yair Morgenstern
5088b6a83f Moar techtree overhaul 2017-12-21 15:31:01 +02:00
Yair Morgenstern
14c75d7cc4 Tech tree total overhaul - Based it on G&K but removed all war-only techs, normalized bonuses across techs 2017-12-21 14:45:49 +02:00
Yair Morgenstern
d81cb8cda7 Added specialists and great person generation! 2017-12-21 12:25:55 +02:00
Yair Morgenstern
ad94866aba All buildings which improve resources get that in their text, railroads now black, notifications now have background 2017-12-20 19:01:14 +02:00
Yair Morgenstern
c274367ab1 Split between unit and mapunit, created function TileMap.placeUnitNearTile which will have many uses! 2017-12-18 21:04:13 +02:00
Yair Morgenstern
98dbe3b844 Split buildings and units to 2 separate files and types - both are now IConstruction, and cityBuildings has been changed to cityConstructions will all that entails 2017-12-18 19:43:34 +02:00
Yair Morgenstern
f30ade602d Split buildings and units to 2 separate files and types - both are now IConstruction, and cityBuildings has been changed to cityConstructions will all that entails 2017-12-17 19:45:09 +02:00
Yair Morgenstern
832191d87e Now displays city name in tile information, and not "railroad" 2017-12-13 22:37:21 +02:00
Yair Morgenstern
4a6a6d912f Can now see gold/science production added in city information after selecting it as the construction! 2017-12-13 22:33:03 +02:00
Yair Morgenstern
86d8378021 Tile stats from inside city now show what they would produce if assigned to this city (important for buildings that improve tiles eg. jungle/university) 2017-12-13 22:06:40 +02:00
Yair Morgenstern
561b1b5fdc added "required nearby improved resource" limitation to some buildings
added circus, stone works and notre dame buildings
2017-12-13 21:54:34 +02:00
Yair Morgenstern
2d12f1fa80 Added golden ages! 2017-12-13 21:24:51 +02:00
Yair Morgenstern
3381cf84d4 Jungles provide science for cities with universities 2017-12-13 19:45:56 +02:00
Yair Morgenstern
0b4542ff7a Can no longer build improvement (eg mine) for invisible resource (eg iron before iron working) 2017-12-13 19:40:18 +02:00
Yair Morgenstern
d55297d7df Fixed inverted Y position when exiting city
Improvements near cities now notify "has been completed near X"
2017-12-13 19:37:33 +02:00
Yair Morgenstern
761b62038f Observatory now available with astronomy
Wealth and science production fixed to 4:1
Wonder bug fixed
2017-12-12 22:31:48 +02:00
Yair Morgenstern
0715f4b855 Settlers can no longer found city when out of moves 2017-12-11 22:49:37 +02:00
Yair Morgenstern
5253474ba4 When selecting a single tech to work on, no longer shows number (0)
Numbers of techs humanized - starts from 1, not 0
2017-12-11 22:46:25 +02:00
Yair Morgenstern
43ba1cf0d0 Solved multiple small bugs 2017-12-11 19:41:22 +02:00
Yair Morgenstern
d6a5219680 Added victory screen and actual option to win a scientific victory! 2017-12-11 19:13:20 +02:00
Yair Morgenstern
ede3a92c43 Finished techs and buildings!
Added Science victory conditions and screen!
2017-12-11 18:21:15 +02:00
Yair Morgenstern
727aad337a Fixed bug in GetVectorsAtDistance and bug where if you started the game with free techs to pick the next turn button would not be visible 2017-12-10 22:48:16 +02:00
Yair Morgenstern
c579215743 Optimized hex math - GetVectorsInDistance is now much more efficient! 2017-12-09 23:12:08 +02:00
Yair Morgenstern
45869c5a0b Railroads now provide 25% production bonus to connected cities
Added techs and builings up to middle of modern era
2017-12-09 22:11:16 +02:00
Yair Morgenstern
13974b635b Can now pick free techs 2017-12-09 20:36:51 +02:00
Yair Morgenstern
b6f31af5a4 Unhappiness now cuts excess food 2017-12-09 20:36:33 +02:00
Yair Morgenstern
48f56e2e85 Added factories and civ resource management 2017-12-08 09:39:18 +02:00
Yair Morgenstern
6a73c3f370 Can now build roads on jungle/forest
Building picker now displays more relevant information
2017-12-06 23:24:39 +02:00
Yair Morgenstern
ea5552f3a7 Added techs and buildings up to industral era
Added option to remove jungles, forests and marshes
2017-12-06 23:13:49 +02:00
Yair Morgenstern
635e8ce08a Game now fits to the screen, without 'extra bits'
Roads now make movement cost 1/2 before machinery and 1/3 after
2017-12-05 13:47:33 +02:00
Yair Morgenstern
060be89e55 Cities provide resources that are in the city center
Cities founded on forest/jungle/marsh remove terrain feature
2017-12-05 11:07:13 +02:00
Yair Morgenstern
65bff07905 Added option to produce science and gold
Divided buildings into regular buildings and wonders in picker screen
Added notifications table at the bttom left
2017-12-05 10:53:53 +02:00
Yair Morgenstern
45a791d186 Added percent bonuses
Fixed crash when we ran out of tiles to assign people to in cities
2017-12-04 19:50:08 +02:00
Yair Morgenstern
ec5a201853 Organized unique wonder abilities by adding "unique" string to building
Added Machu Pichu, Angkor Wat and Aqueduct unique abilities
Expanded civilopidia entry for buildings
Merged CityPopulation into CityInfo because the division was arbitrary
2017-12-04 19:10:32 +02:00
Yair Morgenstern
4bb4187ab1 Organized unique wonder abilities by adding "unique" string to building
Added Machu Pichu, Angkor Wat and Aqueduct unique abilities
Expanded civilopidia entry for buildings
Merged CityPopulation into CityInfo because the division was arbitrary
2017-12-04 19:10:25 +02:00
Yair Morgenstern
d47d59146f Added movement costs to tiles and computed tiles that unit can travel to, and the distance (including roads) 2017-12-04 16:02:27 +02:00
Yair Morgenstern
7a4b0232a7 Added gold for cities connected to capital
Added roads in world and city view
Fixed crash if the settler was in the middle of moving and then we founded a city with it
All stats are now floats, meaning we now deal in decimals is the background
2017-12-04 14:26:20 +02:00
Yair Morgenstern
f51923b1f6 Camelcased json model field names 2017-12-01 15:14:18 +02:00
Yair Morgenstern
996204e7f5 Added roads
Removed libGdx images
2017-11-30 22:31:00 +02:00
Yair Morgenstern
2f9d6af693 Improvements on tiles can advance
Cannot create adjacent cities
Standardized function and parameter names
2017-11-30 22:25:20 +02:00
Yair Morgenstern
214f64effb Cities gain tiles in layers
Cities spawned with 1 layer of tiles instead of 2
Tiles have owner parameter
Currently buit improvement is no longer an improvement option
2017-11-28 23:06:34 +02:00
Yair Morgenstern
2b8fefe675 ImprovementPickerScreen is now a regular PickerScreen
Researched techs now don't display 'turns to research'
2017-11-26 19:39:50 +02:00
Yair Morgenstern
c8dd598438 Added education buildings 2017-11-25 23:51:58 +02:00
Yair Morgenstern
279269d4a3 Fixed bug where getRandom would never return the last value from the list 2017-11-25 22:48:34 +02:00
Yair Morgenstern
d125c6ba3e Google play-able
Units with no turns left are now grayed out
Added culture pool to cities and tiles being added to cities when pool fills
Changed tile icon order and placing of resource icon
2017-11-25 21:56:04 +02:00
Yair Morgenstern
a6ae95946c Google play-able
Units with no turns left are now grayed out
Added culture pool to cities and tiles being added to cities when pool fills
Changed tile icon order and placing of resource icon
2017-11-25 21:54:20 +02:00
Yair Morgenstern
0319602092 Initial commit 2017-11-22 00:09:35 +02:00