64 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Title attribute");
68 PyErr_SetString(PyExc_TypeError,
"The Title attribute must be a string");
71 if (!PyArg_Parse(value,
"s", &val))
103 if (!PyArg_ParseTuple(args,
"s|i", &message, &color))
142 if (!PyArg_Parse(value,
"s", &location))
157 if (!PyArg_Parse(value,
"i", &x))
172 if (!PyArg_Parse(value,
"i", &y))
848 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Message attribute");
852 PyErr_SetString(PyExc_TypeError,
"The Message attribute must be a string");
855 if (!PyArg_Parse(value,
"s", &val))
867 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Name attribute");
871 PyErr_SetString(PyExc_TypeError,
"The Name attribute must be a string");
874 if (!PyArg_Parse(value,
"s", &val))
887 PyErr_SetString(PyExc_TypeError,
"Cannot delete the NamePl attribute");
891 PyErr_SetString(PyExc_TypeError,
"The NamePl attribute must be a string");
894 if (!PyArg_Parse(value,
"s", &val))
906 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Title attribute");
910 PyErr_SetString(PyExc_TypeError,
"The Title attribute must be a string");
913 if (!PyArg_Parse(value,
"s", &val))
925 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Race attribute");
929 PyErr_SetString(PyExc_TypeError,
"The Race attribute must be a string");
932 if (!PyArg_Parse(value,
"s", &val))
955 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Slaying attribute");
959 PyErr_SetString(PyExc_TypeError,
"The Slaying attribute must be a string");
962 if (!PyArg_Parse(value,
"s", &val))
974 PyErr_SetString(PyExc_TypeError,
"Cannot delete the Skill attribute");
978 PyErr_SetString(PyExc_TypeError,
"The Skill attribute must be a string");
981 if (!PyArg_Parse(value,
"s", &val))
992 if (!PyArg_Parse(value,
"i", &val))
1003 if (!PyArg_Parse(value,
"i", &val))
1014 if (!PyArg_Parse(value,
"i", &val))
1025 if (!PyArg_Parse(value,
"i", &val))
1037 if (!PyArg_Parse(value,
"i", &val))
1049 if (!PyArg_Parse(value,
"i", &val))
1061 if (!PyArg_Parse(value,
"i", &val))
1073 if (!PyArg_Parse(value,
"i", &val))
1085 if (!PyArg_Parse(value,
"i", &val))
1097 if (!PyArg_Parse(value,
"i", &val))
1109 if (!PyArg_Parse(value,
"i", &val))
1120 if (!PyArg_Parse(value,
"i", &val))
1131 if (!PyArg_Parse(value,
"i", &val))
1142 if (!PyArg_Parse(value,
"i", &val))
1153 if (!PyArg_Parse(value,
"i", &val))
1164 if (!PyArg_Parse(value,
"i", &val))
1175 if (!PyArg_Parse(value,
"i", &val))
1186 if (!PyArg_Parse(value,
"i", &val))
1197 if (!PyArg_Parse(value,
"i", &val))
1208 if (!PyArg_Parse(value,
"i", &val))
1219 if (!PyArg_Parse(value,
"i", &val))
1230 if (!PyArg_Parse(value,
"i", &val))
1241 if (!PyArg_Parse(value,
"i", &val))
1252 if (!PyArg_Parse(value,
"i", &val))
1263 if (!PyArg_Parse(value,
"s", &val))
1274 if (!PyArg_Parse(value,
"f", &val))
1286 if (!PyArg_Parse(value,
"f", &val))
1298 if (!PyArg_Parse(value,
"i", &val))
1302 PyErr_SetString(PyExc_TypeError,
"Invalid quantity");
1314 if (!PyArg_Parse(value,
"i", &val))
1326 if (!PyArg_Parse(value,
"i", &val))
1338 if (!PyArg_Parse(value,
"i", &val))
1350 if (!PyArg_Parse(value,
"s", &txt))
1355 PyErr_SetString(PyExc_TypeError,
"Unknown face.");
1368 if (!PyArg_Parse(value,
"s", &txt))
1373 PyErr_SetString(PyExc_TypeError,
"Unknown animation.");
1385 if (!PyArg_Parse(value,
"i", &val))
1396 if (!PyArg_Parse(value,
"i", &val))
1408 if (!PyArg_Parse(value,
"i", &val))
1419 if (!PyArg_Parse(value,
"i", &val))
1430 if (!PyArg_Parse(value,
"i", &val))
1441 if (!PyArg_ParseTuple(value,
"i", &val))
1452 if (!PyArg_Parse(value,
"i", &val))
1463 if (!PyArg_Parse(value,
"i", &val))
1474 if (!PyArg_Parse(value,
"i", &val))
1485 if (!PyArg_Parse(value,
"i", &val))
1496 if (!PyArg_Parse(value,
"i", &val))
1507 if (!PyArg_Parse(value,
"i", &val))
1518 if (!PyArg_Parse(value,
"i", &val))
1529 if (!PyArg_Parse(value,
"i", &val))
1540 if (!PyArg_Parse(value,
"i", &val))
1551 if (!PyArg_Parse(value,
"i", &val))
1562 if (!PyArg_Parse(value,
"i", &val))
1573 if (!PyArg_Parse(value,
"i", &val))
1584 if (!PyArg_Parse(value,
"i", &val))
1595 if (!PyArg_Parse(value,
"i", &val))
1606 if (!PyArg_Parse(value,
"i", &val))
1617 if (!PyArg_Parse(value,
"i", &val))
1628 if (!PyArg_Parse(value,
"i", &val))
1639 if (!PyArg_Parse(value,
"i", &val))
1650 if (!PyArg_Parse(value,
"i", &val))
1661 if (!PyArg_Parse(value,
"i", &val))
1672 if (!PyArg_Parse(value,
"i", &val))
1683 if (!PyArg_Parse(value,
"i", &val))
1694 if (!PyArg_Parse(value,
"i", &val))
1705 if (!PyArg_Parse(value,
"i", &val))
1716 if (!PyArg_Parse(value,
"i", &val))
1727 if (!PyArg_Parse(value,
"i", &val))
1738 if (!PyArg_Parse(value,
"i", &val))
1749 if (!PyArg_Parse(value,
"l", &val))
1760 if (!PyArg_Parse(value,
"i", &val))
1791 if (!PyArg_Parse(value,
"i", &val))
1802 if (!PyArg_Parse(value,
"i", &val))
1813 if (!PyArg_Parse(value,
"i", &val))
1824 if (!PyArg_Parse(value,
"i", &val))
1835 if (!PyArg_Parse(value,
"i", &val))
1846 if (!PyArg_Parse(value,
"L", &val))
1857 if (!PyArg_Parse(value,
"i", &val))
1868 if (!PyArg_Parse(value,
"i", &val))
1879 if (!PyArg_Parse(value,
"i", &val))
1955 return Py_BuildValue(
"i", val);
1967 victim = pcause->
obj;
1983 cause = pcause->
obj;
1986 return Py_BuildValue(
"i", result);
1993 if (!PyArg_ParseTuple(args,
"s", &message))
2004 if (!PyArg_ParseTuple(args,
"ii", &x, &y))
2023 if (!PyArg_ParseTuple(args,
"i", &resist))
2026 return Py_BuildValue(
"l", 0);
2035 if (!PyArg_ParseTuple(args,
"ii", &resist, &value))
2100 if (!PyArg_ParseTuple(args,
"s", &spellname))
2129 if (!PyArg_ParseTuple(args,
"L", &to_pay))
2134 return Py_BuildValue(
"i", val);
2147 return Py_BuildValue(
"i", val);
2155 if (!PyArg_ParseTuple(args,
"s", &keyname))
2160 return Py_BuildValue(
"s", val ? val :
"");
2169 if (!PyArg_ParseTuple(args,
"ss|i", &keyname, &value, &add_key))
2180 if (!PyArg_ParseTuple(args,
"li", &delay, &mode))
2191 if (!PyArg_ParseTuple(args,
"s", &whatstr))
2214 if (!PyArg_ParseTuple(args,
"s", &whatstr))
2217 for (tmp = who->
obj->
inv; tmp != NULL; tmp = tmp->
below) {
2218 if (!strcmp(tmp->
arch->
name, whatstr))
2228 if (!PyArg_ParseTuple(args,
"ii", &x, &y))
2239 if (!PyArg_ParseTuple(args,
"s", &txt))
2280 const char *skill = NULL;
2283 if (!PyArg_ParseTuple(args,
"L|si", &exp, &skill, &arg))
2294 if (!PyArg_ParseTuple(args,
"i", &dir))
2302 const char *message = NULL;
2315 op2 = activator->
obj;
2323 return (left->
obj < right->
obj ? -1 : (left->
obj == right->
obj ? 0 : 1));
2349 return (PyObject *)
self;
2361 return (PyObject *)
self;
2403 if (plwrap != NULL) {
2407 pyobj = (PyObject *)plwrap;
2410 if (wrapper != NULL) {
2411 wrapper->
obj = what;
2414 pyobj = (PyObject *)wrapper;
#define CFAPI_OBJECT_PROP_STR
#define CFAPI_OBJECT_PROP_MAP
static int Object_SetExp(Crossfire_Object *whoptr, PyObject *value, void *closure)
int cf_object_set_nrof(object *, int nrof)
static PyObject * Object_GetMessage(Crossfire_Object *whoptr, void *closure)
static int Object_SetUsedUp(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
sint64 cf_object_get_int64_property(object *op, int propcode)
static PyObject * Object_GetMaxGrace(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Event(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetSP(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetBelow(Crossfire_Object *whoptr, void *closure)
static void add_object_assoc(object *key, PyObject *value)
long cf_object_get_long_property(object *op, long propcode)
static PyObject * Object_GetWis(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_AddExp(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_NO_SAVE
#define CFAPI_OBJECT_PROP_ANIMATION
#define CFAPI_OBJECT_PROP_SP
static PyObject * Object_GetRunAway(Crossfire_Object *whoptr, void *closure)
PyObject_HEAD object * obj
CFPContext * current_context
static int Object_SetWeightLimit(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetDuration(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_NAME
#define CFAPI_OBJECT_PROP_OB_BELOW
static PyObject * Crossfire_Object_Pay(Crossfire_Object *who, PyObject *args)
object * cf_object_change_map(object *op, mapstruct *m, object *originator, int flag, int x, int y)
static PyObject * Player_GetBedX(Crossfire_Player *whoptr, void *closure)
static int Object_SetScared(Crossfire_Object *whoptr, PyObject *value, void *closure)
PyObject * Crossfire_Party_wrap(partylist *what)
static PyObject * Object_GetAbove(Crossfire_Object *whoptr, void *closure)
static int Object_SetLastSP(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_RACE
static PyObject * Crossfire_Object_CreateInside(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetFace(Crossfire_Object *whoptr, void *closure)
static int Object_SetCha(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Crossfire_Object_InternalCompare(Crossfire_Object *left, Crossfire_Object *right)
void cf_spring_trap(object *trap, object *victim)
static int Object_SetHitBack(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetCanUseScroll(Crossfire_Object *whoptr, void *closure)
static int Object_SetMaxGrace(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_CastAbility(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_ARCHETYPE
#define CFAPI_OBJECT_PROP_WEIGHT
static PyObject * Object_GetStealthy(Crossfire_Object *whoptr, void *closure)
static PyObject * find_assoc_pyobject(object *key)
#define CFAPI_OBJECT_PROP_ATTACK_TYPE
static int Object_SetMap(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_Apply(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_FACE
int cf_object_cast_ability(object *caster, object *ctoo, int dir, object *sp, char *flags)
const char * cf_object_get_key(object *op, const char *keyname)
static int Object_SetQuantity(Crossfire_Object *whoptr, PyObject *value, void *closure)
PyObject * Crossfire_Map_wrap(mapstruct *what)
static PyObject * Crossfire_Object_Drop(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetSlaying(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetInventory(Crossfire_Object *whoptr, void *closure)
static int Object_SetApplied(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetCanUseWeapon(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_CreateTimer(Crossfire_Object *who, PyObject *args)
static int Object_SetInvisible(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Player_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static int Object_SetNoSave(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_GOD
static PyObject * Object_GetInvisible(Crossfire_Object *whoptr, void *closure)
PyObject_HEAD partylist * party
#define CFAPI_OBJECT_PROP_DIRECTION
static int Object_SetFood(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetAC(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetAC(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Take(Crossfire_Object *who, PyObject *args)
static int Player_SetBedY(Crossfire_Player *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetMoveOn(Crossfire_Object *whoptr, void *closure)
void cf_object_set_flag(object *ob, int flag, int value)
#define CFAPI_OBJECT_PROP_MAXGP
static PyObject * Object_GetTurnable(Crossfire_Object *whoptr, void *closure)
static PyObject * Player_GetBedMap(Crossfire_Player *whoptr, void *closure)
static PyObject * Object_GetFacing(Crossfire_Object *whoptr, void *closure)
static int Player_SetParty(Crossfire_Player *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetArchetype(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Remove(Crossfire_Object *who, PyObject *args)
PyTypeObject Crossfire_MapType
static PyObject * Object_GetThrown(Crossfire_Object *whoptr, void *closure)
static int Object_SetSlaying(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetNoDamage(Crossfire_Object *whoptr, PyObject *value, void *closure)
object * cf_object_insert_in_ob(object *op, object *where)
static PyObject * Object_GetLastEat(Crossfire_Object *whoptr, void *closure)
partylist * cf_player_get_party(object *op)
static int Object_SetReflectMissiles(Crossfire_Object *whoptr, PyObject *value, void *closure)
ptr_assoc * ptr_assoc_table[PTR_ASSOC_TABLESIZE]
#define CFAPI_OBJECT_PROP_SUBTYPE
static PyObject * Object_GetCanUseHorn(Crossfire_Object *whoptr, void *closure)
static int Object_SetHP(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetBlocksView(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetBlind(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_INVENTORY
static int Object_SetAttackType(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetFood(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_NAME_PLURAL
static PyObject * Object_GetMonster(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Cast(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetMoveOff(Crossfire_Object *whoptr, void *closure)
sint16 cf_object_get_resistance(object *op, int rtype)
int cf_object_pay_item(object *op, object *pl)
static PyObject * Object_GetUnaggressive(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_OWNER
static PyObject * Object_GetNoDamage(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_GetResist(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetLevel(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Long(PyObject *obj)
#define CFAPI_OBJECT_PROP_MOVE_ON
static PyObject * Object_GetCanSeeInvisible(Crossfire_Object *whoptr, void *closure)
static int Object_SetSP(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_MESSAGE
static PyObject * Object_GetUndead(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_EXP_MULTIPLIER
static PyObject * Crossfire_Object_ReadKey(Crossfire_Object *who, PyObject *args)
void cf_fix_object(object *op)
static PyObject * Object_GetWeightLimit(Crossfire_Object *whoptr, void *closure)
static int Object_SetUnique(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetDuration(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_KnowSpell(Crossfire_Object *who, PyObject *args)
static PyObject * Crossfire_Player_CanPay(Crossfire_Player *who, PyObject *args)
static PyObject * Object_GetAttackType(Crossfire_Object *whoptr, void *closure)
object * cf_player_get_marked_item(object *op)
static PyObject * Object_GetCanSeeInDark(Crossfire_Object *whoptr, void *closure)
char * cf_object_get_string_property(object *op, int propcode, char *buf, int size)
static int Object_SetOwner(Crossfire_Object *whoptr, PyObject *value, void *closure)
PyTypeObject Crossfire_PlayerType
static PyObject * Object_GetPow(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_SetResist(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetQuantity(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_SLAYING
int cf_object_get_int_property(object *op, int propcode)
static int Object_SetStealthy(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetPow(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetIsPet(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetUnpaid(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetInt(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_LAST_SP
static PyObject * Player_GetParty(Crossfire_Player *whoptr, void *closure)
static PyObject * Object_GetBlocksView(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_LAST_GRACE
int cf_object_transfer(object *op, int x, int y, int randomly, object *originator)
void cf_object_forget_spell(object *op, object *sp)
#define CFAPI_OBJECT_PROP_COUNT
int cf_find_animation(const char *txt)
#define FLAG_KNOWN_MAGICAL
static PyObject * Object_GetRollable(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMoveBlock(Crossfire_Object *whoptr, void *closure)
float cf_object_get_float_property(object *op, int propcode)
void cf_object_learn_spell(object *op, object *spell, int special_prayer)
static PyObject * Object_GetStr(Crossfire_Object *whoptr, void *closure)
static int Object_SetNamePl(Crossfire_Object *whoptr, PyObject *value, void *closure)
int cf_object_check_trigger(object *op, object *cause)
static int Object_SetWC(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_QueryCost(Crossfire_Object *who, PyObject *args)
#define FLAG_SEE_INVISIBLE
sstring cf_object_get_sstring_property(object *op, int propcode)
static PyObject * Object_GetUsedUp(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetType(Crossfire_Object *whoptr, void *closure)
int cf_object_pay_amount(object *pl, uint64 to_pay)
#define CFAPI_PLAYER_PROP_BED_X
static int Object_SetGod(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetGrace(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_InsertInto(Crossfire_Object *who, PyObject *args)
static PyObject * Crossfire_Object_WriteKey(Crossfire_Object *who, PyObject *args)
static PyObject * Crossfire_Object_CheckInventory(Crossfire_Object *who, PyObject *args)
MoveType cf_object_get_movetype_property(object *op, int propcode)
void cf_player_set_marked_item(object *op, object *ob)
static int Object_SetDam(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetReflectSpells(Crossfire_Object *whoptr, void *closure)
int cf_player_can_pay(object *op)
PyObject_HEAD object * obj
#define CFAPI_OBJECT_PROP_FACING
static int Object_SetUndead(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetMakeInvisible(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_ActivateRune(Crossfire_Object *who, PyObject *args)
int cf_timer_create(object *ob, long delay, int mode)
#define CFAPI_OBJECT_PROP_ENVIRONMENT
static PyObject * Crossfire_Object_ForgetSpell(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_GP
static int Object_SetTitle(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_CHA
static PyObject * Object_GetMaxHP(Crossfire_Object *whoptr, void *closure)
static void Crossfire_Object_dealloc(PyObject *obj)
static int Player_SetTitle(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetConfused(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMakeInvisible(Crossfire_Object *whoptr, void *closure)
static ptr_assoc_table object_assoc_table
#define CFAPI_OBJECT_PROP_MOVE_SLOW_PENALTY
static PyObject * Object_GetY(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetCanUseSkill(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_INT
void cf_object_set_int_property(object *op, int propcode, int value)
static int Object_SetHasXRays(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_CheckTrigger(Crossfire_Object *who, PyObject *args)
int cf_object_query_cost(const object *tmp, object *who, int flag)
#define FLAG_CAN_USE_SKILL
#define CFAPI_OBJECT_PROP_LEVEL
#define CFAPI_PLAYER_PROP_BED_MAP
#define FLAG_UNAGGRESSIVE
static PyObject * Crossfire_Player_Message(Crossfire_Player *who, PyObject *args)
#define CFAPI_OBJECT_PROP_MOVE_ALLOW
#define EXISTCHECK_INT(ob)
static PyObject * Player_GetBedY(Crossfire_Player *whoptr, void *closure)
void cf_object_set_float_property(object *op, int propcode, float value)
int cf_object_user_event(object *op, object *activator, object *third, const char *message, int fix)
static PyObject * Object_GetDamned(Crossfire_Object *whoptr, void *closure)
static int Object_SetLastEat(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetIdentified(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Player_SetBedMap(Crossfire_Player *whoptr, PyObject *value, void *closure)
static int Object_SetCursed(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetMoveType(Crossfire_Object *whoptr, void *closure)
double cf_object_get_double_property(object *op, int propcode)
static PyObject * Object_GetCanUseRod(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetGodGiven(Crossfire_Object *whoptr, void *closure)
static int Object_SetReflectSpells(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetIdentified(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMap(Crossfire_Object *whoptr, void *closure)
static int Object_SetInt(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetLastGrace(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_FP
static int Object_SetKnownCursed(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetCursed(Crossfire_Object *whoptr, void *closure)
static int Object_SetRandomMovement(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetCount(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetFloor(Crossfire_Object *whoptr, void *closure)
static int Object_SetSkill(Crossfire_Object *whoptr, PyObject *value, void *closure)
sstring cf_query_name_pl(object *ob)
void cf_object_set_int64_property(object *op, int propcode, sint64 value)
static int Object_SetAttackMovement(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetArchName(Crossfire_Object *whoptr, void *closure)
static int Player_SetBedX(Crossfire_Player *whoptr, PyObject *value, void *closure)
static int Object_SetGlowRadius(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetExpMul(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetOwner(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_LAST_EAT
static int Object_SetLifesaver(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Player_GetTitle(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetGlowRadius(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Int(PyObject *obj)
PyObject * Crossfire_Object_wrap(object *what)
#define CFAPI_OBJECT_PROP_MOVE_OFF
#define CFAPI_OBJECT_PROP_WEIGHT_LIMIT
static PyObject * Object_GetNamePl(Crossfire_Object *whoptr, void *closure)
object * cf_object_insert_object(object *op, object *container)
static int Object_SetRace(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetCanPassThru(Crossfire_Object *whoptr, PyObject *value, void *closure)
void cf_object_say(object *op, char *msg)
static PyObject * Object_GetHP(Crossfire_Object *whoptr, void *closure)
PyObject_HEAD mapstruct * map
static PyObject * Object_GetDirection(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_X
static PyObject * Object_GetScared(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetExists(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetEnemy(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetCha(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetAnimated(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetFriendly(Crossfire_Object *whoptr, void *closure)
void * find_assoc_value(ptr_assoc **hash_table, void *key)
#define CFAPI_OBJECT_PROP_ENEMY
static PyObject * Object_GetExp(Crossfire_Object *whoptr, void *closure)
int cf_object_query_money(const object *op)
static int Object_SetKnownMagical(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetSpeed(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetStandStill(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetMoney(Crossfire_Object *whoptr, void *closure)
static int Object_SetDirection(Crossfire_Object *whoptr, PyObject *value, void *closure)
object * cf_object_present_archname_inside(object *op, char *whatstr)
static PyObject * Object_GetUnpaid(Crossfire_Object *whoptr, void *closure)
static int Object_SetConfused(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetName(Crossfire_Object *whoptr, void *closure)
#define FLAG_BEEN_APPLIED
static PyObject * Object_GetAnimSpeed(Crossfire_Object *whoptr, void *closure)
static int Object_SetGodGiven(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetEnemy(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetPickable(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetLastGrace(Crossfire_Object *whoptr, void *closure)
PyTypeObject Crossfire_PartyType
static int Object_SetFace(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetAnim(Crossfire_Object *whoptr, void *closure)
static PyObject * Crossfire_Object_Reposition(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetSpeed(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_EXP
int cf_find_face(const char *name, int error)
mapstruct * cf_object_get_map_property(object *op, int propcode)
static PyObject * Object_GetDam(Crossfire_Object *whoptr, void *closure)
void cf_object_remove(object *op)
static PyObject * Crossfire_Object_Move(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetApplied(Crossfire_Object *whoptr, void *closure)
void add_ptr_assoc(ptr_assoc **hash_table, void *key, void *value)
static const flag_definition flags[]
int cf_object_apply(object *op, object *author, int flags)
void init_ptr_assoc_table(ptr_assoc **hash_table)
#define CFAPI_OBJECT_PROP_PERM_EXP
static PyObject * Object_GetReflectMissiles(Crossfire_Object *whoptr, void *closure)
#define TYPEEXISTCHECK(ob)
static PyObject * Object_GetKnownCursed(Crossfire_Object *whoptr, void *closure)
#define FLAG_KNOWN_CURSED
void cf_player_set_party(object *op, partylist *party)
object * cf_object_get_object_property(object *op, int propcode)
static PyObject * Object_GetHitBack(Crossfire_Object *whoptr, void *closure)
static int Player_SetMarkedItem(Crossfire_Player *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_DAM
#define CFAPI_OBJECT_PROP_MOVE_TYPE
#define CFAPI_OBJECT_PROP_SKILL
static int Object_SetRunAway(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetWeight(Crossfire_Object *whoptr, PyObject *value, void *closure)
void cf_player_message(object *op, char *txt, int flags)
#define CFAPI_OBJECT_PROP_AC
static int Object_SetFacing(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetPickable(Crossfire_Object *whoptr, void *closure)
static int Object_SetName(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_PayAmount(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetMoveSlowPenalty(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMoveAllow(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMoveSlow(Crossfire_Object *whoptr, void *closure)
int cf_object_get_flag(object *ob, int flag)
static int Object_SetValue(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_Fix(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_SPEED_LEFT
int cf_object_move(object *op, int dir, object *originator)
static PyObject * Object_GetCanUseBow(Crossfire_Object *whoptr, void *closure)
static int Object_SetSpeedLeft(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_LearnSpell(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetAttackMovement(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetLastSP(Crossfire_Object *whoptr, void *closure)
sstring cf_player_get_ip(object *op)
static PyObject * Object_GetCanCastSpell(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_HP
#define CFAPI_OBJECT_PROP_TITLE
static int Object_SetGrace(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_PLAYER_PROP_BED_Y
static PyObject * Object_GetWeight(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_SPEED
#define CFAPI_OBJECT_PROP_FRIENDLY
static PyObject * Object_GetSubtype(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetWasDM(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_ANIM_SPEED
void cf_object_pickup(object *op, object *what)
void cf_object_drop(object *op, object *author)
#define CFAPI_OBJECT_PROP_LUCK
#define CFAPI_OBJECT_PROP_ARCH_NAME
static PyObject * Object_GetBlind(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_DEX
void cf_object_change_exp(object *op, sint64 exp, const char *skill_name, int flag)
static PyObject * Object_GetSpeedLeft(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_ATTACK_MOVEMENT
static int Object_SetTurnable(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_Say(Crossfire_Object *who, PyObject *args)
void free_ptr_assoc(ptr_assoc **hash_table, void *key)
#define CFAPI_OBJECT_PROP_CON
static PyObject * Object_GetSleeping(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetDM(Crossfire_Object *whoptr, void *closure)
static void Crossfire_Player_dealloc(PyObject *obj)
PyTypeObject Crossfire_ObjectType
void init_object_assoc_table(void)
static PyObject * Object_GetBeenApplied(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetRace(Crossfire_Object *whoptr, void *closure)
static int Object_SetCanSeeInDark(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_NROF
static PyObject * Object_GetKnownMagical(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetSkill(Crossfire_Object *whoptr, void *closure)
void cf_player_set_title(object *op, const char *title)
static PyObject * Object_GetPermExp(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_MAXSP
static PyObject * Object_GetGod(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetNoSave(Crossfire_Object *whoptr, void *closure)
PyObject * Crossfire_Archetype_wrap(archetype *what)
object * cf_object_check_for_spell(object *op, const char *name)
static PyObject * Object_GetCanUseRing(Crossfire_Object *whoptr, void *closure)
sstring cf_player_get_title(object *op)
#define CFAPI_OBJECT_PROP_INVISIBLE
static int Object_SetStr(Crossfire_Object *whoptr, PyObject *value, void *closure)
void cf_object_set_resistance(object *op, int rtype, sint16 value)
int cf_object_teleport(object *ob, mapstruct *map, int x, int y)
static PyObject * Crossfire_Object_GetOutOfMap(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_TYPE
static int Object_SetUnaggressive(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_POW
static int Object_SetMaxHP(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetDex(Crossfire_Object *whoptr, void *closure)
static int Object_SetDamned(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define was_destroyed(op, old_tag)
static int Object_SetMaxSP(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_GLOW_RADIUS
static PyObject * Object_GetLifesaver(Crossfire_Object *whoptr, void *closure)
archetype * cf_object_get_archetype_property(object *op, int propcode)
static int Object_SetDex(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetAnim(Crossfire_Object *whoptr, PyObject *value, void *closure)
void cf_object_set_string_property(object *op, int propcode, const char *value)
#define CFAPI_OBJECT_PROP_WC
static int Object_SetOnlyAttack(Crossfire_Object *whoptr, PyObject *value, void *closure)
static void free_object_assoc(object *key)
void cf_object_set_long_property(object *op, int propcode, long value)
static int Object_SetAnimated(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetFriendly(Crossfire_Object *whoptr, PyObject *value, void *closure)
#define CFAPI_OBJECT_PROP_MOVE_SLOW
static PyObject * Player_GetIP(Crossfire_Player *whoptr, void *closure)
static int Object_SetRollable(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetCanUseWand(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetHasXRays(Crossfire_Object *whoptr, void *closure)
#define CF_IS_PYSTR(cfpy_obj)
#define CFAPI_OBJECT_PROP_MAXHP
static PyObject * Object_GetLuck(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetEnv(Crossfire_Object *whoptr, void *closure)
void cf_object_free(object *ob)
static PyObject * Object_GetCanUseArmour(Crossfire_Object *whoptr, void *closure)
int cf_object_out_of_map(object *op, int x, int y)
int cf_object_change_abil(object *op, object *tmp)
static PyObject * Crossfire_Object_QueryName(Crossfire_Object *who, PyObject *args)
static int Object_SetCon(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Crossfire_Object_Teleport(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_VALUE
static PyObject * Player_GetMarkedItem(Crossfire_Player *whoptr, void *closure)
#define FLAG_REFL_MISSILE
static PyObject * Object_GetUnique(Crossfire_Object *whoptr, void *closure)
static int Object_SetCanSeeInvisible(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetMessage(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetValue(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_WIS
#define CFAPI_OBJECT_PROP_DURATION
static PyObject * Object_GetRandomMovement(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_OB_ABOVE
object * cf_create_object_by_name(const char *name)
char * cf_query_name(object *ob, char *name, int size)
static PyObject * Crossfire_Object_CheckArchInventory(Crossfire_Object *who, PyObject *args)
#define CFAPI_OBJECT_PROP_Y
static PyObject * Object_GetCon(Crossfire_Object *whoptr, void *closure)
int cf_object_cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg)
static PyObject * Object_GetOnlyAttack(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetMaxSP(Crossfire_Object *whoptr, void *closure)
static int Object_SetWis(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetIsPet(Crossfire_Object *whoptr, void *closure)
static int Object_SetSleeping(Crossfire_Object *whoptr, PyObject *value, void *closure)
static int Object_SetAnimSpeed(Crossfire_Object *whoptr, PyObject *value, void *closure)
static PyObject * Object_GetGenerator(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetAlive(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetX(Crossfire_Object *whoptr, void *closure)
#define CFAPI_OBJECT_PROP_MOVE_BLOCK
static PyObject * Object_GetTitle(Crossfire_Object *whoptr, void *closure)
void cf_object_set_object_property(object *op, int propcode, object *value)
static PyObject * Crossfire_Object_ChangeAbil(Crossfire_Object *who, PyObject *args)
static PyObject * Object_GetWC(Crossfire_Object *whoptr, void *closure)
static PyObject * Object_GetStandStill(Crossfire_Object *whoptr, void *closure)
int cf_object_set_key(object *op, const char *keyname, const char *value, int add_key)
static PyObject * Object_GetSplitting(Crossfire_Object *whoptr, void *closure)