Commit graph

11 commits

Author SHA1 Message Date
Alistair Riddoch
e43ee88926 Make all Python entity and task objects inherit from object, and add checks. 2009-06-30 15:32:21 +01: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
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
Al Riddoch
64851093f1 2005-12-01 Al Riddoch <alriddoch@zepler.org>
* rulesets/basic/mind/ExternalMind.py: Remove obsolete external
	  mind class, now completely implemented in C++.
2005-12-01 01:14:45 +00:00
Al Riddoch
ba4a73dfe5 2005-11-30 Al Riddoch <alriddoch@zepler.org>
* 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.
2005-11-30 22:37:50 +00:00
Al Riddoch
354dc0a1b9 2005-05-12 Al Riddoch <alriddoch@zepler.org>
* rulesets/Python_API.cpp: Re-write the code for extracting operation
	  subscriptions from python classes so its now more efficient and
	  picks up methods from base classes.

	* rulesets/basic/mind/BaseMind.py, rulesets/basic/mind/NPCMind.py,
	  rulesets/basic/world/objects/Thing.py: Rename some methods
	  which have match the signature of operation handlers.
2005-05-12 00:28:01 +00:00
Al Riddoch
4343c8d383 * Removed lots of extraneous debugging output, and turned the rest
off using debug flags.

	* Added halt_time, which is number of seconds server should run before
	  it exits.

	* Cleaned a bunch if the remaining memory leaks.

	* Cleaned up the way time is handled.

	* More tweaks to Python code and API to get Acorn working.

	* Inlined some methods into the class definitions, for performance.

	* Updated movement code to sort out setting mode properlly, and
	  deal with stuttering NPC movement.

This is quite a big commit, and most of Acorn now works. Performance seems
to be good too.
2000-12-11 13:06:12 +00:00
Al Riddoch
4b0b328c92 * Debugged set_kw() and confirmed that it does work.
* Added python API support for self.world.

Al
2000-12-03 16:56:10 +00:00
Al Riddoch
fda1182f78 * Added dictfunc functionality to Python interface.
* Added creation of Entities for use in Operation arguments.

	* Added initialisation of Vector3D through constructor
	  arguments in python.

	* Added append() method to python interface for Oplist.

	* Added support for coercion of operation into addable form.

Al
2000-12-01 00:13:39 +00:00
Al Riddoch
907455c4c8 * Added more required functionality to base python Thing class
so that operation manipulations can now work.

	* Implemented getting of object name to python/C API, and added
	  methods for differentiating between op and object.

	* Implemented on-the-fly de-coding of operations, from operation
	  arguuments in python/C API. This will be obsolete once Atlas-C++
	  does full decode later.

	* Implemented get and setattr for Message Object from
	  python. Attributes are stored both in Object, and in supplementary
	  python dictionary for non Atlas compatable attributes.

	* Implemented copy() method for Python/C Location class.

Al
2000-11-30 12:51:59 +00:00
Al Riddoch
e635657e3f * Added in Python interface code to deal with manipulation of operation
time.

	* Made basic_tick a float, because it should be.

	* Imported all the rulesets python code from python cyphesis.

Al
2000-11-27 18:28:20 +00:00