Update of /cvsroot/wpdev/wolfpack
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14456
Modified Files:
basechar.cpp basechar.h corpse.cpp corpse.h items.cpp items.h
multi.cpp multi.h npc.cpp npc.h player.cpp player.h
pythonscript.cpp pythonscript.h speech.cpp targetrequests.cpp
uobject.cpp uobject.h wolfpack.vcproj
Log Message:
New Python getProperty method.
Index: player.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/player.h,v
retrieving revision 1.49
retrieving revision 1.50
diff -C2 -d -r1.49 -r1.50
*** player.h 2 Jun 2004 15:04:06 -0000 1.49
--- player.h 20 Jul 2004 11:35:37 -0000 1.50
***************
*** 98,102 ****
// other public methods
virtual stError* setProperty( const QString& name, const cVariant& value );
! virtual stError* getProperty( const QString& name, cVariant& value );
void turnTo( cUObject* object ); // override
void turnTo( const Coord_cl& data ); // override
--- 98,102 ----
// other public methods
virtual stError* setProperty( const QString& name, const cVariant& value );
! PyObject *getProperty(const QString& name);
void turnTo( cUObject* object ); // override
void turnTo( const Coord_cl& data ); // override
Index: multi.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/multi.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** multi.cpp 2 Jun 2004 15:04:06 -0000 1.9
--- multi.cpp 20 Jul 2004 11:35:37 -0000 1.10
***************
*** 71,77 ****
}
! stError* cMulti::getProperty( const QString& name, cVariant& value )
{
! return cItem::getProperty( name, value );
}
--- 71,77 ----
}
! PyObject* cMulti::getProperty(const QString& name)
{
! return cItem::getProperty(name);
}
Index: basechar.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/basechar.cpp,v
retrieving revision 1.121
retrieving revision 1.122
diff -C2 -d -r1.121 -r1.122
*** basechar.cpp 14 Jul 2004 21:57:31 -0000 1.121
--- basechar.cpp 20 Jul 2004 11:35:36 -0000 1.122
***************
*** 1825,2118 ****
}
! stError* cBaseChar::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "orgname", orgName_ )
! else
! GET_PROPERTY( "direction", direction_ )
! else
! GET_PROPERTY( "baseid", baseid() )
! else
! GET_PROPERTY( "lastmovement", ( int ) lastMovement_ )
! else
! GET_PROPERTY( "title", title_ )
! else
! GET_PROPERTY( "incognito", isIncognito() )
! else
! GET_PROPERTY( "polymorph", isPolymorphed() )
! else
! GET_PROPERTY( "skin", skin_ )
! else
! GET_PROPERTY( "orgskin", orgSkin_ )
! else
! GET_PROPERTY( "creationdate", creationDate_.toString() )
! else
! GET_PROPERTY( "stealthedsteps", stealthedSteps_ )
! else
! GET_PROPERTY( "runningsteps", ( int ) runningSteps_ )
! else
! GET_PROPERTY( "tamed", isTamed() )
! else
! GET_PROPERTY( "guarding", guarding_ )
! else
! GET_PROPERTY( "murderer", FindCharBySerial( murdererSerial_ ) )
! else
! GET_PROPERTY( "casting", isCasting() )
! else
! GET_PROPERTY( "hidden", isHidden() )
! else
! GET_PROPERTY( "hunger", hunger_ )
! else
! GET_PROPERTY( "hungertime", ( int ) hungerTime_ )
! else
! GET_PROPERTY( "poison", poison_ )
! else
! GET_PROPERTY( "flag", flag_ )
! else
! GET_PROPERTY( "propertyflags", ( int ) propertyFlags_ )
! else
! GET_PROPERTY( "murderertime", ( int ) murdererTime_ )
! else
! GET_PROPERTY( "criminaltime", ( int ) criminalTime_ )
! else
! GET_PROPERTY( "meditating", isMeditating() )
! else
! GET_PROPERTY( "weight", weight_ )
! else
! GET_PROPERTY( "saycolor", saycolor_ )
! else
! GET_PROPERTY( "emotecolor", emoteColor_ )
! else
! GET_PROPERTY( "strength", strength_ )
! else
! GET_PROPERTY( "dexterity", dexterity_ )
! else
! GET_PROPERTY( "intelligence", intelligence_ )
! else
! GET_PROPERTY( "strength2", strengthMod_ )
! else
! GET_PROPERTY( "dexterity2", dexterityMod_ )
! else
! GET_PROPERTY( "intelligence2", intelligenceMod_ )
! else
! GET_PROPERTY( "orgid", orgBody_ )
! else
! GET_PROPERTY( "maxhitpoints", maxHitpoints_ )
! else
! GET_PROPERTY( "hitpoints", hitpoints_ )
! else
! GET_PROPERTY( "strengthcap", strengthCap_ )
! else
! GET_PROPERTY( "dexteritycap", dexterityCap_ )
! else
! GET_PROPERTY( "intelligencecap", intelligenceCap_ )
! else
! GET_PROPERTY( "statcap", statCap_ )
! else
! GET_PROPERTY( "health", hitpoints_ )
! else
! GET_PROPERTY( "maxstamina", maxStamina_ )
! else
! GET_PROPERTY( "stamina", stamina_ )
! else
! GET_PROPERTY( "maxmana", maxMana_ )
! else
! GET_PROPERTY( "mana", mana_ )
! else
! GET_PROPERTY( "karma", karma_ )
! else
! GET_PROPERTY( "fame", fame_ )
! else
! GET_PROPERTY( "kills", ( int ) kills_ )
! else
! GET_PROPERTY( "deaths", ( int ) deaths_ )
! else
! GET_PROPERTY( "dead", isDead() )
! else
! GET_PROPERTY( "war", isAtWar() )
! else
! GET_PROPERTY( "attacktarget", attackTarget_ )
! else
! GET_PROPERTY( "nextswing", ( int ) nextSwing_ )
! else
! GET_PROPERTY( "regenhealth", ( int ) regenHitpointsTime_ )
! else
! GET_PROPERTY( "regenstamina", ( int ) regenStaminaTime_ )
! else
! GET_PROPERTY( "regenmana", ( int ) regenManaTime_ )
! else
! GET_PROPERTY( "region", ( region_ != 0 ) ? region_->name() : QString( "" ) )
! else
! GET_PROPERTY( "skilldelay", ( int ) skillDelay_ )
! else
! GET_PROPERTY( "gender", gender_ )
! else
! GET_PROPERTY( "id", body_ )
! else
! GET_PROPERTY( "invulnerable", isInvulnerable() )
! else
! GET_PROPERTY( "invisible", isInvisible() )
! else
! GET_PROPERTY( "frozen", isFrozen() )
! else
! GET_PROPERTY( "hitpointsbonus", hitpointsBonus_ )
! else
! GET_PROPERTY( "staminabonus", staminaBonus_ )
! else
! GET_PROPERTY( "manabonus", manaBonus_ )
!
! // Base Properties
! /*
! \rproperty char.basesound The base sound id for this creature. Not used for humans.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "basesound", basesound() )
! /* \rproperty char.soundmode Which sounds are available for this creature. See basesound for the offset.
! Possible values:
! <code>0: normal, 5 sounds (attack-started, idle, attack, defence, dying)
! 1: birds .. only one "bird-shape" and zillions of sounds ...
! 2: only 3 sounds -> (attack,defence,dying)
! 3: only 4 sounds -> (attack-started,attack,defense,dying)
! 4: only 1 sound</code>
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "soundmode", soundmode() )
! /*
! \rproperty char.canfly Indicates whether the creature can fly.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "canfly", isCanFly() )
! /*
! \rproperty char.antiblink Indicates whether the creature has the anti blink bit set for animations.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "antiblink", isAntiBlink() )
! /*
! \rproperty char.nocorpse Indicates whether the creature leaves a corpse or not.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "nocorpse", isNoCorpse() )
! /*
! \rproperty figurine The itemid of the figurine thats created when the creature is shrunk.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "figurine", figurine() )
! /*
! \rproperty char.mindamage The minimum damage this character type
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "antiblink", isAntiBlink() )
! /*
! \rproperty char.mindamage This is the minimum damage dealt by the creature when unarmed.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "mindamage", minDamage() )
! /*
! \rproperty char.maxdamage This is the maximum damage dealt by the creature when unarmed.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "maxdamage", maxDamage() )
! /*
! \rproperty char.mintaming This is the minimum taming skill required to tame this creature.
! This has no meaning for player characters.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "mintaming", minTaming() )
! /*
! \rproperty char.carve This is the name of the list of items created when a dagger is
! used on the corpse of this creature.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "carve", carve() )
! /*
! \rproperty char.lootpacks This is a semicolon separated list of lootpacks that are created
! in the corpse of this creature.
! This has no meaning for player characters.
! This property is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "lootpacks", lootPacks() )
! /*
! \rproperty char.controlslots The amount of follower slots this npc will consume when owned
! by a player.
! This property is exclusive to npcs and is inherited from the definition referenced by the baseid property.
! */
! else
! GET_PROPERTY( "controlslots", controlSlots() )
! // skill.
! else if ( name.left( 6 ) == "skill." )
! {
QString skill = name.right( name.length() - 6 );
INT16 skillId = Skills::instance()->findSkillByDef( skill );
! if ( skillId != -1 )
! {
! value = cVariant( this->skillValue( skillId ) );
! return 0;
}
// skillcap.
! }
! else if ( name.left( 9 ) == "skillcap." )
! {
QString skill = name.right( name.length() - 9 );
INT16 skillId = Skills::instance()->findSkillByDef( skill );
! if ( skillId != -1 )
! {
! value = cVariant( this->skillCap( skillId ) );
! return 0;
}
! }
! else
! {
// See if there's a skill by that name
INT16 skillId = Skills::instance()->findSkillByDef( name );
! if ( skillId != -1 )
! {
! value = cVariant( skillValue( skillId ) );
! return 0;
}
}
!
!
! return cUObject::getProperty( name, value );
}
--- 1825,2022 ----
}
! PyObject *cBaseChar::getProperty(const QString &name) {
! PY_PROPERTY( "orgname", orgName_ )
! PY_PROPERTY( "direction", direction_ )
! PY_PROPERTY( "baseid", baseid() )
! PY_PROPERTY( "lastmovement", lastMovement_ )
! PY_PROPERTY( "title", title_ )
! PY_PROPERTY( "incognito", isIncognito() )
! PY_PROPERTY( "polymorph", isPolymorphed() )
! PY_PROPERTY( "skin", skin_ )
! PY_PROPERTY( "orgskin", orgSkin_ )
! PY_PROPERTY( "creationdate", creationDate_.toString() )
! PY_PROPERTY( "stealthedsteps", stealthedSteps_ )
! PY_PROPERTY( "runningsteps", runningSteps_ )
! PY_PROPERTY( "tamed", isTamed() )
! PY_PROPERTY( "guarding", guarding_ )
! PY_PROPERTY( "murderer", FindCharBySerial( murdererSerial_ ) )
! PY_PROPERTY( "casting", isCasting() )
! PY_PROPERTY( "hidden", isHidden() )
! PY_PROPERTY( "hunger", hunger_ )
! PY_PROPERTY( "hungertime", hungerTime_ )
! PY_PROPERTY( "poison", poison_ )
! PY_PROPERTY( "flag", flag_ )
! PY_PROPERTY( "propertyflags", propertyFlags_ )
! PY_PROPERTY( "murderertime", murdererTime_ )
! PY_PROPERTY( "criminaltime", criminalTime_ )
! PY_PROPERTY( "meditating", isMeditating() )
! PY_PROPERTY( "weight", weight_ )
! PY_PROPERTY( "saycolor", saycolor_ )
! PY_PROPERTY( "emotecolor", emoteColor_ )
! PY_PROPERTY( "strength", strength_ )
! PY_PROPERTY( "dexterity", dexterity_ )
! PY_PROPERTY( "intelligence", intelligence_ )
! PY_PROPERTY( "strength2", strengthMod_ )
! PY_PROPERTY( "dexterity2", dexterityMod_ )
! PY_PROPERTY( "intelligence2", intelligenceMod_ )
! PY_PROPERTY( "orgid", orgBody_ )
! PY_PROPERTY( "maxhitpoints", maxHitpoints_ )
! PY_PROPERTY( "hitpoints", hitpoints_ )
! PY_PROPERTY( "strengthcap", strengthCap_ )
! PY_PROPERTY( "dexteritycap", dexterityCap_ )
! PY_PROPERTY( "intelligencecap", intelligenceCap_ )
! PY_PROPERTY( "statcap", statCap_ )
! PY_PROPERTY( "health", hitpoints_ )
! PY_PROPERTY( "maxstamina", maxStamina_ )
! PY_PROPERTY( "stamina", stamina_ )
! PY_PROPERTY( "maxmana", maxMana_ )
! PY_PROPERTY( "mana", mana_ )
! PY_PROPERTY( "karma", karma_ )
! PY_PROPERTY( "fame", fame_ )
! PY_PROPERTY( "kills", kills_ )
! PY_PROPERTY( "deaths", deaths_ )
! PY_PROPERTY( "dead", isDead() )
! PY_PROPERTY( "war", isAtWar() )
! PY_PROPERTY( "attacktarget", attackTarget_ )
! PY_PROPERTY( "nextswing", nextSwing_ )
! PY_PROPERTY( "regenhealth", regenHitpointsTime_ )
! PY_PROPERTY( "regenstamina", regenStaminaTime_ )
! PY_PROPERTY( "regenmana", regenManaTime_ )
! PY_PROPERTY( "region", region_ )
! PY_PROPERTY( "skilldelay", skillDelay_ )
! PY_PROPERTY( "gender", gender_ )
! PY_PROPERTY( "id", body_ )
! PY_PROPERTY( "invulnerable", isInvulnerable() )
! PY_PROPERTY( "invisible", isInvisible() )
! PY_PROPERTY( "frozen", isFrozen() )
! PY_PROPERTY( "hitpointsbonus", hitpointsBonus_ )
! PY_PROPERTY( "staminabonus", staminaBonus_ )
! PY_PROPERTY( "manabonus", manaBonus_ )
! /*
! \rproperty char.basesound The base sound id for this creature. Not used for humans.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "basesound", basesound() )
! /* \rproperty char.soundmode Which sounds are available for this creature. See basesound for the offset.
! Possible values:
! <code>0: normal, 5 sounds (attack-started, idle, attack, defence, dying)
! 1: birds .. only one "bird-shape" and zillions of sounds ...
! 2: only 3 sounds -> (attack,defence,dying)
! 3: only 4 sounds -> (attack-started,attack,defense,dying)
! 4: only 1 sound</code>
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "soundmode", soundmode() )
! /*
! \rproperty char.canfly Indicates whether the creature can fly.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "canfly", isCanFly() )
! /*
! \rproperty char.antiblink Indicates whether the creature has the anti blink bit set for animations.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "antiblink", isAntiBlink() )
! /*
! \rproperty char.nocorpse Indicates whether the creature leaves a corpse or not.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "nocorpse", isNoCorpse() )
! /*
! \rproperty figurine The itemid of the figurine thats created when the creature is shrunk.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "figurine", figurine() )
! /*
! \rproperty char.mindamage The minimum damage this character type
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "antiblink", isAntiBlink() )
! /*
! \rproperty char.mindamage This is the minimum damage dealt by the creature when unarmed.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "mindamage", minDamage() )
! /*
! \rproperty char.maxdamage This is the maximum damage dealt by the creature when unarmed.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "maxdamage", maxDamage() )
! /*
! \rproperty char.mintaming This is the minimum taming skill required to tame this creature.
! This has no meaning for player characters.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "mintaming", minTaming() )
! /*
! \rproperty char.carve This is the name of the list of items created when a dagger is
! used on the corpse of this creature.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "carve", carve() )
! /*
! \rproperty char.lootpacks This is a semicolon separated list of lootpacks that are created
! in the corpse of this creature.
! This has no meaning for player characters.
! This property is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "lootpacks", lootPacks() )
! /*
! \rproperty char.controlslots The amount of follower slots this npc will consume when owned
! by a player.
! This property is exclusive to npcs and is inherited from the definition referenced by the baseid property.
! */
! PY_PROPERTY( "controlslots", controlSlots() )
! if (name.left(6) == "skill.") {
QString skill = name.right( name.length() - 6 );
INT16 skillId = Skills::instance()->findSkillByDef( skill );
! if (skillId != -1) {
! return createPyObject(skillValue(skillId));
}
// skillcap.
! } else if (name.left(9) == "skillcap.") {
QString skill = name.right( name.length() - 9 );
INT16 skillId = Skills::instance()->findSkillByDef( skill );
! if (skillId != -1) {
! return createPyObject(skillCap(skillId));
}
! } else {
// See if there's a skill by that name
INT16 skillId = Skills::instance()->findSkillByDef( name );
! if (skillId != -1) {
! return createPyObject(skillValue(skillId));
}
}
! return cUObject::getProperty(name);
}
Index: uobject.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/uobject.cpp,v
retrieving revision 1.167
retrieving revision 1.168
diff -C2 -d -r1.167 -r1.168
*** uobject.cpp 15 Jul 2004 02:23:18 -0000 1.167
--- uobject.cpp 20 Jul 2004 11:35:37 -0000 1.168
***************
*** 709,714 ****
}
! stError* cUObject::getProperty( const QString& name, cVariant& value )
! {
/*
\rproperty object.bindmenu This string property contains a comma separated list of context menu ids for this object.
--- 709,713 ----
}
! PyObject* cUObject::getProperty(const QString& name) {
/*
\rproperty object.bindmenu This string property contains a comma separated list of context menu ids for this object.
***************
*** 716,743 ****
This property is inherited by the baseid property of this object.
*/
! GET_PROPERTY( "bindmenu", bindmenu() )
!
/*
\rproperty object.spawnregion The name of the spawnregion this object was spawned in. This is an empty string
if the object wasn't spawned or removed from the spawnregion.
*/
! else
! GET_PROPERTY( "spawnregion", spawnregion_ ? spawnregion_->name() : "" )
!
! else
! GET_PROPERTY( "serial", serial_ )
! else
! GET_PROPERTY( "free", free ? 1 : 0 )
! else
! GET_PROPERTY( "name", this->name() )
! else
! GET_PROPERTY( "pos", pos() )
! else
! GET_PROPERTY( "eventlist", eventList() )
! // \rproperty object.multi This item property contains the multi this object is contained in.
! else
! GET_PROPERTY( "multi", multi_ )
! return cPythonScriptable::getProperty( name, value );
}
--- 715,733 ----
This property is inherited by the baseid property of this object.
*/
! PY_PROPERTY( "bindmenu", bindmenu() )
/*
\rproperty object.spawnregion The name of the spawnregion this object was spawned in. This is an empty string
if the object wasn't spawned or removed from the spawnregion.
*/
! PY_PROPERTY( "spawnregion", spawnregion_ ? spawnregion_->name() : "" )
! PY_PROPERTY( "serial", serial_ )
! PY_PROPERTY( "free", free ? 1 : 0 )
! PY_PROPERTY( "name", this->name() )
! PY_PROPERTY( "pos", pos() )
! PY_PROPERTY( "eventlist", eventList() )
! // \rproperty object.multi This item property contains the multi this object is contained in.
! PY_PROPERTY( "multi", multi_ )
! return cPythonScriptable::getProperty(name);
}
Index: uobject.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/uobject.h,v
retrieving revision 1.99
retrieving revision 1.100
diff -C2 -d -r1.99 -r1.100
*** uobject.h 15 Jul 2004 02:23:18 -0000 1.99
--- uobject.h 20 Jul 2004 11:35:37 -0000 1.100
***************
*** 220,224 ****
void processNode( const cElement* Tag );
stError* setProperty( const QString& name, const cVariant& value );
! stError* getProperty( const QString& name, cVariant& value );
};
#pragma pack()
--- 220,224 ----
void processNode( const cElement* Tag );
stError* setProperty( const QString& name, const cVariant& value );
! PyObject* getProperty(const QString& name);
};
#pragma pack()
Index: wolfpack.vcproj
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/wolfpack.vcproj,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** wolfpack.vcproj 18 Jul 2004 19:57:02 -0000 1.35
--- wolfpack.vcproj 20 Jul 2004 11:35:37 -0000 1.36
***************
*** 86,91 ****
OptimizeForProcessor="0"
OptimizeForWindowsApplication="TRUE"
! AdditionalIncludeDirectories="sqlite;"D:\coding\STLport-5.0-0125\stlport";D:\coding\msvcrt\include;qt"
! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;QT_THREAD_SUPPORT;QT_LITE_COMPONENT;QT_DLL;QT_NO_STL;QT_NO_COMPRESS;CRASHHANDLER"
StringPooling="TRUE"
MinimalRebuild="FALSE"
--- 86,91 ----
OptimizeForProcessor="0"
OptimizeForWindowsApplication="TRUE"
! AdditionalIncludeDirectories="sqlite;"D:\coding\STLport-5.0-0125\stlport";D:\coding\msvcrt\include;qt;C:\MySQL\include"
! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;QT_THREAD_SUPPORT;QT_LITE_COMPONENT;QT_DLL;QT_NO_STL;QT_NO_COMPRESS;CRASHHANDLER;MYSQL_DRIVER"
StringPooling="TRUE"
MinimalRebuild="FALSE"
***************
*** 111,115 ****
LinkIncremental="1"
SuppressStartupBanner="TRUE"
! AdditionalLibraryDirectories=";D:\coding\msvcrt\lib"
IgnoreAllDefaultLibraries="TRUE"
GenerateDebugInformation="TRUE"
--- 111,115 ----
LinkIncremental="1"
SuppressStartupBanner="TRUE"
! AdditionalLibraryDirectories="D:\coding\msvcrt\lib;C:\MySQL\lib\opt"
IgnoreAllDefaultLibraries="TRUE"
GenerateDebugInformation="TRUE"
Index: speech.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/speech.cpp,v
retrieving revision 1.180
retrieving revision 1.181
diff -C2 -d -r1.180 -r1.181
*** speech.cpp 20 Jul 2004 04:40:51 -0000 1.180
--- speech.cpp 20 Jul 2004 11:35:37 -0000 1.181
***************
*** 269,273 ****
PyList_SetItem( pkeywords, i, PyInt_FromLong( keywords[i] ) );
! PyObject* args = Py_BuildValue( "(O&O&uO)", PyGetCharObject, pNpc, PyGetCharObject, pPlayer, comm.ucs2(), pkeywords );
bool result = cPythonScript::callChainedEventHandler( EVENT_SPEECH, events, args );
--- 269,273 ----
PyList_SetItem( pkeywords, i, PyInt_FromLong( keywords[i] ) );
! PyObject* args = Py_BuildValue( "(NNNO)", pNpc->getPyObject(), pPlayer->getPyObject(), QString2Python(comm), pkeywords );
bool result = cPythonScript::callChainedEventHandler( EVENT_SPEECH, events, args );
Index: targetrequests.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/targetrequests.cpp,v
retrieving revision 1.99
retrieving revision 1.100
diff -C2 -d -r1.99 -r1.100
*** targetrequests.cpp 6 Jul 2004 13:04:07 -0000 1.99
--- targetrequests.cpp 20 Jul 2004 11:35:37 -0000 1.100
***************
*** 235,250 ****
pObject = pItem;
! cVariant result;
! stError* error = pObject->getProperty( key, result );
!
! if ( error )
! {
! socket->sysMessage( error->text );
! delete error;
! return true;
}
-
- socket->sysMessage( tr( "'%1' is '%2'" ).arg( key ).arg( result.toString() ) );
return true;
}
--- 235,246 ----
pObject = pItem;
+ PyObject *result = pObject->getProperty(key);
! if (!result) {
! socket->sysMessage(tr("Unknown property: '%1'").arg(key));
! } else {
! socket->sysMessage(tr("'%1' is '%2'").arg(key).arg(PyString_AsString(PyObject_Str(result))));
! Py_DECREF(result);
}
return true;
}
Index: pythonscript.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/pythonscript.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** pythonscript.h 2 Jun 2004 19:13:13 -0000 1.32
--- pythonscript.h 20 Jul 2004 11:35:37 -0000 1.33
***************
*** 88,91 ****
--- 88,93 ----
class cElement;
+ class cTerritory;
+ class cAccount;
class cPythonScript
***************
*** 142,150 ****
#define PROPERTY_ERROR(errno, data) { stError *errRet = new stError; errRet->code = errno; errRet->text = data; return errRet; }
- #define GET_PROPERTY(id, getter) if( name == id ) {\
- value = cVariant(getter); \
- return 0; \
- }
-
#define SET_STR_PROPERTY( id, setter ) if( name == id ) {\
QString text = value.toString(); \
--- 144,147 ----
***************
*** 239,247 ****
This method gets a property of this object and stores it's value in \a value.
\param name The name of the property.
! \param value A reference to the variant the value should be stored in.
! \returns If an error occured it returns a pointer to an error structure. The callee is responsible
! for freeing this structure, otherwise a null pointer is returned.
*/
! virtual stError* getProperty( const QString& name, cVariant& value );
};
--- 236,308 ----
This method gets a property of this object and stores it's value in \a value.
\param name The name of the property.
! \returns A python object with the value or None.
*/
! virtual PyObject *getProperty(const QString &name);
!
! // Functions for creating python representations of objects
! inline PyObject *createPyObject(cPythonScriptable *object) {
! if (object) {
! return object->getPyObject();
! } else {
! Py_INCREF(Py_None);
! return Py_None;
! }
! }
!
! inline PyObject *createPyObject(cTerritory *object) {
! if (object) {
! return PyGetRegionObject(object);
! } else {
! Py_INCREF(Py_None);
! return Py_None;
! }
! }
!
! inline PyObject *createPyObject(cAccount *object) {
! if (object) {
! return PyGetAccountObject(object);
! } else {
! Py_INCREF(Py_None);
! return Py_None;
! }
! }
!
! inline PyObject *createPyObject(int value) {
! return PyInt_FromLong(value);
! }
!
! inline PyObject *createPyObject(bool value) {
! if (value) {
! Py_INCREF(Py_True);
! return Py_True;
! } else {
! Py_INCREF(Py_False);
! return Py_False;
! }
! }
!
! inline PyObject *createPyObject(const Coord_cl &pos) {
! return PyGetCoordObject(pos);
! }
!
! inline PyObject *createPyObject(unsigned int value) {
! return PyInt_FromLong(value);
! }
!
! inline PyObject *createPyObject(const QCString &value) {
! return QString2Python(value.data());
! }
!
! inline PyObject *createPyObject(const QString &value) {
! return QString2Python(value);
! }
!
! inline PyObject *createPyObject(double value) {
! return PyFloat_FromDouble(value);
! }
!
! #define PY_PROPERTY(namestr, getter) if ((namestr == name)) { \
! return createPyObject((getter)); \
! }
};
Index: items.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/items.cpp,v
retrieving revision 1.425
retrieving revision 1.426
diff -C2 -d -r1.425 -r1.426
*** items.cpp 19 Jul 2004 23:19:11 -0000 1.425
--- items.cpp 20 Jul 2004 11:35:36 -0000 1.426
***************
*** 1984,2093 ****
}
! stError* cItem::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "id", id_ )
/*
! \rproperty item.lightsource For lightsources this is the type of the light.
! This property is inherited from the definition specified in the baseid property.
! */
! else
! GET_PROPERTY( "lightsource", lightsource() )
/*
\rproperty item.decaydelay The decay delay for this item in miliseconds.
This is 0 if the item won't decay.
*/
! else
! GET_PROPERTY( "decaydelay", (int)decayDelay() )
!
! else
! GET_PROPERTY( "baseid", baseid() )
! else
! GET_PROPERTY( "color", color_ )
! else
! GET_PROPERTY( "amount", amount_ )
! else
! GET_PROPERTY( "layer", layer_ )
! /*
! \rproperty item.type The type value of an object. Used to group weapons,
! armor and other equipables, as well as usable objects.
! This property is inherited from the definition specified in the baseid property.
! */
! else
! GET_PROPERTY( "type", type() )
! /*
! \rproperty item.weight The weight value of the object.
! This property is inherited from the definition specified in the baseid property.
! */
! else
! GET_PROPERTY( "weight", weight() )
! /*
! \rproperty item.sellprice The value at which this object can be sold to vendors.
! This property is inherited from the definition specified in the baseid property.
! */
! else
! GET_PROPERTY( "sellprice", ( int ) sellprice() )
! /*
! \rproperty item.buyprice The value at which this object is bought from vendors.
! This property is inherited from the definition specified in the baseid property.
! */
! else
! GET_PROPERTY( "buyprice", ( int ) buyprice() )
! else
! GET_PROPERTY( "health", hp_ )
! else
! GET_PROPERTY( "maxhealth", maxhp_ )
! else
! GET_PROPERTY( "owner", owner() )
! else
! GET_PROPERTY( "totalweight", totalweight_ )
! // container
! else if ( name == "container" )
! {
! if ( container_ && container_->isItem() )
! value = cVariant( dynamic_cast<P_ITEM>( container_ ) );
! else if ( container_ && container_->isChar() )
! value = cVariant( dynamic_cast<P_CHAR>( container_ ) );
! else
! value = cVariant( ( P_ITEM ) 0 );
! return 0;
! }
! // Visible
! else
! GET_PROPERTY( "visible", visible_ == 0 ? 1 : 0 )
! else
! GET_PROPERTY( "ownervisible", visible_ == 1 ? 1 : 0 )
! else
! GET_PROPERTY( "movable", magic_ )
! // Flags
! else
! GET_PROPERTY( "dye", dye() ? 1 : 0 )
! else
! GET_PROPERTY( "decay", priv_ & 0x01 ? 0 : 1 )
! else
! GET_PROPERTY( "newbie", priv_ & 0x02 ? 1 : 0 )
! else
! GET_PROPERTY( "dispellable", priv_ & 0x04 ? 1 : 0 )
! else
! GET_PROPERTY( "secured", priv_ & 0x08 ? 1 : 0 )
! else
! GET_PROPERTY( "allowmeditation", priv_ & 0x10 ? 1 : 0 )
! else
! GET_PROPERTY( "twohanded", priv_ & 0x20 ? 1 : 0 )
/*
! \rproperty item.corpse Specifies whether this item is a corpse or not.
*/
! else
! GET_PROPERTY( "corpse", corpse() )
! else
! GET_PROPERTY( "visible", visible() )
! else
! return cUObject::getProperty( name, value );
}
--- 1984,2060 ----
}
! PyObject* cItem::getProperty(const QString& name) {
! PY_PROPERTY( "id", id_ )
/*
! \rproperty item.lightsource For lightsources this is the type of the light.
+ This property is inherited from the definition specified in the baseid property.
+ */
+ PY_PROPERTY( "lightsource", lightsource() )
/*
\rproperty item.decaydelay The decay delay for this item in miliseconds.
+
This is 0 if the item won't decay.
*/
! PY_PROPERTY( "decaydelay", (int)decayDelay() )
! PY_PROPERTY( "baseid", baseid() )
! PY_PROPERTY( "color", color_ )
! PY_PROPERTY( "amount", amount_ )
! PY_PROPERTY( "layer", layer_ )
! /*
! \rproperty item.type The type value of an object. Used to group weapons,
! armor and other equipables, as well as usable objects.
! This property is inherited from the definition specified in the baseid property.
! */
! PY_PROPERTY( "type", type() )
! /*
! \rproperty item.weight The weight value of the object.
! This property is inherited from the definition specified in the baseid property.
! */
! PY_PROPERTY( "weight", weight() )
! /*
! \rproperty item.sellprice The value at which this object can be sold to vendors.
! This property is inherited from the definition specified in the baseid property.
! */
! PY_PROPERTY( "sellprice", ( int ) sellprice() )
! /*
! \rproperty item.buyprice The value at which this object is bought from vendors.
! This property is inherited from the definition specified in the baseid property.
! */
! PY_PROPERTY( "buyprice", ( int ) buyprice() )
! PY_PROPERTY( "health", hp_ )
! PY_PROPERTY( "maxhealth", maxhp_ )
! PY_PROPERTY( "owner", owner() )
! PY_PROPERTY( "totalweight", totalweight_ )
! // container
! PY_PROPERTY( "container", container_ )
! // Visible
! PY_PROPERTY( "visible", visible_ == 0 ? 1 : 0 )
! PY_PROPERTY( "ownervisible", visible_ == 1 ? 1 : 0 )
! PY_PROPERTY( "magic", magic_ )
! // Flags
! PY_PROPERTY( "dye", dye() ? 1 : 0 )
! PY_PROPERTY( "decay", priv_ & 0x01 ? 0 : 1 )
! PY_PROPERTY( "newbie", priv_ & 0x02 ? 1 : 0 )
! PY_PROPERTY( "dispellable", priv_ & 0x04 ? 1 : 0 )
! PY_PROPERTY( "secured", priv_ & 0x08 ? 1 : 0 )
! PY_PROPERTY( "allowmeditation", priv_ & 0x10 ? 1 : 0 )
! PY_PROPERTY( "twohanded", priv_ & 0x20 ? 1 : 0 )
/*
! \rproperty item.corpse Specifies whether this item is a corpse or not.
*/
! PY_PROPERTY( "corpse", corpse() )
! PY_PROPERTY( "visible", visible() )
! PY_PROPERTY( "visible", visible_ == 0 ? 1 : 0 )
! PY_PROPERTY( "ownervisible", visible_ == 1 ? 1 : 0 )
! PY_PROPERTY( "movable", magic_ )
!
! return cUObject::getProperty( name );
}
***************
*** 2371,2372 ****
--- 2338,2340 ----
return Config::instance()->itemDecayTime() * MY_CLOCKS_PER_SEC;
}
+
Index: pythonscript.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/pythonscript.cpp,v
retrieving revision 1.41
retrieving revision 1.42
diff -C2 -d -r1.41 -r1.42
*** pythonscript.cpp 1 Jul 2004 16:30:56 -0000 1.41
--- pythonscript.cpp 20 Jul 2004 11:35:37 -0000 1.42
***************
*** 596,599 ****
--- 596,605 ----
}
+ stError* cPythonScriptable::setProperty( const QString& name, const cVariant& value )
+ {
+ // No settable properties are available for this class
+ PROPERTY_ERROR( -1, QString( "Property not found: '%1'" ).arg( name ) )
+ }
+
bool cPythonScript::isLoaded() const
{
***************
*** 773,786 ****
}
! stError* cPythonScriptable::setProperty( const QString& name, const cVariant& value )
! {
! // No settable properties are available for this class
! PROPERTY_ERROR( -1, QString( "Property not found: '%1'" ).arg( name ) )
! }
! stError* cPythonScriptable::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "classname", className() );
! PROPERTY_ERROR( -1, QString( "Property not found: '%1'" ).arg( name ) )
}
--- 779,787 ----
}
! PyObject* cPythonScriptable::getProperty(const QString& name) {
! PY_PROPERTY("classname", className());
! // Apparently the property hasn't been found
! return 0;
}
Index: corpse.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/corpse.cpp,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** corpse.cpp 7 Jul 2004 13:07:38 -0000 1.58
--- corpse.cpp 20 Jul 2004 11:35:36 -0000 1.59
***************
*** 336,352 ****
}
! stError* cCorpse::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "bodyid", bodyId_ )
! GET_PROPERTY( "hairstyle", hairStyle_ )
! GET_PROPERTY( "haircolor", hairColor_ )
! GET_PROPERTY( "beardstyle", beardStyle_ )
! GET_PROPERTY( "beardcolor", beardColor_ )
! GET_PROPERTY( "murderer", FindCharBySerial(murderer_) )
! GET_PROPERTY( "murdertime", (int) murdertime_ )
! GET_PROPERTY( "direction", (int) direction_ )
! GET_PROPERTY( "charbaseid", charbaseid_ )
!
! return cItem::getProperty( name, value );
}
--- 336,350 ----
}
! PyObject* cCorpse::getProperty(const QString& name) {
! PY_PROPERTY( "bodyid", bodyId_ )
! PY_PROPERTY( "hairstyle", hairStyle_ )
! PY_PROPERTY( "haircolor", hairColor_ )
! PY_PROPERTY( "beardstyle", beardStyle_ )
! PY_PROPERTY( "beardcolor", beardColor_ )
! PY_PROPERTY( "murderer", FindCharBySerial(murderer_) )
! PY_PROPERTY( "murdertime", murdertime_ )
! PY_PROPERTY( "direction", direction_ )
! PY_PROPERTY( "charbaseid", charbaseid_ )
! return cItem::getProperty(name);
}
Index: items.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/items.h,v
retrieving revision 1.205
retrieving revision 1.206
diff -C2 -d -r1.205 -r1.206
*** items.h 19 Jul 2004 23:19:11 -0000 1.205
--- items.h 20 Jul 2004 11:35:36 -0000 1.206
***************
*** 514,518 ****
void createTooltip( cUOTxTooltipList& tooltip, cPlayer* player );
virtual stError* setProperty( const QString& name, const cVariant& value );
! virtual stError* getProperty( const QString& name, cVariant& value );
////
--- 514,518 ----
void createTooltip( cUOTxTooltipList& tooltip, cPlayer* player );
virtual stError* setProperty( const QString& name, const cVariant& value );
! virtual PyObject* getProperty(const QString& name);
////
Index: corpse.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/corpse.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** corpse.h 5 Jul 2004 18:33:20 -0000 1.24
--- corpse.h 20 Jul 2004 11:35:36 -0000 1.25
***************
*** 115,119 ****
virtual stError* setProperty( const QString& name, const cVariant& value );
! virtual stError* getProperty( const QString& name, cVariant& value );
void createTooltip( cUOTxTooltipList& tooltip, cPlayer* player );
};
--- 115,119 ----
virtual stError* setProperty( const QString& name, const cVariant& value );
! PyObject* getProperty(const QString& name);
void createTooltip( cUOTxTooltipList& tooltip, cPlayer* player );
};
Index: npc.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/npc.h,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** npc.h 19 Jun 2004 02:06:51 -0000 1.51
--- npc.h 20 Jul 2004 11:35:37 -0000 1.52
***************
*** 121,125 ****
// other public methods
virtual stError* setProperty( const QString& name, const cVariant& value );
! virtual stError* getProperty( const QString& name, cVariant& value );
void setNextMoveTime( void );
virtual void callGuards(); // overriding
--- 121,125 ----
// other public methods
virtual stError* setProperty( const QString& name, const cVariant& value );
! PyObject *getProperty(const QString &name);
void setNextMoveTime( void );
virtual void callGuards(); // overriding
Index: player.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/player.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -C2 -d -r1.111 -r1.112
*** player.cpp 14 Jul 2004 21:57:32 -0000 1.111
--- player.cpp 20 Jul 2004 11:35:37 -0000 1.112
***************
*** 1232,1238 ****
}
! stError* cPlayer::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "account", ( account_ != 0 ) ? account_->login() : QString( "" ) )
/*
\rproperty controlslots The amount of controlslots currently used for this
--- 1232,1237 ----
}
! PyObject *cPlayer::getProperty(const QString& name) {
! PY_PROPERTY("account", account_)
/*
\rproperty controlslots The amount of controlslots currently used for this
***************
*** 1240,1264 ****
This property is only available for player objects.
*/
! else
! GET_PROPERTY( "controlslots", ( int ) controlslots() )
! else
! GET_PROPERTY( "logouttime", ( int ) logoutTime_ )
! else
! GET_PROPERTY( "npc", false )
! else
! GET_PROPERTY( "lightbonus", fixedLightLevel_ )
! else
! GET_PROPERTY( "objectdelay", ( int ) objectDelay_ )
! else
! GET_PROPERTY( "visrange", visualRange_ )
! else
! GET_PROPERTY( "profile", profile_ )
! else
! GET_PROPERTY( "strengthlock", strengthLock_ )
! else
! GET_PROPERTY( "dexteritylock", dexterityLock_ )
! else
! GET_PROPERTY( "intelligencelock", intelligenceLock_ )
! return cBaseChar::getProperty( name, value );
}
--- 1239,1253 ----
This property is only available for player objects.
*/
! PY_PROPERTY( "controlslots", controlslots() )
! PY_PROPERTY( "logouttime", logoutTime_ )
! PY_PROPERTY( "npc", false )
! PY_PROPERTY( "lightbonus", fixedLightLevel_ )
! PY_PROPERTY( "objectdelay", objectDelay_ )
! PY_PROPERTY( "visrange", visualRange_ )
! PY_PROPERTY( "profile", profile_ )
! PY_PROPERTY( "strengthlock", strengthLock_ )
! PY_PROPERTY( "dexteritylock", dexterityLock_ )
! PY_PROPERTY( "intelligencelock", intelligenceLock_ )
! return cBaseChar::getProperty(name);
}
Index: basechar.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/basechar.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -C2 -d -r1.73 -r1.74
*** basechar.h 5 Jul 2004 18:33:19 -0000 1.73
--- basechar.h 20 Jul 2004 11:35:36 -0000 1.74
***************
*** 244,248 ****
// Simple Property setting and getting for script engines.
stError* setProperty( const QString& name, const cVariant& value );
! stError* getProperty( const QString& name, cVariant& value );
void updateHealth( void );
void action( uchar id, uchar speed = 1, bool reverse = false ); // Do an action
--- 244,248 ----
// Simple Property setting and getting for script engines.
stError* setProperty( const QString& name, const cVariant& value );
! PyObject *getProperty(const QString &name);
void updateHealth( void );
void action( uchar id, uchar speed = 1, bool reverse = false ); // Do an action
Index: multi.h
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/multi.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** multi.h 2 Jun 2004 15:04:06 -0000 1.5
--- multi.h 20 Jul 2004 11:35:37 -0000 1.6
***************
*** 64,68 ****
// Property Interface Methods
stError* setProperty( const QString& name, const cVariant& value );
! stError* getProperty( const QString& name, cVariant& value );
// Python Interface Methods
--- 64,68 ----
// Property Interface Methods
stError* setProperty( const QString& name, const cVariant& value );
! PyObject *getProperty(const QString& name);
// Python Interface Methods
Index: npc.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/npc.cpp,v
retrieving revision 1.99
retrieving revision 1.100
diff -C2 -d -r1.99 -r1.100
*** npc.cpp 18 Jul 2004 19:58:20 -0000 1.99
--- npc.cpp 20 Jul 2004 11:35:37 -0000 1.100
***************
*** 819,873 ****
}
! stError* cNPC::getProperty( const QString& name, cVariant& value )
! {
! GET_PROPERTY( "nextmsgtime", ( int ) nextMsgTime_ )
! else
! GET_PROPERTY( "antispamtimer", ( int ) nextMsgTime_ )
! else
! GET_PROPERTY( "nextguardcalltime", ( int ) nextGuardCallTime_ )
! else
! GET_PROPERTY( "antiguardstimer", ( int ) nextGuardCallTime_ )
! else
! GET_PROPERTY( "stablemaster", stablemasterSerial_ )
! else
! GET_PROPERTY( "npc", true )
! else
! GET_PROPERTY( "nextmovetime", ( int ) nextMoveTime_ )
! else
! GET_PROPERTY( "npcmovetime", ( int ) nextMoveTime_ )
! else
! GET_PROPERTY( "wandertype", ( int ) wanderType() )
! else
! GET_PROPERTY( "wanderx1", wanderX1() )
! else
! GET_PROPERTY( "fx1", wanderX1() )
! else
! GET_PROPERTY( "wanderx2", wanderX2() )
! else
! GET_PROPERTY( "fx2", wanderX2() )
! else
! GET_PROPERTY( "wandery1", wanderY1() )
! else
! GET_PROPERTY( "fy1", wanderY1() )
! else
! GET_PROPERTY( "wandery2", wanderY2() )
! else
! GET_PROPERTY( "fy2", wanderY2() )
! else
! GET_PROPERTY( "wanderradius", wanderRadius() )
! else
! GET_PROPERTY( "fz1", wanderRadius() )
! else
! GET_PROPERTY( "summontime", ( int ) summonTime_ )
! else
! GET_PROPERTY( "summontimer", ( int ) summonTime_ )
! else
! GET_PROPERTY( "owner", owner_ )
! else
! GET_PROPERTY( "ai", aiid_ )
! else
! GET_PROPERTY( "summoned", ( int ) ( summoned() ? 1 : 0 ) )
!
! return cBaseChar::getProperty( name, value );
}
--- 819,848 ----
}
! PyObject *cNPC::getProperty(const QString& name) {
! PY_PROPERTY( "nextmsgtime", nextMsgTime_ )
! PY_PROPERTY( "antispamtimer", nextMsgTime_ )
! PY_PROPERTY( "nextguardcalltime", nextGuardCallTime_ )
! PY_PROPERTY( "antiguardstimer", nextGuardCallTime_ )
! PY_PROPERTY( "stablemaster", stablemasterSerial_ )
! PY_PROPERTY( "npc", true )
! PY_PROPERTY( "nextmovetime", nextMoveTime_ )
! PY_PROPERTY( "npcmovetime", nextMoveTime_ )
! PY_PROPERTY( "wandertype", wanderType() )
! PY_PROPERTY( "wanderx1", wanderX1() )
! PY_PROPERTY( "fx1", wanderX1() )
! PY_PROPERTY( "wanderx2", wanderX2() )
! PY_PROPERTY( "fx2", wanderX2() )
! PY_PROPERTY( "wandery1", wanderY1() )
! PY_PROPERTY( "fy1", wanderY1() )
! PY_PROPERTY( "wandery2", wanderY2() )
! PY_PROPERTY( "fy2", wanderY2() )
! PY_PROPERTY( "wanderradius", wanderRadius() )
! PY_PROPERTY( "fz1", wanderRadius() )
! PY_PROPERTY( "summontime", summonTime_ )
! PY_PROPERTY( "summontimer", summonTime_ )
! PY_PROPERTY( "owner", owner_ )
! PY_PROPERTY( "ai", aiid_ )
! PY_PROPERTY( "summoned", summoned() )
! return cBaseChar::getProperty(name);
}
|