Commit Graph

148 Commits

Author SHA1 Message Date
2c913b4a9f Removed qbot entity extend functions since they are now in the common-api
This was SVN commit r11382.
2012-03-20 23:34:03 +00:00
b6ec143aee Added Engine.ProfilerStop() to qBot so it doesn't cause memory leaks when it has no units to control
This was SVN commit r11348.
2012-03-16 17:36:07 +00:00
0cace671b7 Fixed bug with economy not finding food.
The problem was with the new caching and unhuntable animals.  The cache
would have an unhuntable food source so would show as not being empty
but then when this was filtered out at a later stage.  After this later
stage there would be no attempt to search a larger area.

This was SVN commit r11321.
2012-03-11 23:09:12 +00:00
cd906e074f Added support for romans to qBot
This was SVN commit r11320.
2012-03-11 22:24:02 +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
c169898a18 Made qBot not serialize the metadata which conatins too complicated a data structure and wasn't being used in any case. Fixes #1185.
This was SVN commit r11198.
2012-02-28 20:40:17 +00:00
e3bacd948f Adds defense tower and Romans support to JuBot, based on patch by gudo. Fixes #1152.
This was SVN commit r11191.
2012-02-28 04:26:08 +00:00
a3c04b62c0 Added some caching in the reassignIdleWorkers code for a large performance gain.
Also fixed a bug in entitycollection-extend.js when calculating length
for updating entity arrays

This was SVN commit r11165.
2012-02-25 23:32:01 +00:00
23f122988a Added and fixed some functions in entity.js from RootBot. Fixes #1165.
This was SVN commit r11121.
2012-02-23 00:11:39 +00:00
b9e623a6d5 Added some extra garrison related functions. Fixes #1164.
This was SVN commit r11067.
2012-02-13 22:41:15 +00:00
867df2e6c1 Fixed qbot for the scout tower to defense tower rename and updated the build restriction for the defense tower for consistent naming.
This was SVN commit r11024.
2012-02-04 23:42:55 +00:00
4ab9df2a31 Fix qBot's errors when it have no CC at the start of a game. Fixes 1084.
This was SVN commit r10987.
2012-01-29 22:11:47 +00:00
126be40e22 Fixed attack errors when there are no targets left
This was SVN commit r10918.
2012-01-16 19:42:48 +00:00
b63f8d264a Fixed attackMoveToLocation apart from when it runs out of targets.
Thanks to iap for pointing out a stupid error I had made.

This was SVN commit r10917.
2012-01-16 19:33:28 +00:00
3335bdaf9f Added treasure collection similar to Marilyn and a performance increase for reassignIdleWorkers.
This was SVN commit r10861.
2012-01-03 21:26:37 +00:00
dfc254af5b Added new config file to qbot
This was SVN commit r10856.
2012-01-02 23:09:09 +00:00
a4e1f3c292 This was SVN commit r10853. 2012-01-02 21:46:09 +00:00
779278d376 Added check that a resource is not in enemy territory before trying to gather from it and increased field priority.
This was SVN commit r10800.
2011-12-23 10:22:07 +00:00
c270f2a375 Made qBot call the deserialize function from BaseAi and then delete the metadata so any future chanegs won't be overidden
This was SVN commit r10789.
2011-12-22 16:01:20 +00:00
c472c07e7a Added override for Deserialize
This was SVN commit r10788.
2011-12-22 15:49:23 +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
a8423ac8e8 Adding more checks that the path found is valid to follow, also redisabled the debug messages
This was SVN commit r10783.
2011-12-21 15:39:18 +00:00
cb1e8c11a2 Fixed clearTimer() function, made coding style consistent with qBot and removed commented section of code since it would cause a bug if enabled.
The commented code would have put a new timer into the id of a limited
repeat timer after it had finished.  Then two pieces of code would have
the same id for a timer causing problems.

This was SVN commit r10782.
2011-12-21 12:26:09 +00:00
90acc38ffc Build-in Timer. now working.
This was SVN commit r10779.
2011-12-21 01:59:53 +00:00
12dc33ab5f Build-in timer class. Not tested, might have bugs.
This was SVN commit r10778.
2011-12-21 00:34:17 +00:00
2a61188356 Stopped qBot from trying to gather floating treasures
This was SVN commit r10776.
2011-12-20 10:23:55 +00:00
436163a60f Made terrain analysis pick better starting points and increased the distance check in economy to match the changed distance measure using distance to dropsite.
Terrain analysis now only picks a start point if it is within a region
of size >10.
The economy code only does a distance check if there are >100 entities
of that resource on the map so rare resources are gathered.
Modified some debug output as well.

This was SVN commit r10773.
2011-12-19 19:41:36 +00:00
2079339a73 Added more checks in case pathfinding found no routes to a destination
This was SVN commit r10765.
2011-12-18 22:05:11 +00:00
40c1c0010f Added another check for whether a valid path is set in attackMoveToLocation
This was SVN commit r10764.
2011-12-18 13:15:15 +00:00
574c4135a3 Tweaked attack code and fixed building liimit checks
This was SVN commit r10763.
2011-12-18 13:05:53 +00:00
c8243a50dc Large qBot update.
Key changes are:
Support for Persians
Revamped defence system supoprting groups of attackers
Dynamic priorities based on enemy strength and number of workers
Better placement of towers and fortresses
Randomised raiding in early game

This was SVN commit r10755.
2011-12-17 21:59:27 +00:00
78d50b4149 Added check for the existence of a resource somewhere on the map
This was SVN commit r10742.
2011-12-16 10:46:20 +00:00
df7d3afd64 Fixed bug where only a tiny accessible region was being found so qBot didn't build or gather due to the rest of the map being inaccessible.
This was SVN commit r10721.
2011-12-12 21:28:14 +00:00
dd9ba1e10a Added check for if a position is defined in qBot. Fixes an unusual error.
This was SVN commit r10686.
2011-12-07 21:54:21 +00:00
b146f53d7b This was SVN commit r10654. 2011-12-02 12:44:31 +00:00
8383f35eb8 Added queued as an optional parameter so that AI's can set waypoints
This was SVN commit r10653.
2011-12-02 00:25:20 +00:00
c311e8abba Improves Persian support.
This was SVN commit r10581.
2011-11-23 19:32:02 +00:00
514b22a89e Support for Persians, should all work properly. Also makes territory expansion proportionally lower priority.
This was SVN commit r10561.
2011-11-19 16:00:54 +00:00
f80f1fb86b This patch adds territory support for JuBot, which is the main thing to get it up to date for the next alpha. More advanced features are in development but some will probably have to wait until Christmas/Early 2012.
This was SVN commit r10560.
2011-11-19 13:44:56 +00:00
20df816fbc Resource building class
This was SVN commit r10559.
2011-11-19 13:42:43 +00:00
fc325991a0 Added visionRange function to read this value from the templates for the AI to use.
This was SVN commit r10553.
2011-11-18 21:11:15 +00:00
97d3f1cfc9 Added a squared vector function for A^2 + B^2 without the rooting, in case massively large nos of vector calculations are needed.
This was SVN commit r10528.
2011-11-13 15:56:37 +00:00
887b6633c2 Adds per-player BuildLimits data to GUIInterface.
Adds BuildLimits accessors to GameState for JuBot and Testbot.

This was SVN commit r10415.
2011-10-20 23:35:52 +00:00
a41b0e30fe Changes AI entity destroy events to maintain some data about the entity, based on patch by quantumstate. Fixes #983.
This was SVN commit r10413.
2011-10-18 22:51:04 +00:00
686ffa9758 Fixes error in AI entity. Fixes #991.
This was SVN commit r10412.
2011-10-16 17:21:37 +00:00
1c081135ad Adds territory map to AI GameState, based on patch from quantumstate. Fixes #969.
Updates testbot and Jubot to support basic build restrictions.

This was SVN commit r10408.
2011-10-16 02:55:58 +00:00
c73c0870f1 Adds attackTimes to AI entity templates. Fixes #991.
This was SVN commit r10407.
2011-10-15 23:38:58 +00:00
2a39ba2f91 Changes new AI GameState functions to accept Entity objects instead of raw entities.
This was SVN commit r10394.
2011-10-12 00:33:07 +00:00
b28ae93dc8 Adds armour and attack strengths to AI entity template, based on patch by infyquest. Fixes #991.
This was SVN commit r10393.
2011-10-11 20:02:21 +00:00
47c9f6ca2d Changes IsSeaCreature to SeaCreature
This was SVN commit r10351.
2011-09-30 21:05:26 +00:00
6594a527db Another bugfix attempt
This was SVN commit r10347.
2011-09-30 17:54:04 +00:00
3a7fac7c4d Bugfix #2
This was SVN commit r10346.
2011-09-30 17:11:01 +00:00
b3d5075408 Bugfix
This was SVN commit r10345.
2011-09-30 17:03:21 +00:00
64a0a5e58a Now much more strictly restricts the game to 1 foundation at once.
This was SVN commit r10344.
2011-09-30 16:50:33 +00:00
a5a134fa87 CC building now emphasised over house building.
This was SVN commit r10343.
2011-09-30 16:43:12 +00:00
e0255741d8 Adds BuildRestrictions accessors to AI's EntityTemplate (important for proper territory support).
This was SVN commit r10340.
2011-09-28 19:51:40 +00:00
b40ba972c1 Adds diplomacy functions to Jubot and Testbot gamestate (eventually replace e.g. Entity.isEnemy() with these).
This was SVN commit r10339.
2011-09-28 19:40:50 +00:00
75c7028e24 Stops the builders regrouping to town centre, because this is no longer really needed.
This was SVN commit r10338.
2011-09-28 15:50:06 +00:00
3ead9f0b32 Fix to Jubot economy.js
This was SVN commit r10319.
2011-09-25 21:36:37 +00:00
a6eccb1290 Here we go...
- Gather weights change over time
- Workers are occasionally moved (about once in every 400 turns, at
random, needs to be improved)
- Workers don't go and try hunting fish and snarl up the engine.

This was SVN commit r10318.
2011-09-25 21:15:26 +00:00
bb3b52fb82 This finishes the militia recalling section - militiamen are now recalled every 30 seconds or so.
This was SVN commit r10311.
2011-09-24 16:37:31 +00:00
b9fc207437 Okay, lots of changes here. Houses are now built on demand, there's a lot of restructuring to workers, instead of a static defence force citizen soliders are drafted to a militia as needed (this needs some work still but is mostly done). Any citizen infantry given at the start of a game are used in the workforce properly now, too.
This was SVN commit r10310.
2011-09-24 15:26:11 +00:00
c3bb3ec57e Adds event data to BaseAI (so that AIs can handle being attacked, defeated, etc) based on patch from quantumstate. Fixes 972.
This was SVN commit r10306.
2011-09-23 22:02:04 +00:00
2ddd237509 This updates JuBot to use the Carthaginian faction and makes a couple of minor changes to give a fractional speed boost.
This was SVN commit r10301.
2011-09-21 18:53:36 +00:00
da94100582 Fixes Jubot mills facing the wrong direction.
This was SVN commit r10280.
2011-09-14 03:08:05 +00:00
c3075c8e5b Fixes AI building angles to face bottom right corner of the map.
Cleans up the same concept in random maps.

This was SVN commit r10275.
2011-09-13 22:51:43 +00:00
cdbd347466 Fix inconsistent function prototype (fixes #897)
This was SVN commit r9888.
2011-07-20 19:44:31 +00:00
58c33071d6 Disable unnecessary noisy AI greeting message
This was SVN commit r9779.
2011-07-07 22:18:55 +00:00
871d321050 Fix undefined property warning
This was SVN commit r9778.
2011-07-07 22:14:37 +00:00
df9270a892 Hopefullyfixeslag.
This was SVN commit r9765.
2011-07-06 18:04:30 +00:00
2763c7817d In theory, should make buildings point in the right direction.
This was SVN commit r9758.
2011-07-04 17:40:13 +00:00
4065cb1cd2 Few minor tweaks.
This was SVN commit r9750.
2011-07-03 09:43:31 +00:00
b4d0c09569 Building directions now 100% random. Can set it to a specific angle if we'd prefer, but someone needs to tell me what.
This was SVN commit r9749.
2011-07-03 08:46:30 +00:00
9a6f90b90d This was SVN commit r9739. 2011-07-02 16:57:51 +00:00
3756aaef48 This might help speed a fraction.
This was SVN commit r9738.
2011-07-02 16:49:26 +00:00
6267a61962 This was SVN commit r9737. 2011-07-02 15:32:16 +00:00
7bba760801 This was SVN commit r9736. 2011-07-02 15:29:20 +00:00
f1eb662cf6 This was SVN commit r9735. 2011-07-02 15:29:08 +00:00
8612600a13 This was SVN commit r9734. 2011-07-02 15:27:35 +00:00
65b75fbb7f Small fix, it now shuffles troops round the CC every minute or so to avoid issues with gatherers not being able to get in. Crappy way of doing it, but should solve the problem 90+% of the time.
This was SVN commit r9517.
2011-05-14 20:31:33 +00:00
03b87f9a8d Fix typo
This was SVN commit r9508.
2011-05-13 19:32:19 +00:00
126c2276cd This was SVN commit r9379. 2011-05-01 15:03:51 +00:00
02ed11ac54 Removes references to Testbot, replaces with JuBot.
This was SVN commit r9378.
2011-05-01 15:02:33 +00:00
9a125ac5a1 Fix typo
This was SVN commit r9367.
2011-04-30 15:27:27 +00:00
1dcbb02958 This fixes the error messages at game start, makes a few final weaks to training queues, and changes the first base strategy to a small raid rather than the huge 3-prong assault.
This was SVN commit r9359.
2011-04-30 11:26:32 +00:00
17eae9d92a This was SVN commit r9309. 2011-04-23 18:34:03 +00:00
daad510013 fix bug where AI would only train one unit type
This was SVN commit r9126.
2011-03-26 22:22:22 +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
08d5e7bf66 Sort AI list by name, and rename Test Bot so it's a bit clearer and is listed first
This was SVN commit r9031.
2011-03-05 16:55:58 +00:00
09cbe4f341 Disable debug messages when instantiating AIs
This was SVN commit r9014.
2011-03-04 21:50:30 +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
16a4eb36dd Various minor optimisations.
Enable SpiderMonkey method JIT in Release mode.
Add Engine.ProfileStart/Engine.ProfileStop functions for scripts.
Fix AI to clone initial entity data and shared metadata.

This was SVN commit r9003.
2011-03-03 00:16:14 +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
0be515280b Memoize some common entity lists in AI scripts.
This was SVN commit r8963.
2011-02-21 02:14:45 +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
f39f279132 Add AI script code to provide a cleaner API around the engine interface.
Handle AIProxy entirely through scripts.
Support structured clones of script values.
Improve performance.
Support multiple script contexts sharing a runtime.
Use a separate context per AI player.

This was SVN commit r8866.
2011-01-15 23:35:20 +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