Commit Graph

269 Commits

Author SHA1 Message Date
77f26c454a Have UnitAI respect the LeaveFoundation order unless in combat. Fixes #1406.
This was SVN commit r12462.
2012-08-18 08:13:47 +00:00
851786b01a Band-aid fix for corpses responding to the stop order.
This was SVN commit r12433.
2012-08-15 02:51:48 +00:00
4138a78c7f Fixes infinite recursion error in UnitAI when hunting an animal with a unit that's standing ground
This was SVN commit r12415.
2012-08-14 00:44:36 +00:00
8c97458de7 Prevent healers from healing themselves.
This was SVN commit r12398.
2012-08-13 02:56:51 +00:00
07ea313ad6 Major update for qBot-xp, with slight changes to unitAI (that broke qBot, and fix for that).
This was SVN commit r12343.
2012-08-10 16:33:58 +00:00
c5ce1b23ae Remove a bit of indirection in UnitAI.
This was SVN commit r12331.
2012-08-09 02:32:56 +00:00
87b2346154 Condensed the sanity checks for the Gaia range query, per leper's suggestion.
This was SVN commit r12328.
2012-08-08 23:29:30 +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
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
659049eb1c Auto-gather all types of treasures. Fixes #1422. Patch by Deiz.
This was SVN commit r11948.
2012-06-07 21:56:29 +00:00
4ee4f16793 Stop rearranging formations for orders carried out individually. Fixes #1476.
This was SVN commit r11934.
2012-06-03 23:00:36 +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
c4d6019599 Add garrison order sound and remove the old garrison sound.
Fix some map errors, tabs in templates and update docs.

This was SVN commit r11891.
2012-05-20 15:44:57 +00:00
68d1cf167e Add repair order queueing to formations. Refs #592.
This was SVN commit r11876.
2012-05-18 21:31:57 +00:00
ad87febd25 Improve gathering behaviour if the target is exhausted.
This was SVN commit r11827.
2012-05-10 22:02:59 +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
89821855c7 Check that a nearby resource has >0 resources left. Fixes #1395.
Also added a check to TechnologyManager to see if player is defined.

This was SVN commit r11806.
2012-05-09 21:32:21 +00:00
f2515bec84 Fix some whitespace in scripts
This was SVN commit r11803.
2012-05-09 12:14:22 +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
ddd3e702d5 Fixes units ignoring player orders in most stances by expanding the concept of "forced" orders.
Documents more functions of UnitAI.

This was SVN commit r11798.
2012-05-08 23:00:14 +00:00
a40a12e794 Typo
This was SVN commit r11777.
2012-05-06 21:21:04 +00:00
8f762b8248 Fix error caused by e8cb2a71da. Refs #1220.
This was SVN commit r11776.
2012-05-06 21:17:29 +00:00
vts
e8cb2a71da Fix floating units when a building they were tasked to construct finishes while they're still en-route, based on a patch by mattlott.
This was SVN commit r11775.
2012-05-06 14:38:03 +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
d4347a8466 Add Preferred and RestrictedClasses, based on patch by Zsol. Fixes #1144.
This was SVN commit r11710.
2012-05-01 22:20:08 +00:00
363ac861de Stop dead sheep from walking
This was SVN commit r11702.
2012-04-29 22:20:25 +00:00
b3ef24b12d Change gathering behaviour to fix #1353, based on patch by mattlott.
This was SVN commit r11689.
2012-04-28 19:25:44 +00:00
03f04e54fc Fix garrisoning issue.
This was SVN commit r11607.
2012-04-21 20:12:52 +00:00
ba17009767 Deposit resources when garrisoned in a dropsite. Patch by MattDoerksen. Fixes #1124.
This was SVN commit r11571.
2012-04-19 20:34:59 +00:00
131d5eb88f Tweak default healer behaviour, fix a small bug.
This was SVN commit r11552.
2012-04-18 18:26:49 +00:00
c56f96040e Implement healing. Fixes #999.
This was SVN commit r11536.
2012-04-17 20:22:13 +00:00
71a57ed3a7 Allow gathering regardless of resource owner
This was SVN commit r11478.
2012-04-10 21:09:21 +00:00
577676810b Make domestic herd animals controllable by the player
This was SVN commit r11471.
2012-04-10 16:37:34 +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
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
d1ed264c9b Fixes stance change during garrison causing instant garrison. Fixes #1184.
Adds range check to garrisoning, with <LoadingRange> element added to
GarrisonHolder. Adds maximum range values to templates (2 for land
units/structures, 10 for ships).
Adds retry to garrison failure due to unreachable target.
Cleans up a few templates.

This was SVN commit r11292.
2012-03-09 23:33:55 +00:00
894dc30c69 Trade. Closes #30.
This was SVN commit r11279.
2012-03-08 20:42:28 +00:00
f3a52dd440 Fixes incorrect and inconsistent tests for undefined.
Removes unused buggy GUI script.
Corrects some inconsistent formatting.

This was SVN commit r11241.
2012-03-04 22:59:14 +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
409f03652e Fixes animal auto-hunting by removing 10HP limit on possible targets. Units will now look for the same type of animal to hunt (matching templates).
This was SVN commit r11055.
2012-02-12 21:18:50 +00:00
bfca6f0b58 Fixes UnitAI attack test for domestic animals. Fixes #1048.
This was SVN commit r10760.
2011-12-18 05:17:34 +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
8d977e4818 Allows building in fog of war. Fixes #958.
This was SVN commit r10584.
2011-11-24 00:58:34 +00:00
f8303b51c5 Fixes gathering after dropsite construction.
This was SVN commit r10579.
2011-11-23 04:59:02 +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
d63947597c Adds new NaturalBehaviour "domestic" to UnitAI, useful for tame animals who should never flee an attacker. Fixes #971.
Renames herd_passive template to herd_domestic.

This was SVN commit r10333.
2011-09-27 18:03:58 +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
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
fed56af8a7 avoid trying to attack (before gathering) for ever an animal which is not visible anymore (bug not yet met because unlikely)
This was SVN commit r9661.
2011-06-25 20:56:46 +00:00
c8b0d7c11c fix a small bug related to units stances and gathering
This was SVN commit r9660.
2011-06-25 19:14:08 +00:00
92fcb737cd Attempt minor improvements to stances code (see #865).
Don't chase units that are no longer visible, beyond where they were
last seen (fixes #595).

This was SVN commit r9657.
2011-06-24 12:35:15 +00:00
e01917b961 Entities faces toward themself. fixed.
This was SVN commit r9632.
2011-06-17 23:08:46 +00:00
71a6775b92 Stances draft, refs #865
This was SVN commit r9631.
2011-06-17 22:13:39 +00:00
2c58b07223 # Add experimental fighter planes.
This was SVN commit r9605.
2011-06-09 19:44:40 +00:00
5132f814e3 Clean up some formatting and comments.
This was SVN commit r9602.
2011-06-09 17:01:01 +00:00
902b33a181 Remove redundant code for animal fleeing, and don't omit expected arguments.
This was SVN commit r9601.
2011-06-09 16:41:55 +00:00
24cca252e3 Ranged units always face their targets when attacking. fixes #831
This was SVN commit r9595.
2011-06-06 22:08:26 +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
1fac936d68 fixes a bug related to foundations and animals corpses (previously, when an animal has already been ordered to leave a foundation once, it will not leave the construction site if you place an another building on top of it).
This was SVN commit r9531.
2011-05-17 16:26:47 +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
d5d5fd3b7d units are not stuck on construction sites anymore. fixes #779
This was SVN commit r9525.
2011-05-15 20:30:54 +00:00
edd8ef2bf2 Fix units in formation blocking construction and not moving out of the way (see #779).
Make non-movement-blocking buildings (e.g. farms) not require units to
move out of the way.

This was SVN commit r9510.
2011-05-13 20:32:41 +00:00
ff7cc75055 Fixes garrisoning bug (units don't have to approach buildings in order to garrison)
This was SVN commit r9505.
2011-05-12 21:48:59 +00:00
ba66de2143 Fix #835 more comprehensively (the same bug affects other actions performed on nearby targets while moving)
This was SVN commit r9504.
2011-05-12 21:27:15 +00:00
8a434aae1b Ensure units don't move while gathering. fixes #835
This was SVN commit r9501.
2011-05-11 19:34:39 +00:00
025a00340e Fixes garrisoned units being found as idle (even if they are, we can't select them, so skip them instead). Fixes #844.
Garrisoned units now remain in the GARRISONED state until explicitly
ungarrisoned

This was SVN commit r9498.
2011-05-11 04:05:05 +00:00
7499b23991 Units promotion. Closes #697.
This was SVN commit r9391.
2011-05-02 15:03:01 +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
8a0cbe009a Stop the AI wasting time chasing after any animals except chickens.
Make the AI behave better when it can't find any viable food sources.

This was SVN commit r9046.
2011-03-08 01:40:44 +00:00
20ebaa5b79 Fix units getting stuck inside foundations
This was SVN commit r9035.
2011-03-05 22:18:29 +00:00
22e16e4554 Make builders look for nearby foundations to help with, once they finish their own building
This was SVN commit r9032.
2011-03-05 17:38:15 +00:00
c0383ffc30 Fix units not auto-gathering after a group is given a construction order
This was SVN commit r9030.
2011-03-05 15:56:24 +00:00
3e7731e8ca Stop units wasting their lives chasing animals they'll never be able to catch.
Let AI players collect treasures.

This was SVN commit r9012.
2011-03-04 21:42:39 +00:00
bec4c6437b Make non-combat units flee when under melee attack, and not attack enemies automatically.
Fixes #703.

This was SVN commit r9010.
2011-03-04 14:36: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
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
f04c2561b7 Various resource shuttling improvements. Fixes #672.
This was SVN commit r8811.
2010-12-08 16:12:04 +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
ab186c2b16 Update UnitMotion logic, to partially simplify it.
Do all pathfinding asynchronously.
Recalculate paths when the target has moved.
Fix vertex pathfinder start point heuristic, to avoid finding
zero-length paths.
When units fail to reach a resource to gather, look for another resource
of the same type.

This was SVN commit r8751.
2010-11-30 12:31:54 +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
7e41f6d664 Changed treasures gathering: now units will gather treasures immediately, rather than carry resources from treasures to dropsites.
This was SVN commit r8670.
2010-11-20 21:37:31 +00:00
9c521ceb3b Add minimum range to range queries
This was SVN commit r8627.
2010-11-16 20:43:15 +00:00
8798b7671c Use separate mode when carrying meat.
Fix tests.

This was SVN commit r8594.
2010-11-13 21:39:39 +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
0aaddf62aa Garrisoning for buildings based on patch by Evans (fixes #610)
This was SVN commit r8451.
2010-10-23 22:43:15 +00:00
ee8d49200a Fix formation movement loop when switching from column
This was SVN commit r8369.
2010-10-15 19:25:17 +00:00
c1967848d2 # Fix units killing their own farms
This was SVN commit r8343.
2010-10-13 15:14:15 +00:00
368b07b04e # Add hunting (animals get killed before gathering meat from them)
This was SVN commit r8296.
2010-10-06 21:37:55 +00:00
59c8ecfa3d Use voices for infantry/cavalry units.
Make arrows quieter.
Handle order-related sounds via the GUI instead of simulation, to make
them player-specific and to reduce latency.

This was SVN commit r8254.
2010-10-03 17:58:49 +00:00
7412e5563a Switch to column formation when moving longer distances.
Increase minimum box formation width to 5.

This was SVN commit r8243.
2010-10-02 19:40:30 +00:00
e88760f7c1 Made comment consistent with changes
This was SVN commit r8064.
2010-09-03 20:18:54 +00:00
5cc04d44f8 Fix some script errors
This was SVN commit r8062.
2010-09-03 20:04:11 +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
a41dd1d736 # Add repair command.
Fix #537 (Repair functionality for damaged buildings) based on patch
from evans.
Make some unnecessarily optional template elements required.

This was SVN commit r8015.
2010-08-21 21:53:51 +00:00
b2c06651d9 Auto-gather from resources owned by the current unit's owner, not just Gaia. Expand the search range.
This was SVN commit r7904.
2010-08-11 10:53:53 +00:00
e6c3f1c482 # Use more sound effects
This was SVN commit r7891.
2010-08-10 01:25:24 +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
4883ddabc3 # Automatically gather from new resource after exhausting current one.
Fix error when gather target dies before the order is processed.

This was SVN commit r7827.
2010-07-31 21:21:42 +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
4e5c5e2d8f # Rewrite unit AI code.
Use HFSM for unit AI.
Support queuing orders.
Automatically attack back when attacked.
Automatically gather from farms after building them.

This was SVN commit r7775.
2010-07-21 16:09:58 +00:00
bd2fd6c713 Extend animal AI to all animals.
This was SVN commit r7771.
2010-07-20 08:45:09 +00:00
e19146cf25 # Added AI for chickens.
Add scripted HFSM system.
Add very basic animal AI.
Support script-only message types.
Add shift+D hotkey to toggle dev command panel.

This was SVN commit r7763.
2010-07-18 15:19:49 +00:00
778af99416 Fix NaNs when gathering from unsupported resource types.
Fall back to walking to the target when unable to perform the specified
command on it.

This was SVN commit r7723.
2010-07-08 20:08:08 +00:00
23c92b7fe3 Fix actor viewer animation offsetting.
Fix attack animation drifts.

This was SVN commit r7612.
2010-06-05 22:23:28 +00:00
cdcee291cf Convert all remaining entity template data to new file format.
Add dummy component implementations for new data.
Partly support multiple weapons for a single unit.

This was SVN commit r7547.
2010-05-15 21:07:52 +00:00
037770a2a3 Fix use of 'undefined' sound group on death.
Warn about implicit script/native type conversions.

This was SVN commit r7527.
2010-05-09 13:56:06 +00:00
cfae58928f # New unit movement system, which does a far better job of approaching targets and avoiding obstacles.
Add short-range vertex-based pathfinder.
Integrate new pathfinder into unit motion code.
Change obstruction system to get rid of circles, and differentiate
structures from units.
Make PositionChanged messages synchronous.
Try to prevent some accidental float->int conversions.

This was SVN commit r7484.
2010-04-29 23:36:05 +00:00
dd809f83e8 # Add documentation of the entity template XML file format.
Simplify the format a bit.
Use less <interleave> in the RNG so that error reports become
understandable.
Fixes #491.

This was SVN commit r7478.
2010-04-23 16:09:03 +00:00
4c0d47707b # Fix animation syncing.
Make animations trigger sound effects.
Adjust attack animation timings to match simulation.
Simplify the animation speed settings.

This was SVN commit r7438.
2010-04-05 23:09:34 +00:00
cfca28cab0 # Initial audio integration with new simulation system.
Support sound group playback from simulation scripts. See #486.
Update some sound group files to sound better for rough testing.
Clean up CSoundGroup a tiny bit.

This was SVN commit r7437.
2010-04-04 21:24:39 +00:00
9213ee8c27 # Construct buildings from foundations.
Display construction costs in tooltips.
Stop buildings leaving corpses.
Add debug info option to GUI.

This was SVN commit r7352.
2010-03-12 21:41:40 +00:00
f8aca33a14 # Support resource gathering in new simulation system
This was SVN commit r7322.
2010-02-12 22:46:53 +00:00
60a9e63c71 # Improved unit animation in new simulation system
Tried to make the motion/AI/animation state transitions saner
Added smoothed rotation of moving units
Slightly more informative error reporting

This was SVN commit r7319.
2010-02-10 19:28:46 +00:00
d609a9f81c # Basic animation support in new simulation system.
Movement speed.
Improved accuracy of walking.

This was SVN commit r7313.
2010-02-07 20:06:16 +00:00
b25076ed4d Min/max range support in pathfinder
This was SVN commit r7311.
2010-02-06 20:58:48 +00:00
b21e798243 # Primitive melee combat support in new simulation system
This was SVN commit r7309.
2010-02-05 22:00:39 +00:00