Commit graph

172 commits

Author SHA1 Message Date
Alistair Riddoch
faca39dd09 Bring all the task rules up to date. 2009-07-02 15:55:59 +01:00
Alistair Riddoch
b25d743fbc Remove all the cvsignore files. 2009-03-20 01:54:35 +00:00
Al Riddoch
8f89c49499 2008-11-30 Al Riddoch <alriddoch@googlemail.com>
* rulesets/Makefile.am: Add ArithmeticFactory to the build in this
	  directory.

	* data/characters.xml: Add test statistics to the class.

	* rulesets/StatisticsProperty.cpp, rulesets/StatisticsProperty.h:
	  Add an install method which creates a script instance.

	* rulesets/mason/world/statistics/Statistics.py: Make the reference
	  to the owner optional.

	* server/CorePropertyManager.cpp: Add "statistics" to the factory.

	* server/Makefile.am, server/ArithmeticFactory.cpp,
	  server/ArithmeticFactory.h: Remove unused ArithmeticFactory code
	  from the build.
2008-11-30 01:03:26 +00:00
Al Riddoch
20bd652be3 2008-11-10 Al Riddoch <alriddoch@googlemail.com>
* data/characters.xml: Add default stamina to all mobile entities.
2008-11-10 22:23:25 +00:00
Al Riddoch
fdc3590418 2008-09-16 Al Riddoch <alriddoch@googlemail.com>
* Doxyfile, Makefile.am, configure.ac, index.dox,
	  data/architecture.dox, dox/Makefile.am, dox/architecture.dox,
	  dox/index.dox: Move the non-embedded documentation into its
	  own directory to keep the root a bit cleaner.
2008-09-16 22:18:39 +00:00
Al Riddoch
ff6663c66c 2008-09-16 Al Riddoch <alriddoch@googlemail.com>
* server/EntityFactory.cpp: Remove the hard coded Structure class.

	* data/buildings.xml: Add a soft structure class which sets the simple
	  flag to 0.
2008-09-16 18:42:42 +00:00
Al Riddoch
351058f34c 2008-09-13 Al Riddoch <alriddoch@googlemail.com>
* data/basic.xml, data/characters.xml, data/mason.xml: Add tick
	  properties to a bunch of entity classes so they no longer need
	  a setup operation to get them going.

	* rulesets/mason/world/objects/Weather.py,
	  rulesets/mason/world/objects/elements/Fire.py,
	  rulesets/mason/world/objects/plants/seeds/Apple.py: Remove setup
	  handlers from a bunch of scripts as it is now handled by
	  properties.

	* data/buildings.xml: Add setup property to entity classes which
	  really need a setup op at startup.

	* client/BaseClient.cpp: Send a look when creating the avatar, so
	  that notifications get back without the need for a special case.

	* common/op_switch.h, rulesets/Creator.cpp, rulesets/Entity.cpp,
	  rulesets/Entity.h, server/WorldRouter.cpp:
	  Remove the setup operation sent to all entities on startup by
	  default. Get rid of some special cases that depended on it.

	* rulesets/InternalProperties.cpp, rulesets/InternalProperties.h:
	  Make the tick property schedule the operation on apply(), and
	  use the property value as the time to schedule it.
2008-09-13 18:02:08 +00:00
Al Riddoch
4bff98a608 2008-09-12 Al Riddoch <alriddoch@googlemail.com>
* data/animals.xml, data/characters.xml: Make "mobile" the base class
	  for everything that has mind. Add a default mind class property,
	  and a tick class property.
2008-09-12 13:57:39 +00:00
Al Riddoch
c5c30006a7 2008-09-12 Al Riddoch <alriddoch@googlemail.com>
* rulesets/Plant.cpp, rulesets/Plant.h, data/plants.xml:
	  Add a tick class property to the base class for trees, and
	  remove the setup handler from the core base class as it is no
	  longer needed.
2008-09-12 01:36:51 +00:00
Al Riddoch
1382f9b82c 2008-09-09 Al Riddoch <alriddoch@googlemail.com>
* data/characters.xml: Add bboxes as class properties to most
	  character classes.
2008-09-09 18:08:20 +00:00
Al Riddoch
1a7988ab38 2008-09-09 Al Riddoch <alriddoch@googlemail.com>
* Doxyfile, index.dox, data/architecture.dox: Start expanding the more
	  hand written docs.
2008-09-09 18:05:19 +00:00
Al Riddoch
ba77e1d545 2008-09-08 Al Riddoch <alriddoch@googlemail.com>
* data/characters.xml, data/mason.xml, data/terrain.xml,
	  rulesets/mason/define_world.py: Remove instance attribute values
	  in favor of class defaults for stake.
2008-09-08 20:50:04 +00:00
Al Riddoch
caf5a4dc2a 2008-09-08 Al Riddoch <alriddoch@googlemail.com>
* data/construction.xml, rulesets/mason/define_world.py: Remove
	  instance attribute values in favor of class defaults for stake.
2008-09-08 20:27:28 +00:00
Al Riddoch
dd38d9188f 2008-09-08 Al Riddoch <alriddoch@googlemail.com>
* data/plants.xml, rulesets/Plant.cpp, rulesets/Plant.h: Remove the
	  last of the hard coded properties from Plant. Replace with soft
	  class properties in the data.
2008-09-08 20:05:06 +00:00
Al Riddoch
4cf4d75741 2008-09-08 Al Riddoch <alriddoch@googlemail.com>
* data/basic.xml, data/characters.xml, data/plants.xml: Remove some
	  obsolete classes which have no role in the world, and no media
	  to represent them.
2008-09-08 16:43:36 +00:00
Al Riddoch
d83aad9062 2008-08-27 Al Riddoch <alriddoch@googlemail.com>
* server/ScriptFactory.cpp: Simplify way the name of a class
	  is determined by removing the hack to upercase the type name.

	* server/EntityFactory.cpp: Break python type name on the last
	  . making the name of the class independant of the Atlas type.

	* data/basic.xml, data/buildings.xml, data/characters.xml,
	  data/clothing.xml, data/mason.xml, data/plants.xml,
	  data/tools.xml, data/weapons.xml, data/werewolf.xml: Modify all
	  python type names in the classes to include the name of the class
	  explicitly.
2008-08-27 16:42:38 +00:00
Al Riddoch
07d04e99a3 2008-03-28 Al Riddoch <alriddoch@googlemail.com>
* data/devices.xml: Add a second type of operation to the example
	  device.

	* rulesets/Character.cpp: Sort out the fixme so non-default actions
	  can be specified when actuating devices.

	* rulesets/basic/mind/goals/common/misc_goal.py: Clean up the
	  actuation testing goal.
2008-03-28 02:03:09 +00:00
Al Riddoch
74ba744157 2008-03-26 Al Riddoch <alriddoch@googlemail.com>
* common/Actuate.h, common/Makefile.am, common/custom.cpp,
	  common/op_switch.h, common/operations.cpp: Add Actuate to the
	  cyphesis core custom operations.

	* rulesets/Entity.cpp, rulesets/Entity.h, rulesets/Character.cpp:
	  Add handlers for Actuate to the operation routing interface.

	* data/devices.xml: Add example device.

	* data/Makefile.am: Add new devices file.

	* data/operations.xml: Remove temporary soft Actuate definition.
2008-03-26 01:34:15 +00:00
Al Riddoch
998e24e930 2008-03-20 Al Riddoch <alriddoch@googlemail.com>
* data/operations.xml: Add an op definition for "actuate" to be used
	  for interacting with devices and machines.

	* rulesets/Character.cpp, rulesets/Character.h: Mock up the code for
	  processing actuate operations from the client or mind.
2008-03-20 16:39:14 +00:00
Al Riddoch
7bbb37a0a4 2007-12-03 Al Riddoch <alriddoch@zepler.org>
* data/Makefile.am: Update the xml check so it works with out of
	  srcdir builds.
2007-12-03 23:43:21 +00:00
Al Riddoch
1f0c5d1f4d 2007-12-03 Al Riddoch <alriddoch@zepler.org>
* data/animals.xml: Give all the animals BIOMASS.

	* data/characters.xml: Add mass to some character classes that were
	  missing it.

	* rulesets/Character.cpp, rulesets/Character.h, rulesets/Entity.cpp,
	  rulesets/Entity.h, rulesets/Plant.cpp, rulesets/Statistics.cpp,
	  rulesets/World.cpp, server/CorePropertyManager.cpp,
	  server/Persistor.cpp, server/Persistor_impl.h,
	  server/Restorer_impl.h: Remove the hard coded mass property from
	  Entity.

	* rulesets/mason/world/statistics/Statistics.py: Fix scripts which
	  assume entities will have mass.
2007-12-03 23:18:51 +00:00
Al Riddoch
07ee66a9ef 2007-12-03 Al Riddoch <alriddoch@zepler.org>
* configure.ac: Add a test for the xmllint program.

	* data/Makefile.am: Use xmllint to make sure the rules data files are
	  ok.
2007-12-03 17:30:46 +00:00
Al Riddoch
9d1b0710a5 2007-12-03 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Add status to the fire entity as the script needs
	  it to be there.
2007-12-03 17:29:19 +00:00
Al Riddoch
5de4eec757 2007-11-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/mason/world/tasks/Trailblaze.py: Add a new task script
	  for character defined roads. Work in progress.

	* data/tasks.xml, data/tools.xml: Add tool and task classes for
	  trailblazing.
2007-11-05 20:41:15 +00:00
Al Riddoch
4158bdc3b2 2007-10-27 Al Riddoch <alriddoch@zepler.org>
* data/terrain.xml, data/mason.xml: Move some terrain related
	  definitions from mason into their own rules file.
2007-10-27 08:33:24 +00:00
Al Riddoch
5e7c576768 2007-10-19 Al Riddoch <alriddoch@zepler.org>
* data/food.xml, data/basic.xml, data/mason.xml: Move some food types
	  from basic and mason into their own file.

	* data/construction.xml, data/basic.xml: Move a construction type from
	  basic into the right file.
2007-10-19 14:51:20 +00:00
Al Riddoch
aa96944ce0 2007-10-19 Al Riddoch <alriddoch@zepler.org>
* data/operations.xml, data/basic.xml: Move some operation definitions
	  from basic into their own rules file.
2007-10-19 14:05:07 +00:00
Al Riddoch
cbcf2450a1 2007-10-19 Al Riddoch <alriddoch@zepler.org>
* data/weapons.xml, data/basic.xml: Move some weapon types
	  from basic into their own rules file.
2007-10-19 13:55:01 +00:00
Al Riddoch
2e1c64f0c1 2007-10-19 Al Riddoch <alriddoch@zepler.org>
* data/operations.xml, data/tasks.xml: Move some operation definitions
	  from basic into their own rules file.
2007-10-19 13:46:16 +00:00
Al Riddoch
0f3a86c9ce 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/characters.xml, data/basic.xml: Move some character types
	  from basic into their own rules file.
2007-10-18 20:49:03 +00:00
Al Riddoch
38a461963f 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/construction.xml, data/mason.xml: Move all the construction types
	  from mason into their own rules file.
2007-10-18 20:35:58 +00:00
Al Riddoch
2cd7920ce8 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/characters.xml, data/mason.xml: Move all the character types
	  from mason into their own rules file.
2007-10-18 16:25:34 +00:00
Al Riddoch
ac3d6da2c7 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/tasks.xml, data/mason.xml: Move all the task types from
	  mason into their own rules file.
2007-10-18 16:16:36 +00:00
Al Riddoch
a4ea80e910 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/tools.xml, data/mason.xml: Move all the tool types from
	  mason into their own rules file.
2007-10-18 15:59:08 +00:00
Al Riddoch
3589963eac 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/animals.xml, data/mason.xml: Move all the animal types from
	  mason into their own rules file.

	* data/clothing.xml: Add a couple more overlooked clothing types.
2007-10-18 15:40:06 +00:00
Al Riddoch
b9b6e14919 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/clothing.xml, data/mason.xml: Move all the clothing types from
	  mason into their own rules file.
2007-10-18 15:26:04 +00:00
Al Riddoch
040b9f32b0 2007-10-18 Al Riddoch <alriddoch@zepler.org>
* data/buildings.xml, data/mason.xml: Move all the building types from
	  mason into their own rules file.
2007-10-18 03:36:25 +00:00
Al Riddoch
9596046acd 2007-10-17 Al Riddoch <alriddoch@zepler.org>
* data/plants.xml: Add a fern.
2007-10-17 22:20:47 +00:00
Al Riddoch
aee188f626 2007-10-17 Al Riddoch <alriddoch@zepler.org>
* data/plants.xml, data/mason.xml: Move all the plant types from mason
	  into their own rules file.
2007-10-17 19:20:38 +00:00
Al Riddoch
d7e1277645 2007-07-30 Al Riddoch <alriddoch@zepler.org>
* data/mason.xml: Add an activation for the combat task, as we now
	  require it.
2007-07-30 11:27:34 +00:00
Al Riddoch
2069f3dd4c 2007-07-29 Al Riddoch <alriddoch@zepler.org>
* common/log.cpp, common/log.h: Switch to taking a C++ string reference
	  rather than a char *, as it is not really an optimisation, and it
	  makes the code simpler to read and write.

	* client/BaseClient.cpp, client/ClientConnection.cpp,
	  common/AtlasFileLoader.cpp, common/BaseEntity.cpp,
	  common/Database.cpp, common/globals.cpp, common/id.cpp,
	  common/inheritance.cpp, common/log.cpp, common/log.h,
	  rulesets/Character.cpp, rulesets/Creator.cpp, rulesets/Entity.cpp,
	  rulesets/MemMap.cpp, rulesets/Motion.cpp, rulesets/Pedestrian.cpp,
	  rulesets/Py_Object.cpp, rulesets/Py_RootEntity.cpp,
	  rulesets/PythonMindScript.cpp, rulesets/PythonThingScript.cpp,
	  rulesets/Python_API.cpp, rulesets/Thing.cpp, server/Account.cpp,
	  server/Admin.cpp, server/ArithmeticFactory.cpp,
	  server/CommClient.cpp, server/CommListener.cpp,
	  server/CommMDNSPublisher.cpp, server/CommServer.cpp,
	  server/Connection.cpp, server/EntityFactory.cpp,
	  server/Persistance.cpp, server/Restoration.cpp,
	  server/ScriptFactory.cpp, server/TaskFactory.cpp,
	  server/WorldRouter.cpp, server/server.cpp: Convert over to using
	  new API correctly.

	* data/mason.xml: Add biomass and transient to fircone, making its
	  script obsolete:
2007-07-29 03:33:33 +00:00
Al Riddoch
095f6c7058 2007-07-26 Al Riddoch <alriddoch@zepler.org>
* server/CorePropertyManager.cpp: Add a new active property handler,
	  that schedules the destruction of an entity after a timeout.

	* data/mason.xml: Add biomass and transient properties to Acorn,
	  making most of the script obsolete.

	* rulesets/mason/world/objects/plants/seeds/Acorn.py: Remove handlers
	  for eating and handling decay from the script, now that this
	  functionality is taken by properties.
2007-07-26 10:43:30 +00:00
Al Riddoch
cbc4d8d097 2007-07-17 Al Riddoch <alriddoch@zepler.org>
* server/EntityFactory.cpp: Complete the code that populates
	  operations on a tool based on the task activations in the
	  ruleset, removing the need for world builders to synchronise
	  this data manually.

	* data/basic.xml, data/mason.xml: Remove operations from all tools
	  that only use them for activating tasks, now that this is handled
	  automatically.
2007-07-17 17:13:25 +00:00
Al Riddoch
2190237e91 2007-07-08 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Remove a few pointless entity scripts.
2007-07-08 19:55:28 +00:00
Al Riddoch
e85db448c2 2007-07-08 Al Riddoch <alriddoch@zepler.org>
* rulesets/mason/world/tasks/Cultivate.py: Add new task script for
	  cultivating plants from seed.

	* data/mason.xml: Add task class for cultivate. Add GERMINATES
	  property to all seed classes. Remove germinate operation definition
	  and trowel script.
2007-07-08 19:38:02 +00:00
Al Riddoch
ef304a66a0 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Provide entirely data driven definitions for Cut
	  and Chop ops.

	* common/Chop.h, common/Cut.h, common/Makefile.am, common/custom.cpp,
	  common/operations.cpp, common/types.h, tests/Makefile.am,
	  tests/Tasktest.cpp, tests/allOperations.h,
	  tests/inheritancetest.cpp: Remove the hard coded Cut and Chop op
	  definitions completely from the build.
2007-07-04 22:00:14 +00:00
Al Riddoch
ef4942372a 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Strip entity scripts off pickaxe and shovel.

	* rulesets/World.h, rulesets/World.cpp: Remove handlers used to
	  to implement pickaxe and shovel, which are now handled as tasks.

	* common/Delve.h, common/Dig.h, common/Mow.h, common/custom.cpp,
	  common/operations.cpp: Remove a bunch of operations from the build
	  which were only used to do things in an over simple hard coded way.
2007-07-04 21:20:40 +00:00
Al Riddoch
fc5da563a4 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/mason.xml: New task class for shovel.

	* rulesets/mason/world/tasks/Dig.py: Add new task script for using
	  a shovel to get piles of material like sand and mud from the ground.
2007-07-04 21:05:34 +00:00
Al Riddoch
a8a57f2c30 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/mason.xml: New task class for pickaxe. Remove useless script
	  from rope.

	* rulesets/mason/world/tasks/Delve.py: Add new task for using a
	  pickaxe to get rock from the terrain.
2007-07-04 20:38:22 +00:00
Al Riddoch
c5960ed932 2007-07-04 Al Riddoch <alriddoch@zepler.org>
* data/basic.xml: Remove the script for scythe as it is no longer
	  used.

	* rulesets/World.cpp: Remove mow operation from World, as this is now
	  handled by a task.
2007-07-04 17:09:39 +00:00