Commit Graph

162 Commits

Author SHA1 Message Date
bdde574ade Wall build orders shouldn't always be queued. Fixes #1673.
This was SVN commit r12676.
2012-09-15 05:45:49 +00:00
1fec7c382b Respect the queued flag for garrison orders.
This was SVN commit r12642.
2012-09-08 16:17:25 +00:00
065a3e093b Fixes incorrect test for command debugging
This was SVN commit r12446.
2012-08-16 02:29:08 +00:00
de38f9ef9a Prevent domestic animals from being manually deleted (killed). Patch by yakca. Fixes #1525.
This was SVN commit r12445.
2012-08-16 02:08:56 +00:00
78e9fecf92 Added support for ungarrisoning units by template name and for ungarrisoning from multiple entities at once. Fixes #910.
This was SVN commit r12443.
2012-08-16 01:15:04 +00:00
7d86fc4c31 Gate conversion now maintains wall HP percentage instead of magically restoring to full health
This was SVN commit r12413.
2012-08-13 21:37:40 +00:00
4890789d58 Added support for team chat in multiplayer. Team chat is default if you are on a team of size >1. Using the prefix g will make the message global. Fixes #1583.
This was SVN commit r12360.
2012-08-11 15:12:48 +00:00
eadd24b64b Added a 'Stop' button to the GUI for immediately halting units.
This was SVN commit r12318.
2012-08-08 05:36:42 +00:00
1120701351 Substantially rework how Gaia is handled by UnitAI, BuildingAI. Dangerous animals and combat units will be attacked like regular enemies.
This was SVN commit r12317.
2012-08-08 05:32:53 +00:00
84305155de Seamlessly change a player's entities to be Gaia-owned when resigning.
This was SVN commit r12316.
2012-08-08 05:27:59 +00:00
78cc29b591 Added a resign option (deletes all of a player's entities).
This was SVN commit r12293.
2012-08-05 18:07:56 +00:00
7d62da8d2c This was SVN commit r12285. 2012-08-05 14:20:51 +00:00
202a02568b Cheats ... fixes #1555.
This was SVN commit r12284.
2012-08-05 14:01:05 +00:00
0dc1d2139e Make rally points work for trade. Patch from Deiz/F00. Fixes #1173.
This was SVN commit r12191.
2012-07-25 21:38:56 +00:00
b8ec515234 Construction cost should be checked after everything else to avoid messy refunds.
This was SVN commit r12166.
2012-07-20 02:50:43 +00:00
a41432f73b Adds support for Cost/Resources and Cost/BuildTime tech modifications.
This was SVN commit r12165.
2012-07-20 01:54:24 +00:00
9b6839ace4 Adds gate conversion to palisades and siege walls. Fixes bug that all player entities in a selection could be converted to gates. Cleans up templates slightly. Refs #619
This was SVN commit r12139.
2012-07-18 03:56:18 +00:00
6eb71380aa Get the gate template name from the wall name and fixes two templates which caused errors.
This was SVN commit r12095.
2012-07-12 22:49:40 +00:00
2c5933912c Gates. Adds UI buttons, replaces wall section with a gate, defines and create obstruction shapes, detects friendly units and eventually disable door's "block movement" flag, allows us to lock / unlock the door by disabling "block pathfinding" flag. Needs icons, play sound, animations. Fixes #1385, refs #619.
This was SVN commit r12081.
2012-07-08 16:25:33 +00:00
66194deedc Fixes player setup to set all diplomacy values (including self as ally).
Removes unnecessary checks from CmpPlayer diplomacy functions.
Fixes some inconsistent formatting.

This was SVN commit r11935.
2012-06-04 00:24:08 +00:00
636896dd7f Pass template to gather-near-position. Fixes #1454.
Add order_trade sound.

This was SVN commit r11921.
2012-05-27 20:23:08 +00:00
137b6dd338 Queued orders for rally points. Fixes #1053 and #1211.
This was SVN commit r11909.
2012-05-24 18:25:31 +00:00
68d1cf167e Add repair order queueing to formations. Refs #592.
This was SVN commit r11876.
2012-05-18 21:31:57 +00:00
bfb35a6484 Add SetNextStateAlwaysEnter() function to reload a state when switching to it from itself. Fixes #1395.
This was SVN commit r11824.
2012-05-10 21:14:43 +00:00
a0f122bfd4 Fix #1394 (UnitAI FSM serialization error).
Replace evil eval/uneval with deepcopy.

This was SVN commit r11802.
2012-05-09 12:10:01 +00:00
vts
490182ddd0 Wall placement. Closes #786.
This was SVN commit r11760.
2012-05-05 19:22:22 +00:00
58836c624a Read formations from civ JSON files. Fixes #1234, #601.
This was SVN commit r11735.
2012-05-03 23:32:10 +00:00
d03d36b1f3 Add attack ability to outposts.
Fix a issue with dying units with stance standground.

This was SVN commit r11697.
2012-04-29 18:43:10 +00:00
fee0ec6648 Added some debug commands (quit and set-shading-color) which shoudl be useful for AI development
This was SVN commit r11671.
2012-04-25 20:56:35 +00:00
774809b0a9 Allow training in all selected buildings. Fixes #1210.
This was SVN commit r11592.
2012-04-21 00:21:01 +00:00
755e407aeb Technologies. Refs #3. Full unlocking technology implementation. Only unit gathering rates can be modified currently because the patch was big enough already.
This was SVN commit r11584.
2012-04-20 17:21:04 +00:00
c56f96040e Implement healing. Fixes #999.
This was SVN commit r11536.
2012-04-17 20:22:13 +00:00
32d6b09c3c Set goods for every selected trader. Based on patch by Spahbod, fixes #1209.
This was SVN commit r11442.
2012-04-06 15:07:04 +00:00
7eb5480494 AI common-api-v2 and a qbot which works with the new API but it not fully transitioned to make use of it properly
This was SVN commit r11429.
2012-04-04 20:23:41 +00:00
99da24c7a3 Correctly check whether an existing formation controller can be reused. Fixes #1255.
This was SVN commit r11410.
2012-03-30 20:09:50 +00:00
0d385f4112 Make selected stances and formations more obvious. Patch from leper, fixes #1190.
This was SVN commit r11386.
2012-03-21 16:45:02 +00:00
a957455647 Shift-click ungarrisons all units of a type. Patch from leper, fixes #1206.
This was SVN commit r11385.
2012-03-21 15:18:31 +00:00
894dc30c69 Trade. Closes #30.
This was SVN commit r11279.
2012-03-08 20:42:28 +00:00
acf63afeaa Fix some whitespace, and spelling, and capitalisation, and unnecessary array wrapping.
This was SVN commit r11218.
2012-03-01 23:16:01 +00:00
9b15970a48 Update healer templates and scenarios to add ranks.
Also added a comment to FSM.js to clrify that state names must be A-Z
only

This was SVN commit r11161.
2012-02-25 20:07:30 +00:00
6399ec0cd2 # Partial support for saved games with AI.
Support cancelling loads while inside a loader callback.
Fix use of ArchiveReader/Writer since their API changed.
Improve error-detection in deserializer to avoid crashes.
Report deserializer errors to users.
Expand load-error message box to fit message about invalid saved games.

This was SVN commit r10787.
2011-12-22 14:04:32 +00:00
42f0aec84a Allows setting rally points on resources and buildings. closes #745
This was SVN commit r10744.
2011-12-16 16:08:26 +00:00
8cbab40137 Barter. Closes #23.
This was SVN commit r10588.
2011-11-24 15:43:32 +00:00
9489076c51 Fixes logic error in 8d977e4818.
This was SVN commit r10585.
2011-11-24 01:16:30 +00:00
8d977e4818 Allows building in fog of war. Fixes #958.
This was SVN commit r10584.
2011-11-24 00:58:34 +00:00
5cc856aedc Re-enables build restrictions for AIs since they have basic compliance now.
Moves target ownership checks from Commands.js to UnitAI.
Adds more robust target checking in UnitAI by calling CanFoo functions
more frequently.
Adds optional debugging mode to Commands.js (useful for AI developers).

This was SVN commit r10570.
2011-11-22 00:16:35 +00:00
83955072b6 Fix typos
This was SVN commit r10420.
2011-10-23 12:26:47 +00:00
6dbd081219 Fixes AIs gathering enemy (non-gaia) resources, such as fields.
This was SVN commit r10348.
2011-09-30 19:54:04 +00:00
b8a375656e Fixes bug in player init (AI is configured by game setup, not always matching map settings).
This was SVN commit r10232.
2011-09-09 00:28:56 +00:00
27e5581d27 Fixes Atlas player panel getting out of sync with simulation. Fixes #927.
Fixes object panel not being notified of map loading.
Fixes bug where opening a new map before using the player panel
prevented default player data being displayed for new players.
Fixes wxGTK 2.8 bug: wxChoicebook control doesn't update the choice
control when adding/removing pages.
Notifies player that deleting player in Atlas will delete all their
objects (and gives them the option).
Changes DeleteObject to DeleteObjects to support multiple selections.
Implements undo for map resize (experimental).
Removes annoying debug message from attempted undo of map settings.
Tweaks a few Atlas UI controls.

This was SVN commit r10064.
2011-08-22 21:45:39 +00:00
7679d1073b Fixes garrison behavior for ships - they no longer unload units underwater. See #893.
Fixes behavior when ships are destroyed (garrisoned units at the time
will also be killed).
Updates ship templates accordingly.

This was SVN commit r10020.
2011-08-17 01:43:23 +00:00
a85c8218e9 Fixes player diplomacy init (again)
This was SVN commit r10014.
2011-08-16 04:03:57 +00:00
ff85950cb7 Disables build restrictions and limits for AIs (until they can be fixed).
Simplifies player diplomacy/team setup.

This was SVN commit r10008.
2011-08-15 00:25:22 +00:00
f378e2e651 Implements building restrictions (by terrain, territory, category, and distance). See #41. Fixes #804, #287.
Implements build limits. See #687.
Implements autorotation for dock placement.
Fixes unit spawning to consider terrain passability. See #893.
Adds new passability criteria based on distance from shore.
Updates build restrictions on some templates.
Changes unit spawning search to 4 tiles away from foundation.
Changes garrison/training spawn failure to nicer UI notification.

This was SVN commit r9970.
2011-08-06 08:11:05 +00:00
b6d04004b6 Avoid errors when using planes in formations, by not allowing them to join formations
This was SVN commit r9776.
2011-07-07 17:05:22 +00:00
4d188452f8 Adds ownership checks to UI selections.
Adds ownership and diplomacy checks to Commands.js (fixes #880).
Adds control all units setting to Player component (network synced).
Adds helpers for diplomacy checks - use these instead of directly
accessing diplomacy array.
Fixes tests according to these changes.

This was SVN commit r9726.
2011-07-02 00:06:39 +00:00
996a32125c Add per-player LOS-reveal flag.
Reveal LOS for Gaia and AI players (fixes #879).
Use player_id_t slightly more consistently in interfaces.

This was SVN commit r9720.
2011-06-28 23:24:42 +00:00
d89eafaf83 stances improvement and bugfixing. units now targets buildings last, after workers, and after every other units.
This was SVN commit r9663.
2011-06-26 02:03:36 +00:00
8bdc1b0882 Enforces max population limit, cleans up population variables in Player component. See #862
Max population defaults to 200

This was SVN commit r9659.
2011-06-25 00:47:46 +00:00
71a6775b92 Stances draft, refs #865
This was SVN commit r9631.
2011-06-17 22:13:39 +00:00
3be43ede41 Adds rotation to starting camera (currently unused)
This was SVN commit r9623.
2011-06-16 21:21:33 +00:00
3e4d74480d Adds AI control to Atlas player panel
Adds camera control to Atlas player panel
Changes map reader to handle per-player starting camera position. See
#55
Adds entity name filter to Atlas object panel
Fixes bug in Atlas map settings (caused crash when object panel was not
loaded)

This was SVN commit r9617.
2011-06-13 23:32:41 +00:00
5132f814e3 Clean up some formatting and comments.
This was SVN commit r9602.
2011-06-09 17:01:01 +00:00
069f567f7e check that enemy units don't leave foundations. based on patch from Stork. fixes #724
This was SVN commit r9532.
2011-05-17 20:30:21 +00:00
a6d519e70f Fix #779 differently, to avoid problems with building on top of cheering units
This was SVN commit r9528.
2011-05-15 23:51:51 +00:00
fd65a492d9 Add button to promote selected units, for testing
This was SVN commit r9527.
2011-05-15 21:53:24 +00:00
b4889d5346 Fixes broken team init (based on patch by Stork). Fixes #814.
This was SVN commit r9399.
2011-05-02 20:34:48 +00:00
bfd6614b55 # Add support for many formation shapes, based on patch from Badmadblacksad.
See #13.

This was SVN commit r9385.
2011-05-01 20:40:53 +00:00
0e0ed94926 Implements random map system, fixes #6.
Includes default library "rmgen" w/ API based on rmgen tool.
Modifies rmgen scripts Cantabrian Highlands, Neareastern Badlands, and
Latium.
Old map support dropped from MapReader.
Fixes a few bugs in existing game setup and initialization scripts.

This was SVN commit r9096.
2011-03-22 01:34:45 +00:00
cb0e322a61 # Minor AI fixes.
Avoid script errors on Miletus.
Use pre-existing female citizens as workers.
Fix autostart.

This was SVN commit r8999.
2011-02-27 19:20:36 +00:00
b15ea0691f Attempt to improve AI selection in the game setup screen.
This was SVN commit r8998.
2011-02-27 17:58:41 +00:00
18b317bc19 # Improve animal AI, based on patch from Badmadblacksad.
Fixes #563.

This was SVN commit r8995.
2011-02-27 13:34:22 +00:00
4f8dc9c777 Fix script error message when starting Atlas
This was SVN commit r8989.
2011-02-26 00:19:02 +00:00
78e174af7d Fix auto-gathering after constructing fields.
Fix building on top of animal corpses.
Fix builders getting in the way of their own building.

This was SVN commit r8900.
2011-02-10 19:50:08 +00:00
b8925fbbc9 # Support AI construction of buildings.
Pass terrain passability data to AI scripts.
Expand pathfinder passability data to 16 bits per tile, to allow more
classes.
Support 16-bit ints in serializer.
Partially support JS typed arrays.
Allow foundations to be placed on top of units (fixes #499).
Stop farms and fishes blocking movement (fixes #534).
Add obstruction flags to allow finer control over what they block.
Associate entity IDs with obstruction shapes, to allow finding colliding
entities.
Support moving to the edge of a target entity with inactive obstruction.
Support foundation entities in AI.
Support playing as non-hele civs.

This was SVN commit r8899.
2011-02-10 16:06:28 +00:00
57e5bb878a Initial terrible AI player scripts.
This was SVN commit r8891.
2011-02-05 20:35:34 +00:00
dd501b2a5a # Add initial basic player AI framework.
Support direct access to serializer streams, so serializers can be
nested.
Make component script "this.template" read-only.
Stop globally-subscribed component scripts receiving messages posted to
local components, to reduce out-of-sync risks.
Move pathfinder data out of entity template directory.
Fix GuiInterface deserialization.

This was SVN commit r8865.
2011-01-12 12:29:00 +00:00
1051d10f54 Add "chat" command.
Simplify deletion of multiple entities.
Simplify some setTimeouts.

This was SVN commit r8864.
2011-01-12 12:21:41 +00:00
5e3049f6b2 BuildLimits. Needs some configuration changes to work
This was SVN commit r8836.
2010-12-11 23:19:17 +00:00
c09d6dcb83 Added garrison & repair button on the unit's command panel
This was SVN commit r8756.
2010-12-01 03:01:17 +00:00
f378a63d94 Add some tests for UnitAI.
Fix said tests for UnitAI.
Hopefully fix #647 too.
Document HFSM interface a bit.
Add Engine.DumpSimState() console command for debugging.

This was SVN commit r8681.
2010-11-22 20:12:04 +00:00
e7b859b8a5 Add allied victory condition to EndGameManager, defaults to true for now because we can't change teams, but later it can be changed during setup
This was SVN commit r8674.
2010-11-21 00:35:08 +00:00
4100a13e0a # Add resource shuttling.
Add resource-carrying animations/props to an actor for testing.
Warn more quietly about invalid cursor names.

This was SVN commit r8589.
2010-11-13 19:15:29 +00:00
3cefbbe253 Modified UnitAI to respect diplomatic status of players, allies can no longer be attacked, and fixed some related bugs in player init
This was SVN commit r8583.
2010-11-13 02:36:53 +00:00
5d764f1435 Run network server in a separate thread, to minimise latency.
Make some parts of logger and console thread-safe.
Simplify console: remove special commands; remove prefix for script
commands.
Remove LOG_ONCE, to simplify logger.
Change some code to use the new logger interface.
Fix OOS when revealing map.
Clean up some formatting.

This was SVN commit r8511.
2010-10-31 22:00:28 +00:00
1840bb3507 Stop units walking outside the edges of circular maps.
Switch the GUI between square/circular minimap automatically.

This was SVN commit r8500.
2010-10-30 18:25:34 +00:00
10c5dbcba4 Fix Atlas and autostart.
Fix non-POD in varargs.
Remove misleading max_players config variable (the engine doesn't care
about it, all the limits are hard-coded).
Remove civ-center-based player civ initialisation hack.
Add dummy player_defaults.json.
Clean up formatting a bit.

This was SVN commit r8498.
2010-10-30 13:27:23 +00:00
9ee44bd9b8 Game setup changes, including showing name, civ, team, and some options loaded from the scenarios. Civ data added. Civ info window to preview civs. Icon tooltips. Support for random map implementation. Fixes #590.
This was SVN commit r8494.
2010-10-30 04:02:42 +00:00
02aa8499ed Partial experimental version of circular maps
This was SVN commit r8470.
2010-10-25 21:59:52 +00:00
0aaddf62aa Garrisoning for buildings based on patch by Evans (fixes #610)
This was SVN commit r8451.
2010-10-23 22:43:15 +00:00
ab77ec40e4 Fix highlighting of obstructed building placement previews.
Prevent building in non-visible areas.
Fixes #594.

This was SVN commit r8272.
2010-10-04 17:34:33 +00:00
fcedcae052 # Add victory/defeat conditions, based on patch from fcxSanya.
Fixes #565.

This was SVN commit r8234.
2010-10-01 20:51:21 +00:00
924d1219a7 # Add fog-of-war.
Move Vision component to C++, for more efficient FoW processing.
Disable FoW on demo maps.

This was SVN commit r8160.
2010-09-23 12:13:13 +00:00
2b57f4f998 # Initial support for formation movement.
Support asynchronous path queries.
Allow escaping when stuck in impassable terrain tiles.
Split Update message in multiple phases, to cope with ordering
requirements.
Support automatic walk/run animation switching.

This was SVN commit r8058.
2010-09-03 09:55:14 +00:00
b38e032c7e # Population limits.
Fix #531 (Enforce Population Limit), based on patch from evans.
Empty training queue and refund resources when buildings are destroyed
or captured.
Specify Cost defaults in XML instead of JS, to simplify some code.

This was SVN commit r8014.
2010-08-21 20:43:55 +00:00
07615310f2 # Add rally points for newly-trained units, based on patch from evans.
Fixes #521.

This was SVN commit r7849.
2010-08-05 10:20:47 +00:00
65bcedb9fc Load map descriptions from their XML file.
Add basic hold-fire stance, and use it for some test maps.
Add JSON data container to map XML files, to simplify the interaction
between scripts and maps.
Fix fixed-point printing so it roundtrips safely through map files.
Fix camera startup positions in old-format maps.

This was SVN commit r7844.
2010-08-04 21:15:41 +00:00
41ad5bd965 # Add corpse decay and building collapse.
Make 'delete' command kill the unit instead of destroying it.
Make projectiles vanish after a timeout.
Fix projectile landing positions with low framerates.

This was SVN commit r7837.
2010-08-01 17:38:01 +00:00
aa2d305b6e Added working delete button
This was SVN commit r7832.
2010-08-01 05:09:30 +00:00
0cd0a1f584 # Add auto-attacking of nearby enemies.
Add general range-detection code.
Avoid unnecessarily computing 3D entity positions.

This was SVN commit r7817.
2010-07-29 20:39:23 +00:00