Angband
Data Structures | Macros | Enumerations | Functions
player-timed.h File Reference

Timed effects handling. More...

#include "player.h"
#include "list-player-timed.h"

Go to the source code of this file.

Data Structures

struct  timed_effect

Macros

#define PY_FOOD_MAX   17000 /* Food value (Bloated) */
 Player food values.
#define PY_FOOD_FULL   10000 /* Food value (Normal) */
#define PY_FOOD_ALERT   2000 /* Food value (Hungry) */
#define PY_FOOD_WEAK   1000 /* Food value (Weak) */
#define PY_FOOD_FAINT   500 /* Food value (Fainting) */
#define PY_FOOD_STARVE   100 /* Food value (Starving) */
#define TMD(a, b, c, d, e, f, g, h, i, j)   TMD_##a,

Enumerations

enum  { TMD_FAIL_FLAG_OBJECT = 1, TMD_FAIL_FLAG_RESIST, TMD_FAIL_FLAG_VULN }
 Effect failure flag types. More...
enum  { TMD_MAX }
 Timed effects. More...

Functions

int timed_name_to_idx (const char *name)
const char * timed_idx_to_name (int type)
int timed_protect_flag (int type)
bool player_set_timed (struct player *p, int idx, int v, bool notify)
 Set a timed event (except timed resists, cutting and stunning).
bool player_inc_timed (struct player *p, int idx, int v, bool notify, bool check)
 Increase the timed effect idx by v.
bool player_dec_timed (struct player *p, int idx, int v, bool notify)
 Decrease the timed effect idx by v.
bool player_clear_timed (struct player *p, int idx, bool notify)
 Clear the timed effect idx.
bool player_set_food (struct player *p, int v)
 Set "player->food", notice observable changes.

Detailed Description

Timed effects handling.

Copyright (c) 1997 Ben Harrison Copyright (c) 2007 A Sidwell andi@.nosp@m.takk.nosp@m.aria..nosp@m.org

This work is free software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License as published by the Free Software Foundation, version 2, or

b) the "Angband licence": This software may be copied and distributed for educational, research, and not for profit purposes provided that this copyright and statement are included in all such copies. Other copyrights may also apply.

Macro Definition Documentation

#define PY_FOOD_ALERT   2000 /* Food value (Hungry) */

Referenced by player_set_food().

#define PY_FOOD_FAINT   500 /* Food value (Fainting) */
#define PY_FOOD_FULL   10000 /* Food value (Normal) */
#define PY_FOOD_MAX   17000 /* Food value (Bloated) */

Player food values.

Referenced by do_cmd_wiz_cure_all(), player_set_food(), and wiz_cheat_death().

#define PY_FOOD_STARVE   100 /* Food value (Starving) */
#define PY_FOOD_WEAK   1000 /* Food value (Weak) */

Referenced by player_regen_hp(), and player_set_food().

#define TMD (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  i,
 
)    TMD_##a,

Enumeration Type Documentation

anonymous enum

Effect failure flag types.

Enumerator:
TMD_FAIL_FLAG_OBJECT 
TMD_FAIL_FLAG_RESIST 
TMD_FAIL_FLAG_VULN 
anonymous enum

Timed effects.

Enumerator:
TMD_MAX 

Function Documentation

bool player_clear_timed ( struct player p,
int  idx,
bool  notify 
)

Clear the timed effect idx.

Mention this if notify is TRUE.

References player_set_timed().

Referenced by do_cmd_wiz_cure_all(), effect_handler_CURE(), and wiz_cheat_death().

bool player_dec_timed ( struct player p,
int  idx,
int  v,
bool  notify 
)

Decrease the timed effect idx by v.

Mention this if notify is TRUE.

References FALSE, player_set_timed(), player::timed, and TMD_MAX.

Referenced by decrease_timeouts(), and effect_handler_TIMED_DEC().

bool player_inc_timed ( struct player p,
int  idx,
int  v,
bool  notify,
bool  check 
)
bool player_set_food ( struct player p,
int  v 
)

Set "player->food", notice observable changes.

The "player->food" variable can get as large as 20000, allowing the addition of the most "filling" item, Elvish Waybread, which adds 7500 food units, without overflowing the 32767 maximum limit.

Perhaps we should disturb the player with various messages, especially messages about hunger status changes. XXX XXX XXX

Digestion of food is handled in "dungeon.c", in which, normally, the player digests about 20 food units per 100 game turns, more when "fast", more when "regenerating", less with "slow digestion".

References disturb(), FALSE, player::food, handle_stuff(), MAX, MIN, msg, msgt(), PR_STATUS, PU_BONUS, PY_FOOD_ALERT, PY_FOOD_FAINT, PY_FOOD_FULL, PY_FOOD_MAX, PY_FOOD_WEAK, player_upkeep::redraw, TRUE, player_upkeep::update, and player::upkeep.

Referenced by do_cmd_wiz_cure_all(), effect_handler_NOURISH(), effect_handler_SET_NOURISH(), process_world(), and wiz_cheat_death().

bool player_set_timed ( struct player p,
int  idx,
int  v,
bool  notify 
)
const char* timed_idx_to_name ( int  type)

References timed_name_list, TMD_MAX, and type.

int timed_name_to_idx ( const char *  name)

References i, my_stricmp(), and timed_name_list.

Referenced by effect_param().

int timed_protect_flag ( int  type)

References timed_effect::fail, and type.

Referenced by unset_spells().