Erik Ogenvik
0a81e9897f
Added a concept of goal "validity".
...
Calling "is_valid" checks whether the goal actually can be fulfilled.
If it can't be, False is returned.
By default all Goals return True unless a "validity" function is supplied
in the constructor.
For now we only use it for checking whether movement goals can be reached.
2016-06-08 22:03:59 +02:00
Erik Ogenvik
ec857b57e5
Handle movement goals not being reachable.
...
Though perhaps we should have a more general mechanism for querying
goals about their validity?
2016-06-08 21:46:37 +02:00
Erik Ogenvik
374a691735
Allow destination to be set to another entity.
...
This only works for entities that share the same domain.
It also allows for entities to follow other entities.
2016-04-03 21:25:39 +02:00
Erik Ogenvik
924ba32982
Added extra goals to some goals.
...
These are goals that can be injected to run when the parent goal
is fulfilled.
2016-03-30 22:34:44 +02:00
Erik Ogenvik
b5e7861669
Added linger and iterate goals.
2016-03-23 22:23:15 +01:00
Erik Ogenvik
48839bc8e7
Send range on to move_me goal.
2016-03-21 21:50:56 +01:00
Erik Ogenvik
58f3cabb73
Set both location and radius when setting destination.
2016-03-20 22:48:03 +01:00
Erik Ogenvik
fa4eb7bb0b
Limit too long distances.
...
If the character wants to travel too far, we shouldn't try to map the whole
path straight away. Instead we'll cut down on the lenght, and increase the
acceptable radius.
This works since the AI will issue a new destination on its next Tick.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
e76e0fc7ad
Skip movement goals that are unreachable.
...
A goal is considered to be unreachable when all tiles in the awareness area
have been mapped, and no path still could be found.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
c1d0bf48c5
Improved querying of paths.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
7c2ab63fca
Dial down logging.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
b683fb3464
Allow for inspection of the path.
...
Authoring clients can send a Think op, wrapping a Get op with a "path"
attribute to get information about the path. The mind code will then
send back a list of points for the path.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
14354137a7
Hooked up steering to the move_me goal.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
7b0d30680c
Setup steering.
...
The setup is that steering is handled separately from the normal mind
ticks. At a closer interval (0.2 seconds currently) steering will be
evaluated.
2016-03-19 23:05:13 +01:00
Erik Ogenvik
21b6612f76
Use Entity Filters for the Welcome goal.
2015-05-02 00:19:38 +02:00
Yaroslav Taben
e0e331f08a
Changed move_it_outof_me goal to use EntityFilter.
...
The goal now searches for entities to drop within the
inventory (contains property) of a mind that used
this goal.
2014-09-27 18:30:33 -04:00
Yaroslav Taben
550e6b8db6
Changed accompany goal to use entity filter.
...
With this change, the goal can still be created focusing on
an entity with specified ID, but it now also supports wider
range of criteria.
2014-08-25 15:08:47 -04:00
Yaroslav Taben
05481fb2e5
Renamed filter to entity_filter in python to avoid a conflict
...
filter name conflicts with built-in filter method and causes
confusion
2014-08-14 17:09:27 -04:00
Yaroslav Taben
80643d4de6
Changed avoid goal to use Entity Filter.
2014-08-08 21:05:07 -04:00
Yaroslav Taben
705a033b58
Added filter use to plant_seeds and gather goals
2014-08-08 18:22:57 -04:00
Yaroslav Taben
bf376578e3
Added use of EntityFilter to hunt and defend goals
2014-08-08 00:30:36 -04:00
Yaroslav Taben
b1d28434a9
Changed implementation of spot_something goal
...
The goal now requires a single query string instead of a list.
2014-08-05 19:47:23 -04:00
Yaroslav Taben
c13d6b269d
Fixed "search" goal
2014-04-30 13:37:57 -04:00
Erik Ogenvik
3ecaa1cedc
Abort help goal if the target has disappeared.
2013-11-11 13:46:14 +01:00
Erik Ogenvik
a30625b2ad
Rename parameter.
2013-09-30 21:29:39 +02:00
Erik Ogenvik
f2a371608c
Add new goal through the insert_goal method.
...
That we ther's a guarantee that the goal gets assigned an id.
2013-09-09 20:05:57 +02:00
Erik Ogenvik
873e4c7c1c
Fix erratic movement in the "roam" goal.
2013-07-31 00:27:44 +02:00
Erik Ogenvik
24693565dd
Specify range for harvest_resource.
2013-07-26 15:06:35 +02:00
Erik Ogenvik
7c591308f5
Honour spacing when planting.
...
This is to make sure the seeds aren't planted too closely.
2013-07-26 12:05:39 +02:00
Erik Ogenvik
689afa4732
Remove seed focus if it has disappeared.
2013-07-26 11:23:20 +02:00
Erik Ogenvik
309a65b233
Only spot sources in the area.
2013-07-25 18:34:52 +02:00
Erik Ogenvik
4503b10d99
Remove "roam" from planting.
...
Movement can be handled by a separate goal.
2013-07-25 17:14:29 +02:00
Erik Ogenvik
89d2d8c060
Only harvest adult plants.
...
If there's a "sizeAdult" property available; else just try to harvest
them as they are.
2013-07-23 23:17:20 +02:00
Erik Ogenvik
38580dcfbd
Use better param names.
2013-07-17 23:32:36 +02:00
Erik Ogenvik
e3d6c5a5ec
Improve planting task.
...
Look for seeds within the area first and foremost before looking for
sources.
2013-07-16 23:18:01 +02:00
Erik Ogenvik
ef68b41a39
Allow range to be specified in plant seed goal.
2013-06-30 14:02:52 +02:00
Erik Ogenvik
432d647029
Only search in area when planting.
2013-06-29 15:47:36 +02:00
Erik Ogenvik
3b0e191c70
Added goal of spotting in area.
2013-06-29 15:47:17 +02:00
Erik Ogenvik
ddcaeed05c
Restrict import.
2013-06-29 15:44:06 +02:00
Erik Ogenvik
097982eebe
Improve plant_seeds goal.
...
The NPC will now move between the sources and look for seeds.
2013-06-27 21:59:50 +02:00
Erik Ogenvik
313b247213
Added a "move me near" goal.
...
This goal will move a character close to something, and then keep the
character within a certain distance of this thing.
This is useful when you want the character to get close to something,
but then search for something else within the vicinity.
2013-06-27 21:54:35 +02:00
Erik Ogenvik
0a50c56a2c
Don't focus on things we've already discovered.
...
Also forget these after a while.
This makes sure that this goal doesn't result in the character getting
stuck on one thing. If used with the clear_focus goal the character can
instead move on to other things, and then return to the same thing after
a while after it's "forgotten".
2013-06-27 21:52:48 +02:00
Erik Ogenvik
49420ba35f
Added goal for clearing focus.
...
This is useful when we need to forget our current focus and move on.
2013-06-27 21:49:09 +02:00
Erik Ogenvik
194f2e4f63
Make sure we can see what we want to plant.
2013-06-16 00:14:15 +02:00
Erik Ogenvik
43cab79a97
Take into account size of entity when moving.
...
Else the NPC would always want to walk into even solid objects.
We should of course also add checks for solid and non-solid entities.
2013-06-16 00:12:05 +02:00
Erik Ogenvik
9ca9e64b7a
Added roam goal.
...
This makes the NPC wander aimlessly within a specified series of
location. This is often more suitable than "wander", as that goal will
make the NPC wander over the whole map, which often isn't what you want.
2013-05-21 21:31:44 +02:00
Erik Ogenvik
af6ca21694
Fixed "wander" goal.
...
The NPC will now wander randomly. However, this isn't completely
natural. The change in direction is too erratic. And the goal should be
expanded to stay within a certain area.
2013-05-19 22:52:30 +02:00
Erik Ogenvik
6832d54c8d
Added extra sanity check.
2013-04-20 17:56:55 +02:00
Erik Ogenvik
34f1544b1a
Spelling fixes.
2013-04-05 20:56:55 +02:00
Amey Parulekar
eab877b245
Corrected bugs in code for detecting presence of hook in fish's inventory
2009-08-03 20:44:40 +05:30