It's currently a copy of the Mason ruleset.
Where Mason focuses on letting the users create the world themselves,
Deeds instead focuses on allowing world authors to set up enticing
worlds with gameplay and stories. In contrast to Mason there are more
features available to the world authors which allow for automatic
creation of entities and so on.
* README: Updated to latest contents of README.sgml
* cyphesis.spec.in, rulesets/Makefile.am: Remove the acorn and
werewolf rules from the distribution, to simplify things.
* common/Database.cpp: Implement function for modifying array rows.
* common/const.cpp: Enable persistence for testing.
* common/terrain_utils.cpp: Implement function for updating terrain
in database after a change.
* rulesets/World.cpp, rulesets/attributes.h: Add an update flag for
terrain, and use it to indicate to the Persistor.
* rulesets/World.h: Add accessors for variables which track modified
terrain, and a function to clear them.
* server/Persistor.cpp: Implement call to function to update terrain
in database.
* server/Restoration.cpp: Ensure that if world entity is already
in database, it gets hooked up appropriatly.
* client/ClientConnection.cpp, client/CommClient.h,
common/globals.cpp, common/globals.h, server/server.cpp,
tools/cycmd.cpp:
Make the TCP port number a global config setting, and
ensure it is used everwhere, so it can be overriden, and all
clients and tools will use it. Modify behavoir so that any
settings overridden on the command line are made semi-permanent
in the users home directory, making it easier for users to run
two versions on one machine at the same time.
* common/Database.cpp, common/Database.h: Remove obsolete iterator
code. Add a method to clear a given database table.
* server/Persistance.h, tools/cyloadrules.cpp:
Automate loading of the ruleset given in the config file, and
the rulesets it depends on, ensuring that the rules table
is cleared first.
* common/Database.cpp, common/Database.h,
server/Persistance.cpp, server/Persistance.h:
Add a new table to store rulesets, so they can be persisted, and
edited online. The new ruleset format integrates information
about the class hierarchy, scripting and default attributes.
Added low level method to fetch an entire database table as an
Atlas map.
* tools/cyloadrules.cpp: New tool to load rulesets in new xml
format into database table.
* server/EntityFactory.cpp, server/EntityFactory.h:
New re-written Entity Factory, to support new rules database
table, and better class definition capabilities.
* rulesets/EntityFactory.cpp, rulesets/EntityFactory.h:
Removed from build.
* client/CommClient.cpp: Redundant include removed.
* rulesets/ThingFactory.h: Add storage to factory for script
info and default attributes.
* server/WorldRouter.cpp: Switch to using new EntityFactory.
* server/server.cpp: Removed old ruleset loading code, and now
simply load the ruleset names from the config file.
* tools/cycmd.cpp: Exit correctly if connection fails.
* modules/Location.cpp: Removed redundant includes.
* rulesets/mason/define_world.py: Drop in copy of Acorn world.
* server/WorldRouter.cpp: Removed double delete of gameWorld.
* server/server.cpp: Modified comments about segfault in Python
shutdown, as this has now been eliminated.
Al Riddoch <alriddoch@zepler.org>
the object parent correctly instead of looking for a type attribute.
* server/server.cpp: Made metaserver address a config file option.
* common/database.h: Put in compiler error if code is built without
database support.
* common/BaseEntity.cpp: Switched over to using stamp instead of seq
as the attribute used to check whether entity needs to be
updated.
* Used action operation throughout python code to denote performing
an action, as differentiated from setting mode.
* rulesets/skills: Added the beginnings of a skill system.
* example/client: Fixed Atlas-C++ 0.5 example client so it
compiles again.
* README: Wrote a README file
Al Riddoch <alriddoch@zepler.org>