Crossfire Server, Branches 1.12  R18729
lamp.c File Reference
#include <global.h>
#include <ob_methods.h>
#include <ob_types.h>
#include <sounds.h>
#include <sproto.h>
+ Include dependency graph for lamp.c:

Go to the source code of this file.

Functions

static void do_turn (object *op, object *who, int aflags, const char *onoff)
 
void init_type_lamp (void)
 
static method_ret lamp_type_apply (ob_methods *context, object *lighter, object *applier, int aflags)
 

Detailed Description

Lamps.

Definition in file lamp.c.

Function Documentation

static void do_turn ( object op,
object who,
int  aflags,
const char *  onoff 
)
static

Turn on/off the lamp, based on op's APPLIED status.

Parameters
oplamp.
whoplayer or monster.
aflagsflags.
onoffstring that will be appended to the 'turn' verb in the message.

Definition at line 54 of file lamp.c.

References AP_NOPRINT, arch_to_object(), CLEAR_FLAG, draw_ext_info(), draw_ext_info_format(), fix_object(), FLAG_APPLIED, FLAG_CURSED, FLAG_DAMNED, FLAG_INV_LOCKED, FLAG_KNOWN_CURSED, liv::food, free_object(), insert_ob_in_ob(), obj::map, MSG_TYPE_APPLY, MSG_TYPE_APPLY_CURSED, MSG_TYPE_APPLY_SUCCESS, obj::name, NDI_UNIQUE, obj::other_arch, P_NEED_UPDATE, PLAYER, QUERY_FLAG, remove_ob(), SET_FLAG, SET_MAP_FLAGS, obj::stats, obj::type, update_all_los(), update_position(), obj::x, and obj::y.

Referenced by lamp_type_apply().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void init_type_lamp ( void  )

Initializer for the LAMP object type.

Definition at line 39 of file lamp.c.

References LAMP, lamp_type_apply(), and register_apply().

Referenced by register_all_ob_types().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static method_ret lamp_type_apply ( ob_methods context,
object lamp,
object applier,
int  aflags 
)
static

Applies a lamp.

Parameters
contextmethod context.
lamplamp to turn on/off.
applierobject attempting to apply the scroll. Should be a player.
aflagsspecial flags (always apply/unapply).
Returns
METHOD_ERROR if lamp can't be applied, METHOD_OK else.

Definition at line 108 of file lamp.c.

References AP_NOPRINT, do_turn(), draw_ext_info_format(), FLAG_APPLIED, liv::food, get_player_container(), get_split_ob(), insert_ob_in_ob(), METHOD_ERROR, METHOD_OK, MSG_TYPE_APPLY, MSG_TYPE_APPLY_ERROR, MSG_TYPE_APPLY_FAILURE, obj::name, NDI_UNIQUE, obj::nrof, QUERY_FLAG, and obj::stats.

Referenced by init_type_lamp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: