Crossfire Server, Trunk
mood_floor.c File Reference
#include <global.h>
#include <ob_methods.h>
#include <ob_types.h>
#include <sounds.h>
#include <sproto.h>
+ Include dependency graph for mood_floor.c:

Go to the source code of this file.

Functions

static void do_mood_floor (object *op, object *op2)
 
void init_type_mood_floor (void)
 
static method_ret mood_floor_type_process (object *op)
 
static method_ret mood_floor_type_trigger (object *op, object *cause, int state)
 

Detailed Description

The implementation of mood floor objects.

Definition in file mood_floor.c.

Function Documentation

◆ do_mood_floor()

static void do_mood_floor ( object op,
object op2 
)
static

Main function for mood floor objects.

This routine makes monsters who are standing on the 'mood floor' change their disposition if it is different. If floor is to be triggered must have a speed of zero (default is 1 for all but the charm floor type). by b.t. thoma.nosp@m.s@no.nosp@m.mad.a.nosp@m.stro.nosp@m..psu..nosp@m.edu

Parameters
opfloor that activates
op2object that caused op to activate. Should be either op (for floors with speed), or a connected button a player pushed. Must not be NULL. Will be used for charming floors to locate the player the monster will become a pet of.

Definition at line 62 of file mood_floor.c.

References obj::above, add_friendly_object(), CLEAR_FLAG, obj::contr, FLAG_FRIENDLY, FLAG_MONSTER, FLAG_SLEEP, FLAG_UNAGGRESSIVE, GET_MAP_OB, GOLEM, pl::golem_count, llevError, LOG(), obj::map, map_find_by_flag(), object_clear_owner(), object_get_owner(), object_set_enemy(), object_set_owner(), object_update_speed(), give::op, PETMOVE, PLAYER, QUERY_FLAG, range_golem, pl::ranges, remove_friendly_object(), SET_FLAG, Ice::tmp, obj::type, obj::x, and obj::y.

Referenced by mood_floor_type_process(), and mood_floor_type_trigger().

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

◆ init_type_mood_floor()

void init_type_mood_floor ( void  )

Initializer for the mood floor object type.

Definition at line 40 of file mood_floor.c.

References MOOD_FLOOR, mood_floor_type_process(), mood_floor_type_trigger(), register_process(), and register_trigger().

Referenced by register_all_ob_types().

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

◆ mood_floor_type_process()

static method_ret mood_floor_type_process ( object op)
static

Processes a mood floor.

Parameters
opThe mood_floor to process
Return values
METHOD_OK

Definition at line 151 of file mood_floor.c.

References do_mood_floor(), METHOD_OK, and give::op.

Referenced by init_type_mood_floor().

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

◆ mood_floor_type_trigger()

static method_ret mood_floor_type_trigger ( object op,
object cause,
int  state 
)
static

A mood floor is triggered.

Parameters
opThe object being triggered
causeIgnored.
stateIgnored.
Return values
METHOD_OK

Definition at line 163 of file mood_floor.c.

References do_mood_floor(), METHOD_OK, give::op, quest::state, and nlohmann::detail::void().

Referenced by init_type_mood_floor().

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