Crossfire Server, Branch 1.12  R12190
Defines | Functions
converter.c File Reference

The implementation of the Converter class of objects. More...

#include <global.h>
#include <ob_methods.h>
#include <ob_types.h>
#include <sounds.h>
#include <sproto.h>
Include dependency graph for converter.c:

Go to the source code of this file.

Defines

#define CONV_FROM(xyz)   xyz->slaying
#define CONV_NEED(xyz)   (unsigned long)xyz->stats.food
#define CONV_NR(xyz)   (unsigned char)xyz->stats.sp
#define CONV_TO(xyz)   xyz->other_arch

Functions

static int convert_item (object *item, object *converter)
 Transforms an item into another item.
static method_ret converter_type_move_on (ob_methods *context, object *trap, object *victim, object *originator)
 Move on this Converter object.
void init_type_converter (void)
 Initializer for the CONVERTER object type.

Detailed Description

The implementation of the Converter class of objects.

Definition in file converter.c.


Define Documentation

#define CONV_FROM (   xyz)    xyz->slaying

Definition at line 37 of file converter.c.

Referenced by convert_item().

#define CONV_NEED (   xyz)    (unsigned long)xyz->stats.food

Definition at line 40 of file converter.c.

Referenced by convert_item().

#define CONV_NR (   xyz)    (unsigned char)xyz->stats.sp

Definition at line 39 of file converter.c.

Referenced by convert_item().

#define CONV_TO (   xyz)    xyz->other_arch

Definition at line 38 of file converter.c.


Function Documentation

static int convert_item ( object *  item,
object *  converter 
) [static]

Transforms an item into another item.

Parameters:
itemThe object that triggered the converter - if it isn't of a type accepted by the converter, nothing will happen
converterThe object that is doing the conversion
Return values:
-1If something went wrong when attempting the conversion
0If the item was not converted
1If the item got converted

Definition at line 62 of file converter.c.

References Settings::allow_broken_converters, CLEAR_FLAG, CONV_FROM, CONV_NEED, CONV_NR, create_archetype(), decrease_ob_nr(), FALSE, fix_generated_item(), FLAG_IS_A_TEMPLATE, FLAG_UNPAID, free_object(), GT_MINIMAL, insert_ob_in_map_at(), is_in_shop(), llevError, LOG(), MONEY, object_create_arch(), object_create_clone(), PLAYER, QUERY_FLAG, remove_ob(), rndm(), SET_FLAG, settings, and unflag_inv().

Referenced by converter_type_move_on().

Here is the call graph for this function:

Here is the caller graph for this function:

static method_ret converter_type_move_on ( ob_methods context,
object *  trap,
object *  victim,
object *  originator 
) [static]

Move on this Converter object.

Parameters:
contextThe method context
trapThe Converter we're moving on
victimThe object moving over this one
originatorThe object that caused the move_on event
Returns:
METHOD_OK

Definition at line 160 of file converter.c.

References common_post_ob_move_on(), common_pre_ob_move_on(), convert_item(), create_archetype(), draw_ext_info_format(), insert_ob_in_map(), MAX_BUF, METHOD_ERROR, METHOD_OK, MSG_TYPE_APPLY, MSG_TYPE_APPLY_FAILURE, NDI_UNIQUE, and query_name().

Referenced by init_type_converter().

Here is the call graph for this function:

Here is the caller graph for this function:

void init_type_converter ( void  )

Initializer for the CONVERTER object type.

Definition at line 49 of file converter.c.

References CONVERTER, converter_type_move_on(), and register_move_on().

Referenced by register_all_ob_types().

Here is the call graph for this function:

Here is the caller graph for this function: