Crossfire Server, Trunk
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 (object *lighter, object *applier, int aflags)
 

Detailed Description

Lamps.

Definition in file lamp.c.

Function Documentation

◆ do_turn()

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, MSG_TYPE_APPLY, MSG_TYPE_APPLY_CURSED, MSG_TYPE_APPLY_SUCCESS, NDI_UNIQUE, object_free_drop_inventory(), object_insert_in_ob(), object_remove(), give::op, P_NEED_UPDATE, PLAYER, QUERY_FLAG, SET_FLAG, SET_MAP_FLAGS, obj::stats, update_all_los(), update_position(), and autojail::who.

Referenced by lamp_type_apply().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_type_lamp()

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:

◆ lamp_type_apply()

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

Applies a lamp.

Parameters
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 105 of file lamp.c.

References AP_NOPRINT, do_turn(), draw_ext_info_format(), FLAG_APPLIED, liv::food, METHOD_ERROR, METHOD_OK, MSG_TYPE_APPLY, MSG_TYPE_APPLY_ERROR, MSG_TYPE_APPLY_FAILURE, obj::name, NDI_UNIQUE, obj::nrof, object_get_player_container(), object_insert_in_ob(), object_split(), QUERY_FLAG, obj::stats, and Ice::tmp.

Referenced by init_type_lamp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: