* rulesets/Python_API.cpp: Change the entity_new constructor used
by define world scripts so that it takes an optional "pos" argument
rather than the long obsolete "xyz".
* rulesets/mason/define_world.py, rulesets/werewolf/define_world.py:
Modify the most relevant define_world scripts to use the changed API.
* rulesets/basic/mind/goals/common/move.py: Remove a long obsolete
commented out debug line.
* rulesets/Python_API.cpp: Re-work the keywords handling in Operation()
to avoid bugs in the mapping protocol by using Dict functions, and
eliminate wasteful double lookup. No longer accept setting FROM
in constructor as its never required.
* rulesets/werewolf/world/objects/characters/Villager.py,
rulesets/basic/editor.py: No longer set FROM on operations at
construction. It was never necessary.
* rulesets/basic/world/objects/Thing.py: Remove self.attributes
from the base class for all python scripts.
* rulesets/mason/world/objects/Weather.py,
rulesets/basic/world/objects/plants/Tree.py,
rulesets/basic/world/objects/animals/Animal.py,
data/basic.xml, data/mason.xml: Don't use set_kw to handle default
attributes, and add the to the .xml rules files.
* rulesets/basic/world/objects/buildings/House.py,
rulesets/basic/world/objects/buildings/StoneHouse.py,
rulesets/basic/world/objects/tools/Bow.py,
rulesets/basic/world/objects/tools/Sword.py,
rulesets/mason/world/objects/animals/Deer.py,
rulesets/mason/world/objects/animals/Pig.py,
rulesets/mason/world/objects/outdoor/Campfire.py,
rulesets/mason/world/objects/outdoor/Gravestone.py,
rulesets/mason/world/objects/plants/seeds/Acorn.py,
rulesets/mason/world/objects/plants/seeds/Apple.py,
rulesets/mason/world/objects/plants/seeds/Fircone.py,
rulesets/mason/world/objects/plants/seeds/Seed.py,
rulesets/mason/world/objects/tools/Cleaver.py,
rulesets/mason/world/objects/undead/Skeleton.py,
rulesets/werewolf/world/objects/characters/Villager.py,
rulesets/werewolf/world/objects/tools/Gallows.py:
Don't import set_kw from misc, as its now obsolete and unused.
* rulesets/basic/mind/goals/common/common.py,
rulesets/basic/mind/goals/common/misc_goal.py,
rulesets/basic/mind/goals/common/move.py,
rulesets/basic/mind/goals/humanoid/build_home.py,
rulesets/basic/world/probability.py,
rulesets/basic/world/objects/plants/Tree.py,
rulesets/mason/define_world.py, rulesets/mason/mind/SkelMind.py,
rulesets/mason/world/objects/Weather.py,
rulesets/mason/world/objects/animals/Deer.py,
rulesets/mason/world/objects/animals/Pig.py,
rulesets/mason/world/objects/outdoor/Gravestone.py,
rulesets/mason/world/objects/plants/seeds/Seed.py,
rulesets/mason/world/objects/undead/Skeleton.py,
rulesets/werewolf/define_world.py:
Switch to importing random and fall back to deprecated whrandom
on older python versions.
* data/werewolf.xml,
rulesets/mason/world/objects/plants/seeds/Apple.py,
rulesets/werewolf/world/objects/characters/Villager.py,
rulesets/werewolf/world/objects/tools/Gallows.py:
Remove some more obsolete constructors.
* rulesets/werewolf/world/objects/tools/Gallows.py: Make sure
Point3D module is imported.
* rulesets/basic/mind/goals/humanoid/transaction.py: Fix a couple
of bugs with pig seller code.
* rulesets/werewolf/world/objects/tools/Gallows.py,
rulesets/basic/world/objects/tools/Bow.py,
rulesets/basic/world/objects/plants/Tree.py,
rulesets/basic/world/objects/buildings/House.py,
rulesets/basic/mind/goals/humanoid/transaction.py,
rulesets/basic/mind/goals/common/misc_goal.py:
Fix bugs initialising Location ensuring the second
arg is a Point3D, not a Vector3D for position.
Fixes pig purchasing.
* rulesets/basic/mind/goals/humanoid/mason.py:
Fix the velocity check for escaping pigs.
* rulesets/Py_Point3D.cpp: Fix Point3D subtraction operator to
allow subtraction of both Point and Vector. Fixes pig merchant
goal for keeping pigs.
* rulesets/Py_Operation.cpp: Filled in missing SetArgs() functionality
for operations in the Python API.
* moraf.xml: Add an atlas entity map for mason.
* rulesets/Entity.cpp, rulesets/Entity.h, rulesets/Character.cpp,
rulesets/Character.h, rulesets/Thing.cpp, rulesets/Food.cpp:
Renamed weight member as mass, and use this name in Atlas,
as this is a better convention, and has already been adopted in
stage.
* Switched python code to using mass instead of weight, as it is
a more accurate term.
* common/globals.cpp, common/globals.h, tools/cyloadrules.cpp:
Put admin modifiable config in etc instead of share directory.
* Don't build cycmd if readline is not available. Untested, and
probably nasty.
* TODO: Update on important issues which allow easy DOS attacks.
* client/ClientConnection.cpp, client/ClientConnection.h:
Cleaned up unused code from ClientConnection class.
* client/client.cpp: Removed monitoring section of client
so it simply exits once the world is initialised.
* rulesets/basic/mind/goals/humanoid/werewolf.py:
Started work on dynamic goals for playing werewolf.
* rulesets/werewolf/define_world.py: Added in the mayor, who runs
werewolf games.
* common/BaseEntity.h: Made id of entity private, and implemented
accessors.
Al Riddoch <alriddoch@zepler.org>
* client/CreatorClient.cpp: Fixed processing the response
to a create operation, and cleaned up debugging output.
* client/ObjserverClient.cpp, client/ObserverClient.h,
client/client.cpp: Added setup method, which which handles
connecting, negotiation, logging in and creating character.
* client/Py_CreatorClient.cpp: Added check if make() failed.
* rulesets/Python_API.cpp: Fixed setting the import hooks
list properlly to include the ruleset list in use, instead
of hardcoding it.
* rulesets/acorn/define_world.py: Copied define_world.py script
from client directory for Acorn.
* rulesets/basic/editor.py: Modified to be used from C++ core.
* rulesets/basic/mind/goals/__init__.py,
rulesets/basic/mind/goals/humanoid/werewolf.py:
Added in goals file to contain goals related to werewolf.
* rulesets/basic/mind/panlingua/interlinguish.py:
Added in vote and execute verbs for werewolf.
* rulesets/werewolf: Added in new ruleset for werewolf.
Al Riddoch <alriddoch@zepler.org>