Crossfire Server, Branch 1.12  R12190
Defines | Functions
plugin_common.h File Reference
#include <plugin.h>
Include dependency graph for plugin_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define CF_PLUGIN
#define PLUGIN_ERROR_INT   0x0FFFFF

Functions

sstring cf_add_string (const char *str)
 Wrapper for add_string().
object * cf_archetype_get_clone (archetype *arch)
 Get clone of archetype.
archetype * cf_archetype_get_first (void)
 Get first archetype.
archetype * cf_archetype_get_head (archetype *arch)
 Get head of archetype.
archetype * cf_archetype_get_more (archetype *arch)
 Get next part of archetype.
sstring cf_archetype_get_name (archetype *arch)
 Get archetype's name.
archetype * cf_archetype_get_next (archetype *arch)
 Get next archetype in linked list.
object * cf_create_object (void)
 Wrapper for get_object().
object * cf_create_object_by_name (const char *name)
 Wrapper for create_archetype() and create_archetype_by_object_name().
int cf_find_animation (const char *txt)
 Wrapper for find_animation().
int cf_find_face (const char *name, int error)
 Wrapper for find_face().
sstring cf_find_string (const char *str)
void cf_fix_object (object *op)
 Wrapper for fix_object().
void cf_free_string (sstring str)
 Wrapper for free_string().
object * cf_friendlylist_get_first (void)
 Get first object on friendly list.
object * cf_friendlylist_get_next (object *ob)
 Get next object on friendly list.
const char * cf_get_directory (int id)
 Gets a directory Crossfire uses.
mapstructcf_get_empty_map (int sizex, int sizey)
 Wrapper for get_empty_map().
char * cf_get_maps_directory (const char *name, char *buf, int size)
 Wrapper for create_pathname().
const char * cf_get_month_name (int index)
const char * cf_get_periodofday_name (int index)
const char * cf_get_season_name (int index)
void cf_get_time (timeofday_t *tod)
const char * cf_get_weekday_name (int index)
int cf_init_plugin (f_plug_api getHooks)
void cf_log (LogLevel logLevel, const char *format,...)
 Wrapper for LOG().
void cf_log_plain (LogLevel logLevel, const char *message)
 Wrapper for LOG() that uses directly a buffer, without format.
int cf_map_change_light (mapstruct *m, int change)
 Wrapper for change_map_light().
int cf_map_get_darkness (mapstruct *map)
int cf_map_get_difficulty (mapstruct *map)
int cf_map_get_enter_x (mapstruct *map)
int cf_map_get_enter_y (mapstruct *map)
mapstructcf_map_get_first (void)
 Gives access to first_map.
int cf_map_get_flags (mapstruct *oldmap, mapstruct **newmap, sint16 x, sint16 y, sint16 *nx, sint16 *ny)
 Wrapper for get_map_flags().
int cf_map_get_height (mapstruct *map)
int cf_map_get_int_property (mapstruct *map, int property)
int cf_map_get_light (mapstruct *map)
mapstructcf_map_get_map (const char *name, int flags)
 Wrapper for ready_map_name().
mapstructcf_map_get_map_property (mapstruct *map, int propcode)
object * cf_map_get_object_at (mapstruct *m, int x, int y)
 Wrapper for GET_MAP_OB().
int cf_map_get_players (mapstruct *map)
regioncf_map_get_region_property (mapstruct *map, int propcode)
int cf_map_get_reset_time (mapstruct *map)
int cf_map_get_reset_timeout (mapstruct *map)
sstring cf_map_get_sstring_property (mapstruct *map, int propcode)
int cf_map_get_width (mapstruct *map)
mapstructcf_map_has_been_loaded (const char *name)
 Wrapper for has_been_loaded().
object * cf_map_insert_object (mapstruct *where, object *op, int x, int y)
 Wrapper for insert_ob_in_map_at().
object * cf_map_insert_object_there (object *op, mapstruct *m, object *originator, int flag)
 Wrapper for insert_ob_in_map().
void cf_map_message (mapstruct *m, const char *msg, int color)
 Partial wrapper for ext_info_map().
object * cf_map_present_arch_by_name (const char *str, mapstruct *map, int nx, int ny)
 Kinda wrapper for arch_present().
void cf_map_set_int_property (mapstruct *map, int propcode, int value)
void cf_map_set_string_property (mapstruct *map, int propcode, const char *value)
void cf_map_trigger_connected (objectlink *ol, object *cause, int state)
 Wrapper for trigger_connected().
int cf_object_apply (object *op, object *author, int flags)
 Wrapper for manual_apply().
void cf_object_apply_below (object *pl)
 Wrapper for player_apply_below().
int cf_object_cast_ability (object *caster, object *ctoo, int dir, object *sp, char *flags)
 Should there be a difference nowadays between that and cast_spell ?
int cf_object_cast_spell (object *op, object *caster, int dir, object *spell_ob, char *stringarg)
 Wrapper for cast_spell().
int cf_object_change_abil (object *op, object *tmp)
 Wrapper for change_abil().
void cf_object_change_exp (object *op, sint64 exp, const char *skill_name, int flag)
 Wrapper for change_exp().
object * cf_object_change_map (object *op, mapstruct *m, object *originator, int flag, int x, int y)
 Wrapper for insert_ob_in_map_at().
object * cf_object_check_for_spell (object *op, const char *name)
 Wrapper for check_spell_known().
int cf_object_check_trigger (object *op, object *cause)
 Wrapper for check_trigger().
object * cf_object_clone (object *op, int clonetype)
 Clone an object.
void cf_object_drop (object *op, object *author)
void cf_object_forget_spell (object *op, object *sp)
 Wrapper for do_forget_spell(), except takes an object, not a string.
void cf_object_free (object *ob)
 Wrapper for free_object().
archetype * cf_object_get_archetype_property (object *op, int propcode)
double cf_object_get_double_property (object *op, int propcode)
int cf_object_get_flag (object *ob, int flag)
float cf_object_get_float_property (object *op, int propcode)
sint64 cf_object_get_int64_property (object *op, int propcode)
int cf_object_get_int_property (object *op, int propcode)
const char * cf_object_get_key (object *op, const char *keyname)
 Gets value for specified key, equivalent of get_ob_key_value().
long cf_object_get_long_property (object *op, long propcode)
mapstructcf_object_get_map_property (object *op, int propcode)
MoveType cf_object_get_movetype_property (object *op, int propcode)
const char * cf_object_get_msg (object *)
int cf_object_get_nrof (object *)
object * cf_object_get_object_property (object *op, int propcode)
partylistcf_object_get_partylist_property (object *op, int propcode)
sint16 cf_object_get_resistance (object *op, int rtype)
sstring cf_object_get_sstring_property (object *op, int propcode)
char * cf_object_get_string_property (object *op, int propcode, char *buf, int size)
int cf_object_get_weight (object *ob)
int cf_object_get_weight_limit (object *ob)
object * cf_object_insert_in_ob (object *op, object *where)
 Wrapper for insert_ob_in_ob().
object * cf_object_insert_object (object *op, object *container)
void cf_object_learn_spell (object *op, object *spell, int special_prayer)
 Wrapper for do_learn_spell().
int cf_object_move (object *op, int dir, object *originator)
int cf_object_move_to (object *op, int x, int y)
 Wrapper for move_to().
int cf_object_out_of_map (object *op, int x, int y)
int cf_object_pay_amount (object *pl, uint64 to_pay)
 Wrapper for pay_for_amount().
int cf_object_pay_item (object *op, object *pl)
 Wrapper for pay_for_item().
void cf_object_pickup (object *op, object *what)
object * cf_object_present_archname_inside (object *op, char *whatstr)
 Kinda wrapper for present_arch_in_ob().
int cf_object_query_cost (const object *tmp, object *who, int flag)
 Wrapper for query_cost().
int cf_object_query_money (const object *op)
 Wrapper for query_money().
void cf_object_remove (object *op)
 Wrapper for remove_ob().
void cf_object_say (object *op, char *msg)
void cf_object_set_flag (object *ob, int flag, int value)
void cf_object_set_float_property (object *op, int propcode, float value)
void cf_object_set_int64_property (object *op, int propcode, sint64 value)
void cf_object_set_int_property (object *op, int propcode, int value)
int cf_object_set_key (object *op, const char *keyname, const char *value, int add_key)
 Sets a value for specified key, equivalent to set_ob_key_value().
void cf_object_set_long_property (object *op, int propcode, long value)
void cf_object_set_movetype_property (object *op, int propcode, MoveType value)
int cf_object_set_nrof (object *, int nrof)
void cf_object_set_object_property (object *op, int propcode, object *value)
void cf_object_set_resistance (object *op, int rtype, sint16 value)
void cf_object_set_string_property (object *op, int propcode, const char *value)
void cf_object_set_weight (object *ob, int weight)
void cf_object_set_weight_limit (object *ob, int weight)
int cf_object_teleport (object *ob, mapstruct *map, int x, int y)
int cf_object_transfer (object *op, int x, int y, int randomly, object *originator)
 Wrapper for transfer_ob().
void cf_object_update (object *op, int flags)
int cf_object_user_event (object *op, object *activator, object *third, const char *message, int fix)
partylistcf_party_get_first (void)
 Get first party.
playercf_party_get_first_player (partylist *party)
 Get first player in party.
const char * cf_party_get_name (partylist *party)
partylistcf_party_get_next (partylist *party)
 Get next party in party list.
playercf_party_get_next_player (partylist *party, player *op)
 Get next player in party.
const char * cf_party_get_password (partylist *party)
 Get party's password.
int cf_player_can_pay (object *op)
 Wrapper for can_pay().
playercf_player_find (const char *plname)
 Wrapper for find_player_partial_name().
sstring cf_player_get_ip (object *op)
object * cf_player_get_marked_item (object *op)
partylistcf_player_get_party (object *op)
sstring cf_player_get_title (object *op)
void cf_player_message (object *op, char *txt, int flags)
int cf_player_move (player *pl, int dir)
void cf_player_set_marked_item (object *op, object *ob)
void cf_player_set_party (object *op, partylist *party)
void cf_player_set_title (object *op, const char *title)
char * cf_query_base_name (object *ob, int plural, char *name, int size)
char * cf_query_name (object *ob, char *name, int size)
sstring cf_query_name_pl (object *ob)
mapstructcf_random_map_generate (const char *OutFileName, RMParms *RP, char **use_layout)
 Wrapper for generate_random_map().
int cf_random_map_set_variable (RMParms *rp, const char *buf)
 Wrapper for set_random_map_variable().
const char * cf_re_cmp (const char *str, const char *regexp)
 Wrapper for re_cmp().
regioncf_region_get_first (void)
 Get first region in region list.
const char * cf_region_get_longname (region *reg)
 Get longname of region.
const char * cf_region_get_message (region *reg)
 Get message of region.
const char * cf_region_get_name (region *reg)
 Get name of region.
regioncf_region_get_next (region *reg)
 Get next region in region list.
regioncf_region_get_parent (region *reg)
 Get parent of region.
void cf_spring_trap (object *trap, object *victim)
 Wrapper for spring_trap().
char * cf_strdup_local (const char *str)
 Wrapper for strdup_local().
void cf_system_register_global_event (int event, const char *name, f_plug_api hook)
void cf_system_unregister_global_event (int event, const char *name)
int cf_timer_create (object *ob, long delay, int mode)
 Creates a timer, equivalent of calling cftimer_create().
int cf_timer_destroy (int id)
 Destroys specified timer, equivalent of calling cftimer_destroy().

Define Documentation

#define CF_PLUGIN

Definition at line 35 of file plugin_common.h.

#define PLUGIN_ERROR_INT   0x0FFFFF

Definition at line 40 of file plugin_common.h.


Function Documentation

sstring cf_add_string ( const char *  str)

Wrapper for add_string().

This will add 'str' to the hash table.

If there's no entry for this string, a copy will be allocated, and a pointer to that is returned.

Parameters:
strstring to share.
Returns:
pointer to string identical to str, but shared.

Definition at line 998 of file plugin_common.c.

References CFAPI_SSTRING, and cfapiSystem_add_string.

Referenced by compilePython(), get_npc(), initapplyobject(), initpickupobject(), and start_animation().

Here is the caller graph for this function:

object* cf_archetype_get_clone ( archetype *  arch)

Get clone of archetype.

Parameters:
archarchetype, mustn't be NULL.
Returns:
archetype's clone. Will never be NULL.

Definition at line 1584 of file plugin_common.c.

References CFAPI_ARCH_PROP_CLONE, CFAPI_POBJECT, and cfapiArchetype_get_property.

Referenced by Crossfire_Archetype_GetClone().

Here is the caller graph for this function:

archetype* cf_archetype_get_first ( void  )

Get first archetype.

Returns:
first archetype in the archetype list.

Definition at line 1503 of file plugin_common.c.

References CFAPI_ARCH_PROP_NEXT, CFAPI_PARCH, and cfapiArchetype_get_property.

Referenced by getArchetypes().

Here is the caller graph for this function:

archetype* cf_archetype_get_head ( archetype *  arch)

Get head of archetype.

Parameters:
archarchetype, mustn't be NULL.
Returns:
archetype's head field.

Definition at line 1568 of file plugin_common.c.

References CFAPI_ARCH_PROP_HEAD, CFAPI_PARCH, and cfapiArchetype_get_property.

Referenced by Crossfire_Archetype_GetHead().

Here is the caller graph for this function:

archetype* cf_archetype_get_more ( archetype *  arch)

Get next part of archetype.

Parameters:
archarchetype, mustn't be NULL.
Returns:
archetype's more field.

Definition at line 1552 of file plugin_common.c.

References CFAPI_ARCH_PROP_MORE, CFAPI_PARCH, and cfapiArchetype_get_property.

Referenced by Crossfire_Archetype_GetMore().

Here is the caller graph for this function:

sstring cf_archetype_get_name ( archetype *  arch)

Get archetype's name.

Parameters:
archarchetype, mustn't be NULL.
Returns:
archetype's name.

Definition at line 1519 of file plugin_common.c.

References CFAPI_ARCH_PROP_NAME, CFAPI_SSTRING, and cfapiArchetype_get_property.

Referenced by Crossfire_Archetype_GetName(), and Crossfire_Archetype_GetNewObject().

Here is the caller graph for this function:

archetype* cf_archetype_get_next ( archetype *  arch)

Get next archetype in linked list.

Parameters:
archarchetype for which we want the next. Can be NULL, in which case it is equivalent to calling cf_archetype_get_first().
Returns:
next archetype.

Definition at line 1536 of file plugin_common.c.

References CFAPI_ARCH_PROP_NEXT, CFAPI_PARCH, and cfapiArchetype_get_property.

Referenced by Crossfire_Archetype_GetNext(), and getArchetypes().

Here is the caller graph for this function:

object* cf_create_object ( void  )

Wrapper for get_object().

Grabs an object from the list of unused objects, makes sure it is initialised, and returns it.

If there are no free objects, expand_objects() is called to get more.

Returns:
cleared and ready to use object*.
Note:
will never fail, as expand_objects() will fatal() if memory allocation error.
.

Definition at line 912 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_create.

Referenced by createCFObject().

Here is the caller graph for this function:

object* cf_create_object_by_name ( const char *  name)
int cf_find_animation ( const char *  name)

Wrapper for find_animation().

Finds the animation id that matches name.

Will LOG() an error if not found.

Parameters:
namethe animation's name.
Returns:
animation number, or 0 if no match found (animation 0 is initialized as the 'bug' face).
See also:
try_find_animation
.

Definition at line 1315 of file plugin_common.c.

References CFAPI_INT, and cfapiSystem_find_animation.

Referenced by findAnimation(), and Object_SetAnim().

Here is the caller graph for this function:

int cf_find_face ( const char *  name,
int  error 
)

Wrapper for find_face().

This returns an the face number of face 'name'.

Number is constant during an invocation, but not necessarily between versions (this is because the faces are arranged in alphabetical order, so if a face is removed or added, all faces after that will now have a different number.

Parameters:
nameface to search for
errorvalue to return if face was not found.
Note:
If a face is not found, then error is returned. This can be useful if you want some default face used, or can be set to negative so that it will be known that the face could not be found (needed in client, so that it will know to request that image from the server)
.

Definition at line 1327 of file plugin_common.c.

References CFAPI_INT, and cfapiSystem_find_face.

Referenced by findFace(), and Object_SetFace().

Here is the caller graph for this function:

sstring cf_find_string ( const char *  str)

Definition at line 1020 of file plugin_common.c.

References CFAPI_SSTRING, and cfapiSystem_find_string.

Referenced by find_by_name().

Here is the caller graph for this function:

void cf_fix_object ( object *  op)

Wrapper for fix_object().

Updates all abilities given by applied objects in the inventory of the given object.

This functions starts from base values (archetype or player object) and then adjusts them according to what the player/monster has equipped.

Note that a player always has stats reset to their initial value.

July 95 - inserted stuff to handle new skills/exp system - b.t. spell system split, grace points now added to system --peterm

November 2006: max armor speed is always taken into account, no exception.

Parameters:
opobject to reset.
Todo:
this function is too long, and should be cleaned / split.

Definition at line 987 of file plugin_common.c.

References cfapiObject_fix.

Referenced by Crossfire_Object_Fix().

Here is the caller graph for this function:

void cf_free_string ( sstring  str)

Wrapper for free_string().

This will reduce the refcount, and if it has reached 0, str will be freed.

Parameters:
strstring to release, which *must *have been returned from a previous add_string().
Note:
the memory pointed to by str can be freed after this call, so don't use str anymore.

Definition at line 1013 of file plugin_common.c.

References cfapiSystem_remove_string.

Referenced by compilePython(), runapplyobject(), rundropobject(), runpickupobject(), and start_animation().

Here is the caller graph for this function:

object* cf_friendlylist_get_first ( void  )

Get first object on friendly list.

Returns:
first object on friendly list.

Definition at line 1791 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiFriendlylist_get_next.

Referenced by getFriendlyList().

Here is the caller graph for this function:

object* cf_friendlylist_get_next ( object *  ob)

Get next object on friendly list.

Parameters:
obobject we want the next of. If NULL then equivalent of cf_friendlylist_get_first().
Returns:
next object.

Definition at line 1807 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiFriendlylist_get_next.

Referenced by getFriendlyList().

Here is the caller graph for this function:

const char* cf_get_directory ( int  id)

Gets a directory Crossfire uses.

Parameters:
idwhat directory to return:
  1. Where the map files are.

  2. Directory for the unique items.

  3. Directory to use for temporary files.

  4. Configuration files.

  5. Read/write data files.

  6. Where the player files are.

  7. Read only data files.

Returns:
directory. Must not be altered. NULL if invalid value.

Definition at line 961 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_directory.

Referenced by getConfigDirectory(), getDataDirectory(), getLocalDirectory(), getMapDirectory(), getPlayerDirectory(), getTempDirectory(), getUniqueDirectory(), and postInitPlugin().

Here is the caller graph for this function:

mapstruct* cf_get_empty_map ( int  sizex,
int  sizey 
)

Wrapper for get_empty_map().

Creates and returns a map of the specific size.

Used in random map code and the editor.

Parameters:
sizex
sizeymap size.
Returns:
new map.
Note:
will never return NULL, as get_linked_map() never fails.
.

Definition at line 777 of file plugin_common.c.

References CFAPI_PMAP, and cfapiMap_get_map.

Referenced by createMap().

Here is the caller graph for this function:

char* cf_get_maps_directory ( const char *  name,
char *  buf,
int  size 
)

Wrapper for create_pathname().

This makes a path absolute outside the world of Crossfire.

In other words, it prepends LIBDIR/MAPDIR/ to the given path and returns the pointer to a static array containing the result. it really should be called create_mapname

Parameters:
namepath of the map.
bufbuffer that will contain the full path.
sizebuffer's length.
Returns:
buf.

Definition at line 900 of file plugin_common.c.

References CFAPI_STRING, and cfapiMap_create_path.

Referenced by cfpython_globalEventListener(), cfpython_runPluginCommand(), eventListener(), and postInitPlugin().

Here is the caller graph for this function:

const char* cf_get_month_name ( int  index)

Definition at line 1382 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_get_month_name.

Referenced by getMonthName().

Here is the caller graph for this function:

const char* cf_get_periodofday_name ( int  index)

Definition at line 1400 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_get_periodofday_name.

Referenced by getPeriodofdayName().

Here is the caller graph for this function:

const char* cf_get_season_name ( int  index)

Definition at line 1373 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_get_season_name.

Referenced by getSeasonName().

Here is the caller graph for this function:

void cf_get_time ( timeofday_t tod)

Definition at line 1366 of file plugin_common.c.

References CFAPI_NONE, and cfapiSystem_get_time.

Referenced by get_newspaper_content(), getTime(), and store_time().

Here is the caller graph for this function:

const char* cf_get_weekday_name ( int  index)

Definition at line 1391 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_get_weekday_name.

Referenced by getWeekdayName().

Here is the caller graph for this function:

int cf_init_plugin ( f_plug_api  getHooks)

Definition at line 134 of file plugin_common.c.

References cfapiArchetype_get_property, cfapiFriendlylist_get_next, cfapiGenerate_random_map, cfapiMap_change_light, cfapiMap_create_path, cfapiMap_get_map, cfapiMap_get_object_at, cfapiMap_get_property, cfapiMap_has_been_loaded, cfapiMap_message, cfapiMap_present_arch_by_name, cfapiMap_set_property, cfapiMap_trigger_connected, cfapiObject_activate_rune, cfapiObject_apply, cfapiObject_apply_below, cfapiObject_cast, cfapiObject_change_abil, cfapiObject_change_exp, cfapiObject_check_spell, cfapiObject_check_trigger, cfapiObject_clear, cfapiObject_clone, cfapiObject_create, cfapiObject_delete, cfapiObject_describe, cfapiObject_distance, cfapiObject_drain, cfapiObject_drop, cfapiObject_find, cfapiObject_find_archetype_inside, cfapiObject_fix, cfapiObject_forget_spell, cfapiObject_get_key, cfapiObject_get_property, cfapiObject_give_skill, cfapiObject_identify, cfapiObject_insert, cfapiObject_learn_spell, cfapiObject_merge, cfapiObject_move, cfapiObject_out_of_map, cfapiObject_pay_amount, cfapiObject_pay_item, cfapiObject_pickup, cfapiObject_query_cost, cfapiObject_query_money, cfapiObject_remove, cfapiObject_reset, cfapiObject_say, cfapiObject_set_key, cfapiObject_set_property, cfapiObject_split, cfapiObject_teleport, cfapiObject_transfer, cfapiObject_transmute, cfapiObject_update, cfapiObject_user_event, cfapiParty_get_property, cfapiPlayer_can_pay, cfapiPlayer_find, cfapiPlayer_message, cfapiRegion_get_property, cfapiSet_random_map_variable, cfapiSystem_add_string, cfapiSystem_directory, cfapiSystem_find_animation, cfapiSystem_find_face, cfapiSystem_find_string, cfapiSystem_get_month_name, cfapiSystem_get_periodofday_name, cfapiSystem_get_season_name, cfapiSystem_get_time, cfapiSystem_get_weekday_name, cfapiSystem_log, cfapiSystem_re_cmp, cfapiSystem_register_global_event, cfapiSystem_remove_string, cfapiSystem_strdup_local, cfapiSystem_timer_create, cfapiSystem_timer_destroy, cfapiSystem_unregister_global_event, and GET_HOOK.

Referenced by initPlugin().

Here is the caller graph for this function:

void cf_log ( LogLevel  logLevel,
const char *  format,
  ... 
)

Wrapper for LOG().

Logs a message to stderr, or to file.

Or discards the message if it is of no importance, and none have asked to hear messages of that logLevel.

See include/logger.h for possible logLevels. Messages with llevInfo and llevError are always printed, regardless of debug mode.

Parameters:
logLevellevel of the message
formatmessage to log. Works like printf() and such
.

Definition at line 1339 of file plugin_common.c.

References CFAPI_NONE, and cfapiSystem_log.

Referenced by add_npc_to_random_map(), add_npcs_to_map(), animate_one(), cfpython_globalEventListener(), cfpython_runPluginCommand(), check_tables(), closePlugin(), compilePython(), do_kills(), do_sql(), eventListener(), get_newspaper_content(), get_npc(), globalEventListener(), initghosted(), initPlugin(), initsay(), initteleport(), initvisible(), initwizard(), is_animated_player(), log_message(), Map_Check(), Map_TriggerConnected(), parse_animation_block(), postInitPlugin(), runcamera(), runfire(), runmovement(), runsay(), runstop(), runturn(), and start_animation().

Here is the caller graph for this function:

void cf_log_plain ( LogLevel  logLevel,
const char *  message 
)

Wrapper for LOG() that uses directly a buffer, without format.

Definition at line 1359 of file plugin_common.c.

References CFAPI_NONE, and cfapiSystem_log.

int cf_map_change_light ( mapstruct m,
int  change 
)

Wrapper for change_map_light().

Used to change map light level (darkness) up or down.

It should now be possible to change a value by more than 1.

Move this from los.c to map.c since this is more related to maps than los. postive values make it darker, negative make it brighter

Will inform players on the map.

Parameters:
mmap to change.
changedelta of light.
Returns:
TRUE if light changed, FALSE else.
.

Definition at line 1237 of file plugin_common.c.

References CFAPI_INT, and cfapiMap_change_light.

Referenced by Map_ChangeLight().

Here is the caller graph for this function:

Definition at line 1213 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_DARKNESS.

Referenced by Map_GetDarkness().

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1197 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_DIFFICULTY.

Referenced by Map_GetDifficulty().

Here is the call graph for this function:

Here is the caller graph for this function:

int cf_map_get_enter_x ( mapstruct map)

Definition at line 1225 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_ENTER_X.

Referenced by Map_GetEnterY().

Here is the call graph for this function:

Here is the caller graph for this function:

int cf_map_get_enter_y ( mapstruct map)

Definition at line 1229 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_ENTER_Y.

Here is the call graph for this function:

Gives access to first_map.

Returns:
first_map.

Definition at line 804 of file plugin_common.c.

References cf_map_get_map_property(), and CFAPI_MAP_PROP_NEXT.

Referenced by getMaps().

Here is the call graph for this function:

Here is the caller graph for this function:

int cf_map_get_flags ( mapstruct oldmap,
mapstruct **  newmap,
sint16  x,
sint16  y,
sint16 nx,
sint16 ny 
)

Wrapper for get_map_flags().

This rolls up wall, blocks_magic, blocks_view, etc, all into one function that just returns a P_.

. value (see map.h) it will also do map translation for tiled maps, returning new values into newmap, nx, and ny. Any and all of those values can be null, in which case if a new map is needed (returned by a P_NEW_MAP value, another call to get_map_from_coord is needed. The case of not passing values is if we're just checking for the existence of something on those spaces, but don't expect to insert/remove anything from those spaces.

Parameters:
oldmapmap for which we want information.
newmapif not NULL, will contain the actual map checked if not oldmap.
x
ycoordinates to check
nx
nyif not NULL, will contain the actual coordinates checked.
Returns:
flags for specified position, with maybe P_OUT_OF_MAP or P_NEW_MAP set.

Definition at line 1278 of file plugin_common.c.

References CFAPI_INT, CFAPI_MAP_PROP_FLAGS, and cfapiMap_get_property.

Referenced by Map_Check().

Here is the caller graph for this function:

int cf_map_get_height ( mapstruct map)

Definition at line 1221 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_HEIGHT.

Referenced by find_by_name(), and Map_GetHeight().

Here is the call graph for this function:

Here is the caller graph for this function:

int cf_map_get_int_property ( mapstruct map,
int  property 
)
int cf_map_get_light ( mapstruct map)
mapstruct* cf_map_get_map ( const char *  name,
int  flags 
)

Wrapper for ready_map_name().

Makes sure the given map is loaded and swapped in.

Parameters:
namepath name of the map.
flags
  • 0x1 (MAP_FLUSH): flush the map - always load from the map directory, and don't do unique items or the like.
  • 0x2 (MAP_PLAYER_UNIQUE) - this is a unique map for each player. dont do any more name translation on it.
Returns:
pointer to the given map, NULL on failure.

Definition at line 764 of file plugin_common.c.

References CFAPI_PMAP, and cfapiMap_get_map.

Referenced by readyMap(), and runteleport().

Here is the caller graph for this function:

mapstruct* cf_map_get_map_property ( mapstruct map,
int  propcode 
)

Definition at line 255 of file plugin_common.c.

References CFAPI_PMAP, and cfapiMap_get_property.

Referenced by cf_map_get_first(), getMaps(), and Map_Next().

Here is the caller graph for this function:

object* cf_map_get_object_at ( mapstruct m,
int  x,
int  y 
)

Wrapper for GET_MAP_OB().

Gets the bottom object on a map.

Not multitile aware.

Definition at line 559 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiMap_get_object_at.

Referenced by eventListener(), and Map_GetFirstObjectAt().

Here is the caller graph for this function:

int cf_map_get_players ( mapstruct map)

Definition at line 1209 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_PLAYERS.

Referenced by Map_GetPlayers().

Here is the call graph for this function:

Here is the caller graph for this function:

region* cf_map_get_region_property ( mapstruct map,
int  propcode 
)

Definition at line 264 of file plugin_common.c.

References CFAPI_PREGION, and cfapiMap_get_property.

Referenced by eventListener(), and Map_GetRegion().

Here is the caller graph for this function:

Definition at line 1201 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_RESET_TIME.

Referenced by Map_GetResetTime().

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1205 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_RESET_TIMEOUT.

Referenced by Map_GetResetTimeout().

Here is the call graph for this function:

Here is the caller graph for this function:

sstring cf_map_get_sstring_property ( mapstruct map,
int  propcode 
)

Definition at line 246 of file plugin_common.c.

References CFAPI_SSTRING, and cfapiMap_get_property.

Referenced by Map_GetMessage(), Map_GetName(), Map_GetPath(), Map_GetTempName(), and Map_TriggerConnected().

Here is the caller graph for this function:

int cf_map_get_width ( mapstruct map)

Definition at line 1217 of file plugin_common.c.

References cf_map_get_int_property(), and CFAPI_MAP_PROP_WIDTH.

Referenced by find_by_name(), and Map_GetWidth().

Here is the call graph for this function:

Here is the caller graph for this function:

mapstruct* cf_map_has_been_loaded ( const char *  name)

Wrapper for has_been_loaded().

Checks whether map has been loaded.

Parameters:
namepath of the map to search. Can be NULL.
Returns:
the mapstruct which has a name matching the given argument. return NULL if no match is found.

Definition at line 790 of file plugin_common.c.

References CFAPI_PMAP, and cfapiMap_has_been_loaded.

Referenced by add_npc_to_random_map(), and getMapHasBeenLoaded().

Here is the caller graph for this function:

object* cf_map_insert_object ( mapstruct where,
object *  op,
int  x,
int  y 
)

Wrapper for insert_ob_in_map_at().

Todo:
merge/replace with cf_object_change_map

Definition at line 1168 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_insert.

Referenced by Map_CreateObject(), and Map_Insert().

Here is the caller graph for this function:

object* cf_map_insert_object_there ( object *  op,
mapstruct m,
object *  originator,
int  flag 
)

Wrapper for insert_ob_in_map().

This function inserts the object in the two-way linked list which represents what is on a map.

It will update player count if the op is a player.

Player ground window will be updated if needed.

Parameters:
opobject to insert. Must be removed. Its coordinates must be valid for the map.
mmap to insert into. Must not be NULL.
originatorplayer, monster or other object that caused 'op' to be inserted into 'm'. May be NULL.
flagbitmask about special things to do (or not do) when this function is called. See the object.h file for the INS_xxx values. Passing 0 for flag gives proper default values, so flag really only needs to be set if special handling is needed.
Returns:
  • new object if 'op' was merged with other object.
  • NULL if 'op' was destroyed
  • just 'op' otherwise
Todo:
this function is a mess, and should be cleaned.
.

Definition at line 1154 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_insert.

Referenced by runghosted().

Here is the caller graph for this function:

void cf_map_message ( mapstruct m,
const char *  msg,
int  color 
)

Partial wrapper for ext_info_map().

Todo:
add missing parameters.

Definition at line 571 of file plugin_common.c.

References cfapiMap_message.

Referenced by Map_Message(), and runmessage().

Here is the caller graph for this function:

object* cf_map_present_arch_by_name ( const char *  str,
mapstruct map,
int  nx,
int  ny 
)

Kinda wrapper for arch_present().

Definition at line 1188 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiMap_present_arch_by_name.

Referenced by Map_Check().

Here is the caller graph for this function:

void cf_map_set_int_property ( mapstruct map,
int  propcode,
int  value 
)

Definition at line 274 of file plugin_common.c.

References CFAPI_INT, and cfapiMap_set_property.

void cf_map_set_string_property ( mapstruct map,
int  propcode,
const char *  value 
)

Definition at line 281 of file plugin_common.c.

References CFAPI_STRING, and cfapiMap_set_property.

Referenced by Map_SetPath().

Here is the caller graph for this function:

void cf_map_trigger_connected ( objectlink *  ol,
object *  cause,
int  state 
)

Wrapper for trigger_connected().

Trigger every object in an objectlink.

This was originally part of push_button but has been extracted to make it possible to trigger the connected object on a map from a plugin without requiring a source object. This method will take care of calling EVENT_TRIGGER of all elligible object in list (see state parameter)

Parameters:
olthe objectlink to trigger. This can be acquire from map
causethe object that cause this path to trigger, may be NULL
statewhich object to apply. 0=all object with FLAG_ACTIVATE_ON_PUSH other=all object with FLAG_ACTIVATE_ON_RELEASE
.

Definition at line 859 of file plugin_common.c.

References CFAPI_NONE, and cfapiMap_trigger_connected.

Referenced by Map_TriggerConnected().

Here is the caller graph for this function:

int cf_object_apply ( object *  op,
object *  tmp,
int  aflag 
)

Wrapper for manual_apply().

Main apply handler.

Checks for unpaid items before applying.

Parameters:
op::object causing tmp to be applied.
tmp::object being applied.
aflagspecial (always apply/unapply) flags. Nothing is done with them in this function - they are passed to apply_special().
Returns:
  • 0: player or monster can't apply objects of that type
  • 1: has been applied, or there was an error applying the object
  • 2: objects of that type can't be applied if not in inventory

Definition at line 472 of file plugin_common.c.

References cfapiObject_apply.

Referenced by Crossfire_Object_Apply(), and runapplyobject().

Here is the caller graph for this function:

void cf_object_apply_below ( object *  pl)

Wrapper for player_apply_below().

Attempt to apply the object 'below' the player.

If the player has an open container, we use that for below, otherwise we use the ground.

Parameters:
plplayer.

Definition at line 483 of file plugin_common.c.

References cfapiObject_apply_below.

Referenced by runapply().

Here is the caller graph for this function:

int cf_object_cast_ability ( object *  caster,
object *  ctoo,
int  dir,
object *  sp,
char *  flags 
)

Should there be a difference nowadays between that and cast_spell ?

Todo:
either totally remove or replace by cf_object_cast_spell().

Definition at line 636 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_cast.

Referenced by Crossfire_Object_CastAbility().

Here is the caller graph for this function:

int cf_object_cast_spell ( object *  op,
object *  caster,
int  dir,
object *  spell_ob,
char *  stringarg 
)

Wrapper for cast_spell().

Main dispatch when someone casts a spell.

Will decrease mana/gr points, check for skill, confusion and such.

Note that this function is really a dispatch routine that calls other functions - it just blindly returns what ever value those functions return. So if your writing a new function that is called from this, it should also return 1 on success, 0 on failure.

if it is a player casting the spell (op->type == PLAYER, op == caster), this function will decrease the mana/grace appropriately. For other objects, the caller should do what it considers appropriate.

Parameters:
opcreature that is owner of the object that is casting the spell - eg, the player or monster.
casteractual object (wand, potion) casting the spell. can be same as op.
dirdirection to cast in. Note in some cases, if the spell is self only, dir really doesn't make a difference.
spell_obspell object that is being cast. From that, we can determine what to do. *
stringargany options that are being used. It can be NULL. Almost certainly, only players will set it. It is basically used as optional parameters to a spell (eg, item to create, information for marking runes, etc.
Returns:
1 on successful cast, or 0 on error. These values should really be swapped, so that 0 is successful, and non zero is failure, with a code of what it failed.
Todo:
return a failure value?
.

Definition at line 624 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_cast.

Referenced by Crossfire_Object_Cast().

Here is the caller graph for this function:

int cf_object_change_abil ( object *  op,
object *  tmp 
)

Wrapper for change_abil().

Permanently alters an object's stats/flags based on another object.

Returns:
1 if we sucessfully changed a stat, 0 if nothing was changed.
Note:
flag is set to 1 if we are applying the object, -1 if we are removing the object.
It is the calling functions responsibilty to check to see if the object can be applied or not. The main purpose of calling this function is the messages that are displayed - fix_object should really always be called after this when removing an object - that is because it is impossible to know if some object is the only source of an attacktype or spell attunement, so this function will clear the bits, but the player may still have some other object that gives them that ability.
Todo:
check logic, and things like that. Is the call to fix_object always required?
.

Definition at line 1488 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_change_abil.

Referenced by Crossfire_Object_ChangeAbil().

Here is the caller graph for this function:

void cf_object_change_exp ( object *  op,
sint64  exp,
const char *  skill_name,
int  flag 
)

Wrapper for change_exp().

Changes experience to a player/monster.

This does bounds checking to make sure we don't overflow the max exp.

The exp passed is typically not modified much by this function - it is assumed the caller has modified the exp as needed. skill_name is the skill that should get the exp added. flag is what to do if player doesn't have the skill. these last two values are only used for players.

Parameters:
opvictim to alter.
expexperience to gain (positive) or lose (negative).
skill_nameskill to change. Can be NULL.
flag
  • if experience gain, what to do if player doesn't have the skill
  • if experience loss, whether to remove from all skills or only specified skill
See also:
share_exp() for a party-aware version.
.

Definition at line 448 of file plugin_common.c.

References CFAPI_NONE, and cfapiObject_change_exp.

Referenced by Crossfire_Object_AddExp().

Here is the caller graph for this function:

object* cf_object_change_map ( object *  op,
mapstruct m,
object *  originator,
int  flag,
int  x,
int  y 
)

Wrapper for insert_ob_in_map_at().

Same as insert_ob_in_map() except it handle separate coordinates and do a clean job preparing multi-part monsters.

Parameters:
opobject to insert.
mmap to insert into.
originatorwhat caused op to be inserted.
flagCombination of INS_xxx values.
x
ycoordinates to insert at.
.

Definition at line 546 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_transfer.

Referenced by Object_SetMap().

Here is the caller graph for this function:

object* cf_object_check_for_spell ( object *  op,
const char *  name 
)

Wrapper for check_spell_known().

Checks to see if player knows the spell.

If the name is the same as an existing spell, we presume they know it.

Parameters:
opobject we're looking into.
namespell name. Doesn't need to be a shared string.
Returns:
1 if op knows the spell, 0 if it don't.

Definition at line 670 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_check_spell.

Referenced by Crossfire_Object_KnowSpell().

Here is the caller graph for this function:

int cf_object_check_trigger ( object *  op,
object *  cause 
)

Wrapper for check_trigger().

Todo:
document properly cause != NULL: something has moved on top of op

cause == NULL: nothing has moved, we have been called from animate_trigger().

TRIGGER_ALTAR: Returns 1 if 'cause' was destroyed, 0 if not.

TRIGGER: Returns 1 if handle could be moved, 0 if not.

TRIGGER_BUTTON, TRIGGER_PEDESTAL: Returns 0.

.

Definition at line 847 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_check_trigger.

Referenced by Crossfire_Object_CheckTrigger().

Here is the caller graph for this function:

object* cf_object_clone ( object *  op,
int  clonetype 
)

Clone an object.

Parameters:
opwhat to clone.
clonetype
Returns:
clone.

Definition at line 587 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_clone.

Referenced by runghosted().

Here is the caller graph for this function:

void cf_object_drop ( object *  op,
object *  author 
)

Definition at line 874 of file plugin_common.c.

References cfapiObject_drop.

Referenced by Crossfire_Object_Drop(), and rundropobject().

Here is the caller graph for this function:

void cf_object_forget_spell ( object *  op,
object *  sp 
)

Wrapper for do_forget_spell(), except takes an object, not a string.

Todo:
make coherent with do_forget_spell() (string instead of ob).

Definition at line 660 of file plugin_common.c.

References cfapiObject_forget_spell.

Referenced by Crossfire_Object_ForgetSpell().

Here is the caller graph for this function:

void cf_object_free ( object *  ob)

Wrapper for free_object().

Frees everything allocated by an object, removes it from the list of used objects, and puts it on the list of free objects.

The IS_FREED() flag is set in the object. The object must have been removed by remove_ob() first for this function to succeed.

Inventory will be dropped on the ground if in a map, else freed too.

Parameters:
obobject to free. Will become invalid when function returns.

Definition at line 501 of file plugin_common.c.

References cfapiObject_delete.

Referenced by add_npc_to_point(), add_npc_to_zone(), Crossfire_Object_Remove(), eventListener(), and runghosted().

Here is the caller graph for this function:

archetype* cf_object_get_archetype_property ( object *  op,
int  propcode 
)

Definition at line 391 of file plugin_common.c.

References CFAPI_PARCH, and cfapiObject_get_property.

Referenced by Object_GetArchetype().

Here is the caller graph for this function:

double cf_object_get_double_property ( object *  op,
int  propcode 
)

Definition at line 407 of file plugin_common.c.

References CFAPI_DOUBLE, and cfapiObject_get_property.

Referenced by Object_GetExpMul().

Here is the caller graph for this function:

int cf_object_get_flag ( object *  ob,
int  flag 
)
float cf_object_get_float_property ( object *  op,
int  propcode 
)

Definition at line 383 of file plugin_common.c.

References CFAPI_FLOAT, and cfapiObject_get_property.

Referenced by Object_GetMoveSlowPenalty(), Object_GetSpeed(), and Object_GetSpeedLeft().

Here is the caller graph for this function:

sint64 cf_object_get_int64_property ( object *  op,
int  propcode 
)

Definition at line 356 of file plugin_common.c.

References CFAPI_SINT64, and cfapiObject_get_property.

Referenced by Object_GetExp(), and Object_GetPermExp().

Here is the caller graph for this function:

int cf_object_get_int_property ( object *  op,
int  propcode 
)
const char* cf_object_get_key ( object *  op,
const char *  keyname 
)

Gets value for specified key, equivalent of get_ob_key_value().

Parameters:
op::object for which we search a key.
keynamekey to look for. Not required to be a shared string.
Returns:
value (shared string), or NULL if not found.

Definition at line 1454 of file plugin_common.c.

References CFAPI_SSTRING, and cfapiObject_get_key.

Referenced by Crossfire_Object_ReadKey(), and eventListener().

Here is the caller graph for this function:

long cf_object_get_long_property ( object *  op,
long  propcode 
)

Definition at line 318 of file plugin_common.c.

References CFAPI_LONG, and cfapiObject_get_property.

Referenced by Object_GetValue().

Here is the caller graph for this function:

mapstruct* cf_object_get_map_property ( object *  op,
int  propcode 
)

Definition at line 348 of file plugin_common.c.

References CFAPI_PMAP, and cfapiObject_get_property.

Referenced by Object_GetMap().

Here is the caller graph for this function:

MoveType cf_object_get_movetype_property ( object *  op,
int  propcode 
)

Definition at line 332 of file plugin_common.c.

References CFAPI_MOVETYPE, and cfapiObject_get_property.

Referenced by Object_GetMoveAllow(), Object_GetMoveBlock(), Object_GetMoveOff(), Object_GetMoveOn(), Object_GetMoveSlow(), and Object_GetMoveType().

Here is the caller graph for this function:

const char* cf_object_get_msg ( object *  )
int cf_object_get_nrof ( object *  )

Definition at line 1109 of file plugin_common.c.

References CFAPI_OBJECT_PROP_NROF, and cfapiObject_get_property.

object* cf_object_get_object_property ( object *  op,
int  propcode 
)
partylist* cf_object_get_partylist_property ( object *  op,
int  propcode 
)

Definition at line 399 of file plugin_common.c.

References CFAPI_PPARTY, and cfapiObject_get_property.

Referenced by cf_player_get_party().

Here is the caller graph for this function:

sint16 cf_object_get_resistance ( object *  op,
int  rtype 
)

Definition at line 289 of file plugin_common.c.

References CFAPI_INT16, CFAPI_OBJECT_PROP_RESIST, and cfapiObject_get_property.

Referenced by Crossfire_Object_GetResist().

Here is the caller graph for this function:

sstring cf_object_get_sstring_property ( object *  op,
int  propcode 
)
char* cf_object_get_string_property ( object *  op,
int  propcode,
char *  buf,
int  size 
)

Definition at line 423 of file plugin_common.c.

References CFAPI_STRING, and cfapiObject_get_property.

Referenced by Player_GetBedMap().

Here is the caller graph for this function:

int cf_object_get_weight ( object *  ob)

Definition at line 1080 of file plugin_common.c.

References CFAPI_INT, CFAPI_OBJECT_PROP_WEIGHT, and cfapiObject_get_property.

int cf_object_get_weight_limit ( object *  ob)
object* cf_object_insert_in_ob ( object *  op,
object *  where 
)

Wrapper for insert_ob_in_ob().

This function inserts the object op in the linked list inside the object environment.

It will send to client where is a player.

Parameters:
opobject to insert. Must be removed and not NULL. Must not be multipart. May become invalid after return, so use return value of the function.
whereobject to insert into. Must not be NULL. Should be the head part.
Returns:
pointer to inserted item, which will be different than op if object was merged.
.

Definition at line 1137 of file plugin_common.c.

References cf_object_get_flag(), CFAPI_POBJECT, cfapiObject_insert, cfapiObject_remove, and FLAG_REMOVED.

Referenced by Crossfire_Object_InsertInto().

Here is the call graph for this function:

Here is the caller graph for this function:

object* cf_object_insert_object ( object *  op,
object *  container 
)

Definition at line 887 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_insert.

Referenced by Crossfire_Object_CreateInside(), eventListener(), and get_npc().

Here is the caller graph for this function:

void cf_object_learn_spell ( object *  op,
object *  spell,
int  special_prayer 
)

Wrapper for do_learn_spell().

Actually makes op learn spell.

Informs player of new spell and binding.

Parameters:
opplayer who'll learn the spell.
spellspell to learn.
special_prayer1 for god-given prayer, 0 else.
.

Definition at line 648 of file plugin_common.c.

References CFAPI_NONE, and cfapiObject_learn_spell.

Referenced by Crossfire_Object_LearnSpell().

Here is the caller graph for this function:

int cf_object_move ( object *  op,
int  dir,
object *  originator 
)

Definition at line 461 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_move.

Referenced by Crossfire_Object_Move(), eventListener(), and runmovement().

Here is the caller graph for this function:

int cf_object_move_to ( object *  op,
int  x,
int  y 
)

Wrapper for move_to().

Move an object one square toward a specified destination on the same map.

The move takes into account blocked squares for op, and things like that. No check is done to know if the object has enough speed to move.

Parameters:
opobject to move
x
ydestination coordinates
Returns:
0 if op is on the specified spot, 1 if it moved towards the goal, 2 if it didn't find any path to the goal.

Definition at line 534 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_transfer.

Referenced by runmoveto().

Here is the caller graph for this function:

int cf_object_out_of_map ( object *  op,
int  x,
int  y 
)

Definition at line 866 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_out_of_map.

Referenced by Crossfire_Object_GetOutOfMap().

Here is the caller graph for this function:

int cf_object_pay_amount ( object *  pl,
uint64  to_pay 
)

Wrapper for pay_for_amount().

Takes the amount of money from the the player inventory and from it's various pouches using the pay_from_container() function.

Parameters:
to_payamount to pay.
plplayer paying.
Returns:
0 if not enough money, in which case nothing is removed, 1 if money was removed.
Todo:
check if pl is a player, as query_money() expects that. Check if fix_object() call is required.
.

Definition at line 612 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_pay_amount.

Referenced by Crossfire_Object_PayAmount().

Here is the caller graph for this function:

int cf_object_pay_item ( object *  op,
object *  pl 
)

Wrapper for pay_for_item().

DAMN: This is now a wrapper for pay_from_container, which is called for the player, then for each active container that can hold money until op is paid for.

Change will be left wherever the last of the price was paid from.

Parameters:
opobject to buy.
plplayer buying.
Returns:
1 if object was bought, 0 else.
Todo:
check if pl is a player, as query_money() expects a player.
.

Definition at line 600 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_pay_item.

Referenced by Crossfire_Object_Pay().

Here is the caller graph for this function:

void cf_object_pickup ( object *  op,
object *  what 
)

Definition at line 1251 of file plugin_common.c.

References CFAPI_NONE, and cfapiObject_pickup.

Referenced by Crossfire_Object_Take(), runpickup(), and runpickupobject().

Here is the caller graph for this function:

object* cf_object_present_archname_inside ( object *  op,
char *  whatstr 
)

Kinda wrapper for present_arch_in_ob().

Definition at line 509 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_find_archetype_inside.

Referenced by Crossfire_Object_CheckInventory().

Here is the caller graph for this function:

int cf_object_query_cost ( const object *  tmp,
object *  who,
int  flag 
)

Wrapper for query_cost().

Return the price of an item for a character.

Price will vary based on the shop's specialization ration, the player's approval rate, ...

Added F_TRUE flag to define.h to mean that the price should not be adjusted by players charisma. With F_TRUE, it returns the amount that the item is worth, if it was sold, but unadjusted by charisma. This is needed for alchemy, to to determine what value of gold nuggets should be given (the gold nuggets, when sold, will have the adjustment by charisma done at that time). NULL could have been passed as the who parameter, but then the adjustment for expensive items (>10000) would not be done.

Added F_APPROX flag, which means that the price returned should be wrong by an amount related to the player's bargaining skill.

Added F_SHOP flag to mean that the specialisation of the shop on the player's current map should be taken into account when determining the price. Shops that specialise in what is being traded will give better prices than those that do not.

CF 0.91.4 - This function got changed around a bit. Now the number of object is multiplied by the value early on. This fixes problems with items worth very little. What happened before is that various divisions took place, the value got rounded to 0 (Being an int), and thus remained 0.

Mark Wedel (mwedel@pyramid.com)

Parameters:
tmpobject we're querying the price of.
whowho is inquiring. Can be NULL, only meaningful if player.
flagcombination of F_xxx flags.
Returns:
.

Definition at line 824 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_query_cost.

Referenced by Crossfire_Object_QueryCost().

Here is the caller graph for this function:

int cf_object_query_money ( const object *  op)

Wrapper for query_money().

Finds out how much money the player is carrying, including what is in containers.

Parameters:
opitem to get money for. Must be a player or a container.
Returns:
total money the player is carrying.
.

Definition at line 812 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_query_money.

Referenced by Object_GetMoney().

Here is the caller graph for this function:

void cf_object_remove ( object *  op)

Wrapper for remove_ob().

This function removes the object op from the linked list of objects which it is currently tied to.

When this function is done, the object will have no environment. If the object previously had an environment, the x and y coordinates will be updated to the previous environment.

Will inform the client of the removal if needed.

Parameters:
opobject to remove. Must not be removed yet, else abort() is called.
Todo:
this function is a piece of overbloated crap or at lest look like need cleanup it does to much different things.

Definition at line 492 of file plugin_common.c.

References cfapiObject_remove.

Referenced by Crossfire_Object_InsertInto(), Crossfire_Object_Remove(), eventListener(), runghosted(), and start_animation().

Here is the caller graph for this function:

void cf_object_say ( object *  op,
char *  msg 
)

Definition at line 880 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_say.

Referenced by Crossfire_Object_Say(), and runsay().

Here is the caller graph for this function:

void cf_object_set_flag ( object *  ob,
int  flag,
int  value 
)
void cf_object_set_float_property ( object *  op,
int  propcode,
float  value 
)

Definition at line 371 of file plugin_common.c.

References CFAPI_FLOAT, and cfapiObject_set_property.

Referenced by Object_SetSpeed(), and Object_SetSpeedLeft().

Here is the caller graph for this function:

void cf_object_set_int64_property ( object *  op,
int  propcode,
sint64  value 
)

Definition at line 377 of file plugin_common.c.

References CFAPI_SINT64, and cfapiObject_set_property.

Referenced by Object_SetExp().

Here is the caller graph for this function:

void cf_object_set_int_property ( object *  op,
int  propcode,
int  value 
)
int cf_object_set_key ( object *  op,
const char *  keyname,
const char *  value,
int  add_key 
)

Sets a value for specified key, equivalent to set_ob_key_value().

Parameters:
op::object which will contain the key/value
keynamekey
valuevalue
add_keyif 0, key is only updated if it exists, else it's updated or added.
Returns:
TRUE or FALSE.

Definition at line 1476 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_set_key.

Referenced by Crossfire_Object_WriteKey(), eventListener(), and get_npc().

Here is the caller graph for this function:

void cf_object_set_long_property ( object *  op,
int  propcode,
long  value 
)

Definition at line 365 of file plugin_common.c.

References CFAPI_LONG, and cfapiObject_set_property.

Referenced by Object_SetNoSave(), and Object_SetValue().

Here is the caller graph for this function:

void cf_object_set_movetype_property ( object *  op,
int  propcode,
MoveType  value 
)

Definition at line 326 of file plugin_common.c.

References CFAPI_MOVETYPE, and cfapiObject_set_property.

int cf_object_set_nrof ( object *  ob,
int  nrof 
)
Returns:
-1=nrof is invalid, 0=nrof is ok#

Definition at line 1099 of file plugin_common.c.

References CFAPI_OBJECT_PROP_NROF, and cfapiObject_set_property.

Referenced by Object_SetQuantity().

Here is the caller graph for this function:

void cf_object_set_object_property ( object *  op,
int  propcode,
object *  value 
)

Definition at line 437 of file plugin_common.c.

References CFAPI_POBJECT, and cfapiObject_set_property.

Referenced by Object_SetEnemy(), and Object_SetOwner().

Here is the caller graph for this function:

void cf_object_set_resistance ( object *  op,
int  rtype,
sint16  value 
)

Definition at line 297 of file plugin_common.c.

References CFAPI_INT16, CFAPI_OBJECT_PROP_RESIST, and cfapiObject_set_property.

Referenced by Crossfire_Object_SetResist().

Here is the caller graph for this function:

void cf_object_set_string_property ( object *  op,
int  propcode,
const char *  value 
)
void cf_object_set_weight ( object *  ob,
int  weight 
)

Definition at line 1066 of file plugin_common.c.

References CFAPI_INT, CFAPI_OBJECT_PROP_WEIGHT, and cfapiObject_set_property.

void cf_object_set_weight_limit ( object *  ob,
int  weight 
)
int cf_object_teleport ( object *  ob,
mapstruct map,
int  x,
int  y 
)

Definition at line 1177 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_teleport.

Referenced by add_npc_to_point(), add_npc_to_zone(), Crossfire_Object_Teleport(), and runteleport().

Here is the caller graph for this function:

int cf_object_transfer ( object *  op,
int  x,
int  y,
int  randomly,
object *  originator 
)

Wrapper for transfer_ob().

Move an object (even linked objects) to another spot on the same map.

Does nothing if there is no free spot.

Parameters:
opwhat to move.
x
ynew coordinates.
randomlyif true, use find_free_spot() to find the destination, otherwise use find_first_free_spot().
originatorwhat is causing op to move.
Return values:
1op was destroyed.
0op was moved.

Definition at line 522 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_transfer.

Referenced by Crossfire_Object_Reposition().

Here is the caller graph for this function:

void cf_object_update ( object *  op,
int  flags 
)

Definition at line 1245 of file plugin_common.c.

References cfapiObject_update.

Referenced by animate_one().

Here is the caller graph for this function:

int cf_object_user_event ( object *  op,
object *  activator,
object *  third,
const char *  message,
int  fix 
)

Definition at line 238 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_user_event.

Referenced by Crossfire_Object_Event().

Here is the caller graph for this function:

Get first party.

Returns:
first party in partylist.

Definition at line 1600 of file plugin_common.c.

References CFAPI_PARTY_PROP_NEXT, CFAPI_PPARTY, and cfapiParty_get_property.

Referenced by getParties().

Here is the caller graph for this function:

Get first player in party.

Parameters:
partyparty, mustn't be NULL.
Returns:
party's first player.

Definition at line 1663 of file plugin_common.c.

References CFAPI_PARTY_PROP_PLAYER, CFAPI_PPLAYER, and cfapiParty_get_property.

Referenced by Crossfire_Party_GetPlayers().

Here is the caller graph for this function:

const char* cf_party_get_name ( partylist party)
Parameters:
partyparty, mustn't be NULL.
Returns:
party's name.

Definition at line 1615 of file plugin_common.c.

References CFAPI_PARTY_PROP_NAME, CFAPI_SSTRING, and cfapiParty_get_property.

Referenced by Crossfire_Party_GetName().

Here is the caller graph for this function:

Get next party in party list.

Parameters:
partyparty, can be NULL in which case behaves like cf_party_get_first().
Returns:
party's next field.

Definition at line 1631 of file plugin_common.c.

References CFAPI_PARTY_PROP_NEXT, CFAPI_PPARTY, and cfapiParty_get_property.

Referenced by Crossfire_Party_GetNext(), and getParties().

Here is the caller graph for this function:

player* cf_party_get_next_player ( partylist party,
player op 
)

Get next player in party.

Parameters:
partyparty, mustn't be NULL.
opplayer we want the next of. Can be NULL, in this case behaves like cf_party_get_first_player().
Returns:
party's name.

Definition at line 1681 of file plugin_common.c.

References CFAPI_PARTY_PROP_PLAYER, CFAPI_PPLAYER, and cfapiParty_get_property.

Referenced by Crossfire_Party_GetPlayers().

Here is the caller graph for this function:

const char* cf_party_get_password ( partylist party)

Get party's password.

Parameters:
partyparty, mustn't be NULL.
Returns:
party's password field.

Definition at line 1647 of file plugin_common.c.

References CFAPI_PARTY_PROP_PASSWORD, CFAPI_SSTRING, and cfapiParty_get_property.

Referenced by Crossfire_Party_GetPassword().

Here is the caller graph for this function:

int cf_player_can_pay ( object *  pl)

Wrapper for can_pay().

Checks all unpaid items in op's inventory, adds up all the money they have, and checks that they can actually afford what they want to buy.

Prints appropriate messages to the player.

Parameters:
plplayer trying to bug.
Return values:
1player could buy the items.
0some items can't be bought.
.

Definition at line 752 of file plugin_common.c.

References CFAPI_INT, and cfapiPlayer_can_pay.

Referenced by Crossfire_Player_CanPay().

Here is the caller graph for this function:

player* cf_player_find ( const char *  plname)

Wrapper for find_player_partial_name().

Find a player by a partial name.

Parameters:
plnamename to match.
Returns:
matching player if only one matching, or one perfectly matching, NULL if no match or more than one.
.

Definition at line 690 of file plugin_common.c.

References CFAPI_PPLAYER, and cfapiPlayer_find.

Referenced by findPlayer().

Here is the caller graph for this function:

sstring cf_player_get_ip ( object *  op)

Definition at line 714 of file plugin_common.c.

References CFAPI_PLAYER_PROP_IP, CFAPI_SSTRING, and cfapiObject_get_property.

Referenced by Player_GetIP().

Here is the caller graph for this function:

object* cf_player_get_marked_item ( object *  op)

Definition at line 723 of file plugin_common.c.

References CFAPI_PLAYER_PROP_MARKED_ITEM, CFAPI_POBJECT, and cfapiObject_get_property.

Referenced by Player_GetMarkedItem().

Here is the caller graph for this function:

partylist* cf_player_get_party ( object *  op)

Definition at line 738 of file plugin_common.c.

References cf_object_get_partylist_property(), and CFAPI_PLAYER_PROP_PARTY.

Referenced by Player_GetParty().

Here is the call graph for this function:

Here is the caller graph for this function:

sstring cf_player_get_title ( object *  op)

Definition at line 699 of file plugin_common.c.

References CFAPI_PLAYER_PROP_TITLE, CFAPI_SSTRING, and cfapiObject_get_property.

Referenced by Player_GetTitle().

Here is the caller graph for this function:

void cf_player_message ( object *  op,
char *  txt,
int  flags 
)

Definition at line 679 of file plugin_common.c.

References CFAPI_NONE, and cfapiPlayer_message.

Referenced by Crossfire_Player_Message(), and runnotice().

Here is the caller graph for this function:

int cf_player_move ( player pl,
int  dir 
)

Definition at line 454 of file plugin_common.c.

References CFAPI_INT, and cfapiObject_move.

Referenced by runghosted(), and runmovement().

Here is the caller graph for this function:

void cf_player_set_marked_item ( object *  op,
object *  ob 
)

Definition at line 732 of file plugin_common.c.

References CFAPI_PLAYER_PROP_MARKED_ITEM, and cfapiObject_set_property.

Referenced by Player_SetMarkedItem().

Here is the caller graph for this function:

void cf_player_set_party ( object *  op,
partylist party 
)

Definition at line 742 of file plugin_common.c.

References CFAPI_PLAYER_PROP_PARTY, and cfapiObject_set_property.

Referenced by Player_SetParty().

Here is the caller graph for this function:

void cf_player_set_title ( object *  op,
const char *  title 
)

Definition at line 708 of file plugin_common.c.

References CFAPI_PLAYER_PROP_TITLE, and cfapiObject_set_property.

Referenced by Player_SetTitle().

Here is the caller graph for this function:

char* cf_query_base_name ( object *  ob,
int  plural,
char *  name,
int  size 
)
char* cf_query_name ( object *  ob,
char *  name,
int  size 
)

Definition at line 1032 of file plugin_common.c.

References CFAPI_OBJECT_PROP_NAME, CFAPI_STRING, and cfapiObject_get_property.

Referenced by Crossfire_Object_QueryName(), and Object_GetName().

Here is the caller graph for this function:

sstring cf_query_name_pl ( object *  ob)

Definition at line 1040 of file plugin_common.c.

References CFAPI_OBJECT_PROP_NAME_PLURAL, CFAPI_SSTRING, and cfapiObject_get_property.

Referenced by Object_GetNamePl().

Here is the caller graph for this function:

mapstruct* cf_random_map_generate ( const char *  OutFileName,
RMParms RP,
char **  use_layout 
)

Wrapper for generate_random_map().

Main random map routine.

Generates a random map based on specified parameters.

Parameters:
OutFileNamethe path the map should have.
RPparameters for generation.
use_layoutif not NULL, this should be a suitable layout.
Returns:
Crossfire map, which should be free()d by caller.

Definition at line 1302 of file plugin_common.c.

References CFAPI_PMAP, and cfapiGenerate_random_map.

int cf_random_map_set_variable ( RMParms rp,
const char *  buf 
)

Wrapper for set_random_map_variable().

Definition at line 1290 of file plugin_common.c.

References CFAPI_INT, and cfapiSet_random_map_variable.

const char* cf_re_cmp ( const char *  str,
const char *  regexp 
)

Wrapper for re_cmp().

re-cmp - get regular expression match.

Parameters:
strstring that will be matched against the regexp.
regexpregular expression.
Returns:
  • no match or error in regexp.
  • pointer to beginning of matching string

Definition at line 974 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_re_cmp.

Referenced by matchString().

Here is the caller graph for this function:

Get first region in region list.

Returns:
first region.

Definition at line 1695 of file plugin_common.c.

References CFAPI_PREGION, CFAPI_REGION_PROP_NEXT, and cfapiRegion_get_property.

Referenced by getRegions().

Here is the caller graph for this function:

const char* cf_region_get_longname ( region reg)

Get longname of region.

Parameters:
regregion. Mustn't be NULL.
Returns:
region's longname.

Definition at line 1759 of file plugin_common.c.

References CFAPI_REGION_PROP_LONGNAME, CFAPI_SSTRING, and cfapiRegion_get_property.

Referenced by Crossfire_Region_GetLongname().

Here is the caller graph for this function:

const char* cf_region_get_message ( region reg)

Get message of region.

Parameters:
regregion. Mustn't be NULL.
Returns:
region's message.

Definition at line 1775 of file plugin_common.c.

References CFAPI_REGION_PROP_MESSAGE, CFAPI_SSTRING, and cfapiRegion_get_property.

Referenced by Crossfire_Region_GetMessage().

Here is the caller graph for this function:

const char* cf_region_get_name ( region reg)

Get name of region.

Parameters:
regregion. Mustn't be NULL.
Returns:
region's name.

Definition at line 1711 of file plugin_common.c.

References CFAPI_REGION_PROP_NAME, CFAPI_SSTRING, and cfapiRegion_get_property.

Referenced by Crossfire_Region_GetName().

Here is the caller graph for this function:

Get next region in region list.

Parameters:
regregion. Can be NULL in which case equivalent of cf_region_get_first().
Returns:
next region.

Definition at line 1727 of file plugin_common.c.

References CFAPI_PREGION, CFAPI_REGION_PROP_NEXT, and cfapiRegion_get_property.

Referenced by Crossfire_Region_GetNext(), and getRegions().

Here is the caller graph for this function:

Get parent of region.

Parameters:
regregion. Mustn't be NULL.
Returns:
region's parent.

Definition at line 1743 of file plugin_common.c.

References CFAPI_PREGION, CFAPI_REGION_PROP_PARENT, and cfapiRegion_get_property.

Referenced by Crossfire_Region_GetParent().

Here is the caller graph for this function:

void cf_spring_trap ( object *  trap,
object *  victim 
)

Wrapper for spring_trap().

This function generalizes attacks by runes/traps.

This ought to make it possible for runes to attack from the inventory, it'll spring the trap on the victim.

Parameters:
traptrap that activates.
victimvictim of the trap.
.

Definition at line 836 of file plugin_common.c.

References cfapiObject_activate_rune.

Referenced by Crossfire_Object_ActivateRune().

Here is the caller graph for this function:

char* cf_strdup_local ( const char *  str)

Wrapper for strdup_local().

A replacement of strdup(), since it's not defined at some unix variants.

Parameters:
strstring to duplicate.
Returns:
copy, needs to be freed by caller. NULL on memory allocation error.
.

Definition at line 1263 of file plugin_common.c.

References CFAPI_STRING, and cfapiSystem_strdup_local.

Referenced by initdropobject(), initnotice(), initsay(), initteleport(), registerCommand(), and start_animation().

Here is the caller graph for this function:

void cf_system_register_global_event ( int  event,
const char *  name,
f_plug_api  hook 
)

Definition at line 933 of file plugin_common.c.

References CFAPI_NONE, and cfapiSystem_register_global_event.

Referenced by postInitPlugin(), and registerGEvent().

Here is the caller graph for this function:

void cf_system_unregister_global_event ( int  event,
const char *  name 
)

Definition at line 940 of file plugin_common.c.

References CFAPI_NONE, and cfapiSystem_unregister_global_event.

Referenced by unregisterGEvent().

Here is the caller graph for this function:

int cf_timer_create ( object *  ob,
long  delay,
int  mode 
)

Creates a timer, equivalent of calling cftimer_create().

Parameters:
ob::object that will get called. Should handle EVENT_TIMER.
delaydelay, seconds or ticks.
modetimer mode, TIMER_MODE_SECONDS or TIMER_MODE_CYCLES
Returns:
timer identifier, or one of TIMER_ERR_ID, TIMER_ERR_OBJ or TIMER_ERR_MODE

Definition at line 1421 of file plugin_common.c.

References CFAPI_INT, and cfapiSystem_timer_create.

Referenced by Crossfire_Object_CreateTimer().

Here is the caller graph for this function:

int cf_timer_destroy ( int  id)

Destroys specified timer, equivalent of calling cftimer_destroy().

Parameters:
idtimer to destroy
Returns:
TIMER_ERR_ID if invalid id, TIMER_ERR_NONE else.

Definition at line 1437 of file plugin_common.c.

References CFAPI_INT, and cfapiSystem_timer_destroy.

Referenced by destroyTimer().

Here is the caller graph for this function: