Commit graph

331 commits

Author SHA1 Message Date
Al Riddoch
47d30d418b 2008-01-05 Al Riddoch <alriddoch@googlemail.com>
* rulesets/acorn/world/objects/animals/Deer.py,
	  rulesets/acorn/world/objects/animals/Pig.py,
	  rulesets/acorn/world/objects/outdoor/Campfire.py,
	  rulesets/acorn/world/objects/plants/Tree.py,
	  rulesets/acorn/world/objects/tools/Cleaver.py,
	  rulesets/basic/world/objects/plants/Tree.py,
	  rulesets/mason/world/objects/animals/Deer.py,
	  rulesets/mason/world/objects/animals/Pig.py,
	  rulesets/mason/world/objects/clothing/Garment.py,
	  rulesets/mason/world/objects/elements/Fire.py,
	  rulesets/mason/world/objects/outdoor/Campfire.py,
	  rulesets/mason/world/objects/tools/Bow.py,
	  rulesets/mason/world/objects/tools/Bucksaw.py,
	  rulesets/mason/world/objects/tools/Cleaver.py,
	  rulesets/mason/world/objects/tools/Sword.py,
	  rulesets/mason/world/objects/tools/Tinderbox.py,
	  rulesets/mason/world/objects/tools/Torch.py,
	  rulesets/mason/world/objects/tools/Trowel.py,
	  rulesets/mason/world/tasks/Bisect.py,
	  rulesets/mason/world/tasks/Combat.py,
	  rulesets/mason/world/tasks/Cultivate.py,
	  rulesets/mason/world/tasks/Delve.py,
	  rulesets/mason/world/tasks/Dig.py,
	  rulesets/mason/world/tasks/Logging.py,
	  rulesets/mason/world/tasks/Raise.py,
	  rulesets/mason/world/tasks/Ram.py,
	  rulesets/mason/world/tasks/Reap.py,
	  rulesets/mason/world/tasks/Sharpen.py,
	  rulesets/mason/world/tasks/Slaughter.py,
	  rulesets/mason/world/tasks/Slice.py,
	  rulesets/mason/world/tasks/Trailblaze.py,
	  rulesets/werewolf/world/objects/tools/Gallows.py:
	  Remove code that accesses the world attribute on Entity,
	  replacing where necessary with server.world.
2008-01-05 00:40:32 +00:00
Al Riddoch
6f51647c51 2008-01-04 Al Riddoch <alriddoch@googlemail.com>
* rulesets/basic/mind/NPCMind.py: Clean up some imports, and remove
	  some legacy aliasing.
2008-01-04 23:34:01 +00:00
Al Riddoch
8e9bd398af 2008-01-04 Al Riddoch <alriddoch@googlemail.com>
* rulesets/Python_API.cpp: Remove the server_python flag used to
	  allow scripts to run unmodified on the obsolete python prototype.

	* rulesets/basic/mind/NPCMind.py,
	  rulesets/basic/mind/goals/animal/herd.py,
	  rulesets/basic/mind/goals/common/common.py,
	  rulesets/basic/mind/goals/common/move.py,
	  rulesets/mason/world/objects/buildings/House.py: Remove support
	  for running these scripts on the obsolete python prototype.
2008-01-04 00:45:39 +00:00
Al Riddoch
d4968ffcc2 2007-11-28 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/editor.py: Don't pre-pend the name on sentences
	  sent to program the AIs.

	* rulesets/basic/mind/NPCMind.py: Replace all the places where
	  the name of an entity is taken with a function which checks
	  for the name, but then uses the type if it is not present.

	* rulesets/basic/mind/panlingua/interlinguish.py: Fix the code
	  that strips the name from the beginning of sentences so that
	  it checks first.
2007-11-28 20:51:43 +00:00
Al Riddoch
f2f294065a 2007-11-27 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/editor.py: Make the default argument of m.make
	  the type, and name optional.

	* rulesets/mason/define_world.py: Swap the type to the default
	  argument of m.make, and strip the names off most entities.
2007-11-27 18:59:33 +00:00
Al Riddoch
f557abbe13 2007-11-23 Al Riddoch <alriddoch@zepler.org>
* rulesets/Script.h, rulesets/Script.cpp,
	  rulesets/PythonThingScript.h, rulesets/PythonThingScript.cpp,
	  rulesets/PythonMindScript.h, rulesets/PythonMindScript.cpp:
	  Modify the script interface so it now only handles one operation.

	* rulesets/BaseMind.cpp: Pass in the sub operation only for
	  sight and sound of other operations.

	* rulesets/basic/mind/NPCMind.py,
	  rulesets/basic/mind/goals/humanoid/transaction.py: Adapt the mind
	  and goal code so it only requires one operation.
2007-11-23 16:06:52 +00:00
Al Riddoch
5f691f2291 2007-11-23 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py: Rename some arguments to make
	  way for some changes to the code.
2007-11-23 11:13:35 +00:00
Al Riddoch
5d1a6541bc 2007-09-22 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py: Clean up formatting, and make
	  the code more readable.
2007-09-22 15:19:21 +00:00
Al Riddoch
ba57f6e668 2007-09-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/panlingua/interlinguish.py: Add the list verb.

	* rulesets/basic/mind/Goal.py: Add a __repr__() method to make it
	  more intuitive to get a text representation of a goal.

	* rulesets/basic/mind/NPCMind.py: Add a handler for the list verb
	  that causes all the matching knowledge to be listed.
2007-09-06 22:17:57 +00:00
Al Riddoch
412e9d6df5 2007-07-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py: Don't use "with"
	  as a variable name as it is about to become a reserved word in
	  Python 2.6.
2007-07-06 00:41:26 +00:00
Al Riddoch
ffa20b7752 2007-06-19 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/world/objects/buildings/House.py,
	  rulesets/basic/world/objects/buildings/StoneHouse.py,
	  rulesets/basic/world/objects/buildings/__init__.py,
	  rulesets/basic/world/objects/elements/Fire.py,
	  rulesets/basic/world/objects/elements/__init__.py,
	  rulesets/basic/world/objects/tools/Axe.py,
	  rulesets/basic/world/objects/tools/Bow.py,
	  rulesets/basic/world/objects/tools/Pickaxe.py,
	  rulesets/basic/world/objects/tools/Scythe.py,
	  rulesets/basic/world/objects/tools/Shovel.py,
	  rulesets/basic/world/objects/tools/Sword.py,
	  rulesets/basic/world/objects/tools/__init__.py:
	  Remove files that are no longer used from here, and have
	  been duplicated in the mason ruleset.
2007-06-19 12:41:23 +00:00
Al Riddoch
ddfed59ec8 2007-06-19 Al Riddoch <alriddoch@zepler.org>
* rulesets/Python_API.cpp: Remove the messy import hooks that make
	  inherited rulesets work, but screw up module reloading.

	* rulesets/acorn/mind/SkelMind.py,
	  rulesets/acorn/world/objects/Weather.py,
	  rulesets/acorn/world/objects/animals/Crab.py,
	  rulesets/acorn/world/objects/animals/Deer.py,
	  rulesets/acorn/world/objects/animals/Pig.py,
	  rulesets/acorn/world/objects/animals/Squirrel.py,
	  rulesets/acorn/world/objects/animals/Wolf.py,
	  rulesets/acorn/world/objects/buildings/FarmHouse1.py,
	  rulesets/acorn/world/objects/buildings/FarmHouse2.py,
	  rulesets/acorn/world/objects/buildings/FarmHouse3.py,
	  rulesets/acorn/world/objects/buildings/FarmStand.py,
	  rulesets/acorn/world/objects/buildings/FishShop.py,
	  rulesets/acorn/world/objects/buildings/House1.py,
	  rulesets/acorn/world/objects/buildings/House2.py,
	  rulesets/acorn/world/objects/buildings/House3.py,
	  rulesets/acorn/world/objects/buildings/House4.py,
	  rulesets/acorn/world/objects/buildings/House5.py,
	  rulesets/acorn/world/objects/buildings/Inn1.py,
	  rulesets/acorn/world/objects/buildings/Inn2.py,
	  rulesets/acorn/world/objects/buildings/ItemShop.py,
	  rulesets/acorn/world/objects/buildings/Mansion.py,
	  rulesets/acorn/world/objects/buildings/MetalShop.py,
	  rulesets/acorn/world/objects/buildings/Ruin.py,
	  rulesets/acorn/world/objects/buildings/Shack.py,
	  rulesets/acorn/world/objects/buildings/Stall.py,
	  rulesets/acorn/world/objects/buildings/Sty.py,
	  rulesets/acorn/world/objects/buildings/VacantShop1e.py,
	  rulesets/acorn/world/objects/buildings/VacantShop1w.py,
	  rulesets/acorn/world/objects/buildings/VacantShop2.py,
	  rulesets/acorn/world/objects/outdoor/Campfire.py,
	  rulesets/acorn/world/objects/plants/Tree.py,
	  rulesets/acorn/world/objects/plants/seeds/Acorn.py,
	  rulesets/acorn/world/objects/plants/seeds/Apple.py,
	  rulesets/acorn/world/objects/plants/seeds/Seed.py,
	  rulesets/acorn/world/objects/tools/Cleaver.py,
	  rulesets/acorn/world/objects/undead/Arm.py,
	  rulesets/acorn/world/objects/undead/Pelvis.py,
	  rulesets/acorn/world/objects/undead/Ribcage.py,
	  rulesets/acorn/world/objects/undead/Shin.py,
	  rulesets/acorn/world/objects/undead/Skull.py,
	  rulesets/acorn/world/objects/undead/Thigh.py,
	  rulesets/basic/mind/NPCMind.py,
	  rulesets/basic/world/objects/Pile.py,
	  rulesets/basic/world/objects/animals/Animal.py,
	  rulesets/basic/world/objects/buildings/House.py,
	  rulesets/basic/world/objects/buildings/StoneHouse.py,
	  rulesets/basic/world/objects/elements/Fire.py,
	  rulesets/basic/world/objects/plants/Tree.py,
	  rulesets/basic/world/objects/tools/Axe.py,
	  rulesets/basic/world/objects/tools/Bow.py,
	  rulesets/basic/world/objects/tools/Pickaxe.py,
	  rulesets/basic/world/objects/tools/Scythe.py,
	  rulesets/basic/world/objects/tools/Shovel.py,
	  rulesets/basic/world/objects/tools/Sword.py,
	  rulesets/mason/world/objects/Pile.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/buildings/House.py,
	  rulesets/mason/world/objects/buildings/House3.py,
	  rulesets/mason/world/objects/buildings/StoneHouse.py,
	  rulesets/mason/world/objects/clothing/Garment.py,
	  rulesets/mason/world/objects/elements/Fire.py,
	  rulesets/mason/world/objects/outdoor/Campfire.py,
	  rulesets/mason/world/objects/outdoor/Gravestone.py,
	  rulesets/mason/world/objects/plants/Fir.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/Axe.py,
	  rulesets/mason/world/objects/tools/Bow.py,
	  rulesets/mason/world/objects/tools/Bucksaw.py,
	  rulesets/mason/world/objects/tools/Cleaver.py,
	  rulesets/mason/world/objects/tools/Pickaxe.py,
	  rulesets/mason/world/objects/tools/Rope.py,
	  rulesets/mason/world/objects/tools/Scythe.py,
	  rulesets/mason/world/objects/tools/Shovel.py,
	  rulesets/mason/world/objects/tools/Sword.py,
	  rulesets/mason/world/objects/tools/Tinderbox.py,
	  rulesets/mason/world/objects/tools/Torch.py,
	  rulesets/mason/world/objects/tools/Trowel.py,
	  rulesets/mason/world/objects/undead/Skeleton.py,
	  rulesets/mason/world/tasks/Bisect.py,
	  rulesets/mason/world/tasks/Combat.py,
	  rulesets/mason/world/tasks/Logging.py,
	  rulesets/mason/world/tasks/Raise.py,
	  rulesets/mason/world/tasks/Ram.py,
	  rulesets/mason/world/tasks/Sharpen.py,
	  rulesets/mason/world/tasks/Slice.py,
	  rulesets/mason/define_world.py:
	  Convert rulesets over to inheriting from the Thing class in
	  the new non ruleset specific location.

	* rulesets/basic/mind/goals/animal/domestic.py: Add file missing from
	  previous commit.
2007-06-19 12:36:42 +00:00
Al Riddoch
c4c19a3ca9 2007-06-18 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/trigger.py: Generic common trigger
	  goals, starting with a trigger base chase goal.

	* rulesets/basic/mind/goals/animal/domestic.py: Trigger goals specific
	  to domesticated animals, starting with goals for pig herding.

	* rulesets/basic/mind/goals/__init__.py: Add the two new files of
	  trigger goals.

	* rulesets/mason/mind/PigMind.py, rulesets/mason/mind/SkelMind.py,
	  rulesets/mason/mind/WolfMind.py, rulesets/mason/mind/__init__.py:
	  Remove special mind classes for pig, skeleton and wolf, as it
	  should be possible to do it more cleanly with trigger goals.

	* rulesets/mason/define_world.py: Add trigger goals for pig and
	  skeleton to replace the behavior that used to be in special purpose
	  mind classes.
2007-06-18 17:46:14 +00:00
Al Riddoch
4bb04449dd 2007-06-04 Al Riddoch <alriddoch@zepler.org>
* rulesets/mason/world/tasks/Logging.py: Implement logging entirely
	  in the task, instead of relying on functionality in the plant
	  class.

	* rulesets/Py_Quaternion.cpp: Implement rotation method as in the
	  the wfmath class, as required for Logging.

	* rulesets/Plant.cpp: Add an error message if the old plant
	  functionality gets called.

	* rulesets/basic/world/objects/tools/Axe.py: Add an error message
	  noting that this method should not be called.
2007-06-04 08:30:27 +00:00
Al Riddoch
c8b32ad06a This file is long gone, and has no value 2007-05-07 02:09:33 +00:00
Al Riddoch
97d966be62 Missed changelog commit 2007-04-29 02:11:25 +00:00
Al Riddoch
127bfd5d92 2007-04-24 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py,
	  rulesets/basic/mind/goals/common/move.py,
	  rulesets/basic/mind/goals/humanoid/construction.py,
	  rulesets/mason/define_world.py: Fix most goals so they no longer
	  require a reference to the owning mind object on initialisation,
	  meaning they are now more stateless.
2007-04-23 23:42:38 +00:00
Al Riddoch
d43e7f2bb4 2007-04-22 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/move.py: Expire the accompany goal
	  used by mercenaries when the person they are working for no longer
	  exists.
2007-04-22 21:54:00 +00:00
Al Riddoch
05c29a2070 2007-04-08 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py,
	  rulesets/basic/mind/goals/common/move.py,
	  rulesets/basic/mind/goals/humanoid/construction.py:
	  Re-write goals relating to gathering things off the ground
	  to be clearer, more efficient, and to deal with lists of types.

	* rulesets/mason/define_world.py: Use warrior test to test gathering
	  lists of types.
2007-04-08 22:05:39 +00:00
Al Riddoch
23090634f6 2007-03-08 Al Riddoch <alriddoch@zepler.org>
* Makefile.am: Remove GNU echo isms.

	* rulesets/basic/mind/goals/common/move.py: Modify the pick_up_focus()
	  goal so it clears the focus. gather() now gathers things
	  indefinitely.

	* rulesets/mason/define_world.py: Add a test script for warriors to
	  gather stuff.
2007-03-08 14:14:00 +00:00
Al Riddoch
bb9d601cfd 2007-02-18 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/panlingua/interlinguish.py: Add nouns for a
	  number of tools, by Max Randor.

	* rulesets/mason/define_world.py: Make many more tools available for
	  sale, by Max Randor.
2007-02-18 21:59:00 +00:00
Al Riddoch
3bc905142b 2007-01-29 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/panlingua/interlinguish.py: Add some clothing
	  types to the vocabulary.

	* rulesets/mason/define_world.py: Add a tailor stall to the village.
2007-01-29 01:08:04 +00:00
Al Riddoch
defed47f1f 2006-12-12 Al Riddoch <alriddoch@zepler.org>
* configure.ac: Increment version.

	* common/const.h: Declare a doxygen group for all the consts.

	* common/operations.cpp, common/Add.h, common/Attack.h, common/Burn.h,
	  common/Chop.h, common/Connect.h, common/Cut.h, common/Delve.h,
	  common/Dig.h, common/Drop.h, common/Eat.h, common/Monitor.h,
	  common/Mow.h, common/Nourish.h, common/Pickup.h, common/Setup.h,
	  common/Tick.h, common/Unseen.h, common/Update.h:
	  Declare a doxygen group for all custom operations.

	* rulesets/Area.h, rulesets/Character.h, rulesets/Creator.h,
	  rulesets/Entity.h, rulesets/Food.h, rulesets/Line.h,
	  rulesets/Missile.h, rulesets/Plant.h, rulesets/Stackable.h,
	  rulesets/Structure.h, rulesets/World.h: Declare a doxygen group
	  for in game entity classses.

	* common/Property.h, common/Property_impl.h, server/ScriptFactory.cpp,
	  server/ScriptFactory.h, server/SlaveClientConnection.cpp,
	  server/SlaveClientConnection.h: Add some more inlined documentation.
2006-12-12 15:54:20 +00:00
Al Riddoch
e147a8ce93 2006-10-21 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py: Add doc strings to some key methods.
2006-10-23 11:46:44 +00:00
Al Riddoch
f96e4836ad 2006-10-09 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py: Add doc strings to a number of
	  functions.
2006-10-09 18:30:23 +00:00
Al Riddoch
67600ea0e2 2006-10-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/dynamic/DynamicGoal.py:
	  Add a doc string to the class.
2006-10-05 13:30:28 +00:00
Al Riddoch
638dc66da0 2006-08-30 Al Riddoch <alriddoch@zepler.org>
* 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.
2006-08-29 23:54:08 +00:00
Al Riddoch
475bb2dc2d 2006-07-21 Al Riddoch <alriddoch@zepler.org>
* rulesets/Thing.h, rulesets/Thing.cpp, rulesets/Plant.h,
	  rulesets/Plant.cpp: Remove SetupOperation from Thing
	  and implement in Plant, as not all entities need a starting
	  tick, but plants do.

	* rulesets/basic/world/objects/elements/Fire.py,
	  rulesets/mason/world/objects/Weather.py: Add setup_operation
	  handlers as these scripts require ticks.
2006-07-21 01:26:19 +00:00
Al Riddoch
6453493c6f 2006-07-11 Al Riddoch <alriddoch@zepler.org>
* rulesets/BaseMind.cpp, rulesets/MemMap.cpp, rulesets/MemMap.h:
	  Remove commented out lookId code. Re-write findByLocation to
	  require a type as well, and use a more efficient search to find
	  the entities requested.

	* rulesets/Py_Map.cpp: Re-write find_by_location wrapper to handle
	  the extra type argument.

	* rulesets/basic/mind/Memory.py: Re-write recall_place so that
	  type and radius are now required, and make sure all types listed
	  are checked for.

	* rulesets/basic/mind/goals/common/move.py: Check if recall_place
	  has returned anything at all.
2006-07-11 17:42:22 +00:00
Al Riddoch
78c0a585e9 2006-06-20 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py: Fix some issues
	  with code that assumed op.from and op.to where entities rather
	  than entity IDs.
2006-06-20 16:40:57 +00:00
Al Riddoch
02e151cb4e 2006-06-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/move.py: Make deer run further
	  when they are scared, thus making their movement smoother.
2006-06-05 14:50:55 +00:00
Al Riddoch
bf316eeb28 2006-04-27 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/terrain.py: Add client script to allow easy
	  setup of some basic terrain types.
2006-04-28 15:46:27 +00:00
Al Riddoch
53879c8ca6 2006-04-25 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/test_python_api.py: More tests of the Python API
	  for Atlas Operations.
2006-04-25 15:00:00 +00:00
Al Riddoch
004774692d 2006-04-21 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/test_python_api.py: Add test script to exercise
	  the server's Python API.
2006-04-21 00:52:50 +00:00
Al Riddoch
a6f2f92374 2006-02-11 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py: Clean up defend
	  goal so it works with new spot_something.

	* rulesets/mason/define_world.py: Add goblins.
2006-02-11 04:09:16 +00:00
Al Riddoch
9600aabab5 2006-01-21 Al Riddoch <alriddoch@zepler.org>
* client/Py_CreatorClient.cpp, rulesets/Py_Map.cpp,
	  rulesets/Py_Operation.cpp, rulesets/Py_Oplist.cpp,
	  rulesets/Py_Point3D.cpp, rulesets/Py_Vector3D.cpp,
	  rulesets/Py_WorldTime.cpp, rulesets/Python_API.cpp:
	  Convert functions that take a single argument to use METH_O
	  and avoid calling PyArg_ParseTuple.

	* rulesets/Py_Point3D.cpp, rulesets/Py_Vector3D.cpp,
	  rulesets/basic/mind/goals/common/move.py: Rename
	  unit_vector_to_another_vector to unit_vector_to.
2006-01-22 02:13:52 +00:00
Al Riddoch
f8b54007ac 2006-01-06 Al Riddoch <alriddoch@zepler.org>
* rulesets/Python_API.cpp: Remove C++ implementation of server.dictlist
	  as its installation was messy, and it serves no purpose being
	  implemented in C++.

	* rulesets/basic/mind/NPCMind.py, rulesets/basic/mind/dictlist.py:
	  Use python dictlist implementation from original Python version
	  of cyphesis.
2006-01-06 21:39:00 +00:00
Al Riddoch
027b481aee 2006-01-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/Py_WorldTime.cpp: Extend the type object for python
	  WorldTime to the format used by more recent python versions,
	  adding new and init methods as well as flags, and doc string.

	* rulesets/Python_API.cpp: Refactor the way the server python
	  module and its type server.WorldTime are created to be the
	  preferred way for more recent python versions.

	* rulesets/basic/mind/NPCMind.py: Remove explicit WorldTime
	  member, as there is already one in the C++ base class.
2006-01-05 16:52:52 +00:00
Al Riddoch
dd362305e2 2005-12-26 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/MemMap.py: Remobe obsolete AI code.
2005-12-26 23:45:52 +00:00
Al Riddoch
a2914a39e3 2005-12-24 Al Riddoch <alriddoch@zepler.org>
* 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.
2005-12-24 02:23:31 +00:00
Al Riddoch
2d5b996346 2005-12-23 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py: Fix a problem where
	  an NPC seller would not count all the coins handed over immediatly.

	* rulesets/basic/mind/goals/humanoid/transaction.py: Add a FIXME about
	  a mis-coding using for loops.
2005-12-23 01:24:53 +00:00
Al Riddoch
4c5776d51a 2005-12-18 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/humanoid/transaction.py: Tell the seller
	  how much the pig they have just sold was worth. Only value each
	  pig rather than continuously re-pricing the same pig.
2005-12-18 03:08:25 +00:00
Al Riddoch
7aca1c79bc 2005-12-16 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py: Remove a return statement so
	  legacy money handling code still works.
2005-12-16 15:37:18 +00:00
Al Riddoch
42e765d81b 2005-12-16 Al Riddoch <alriddoch@zepler.org>
* rulesets/mason/define_world.py: Fix formatting.

	* rulesets/basic/mind/NPCMind.py: Add structure to store things
	  an NPC has been given.

	* rulesets/basic/mind/goals/humanoid/transaction.py: Add new goal
	  for buying things from a given entity.
2005-12-16 02:33:31 +00:00
Al Riddoch
1a246f180a 2005-12-13 Al Riddoch <alriddoch@zepler.org>
* rulesets/BaseMind.cpp: When appearance arrives, check stamp and send
	  looks if necessary.

	* rulesets/basic/mind/NPCMind.py: Remove some debug output.
2005-12-13 18:41:40 +00:00
Al Riddoch
bd887cf571 2005-12-13 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/goals/common/misc_goal.py: Don't set TO
	  on eat ops from goals.
2005-12-13 02:32:04 +00:00
Al Riddoch
e2b83394b0 2005-12-13 Al Riddoch <alriddoch@zepler.org>
* common/const.h: Add a second const for the non-squared default
	  box size for visibility calculations.

	* modules/Location.cpp: Initialise cached box size members with
	  defaults from consts.

	* rulesets/basic/mind/goals/common/move.py: Don't remove focus
	  knowledge about item just because it has been picked up. This
	  fixes eating acorns.

	* rulesets/basic/mind/goals/common/misc_goal.py: Remove focus knowledge
	  when something is eaten.
2005-12-13 01:38:08 +00:00
Al Riddoch
a9e1d4993c 2005-12-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/NPCMind.py,
	  rulesets/basic/world/objects/Thing.py: Move some functionality
	  from the Thing base class into NPCMind, leaving minimal
	  functionality in the base class making it suitable as an interface
	  for all scripts.
2005-12-05 21:40:45 +00:00
Al Riddoch
77c19a4395 2005-12-05 Al Riddoch <alriddoch@zepler.org>
* rulesets/Py_BBox.cpp, rulesets/Py_Optime.cpp,
	  rulesets/Py_Statistics.cpp, rulesets/Py_Thing.cpp: Ensure that
	  setattr returns an exception if the attribute is not a valid one.

	* rulesets/Py_Map.cpp, rulesets/Py_Point3D.cpp,
	  rulesets/Py_Quaternion.cpp, rulesets/Py_World.cpp,
	  rulesets/Py_WorldTime.cpp: Remove setattr, as no attributes can
	  be set on this type.

	* rulesets/Py_Mind.cpp, rulesets/Py_Oplist.cpp,
	  rulesets/Py_Vector3D.cpp: Clean up type structure.

	* rulesets/basic/mind/goals/common/move.py: Remove attempt
	  to set "rotation" attribute on location, as its obsolete
	  and pointless.
2005-12-05 04:01:11 +00:00
Al Riddoch
58cb9f7012 2005-12-01 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/world/objects/Thing.py: Get rid of redundant kw
	  arg to constructor, move op_dict initialisation to cinit()
	  and remove base_init completely as its only required to handle
	  the C++ constructor behavoir which we no longer need.

	* rulesets/basic/mind/NPCMind.py: Get rid of redundant args to
	  to mind, and call cinit to handle connection to C++ core directly
	  now that base_init is gone.
2005-12-01 02:17:06 +00:00