                 /----------------------------------------\
                <     player.pkg functions helper file     >
                 \----------------------------------------/

    ----------------------------------------------------------------------

    Function: set_parasite

    Declaration: bool set_parasite(int v, int r);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->parasite" and "p_ptr->parasite_r_idx"
    * notice observable changes
    */

    Description:
    Set time "v" until parasite with monster index "r" is created. The
    player gets the message "You feel something growing in you" if "v"
    is > 0. Otherwise the player gets the message "Your body convulse
    and spawn <monster name>" if the monster is created (80% chance) or
    "The hideous thing growing in you seems to die" if the monster dies.

    Parameters:
    >v is the time until the parasite gestates (must be between 0 and
      10000).
    >r is the monster index of parasite to be created.

    ----------------------------------------------------------------------

    Function: set_disrupt_shield

    Declaration: bool set_disrupt_shield(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->disrupt_shield"
    * notice observable changes
    */

    Description:
    Set time "v" until shield of invulnerability expires. The player gets
    the message "You feel invulnerable" if "v" is > 0. Otherwise the
    player gets the message "You are more vulnerable".

    Parameters:
    >v is the time until the shield expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_prob_travel

    Declaration: bool set_prob_travel(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->prob_travel"
    * notice observable changes
    */

    Description:
    Set time "v" until random teleportation expires. The player gets
    the message "You feel instable" if "v" is > 0. Otherwise the
    player gets the message "You are more stable".

    Parameters:
    >v is the time until random teleportation expires (must be between 0
      and 10000).

    ----------------------------------------------------------------------

    Function: set_tim_deadly

    Declaration: bool set_tim_deadly(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_deadly"
    */

    Description:
    Set time "v" until deadly accuracy expires. The player gets the
    message "You feel extremely accurate" if "v" is > 0. Otherwise the
    player gets the message "You are suddenly much less accurate".

    Parameters:
    >v is the time until deadly accuracy expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_tim_res_time

    Declaration: bool set_tim_res_time(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_res_time"
    */

    Description:
    Set time "v" until space-time distortions expire. The player gets the
    message "You are now protected against the space-time distortions" if
    "v" is > 0. Otherwise the player gets the message "You are no longer
    protected against the space-time distortions".

    Parameters:
    >v is the time until space-time distortions expire (must be between
      0 and 10000).

    ----------------------------------------------------------------------

    Function: set_tim_reflect

    Declaration: bool set_tim_reflect(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_reflect"
    */

    Description:
    Set time "v" until reflection expire. The player gets the message
    "You start reflecting the world around you" if "v" is > 0. Otherwise
    the player gets the message "You stop reflecting".

    Parameters:
    >v is the time until reflection expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_meditation

    Declaration: bool set_meditation(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->meditation"
    */

    Description:
    Set time "v" until meditation expire. The player gets the message
    "You start meditating on yourself" if "v" is > 0. Otherwise the
    player gets the message "You stop your self meditation".

    Parameters:
    >v is the time until meditation expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_strike

    Declaration: bool set_strike(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->strike"
    */

    Description:
    Set time "v" until accurate strikes expire. The player gets the
    message "You feel very accurate" if "v" is > 0. Otherwise the player
    gets the message "You are no longer very accurate".

    Parameters:
    >v is the time until accurate strikes expire (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_walk_water

    Declaration: bool set_walk_water(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->walk_water", notice observable changes
    */

    Description:
    Set time "v" until walking on water expires. The player gets the
    message "You feel strangely insubmersible" if "v" is > 0. Otherwise
    the player gets the message "You are no longer insubmersible".

    Parameters:
    >v is the time until walking on water expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_tim_ffall

    Declaration: bool set_tim_ffall(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_ffall"
    */

    Description:
    Set time "v" until feather-fall expires. The player gets the message
    "You feel very light" if "v" is > 0. Otherwise the player gets the
    message "You are suddenly heavier".

    Parameters:
    >v is the time until feather-fall expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_tim_fire_aura

    Declaration: bool set_tim_fire_aura(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_fire_aura"
    */

    Description:
    Set time "v" until fiery aura expires. The player gets the message
    "You are enveloped in flames" if "v" is > 0. Otherwise the player
    gets the message "You are no longer enveloped in flames".

    Parameters:
    >v is the time until fiery aura expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_holy

    Declaration: bool set_holy(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->holy", notice observable changes
    */

    Description:
    Set time "v" until holiness expires. The player gets the message
    "You feel a holy aura around you" if "v" is > 0. Otherwise the
    player gets the message "The holy aura vanishes".

    Parameters:
    >v is the time until holiness expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_grace

    Declaration: void set_grace(s32b v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->grace", notice observable changes
    */

    Description:
    Set grace to value "v". Don't allow grace to fall below -30000 or
    rise above 30000.

    Parameters:
    >v is the value of grace.

    ----------------------------------------------------------------------

    Function: set_mimic

    Declaration: bool set_mimic(int v, int p);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_mimic", and "p_ptr->mimic_form",
    * notice observable changes
    */

    Description:
    Set time "v" until morph into monster with monster index "p" expires.
    The player gets the message "You feel your body change" if "v" is > 0.
    Otherwise the player gets the message "You are no longer transformed".

    Parameters:
    >v is the time until transformation expires (must be between 0 and
      10000).
    >p is the monster index of the monster the player wants to mimic.

    ----------------------------------------------------------------------

    Function: set_no_breeders

    Declaration: bool set_no_breeders(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "no_breeds"
    */

    Description:
    Set time "v" until breeders can breed again. The player gets the
    message "You feel an anti-sexual aura" if "v" is > 0. Otherwise the
    player gets the message "You no longer feel an anti-sexual aura".
    Okay...

    Parameters:
    >v is the time until breeders can breed again (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_invis

    Declaration: bool set_invis(int v,int p);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_invis", and "p_ptr->tim_inv_pow",
    * notice observable changes
    */

    Description:
    Set time "v" until invisibility expires. The player gets the message
    "You feel your body fade away" if "v" is > 0. Otherwise the player
    gets the message "You are no longer invisible".

    Parameters:
    >v is the time until invisibility expires (must be between 0 and
      10000).
    >p is the power of timed invisibility.

    ----------------------------------------------------------------------

    Function: set_lite

    Declaration: bool set_lite(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_lite", notice observable changes
    *
    * Note the use of "PU_VIEW", which is needed to
    * memorise any terrain features which suddenly become "visible".
    * Note that blindness is currently the only thing which can affect
    * "player_can_see_bold()".
    */

    Description:
    Set time "v" until brightness expires. The player gets the message
    "You suddenly seem brighter" if "v" is > 0. Otherwise the player
    gets the message "You are no longer bright".

    Parameters:
    >v is the time until brightness expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_blind

    Declaration: bool set_blind(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->blind", notice observable changes
    *
    * Note the use of "PU_UN_VIEW", which is needed to memorise any terrain
    * features which suddenly become "visible".
    * Note that blindness is currently the only thing which can affect
    * "player_can_see_bold()".
    */

    Description:
    Set time "v" until blindness expires. The player gets the message "You
    are blind" if "v" is > 0. Otherwise the player gets the message "You
    can see again".

    Parameters:
    >v is the time until blindness expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_confused

    Declaration: bool set_confused(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->confused", notice observable changes
    */

    Description:
    Set time "v" until confusion expires. The player gets the message "You
    are confused" if "v" is > 0. Otherwise the player gets the message
    "You feel less confused now".

    Parameters:
    >v is the time until confusion expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_poisoned

    Declaration: bool set_poisoned(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->poisoned", notice observable changes
    */

    Description:
    Set time "v" until poison expires. The player gets the message "You
    are poisoned" if "v" is > 0. Otherwise the player gets the message
    "You are no longer poisoned".

    Parameters:
    >v is the time until poison expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_afraid

    Declaration: bool set_afraid(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->afraid", notice observable changes
    */

    Description:
    Set time "v" until fear expires. The player gets the message "You are
    terrified" if "v" is > 0. Otherwise the player gets the message "You
    feel bolder now".

    Parameters:
    >v is the time until fear expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_paralyzed

    Declaration: bool set_paralyzed(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->paralyzed", notice observable changes
    */

    Description:
    Set time "v" until paralysis expires. The player gets the message "You
    are paralyzed" if "v" is > 0. Otherwise the player gets the message
    "You can move again".

    Parameters:
    >v is the time until paralysis expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_image

    Declaration: bool set_image(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->image", notice observable changes
    *
    * Note that we must redraw the map when hallucination changes.
    */

    Description:
    Set time "v" until hallucination expires. The player gets the message
    "Oh, wow! Everything looks so cosmic now" if "v" is > 0. Otherwise
    the player gets the message "You can see clearly again".

    Parameters:
    >v is the time until hallucination expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_fast

    Declaration: bool set_fast(int v, int p);

    File: xtra2.c

    Comment:
    (none)

    Description:
    Set time "v" until speed of speed factor "p" expires. The player gets
    the message "You feel yourself moving faster" if "v" is > 0. Otherwise
    the player gets the message "You feel yourself slow down".

    Parameters:
    >v is the time until speed expires (must be between 0 and 10000).
    >p is the speed factor.

    ----------------------------------------------------------------------

    Function: set_light_speed

    Declaration: bool set_light_speed(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->lightspeed", notice observable changes
    */

    Description:
    Set time "v" until light-speed expires. The player gets the message
    "You feel as if time has stopped" if "v" is > 0. Otherwise the player
    gets the message "You feel time returning to its normal rate".

    Parameters:
    >v is the time until light-speed expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_slow

    Declaration: bool set_slow(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->slow", notice observable changes
    */

    Description:
    Set time "v" until slowness expires. The player gets the message "You
    feel yourself moving slower" if "v" is > 0. Otherwise the player gets
    the message "You feel yourself speed up".

    Parameters:
    >v is the time until slowness expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_shield

    Declaration: bool set_shield(int v, int p, s16b o, s16b d1, s16b d2);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->shield", notice observable changes
    */

    Description:
    Set time "v" until stone-shield expires. The player gets the message
    "Your skin turns to stone" if "v" is > 0. Otherwise the player gets
    the message "Your skin returns to normal". Stone-shield has spell
    power "p", spell option "o", and power options "d1" and "d2".

    Parameters:
    >v is the time until stone-shield expires (must be between 0 and
      10000).
    >p is the power of the stone-shield spell.
    >o is the option of the stone-shield spell.
    >d1 is the power for option 1 of the stone-shield spell.
    >d2 is the power for option 2 of the stone-shield spell.

    ----------------------------------------------------------------------

    Function: set_blessed

    Declaration: bool set_blessed(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->blessed", notice observable changes
    */

    Description:
    Set time "v" until blessing expires. The player gets the message "You
    feel righteous" if "v" is > 0. Otherwise the player gets the message
    "The prayer has expired".

    Parameters:
    >v is the time until blessing expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_hero

    Declaration: bool set_hero(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->hero", notice observable changes
    */

    Description:
    Set time "v" until heroism expires. The player gets the message "You
    feel like a hero" if "v" is > 0. Otherwise the player gets the
    message "The heroism wears off".

    Parameters:
    >v is the time until heroism expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_shero

    Declaration: bool set_shero(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->shero", notice observable changes
    */

    Description:
    Set time "v" until berserk expires. The player gets the message "You
    feel like a killing machine" if "v" is > 0. Otherwise the player gets
    the message "You feel less Berserk".

    Parameters:
    >v is the time until berserk expires (must be between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_protevil

    Declaration: bool set_protevil(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->protevil", notice observable changes
    */

    Description:
    Set time "v" until protection from evil expires. The player gets the
    message "You feel safe from evil" if "v" is > 0. Otherwise the player
    gets the message "You no longer feel safe from evil".

    Parameters:
    >v is the time until protection from evil expires (must be between 0
      and 10000).

    ----------------------------------------------------------------------

    Function: set_protgood

    Declaration: bool set_protgood(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->protgood", notice observable changes
    */

    Description:
    Set time "v" until protection from good expires. The player gets the
    message "You feel safe from good" if "v" is > 0. Otherwise the player
    gets the message "You no longer feel safe from good".

    Parameters:
    >v is the time until protection from evil expires (must be between 0
      and 10000).

    ----------------------------------------------------------------------

    Function: set_protundead

    Declaration: bool set_protundead(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->protundead", notice observable changes
    */

    Description:
    Set time "v" until protection from undead expires. The player gets the
    message "You feel safe from undead" if "v" is > 0. Otherwise the
    player gets the message "You no longer feel safe from undead".

    Parameters:
    >v is the time until protection from undead expires (must be between
      0 and 10000).

    ----------------------------------------------------------------------

    Function: set_invuln

    Declaration: bool set_invuln(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->invuln", notice observable changes
    */

    Description:
    Set time "v" until invulnerability expires. The player gets the
    message "Invulnerability" if "v" is > 0. Otherwise the player gets
    the message "The invulnerability wears off".

    Parameters:
    >v is the time until invulnerability expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_tim_invis

    Declaration: bool set_tim_invis(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_invis", notice observable changes
    */

    Description:
    Set time "v" until see invisible expires. The player gets the message
    "Your eyes feel very sensitive" if "v" is > 0. Otherwise the player
    gets the message "Your eyes feel less sensitive".

    Parameters:
    >v is the time until see invisible expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_tim_infra

    Declaration: bool set_tim_infra(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_infra", notice observable changes
    */

    Description:
    Set time "v" until infravision expires. The player gets the message
    "Your eyes begin to tingle" if "v" is > 0. Otherwise the player gets
    the message "Your eyes stop tingling".

    Parameters:
    >v is the time until infravision expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_mental_barrier

    Declaration: bool set_mental_barrier(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->tim_mental_barrier", notice observable changes
    */

    Description:
    Set time "v" until mental barrier expires. The player gets the message
    "Your mind grows stronger" if "v" is > 0. Otherwise the player gets
    the message "Your mind is no longer especially strong".

    Parameters:
    >v is the time until mental barrier expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_acid

    Declaration: bool set_oppose_acid(int v);

    File: xtra2.c

    Comment:

    Description:
    Set time "v" until feather-fall expires. The player gets the message
    "You feel very light" if "v" is > 0. Otherwise the player gets the
    message "You are suddenly heavier".

    Parameters:
    >v is the time until feather-fall expires (must be between 0 and
      10000).
    >v is the time until feather-fall expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_elec

    Declaration: bool set_oppose_elec(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_elec", notice observable changes
    */

    Description:
    Set time "v" until electricity resistance expires. The player gets
    the message "You feel resistant to electricity" if "v" is > 0.
    Otherwise the player gets the message "You feel less resistant to
    electricity".

    Parameters:
    >v is the time until electricity resistance expires (must be between
      0 and 10000).

    ----------------------------------------------------------------------

    Function: set_oppose_fire

    Declaration: bool set_oppose_fire(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_fire", notice observable changes
    */

    Description:
    Set time "v" until fire resistance expires. The player gets the
    message "You feel resistant to fire" if "v" is > 0. Otherwise the
    player gets the message "You feel less resistant to fire".

    Parameters:
    >v is the time until fire resistance expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_cold

    Declaration: bool set_oppose_cold(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_cold", notice observable changes
    */

    Description:
    Set time "v" until cold resistance expires. The player gets the
    message "You feel resistant to cold" if "v" is > 0. Otherwise the
    player gets the message "You feel less resistant to cold".

    Parameters:
    >v is the time until cold resistance expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_pois

    Declaration: bool set_oppose_pois(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_pois", notice observable changes
    */

    Description:
    Set time "v" until poison resistance expires. The player gets the
    message "You feel resistant to poison" if "v" is > 0. Otherwise the
    player gets the message "You feel less resistant to poison".

    Parameters:
    >v is the time until poison resistance expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_ld

    Declaration: bool set_oppose_ld(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_ld"
    */

    Description:
    Set time "v" until light and dark resistance expires. The player gets
    the message "You feel protected against the light's fluctuation" if
    "v" is > 0. Otherwise the player gets the message "You are no longer
    protected against the light's fluctuation".

    Parameters:
    >v is the time until light and dark resistance expires (must be
      between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_oppose_cc

    Declaration: bool set_oppose_cc(int v);

    File: xtra2.c
    /*
    * Set "p_ptr->oppose_cc"
    */

    Comment:

    Description:
    Set time "v" until chaos resistance expires. The player gets the
    message "You feel protected against raw chaos" if "v" is > 0.
    Otherwise the player gets the message "You are no longer protected
    against chaos".

    Parameters:
    >v is the time until chaos resistance expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_oppose_ss

    Declaration: bool set_oppose_ss(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_ss"
    */

    Description:
    Set time "v" until sound and shard resistance expires. The player gets
    the message "You feel protected against the ravages of sound and
    shards" if "v" is > 0. Otherwise the player gets the message "You are
    no longer protected against the ravages of sound and shards".

    Parameters:
    >v is the time until sound and shard resistance expires (must be
      between 0 and 10000).

    ----------------------------------------------------------------------

    Function: set_oppose_nex

    Declaration: bool set_oppose_nex(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->oppose_nex"
    */

    Description:
    Set time "v" until nexus resistance expires. The player gets the
    message "You feel protected against the strange forces of nexus" if
    "v" is > 0. Otherwise the player gets the message "You are no longer
    protected against the strange forces of nexus".

    Parameters:
    >v is the time until nexus resistance expires (must be between 0 and
      10000).

    ----------------------------------------------------------------------

    Function: set_stun

    Declaration: bool set_stun(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->stun", notice observable changes
    *
    * Note the special code to only notice "range" changes.
    */

    Description:
    Set stun level "v". If the player race can't be stunned then the level
    is forced to 0. A value > 100 means the player is knocked out. A value
    >50 is a heavy stun. A value > 0 is a stun. If the stun level has
    increased, a message is printed. There is a small chance of stun level
    in 1000, or a 1 in 16 chance of a vicious blow which decreases
    intelligence and/or wisdom for a while.

    Parameters:
    >v is the stun level.

    ----------------------------------------------------------------------

    Function: set_cut

    Declaration: bool set_cut(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->cut", notice observable changes
    *
    * Note the special code to only notice "range" changes.
    */

    Description:
    Set cut level "v". If the player race can't be cut then the time is
    forced to 0. A value > 1000 is a mortal wound. A value > 200 is a deep
    gash. A value > 100 is a severe cut. A value > 50 is a nasty cut. A
    value > 25 is a bad cut. A value > 10 is a light cut. A value > 0 is a
    graze. If the cut level has increased, a message is printed. There is
    a small chance of stun level in 1000, or a 1 in 16 chance of scarring
    which decreases charisma for a while.

    Parameters:
    >v is the cut level.

    ----------------------------------------------------------------------

    Function: set_food

    Declaration: bool set_food(int v);

    File: xtra2.c

    Comment:
    /*
    * Set "p_ptr->food", notice observable changes
    *
    * The "p_ptr->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",
    * but when the player is "gorged", he digests 100 food units per 10
    * game turns, or a full 1000 food units per 100 game turns.
    *
    * Note that the player's speed is reduced by 10 units while gorged,
    * so if the player eats a single food ration (5000 food units) when
    * full (15000 food units), he will be gorged for (5000/100)*10 = 500
    * game turns, or 500/(100/5) = 25 player turns (if nothing else is
    * affecting the player speed).
    */

    Description:
    Set hunger level "v". A value < 500 is fainting. A value < 1000 is
    weak. A value < 2000 is weak. A value < 10000 is full. A value
    < 15000 is bloated. A value < 20000 is gorged. If one of these
    levels is crossed a message is printed.

    Parameters:
    >v is the hunger level (must be between 0 and 20000).

    ----------------------------------------------------------------------

    Function: check_experience

    Declaration: void check_experience(void);

    File: xtra2.c

    Comment:
    /*
    * Advance experience levels and print experience
    */

    Description:
    Check if player experience level has changed. If a player has achieved
    a level for the first time, give reward or corruption (1 chance in 3)
    if they apply, and increase skill points.

    ----------------------------------------------------------------------

    Function: check_experience_obj

    Declaration: void check_experience_obj(object_type *o_ptr);

    File: xtra2.c

    Comment:
    /*
    * Advance experience levels and print experience
    */

    Description:
    Check if object "o_ptr" experience level has changed. If an object has
    achieved a level for the first time, apply gains.

    Parameters:
    >o_ptr is the pointer to the object gaining experience.

    ----------------------------------------------------------------------

    Function: gain_exp

    Declaration: void gain_exp(s32b amount);

    File: xtra2.c

    Comment:
    /*
    * Gain experience (share it to objects if needed)
    */

    Description:
    Gain "amount" of experience. Count the number of objects which will
    gain experience. The objects share equally 2/3 of "amount". Give
    corruption if it applies. Gain experience. If experience is less
    than maximum, then increase maximum experience by 20% of "amount".
    Check for level change and print experience (check_experience).

    Parameters:
    >amount is the amount of experience to share.

    ----------------------------------------------------------------------

    Function: lose_exp

    Declaration: void lose_exp(s32b amount);

    File: xtra2.c

    Comment:
    /*
    * Lose experience
    */

    Description:
    Decrease experience by "amount". Experience can not fall below zero.
    Check for level change and print experience (check_experience).

    Parameters:
    >amount is the amount of experience to lose.

    ----------------------------------------------------------------------

    Back to the lua help index .

                                                         This file by Chris Hadgis