23 Commits

Author SHA1 Message Date
Gary Tierney e5a6638e2f Add support for player / npc following
Implements a new MobExtension plugin which adds 'follow', and 'chase'
mixins that allow the mob to follow behind another mob, and chase them
while keeping at a safe distance to fire projectiles.  Also adds a new
public method 'raycast' to CollisionManager, for drawing a line through
the world using bresenham's line algorithm whille checking for any impenetrable
objects.
2017-01-02 04:11:13 +00:00
Gary Tierney baa12ca446 Add a mob extension plugin for walking to entities
Adds a new mob extension plugin which creates a walk_to() method on
Mobs to allow walking to another entity (accounting for the size of the
entity) with an optional facing position.
2017-01-02 03:39:02 +00:00
Gary Tierney b047d0197a Add a plugin which allows creating mixins for Mobs
Adds a mob-extension plugin, which allows creating modules as mixins to
be monkey-patched into the Mob class.  Having a standard method of doing
this prevents confusing problems with mixin name conflicts, by allowing
the plugin to raise an error that 2 mixins with the same name exist.
2017-01-01 08:13:09 +00:00
Major- 8f3fd75b33 Update all plugins to conform to Rubocop. 2015-08-27 18:17:58 +01:00
Major- e4778105f5 Modularise! Also add some unit tests. 2015-05-26 13:49:27 +01:00
Major- 3bd3ddd226 Remove the World singleton. 2015-03-28 13:46:50 +00:00
Major- 2d5d484c18 Add NpcMovementTask which randomly moves bounded NPCs around the map, fix Npc#equals, bug fixes for Pathfinding and CollisionMatrix. 2015-03-03 01:24:34 +00:00
Major- 77ecb34109 Change the functionality of :bounds. 2015-03-02 09:37:59 +00:00
Major- 03c1fe16ac Improve attributes code. 2015-03-02 03:57:15 +00:00
Major- 30deffa7bc Use Mob instead of Entity in attributes.rb. 2015-02-28 05:32:15 +00:00
Major- fd04bd4e53 Rename ':serialized' attribute type to ':persistent'. 2015-02-27 18:26:47 +00:00
Major- 4cf2af762d Remove debug message from attributes.rb. 2015-02-27 05:55:35 +00:00
Major- 5f2b1566de Make minor code improvements to bootstrap, make spawn_npc return the spawned npc. 2015-02-26 04:30:09 +00:00
Major- c162705cd4 Update existing plugins to use the new utils plugin. 2014-08-09 17:12:25 +01:00
Major- 04a8a61f15 Remove incomplete item spawning file. 2014-08-09 06:47:43 +01:00
Major- 587901c630 Add the new utils plugin, change entity spawning and the lookup command plugins to use it. 2014-08-09 06:45:53 +01:00
Major- 44b8972fb3 Add world as a global variable for plugins. 2014-08-08 04:43:55 +01:00
Major- 9d05349b26 Move attribute persistence to its own file. 2014-07-19 04:46:20 +01:00
Major- 13ca51809c Redo attributes system, add support for saving and loading, move settings classes around. 2014-07-19 04:15:06 +01:00
Major- e0f6e8618b Remove extra (missing) script from entity-spawning. 2014-07-04 20:11:50 +01:00
Major- 9d8e7cda0a Move some classes into the new org.apollo.game.model.entity package, and update plugins and classes that reference these. 2014-07-03 01:02:02 +01:00
Major- 3ce49872ff Add attributes system. 2014-06-29 03:05:04 +01:00
Nikki 9a7210deb1 Recursive plugin loading. 2014-05-01 13:37:44 -04:00