51 object *above = op->
above;
56 nabove = above->
above;
68 if (
rndm(0, 2) == 0) {
70 "You are down to your waist in the wet %s.",
76 if (
rndm(0, 2) == 0) {
78 "You are down to your NECK in the dangerous %s.",
85 }
else if (
rndm(0, 4) == 0) {
88 "%s disappeared into a %s.", above->
name, op->
name);
122 "You are down to your knees in the %s.", trap->
name);
void LOG(LogLevel logLevel, const char *format,...)
Logs a message to stderr, or to file.
#define NDI_ALL
Inform all players of this message.
method_ret common_pre_ob_move_on(object *trap, object *victim, object *originator)
int rndm(int min, int max)
Returns a number between min and max.
void draw_ext_info_format(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format,...) PRINTF_ARGS(6
float move_slow_penalty
How much this slows down the object.
#define FLAG_IS_FLOOR
Can't see what's underneath this object.
object * above
Pointer to the object stacked above this one.
void register_move_on(int ob_type, move_on_func method)
Registers the move_on method for the given type.
Global type definitions and header inclusions.
struct player * contr
Pointer to the player which control this object.
void register_process(int ob_type, process_func method)
Registers the process method for the given type.
char method_ret
Define some standard return values for callbacks which don't need to return any other results...
static method_ret deep_swamp_type_move_on(object *trap, object *victim, object *originator)
Move on this Deep Swamp object.
object * object_find_by_type_subtype(const object *who, int type, int subtype)
Find object in inventory.
#define FLAG_ALIVE
Object can fight (or be fought)
void kill_player(object *op, const object *killer)
Handle a player's death.
#define MSG_TYPE_VICTIM
Something bad is happening to the player.
static method_ret deep_swamp_type_process(object *op)
Processes a Deep Swamp.
#define QUERY_FLAG(xyz, p)
#define MSG_TYPE_ADMIN_PLAYER
Player coming/going/death.
void init_type_deep_swamp(void)
Initializer for the DEEP_SWAMP object type.
#define MOVE_FLYING
Combo of fly_low and fly_high.
#define MSG_TYPE_VICTIM_SWAMP
Player is sinking in a swamp.
char killer[BIG_NAME]
Who killed this player.
#define FLAG_OVERLAY_FLOOR
Object is an overlay floor.
#define FLAG_WIZ
Object has special privilegies.
living stats
Str, Con, Dex, etc.
float speed_left
How much speed is left to spend this round.
void common_post_ob_move_on(object *trap, object *victim, object *originator)
#define object_decrease_nrof_by_one(xyz)
Also see SKILL_TOOL (74) below.
MoveType move_type
Type of movement this object uses.
sstring name
The name of the object, obviously...
Only for debugging purposes.
uint8_t type
PLAYER, BULLET, etc.
#define NDI_UNIQUE
Print immediately, don't buffer.
int32_t food
How much food in stomach.
#define FLAG_NO_PICK
Object can't be picked up.
Object type functions and variables.