File src/potion.c


Included Files


Preprocessor definitions

#define POTION_OCCUPANT_CHANCE( n )

Global Variable notonhead

boolean notonhead
Visible in:  src/artifact.c
   src/dogmove.c
   src/dokick.c
   src/dothrow.c
   src/mhitm.c
   src/monmove.c
   src/potion.c
Used in: artifact_hit()src/artifact.c
  dog_move()src/dogmove.c
  fightm()src/mhitm.c
  kick_object()src/dokick.c
  m_move()src/monmove.c
  mdamagem()src/mhitm.c
  potionhit()src/potion.c
  throwit()src/dothrow.c

Global Variable bottlenames

const char* bottlenames[]
Visible in:  src/potion.c
Used in: potionhit()src/potion.c

Local Variables

nothing
static int nothing
Used in: dopotion()
  peffects()

unkn
static int unkn
Used in: dopotion()
  peffects()

beverages
static const char beverages[]
Used in: dodip()
  dodrink()


Global Function djinni_from_bottle()

void djinni_from_bottle ( struct obj* obj )
Prototyped in: include/extern.h
Calls: Monnam()src/do_name.c
  You()src/pline.c
  a_monnam()src/do_name.c
  makemon()src/makemon.c
  mongone()src/mon.c
  pline()src/pline.c
  set_malign()src/makemon.c
  tamedog()src/dog.c
  verbalize()src/pline.c
  makewish(), rn2(), rnd()
Called by: dodrink()src/potion.c
  dorub()src/apply.c
References Variables: c_common_stringssrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c

Global Function dodip()

int dodip ( void )
Prototyped in: include/extern.h
Calls: The()src/objnam.c
  Yname2()src/objnam.c
  You()src/pline.c
  aobjnam()src/objnam.c
  bless()src/mkobj.c
  body_part()src/polyself.c
  curse()src/mkobj.c
  dipfountain()src/fountain.c
  discover_object()src/o_init.c
  dmgtype()src/mondata.c
  docall()src/do_name.c
  exercise()src/attrib.c
  explode()src/explode.c
  floating_above()src/fountain.c
  get_wet()src/potion.c
  getobj()src/invent.c
  hcolor()src/do_name.c
  incr_itimeout()src/potion.c
  is_pool()src/dbridge.c
  losehp()src/hack.c
  makeplural()src/objnam.c
  mixtype()src/potion.c
  mkobj()src/mkobj.c
  obj_extract_self()src/mkobj.c
  pline()src/pline.c
  pline_The()src/pline.c
  potionbreathe()src/potion.c
  the()src/objnam.c
  unbless()src/mkobj.c
  uncurse()src/mkobj.c
  useup()src/invent.c
  xname()src/objnam.c
  yname()src/objnam.c
  Shk_Your(), check_unpaid(), d(), obfree(), obj_resists(), poly_obj(), rn2(), rnd(), sprintf(), strchr(), strcpy()
Used in:  src/cmd.c
References Variables: beveragessrc/potion.c
  c_color_namessrc/decl.c
  c_common_stringssrc/decl.c
  levelsrc/decl.c
  obj_descrsrc/objects.c
  objectssrc/objects.c
  usrc/decl.c
  ublindfsrc/decl.c
  vowelssrc/decl.c
  yncharssrc/decl.c
  youmonstsrc/decl.c
  windowprocs

Global Function dodrink()

int dodrink ( void )
Prototyped in: include/extern.h
Calls: djinni_from_bottle()src/potion.c
  dopotion()src/potion.c
  drinkfountain()src/fountain.c
  drinksink()src/fountain.c
  getobj()src/invent.c
  ghost_from_bottle()src/potion.c
  pline()src/pline.c
  useup()src/invent.c
  rn2(), strcmp()
Used in:  src/cmd.c
References Variables: beveragessrc/potion.c
  flagssrc/decl.c
  levelsrc/decl.c
  obj_descrsrc/objects.c
  objectssrc/objects.c
  usrc/decl.c
  yncharssrc/decl.c
  youmonstsrc/decl.c
  windowprocs

Global Function dopotion()

int dopotion ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: You()src/pline.c
  discover_object()src/o_init.c
  dmgtype()src/mondata.c
  docall()src/do_name.c
  more_experienced()src/exper.c
  peffects()src/potion.c
  useup()src/invent.c
Called by: dodrink()src/potion.c
  drinksink()src/fountain.c
  eatspecial()src/eat.c
References Variables: nothingsrc/potion.c
  objectssrc/objects.c
  usrc/decl.c
  unknsrc/potion.c
  youmonstsrc/decl.c

Global Function get_wet()

boolean get_wet ( struct obj* obj )
Prototyped in: include/extern.h
Calls: The()src/objnam.c
  You()src/pline.c
  aobjnam()src/objnam.c
  bill_dummy_object()src/mkobj.c
  discover_object()src/o_init.c
  losehp()src/hack.c
  pline()src/pline.c
  pline_The()src/pline.c
  snuff_lit()src/apply.c
  xname()src/objnam.c
  Shk_Your(), costly_spot(), grease_protect(), rn2(), rnd()
Called by: dipfountain()src/fountain.c
  dodip()src/potion.c
References Variables: objectssrc/objects.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c
  windowprocs

Global Function healup()

void healup ( int nhp, int nxtra, boolean curesick, boolean cureblind )
Prototyped in: include/extern.h
Calls: make_blinded()src/potion.c
  make_sick()src/potion.c
Called by: artifact_hit()src/artifact.c
  peffects()src/potion.c
References Variables: flagssrc/decl.c
  usrc/decl.c

Global Function incr_itimeout()

void incr_itimeout ( long* which, int incr )
Prototyped in: include/extern.h
Calls: itimeout_incr()src/potion.c
  set_itimeout()src/potion.c
Called by: Boots_on()src/do_wear.c
  Gloves_on()src/do_wear.c
  dodip()src/potion.c
  eataccessory()src/eat.c
  opentin()src/eat.c
  peffects()src/potion.c
  potionbreathe()src/potion.c
  use_grease()src/apply.c

Global Function make_blinded()

void make_blinded ( long xtime, boolean talk )
Prototyped in: include/extern.h
Calls: You()src/pline.c
  dmgtype()src/mondata.c
  pline()src/pline.c
  see_monsters()src/display.c
  set_bc()src/ball.c
  set_itimeout()src/potion.c
Called by: arti_invoke()src/artifact.c
  castmu()src/mcastu.c
  do_takeoff()src/do_wear.c
  doengrave()src/engrave.c
  explmu()src/mhitu.c
  fpostfx()src/eat.c
  gazemu()src/mhitu.c
  gulpmu()src/mhitu.c
  healup()src/potion.c
  hitmu()src/mhitu.c
  m_throw()src/mthrowu.c
  peffects()src/potion.c
  polyman()src/polyself.c
  polymon()src/polyself.c
  potionbreathe()src/potion.c
  rottenfood()src/eat.c
  toss_up()src/dothrow.c
  use_crystal_ball()src/detect.c
  use_towel()src/apply.c
  use_unicorn_horn()src/apply.c
  wipeoff()src/do.c
References Variables: flagssrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  uballsrc/decl.c
  ublindfsrc/decl.c
  vision_full_recalcsrc/decl.c
  youmonstsrc/decl.c

Global Function make_confused()

void make_confused ( long xtime, boolean talk )
Prototyped in: include/extern.h
Calls: You_feel()src/pline.c
  dmgtype()src/mondata.c
  set_itimeout()src/potion.c
Called by: artifact_hit()src/artifact.c
  castmu()src/mcastu.c
  cpostfx()src/eat.c
  gazemu()src/mhitu.c
  hitmu()src/mhitu.c
  peffects()src/potion.c
  potionbreathe()src/potion.c
  rottenfood()src/eat.c
  use_crystal_ball()src/detect.c
  use_mirror()src/apply.c
  use_unicorn_horn()src/apply.c
References Variables: flagssrc/decl.c
  usrc/decl.c
  youmonstsrc/decl.c

Global Function make_hallucinated()

void make_hallucinated ( long xtime, boolean talk, long mask )
Prototyped in: include/extern.h
Calls: pline()src/pline.c
  see_monsters()src/display.c
  see_objects()src/display.c
  see_traps()src/display.c
  set_itimeout()src/potion.c
  swallowed()src/display.c
Called by: cpostfx()src/eat.c
  explmu()src/mhitu.c
  peffects()src/potion.c
  set_artifact_intrinsic()src/artifact.c
  use_crystal_ball()src/detect.c
  use_unicorn_horn()src/apply.c
References Variables: flagssrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c

Global Function make_sick()

void make_sick ( long xtime, const char* cause, boolean talk, int type )
Prototyped in: include/extern.h
Calls: You_feel()src/pline.c
  defends()src/artifact.c
  exercise()src/attrib.c
  pline()src/pline.c
  set_itimeout()src/potion.c
  strncpy()
Called by: arti_invoke()src/artifact.c
  diseasemu()src/mhitu.c
  eatcorpse()src/eat.c
  fpostfx()src/eat.c
  healup()src/potion.c
  hitmu()src/mhitu.c
  newman()src/polyself.c
  peffects()src/potion.c
  polymon()src/polyself.c
  use_unicorn_horn()src/apply.c
  vomit()src/eat.c
References Variables: flagssrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  uwepsrc/decl.c
  youmonstsrc/decl.c

Global Function make_stunned()

void make_stunned ( long xtime, boolean talk )
Prototyped in: include/extern.h
Calls: You()src/pline.c
  You_feel()src/pline.c
  dmgtype()src/mondata.c
  set_itimeout()src/potion.c
Called by: artifact_hit()src/artifact.c
  castmu()src/mcastu.c
  cpostfx()src/eat.c
  doeat()src/eat.c
  gazemu()src/mhitu.c
  hitmu()src/mhitu.c
  use_unicorn_horn()src/apply.c
References Variables: flagssrc/decl.c
  usrc/decl.c
  youmonstsrc/decl.c

Global Function make_vomiting()

void make_vomiting ( long xtime, boolean talk )
Prototyped in: include/extern.h
Calls: You_feel()src/pline.c
  set_itimeout()src/potion.c
Called by: fpostfx()src/eat.c
  fprefx()src/eat.c
  opentin()src/eat.c
  use_unicorn_horn()src/apply.c
References Variables: usrc/decl.c

Global Function peffects()

int peffects ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: Can_rise_up()src/dungeon.c
  You()src/pline.c
  You_feel()src/pline.c
  Your()src/pline.c
  adjattrib()src/attrib.c
  bcsign()src/mkobj.c
  body_part()src/polyself.c
  ceiling()src/engrave.c
  depth()src/dungeon.c
  dmgtype()src/mondata.c
  doup()src/do.c
  enlightenment()src/cmd.c
  exercise()src/attrib.c
  fix_petrification()src/eat.c
  get_level()src/dungeon.c
  goto_level()src/do.c
  heal_legs()src/do.c
  healup()src/potion.c
  impossible()src/pline.c
  incr_itimeout()src/potion.c
  itimeout_incr()src/potion.c
  ledger_no()src/dungeon.c
  losehp()src/hack.c
  make_blinded()src/potion.c
  make_confused()src/potion.c
  make_hallucinated()src/potion.c
  make_sick()src/potion.c
  makeplural()src/objnam.c
  monster_detect()src/detect.c
  newsym()src/display.c
  newuhs()src/eat.c
  nomul()src/hack.c
  object_detect()src/detect.c
  on_level()src/dungeon.c
  pline()src/pline.c
  pline_The()src/pline.c
  pluslvl()src/exper.c
  poisontell()src/mon.c
  polyself()src/polyself.c
  rndexp()src/exper.c
  see_monsters()src/display.c
  self_invis_message()src/pline.c
  set_mimic_blocking()src/display.c
  surface()src/engrave.c
  unmap_object()src/display.c
  xname()src/objnam.c
  aggravate(), d(), fall_asleep(), float_up(), rn2(), rnd(), you_unwere(), you_were()
Called by: dopotion()src/potion.c
References Variables: WIN_MESSAGEsrc/decl.c
  c_common_stringssrc/decl.c
  dungeon_topologysrc/decl.c
  flagssrc/decl.c
  levelsrc/decl.c
  monssrc/monst.c
  multisrc/decl.c
  nomovemsgsrc/decl.c
  nothingsrc/potion.c
  pl_fruitsrc/decl.c
  sstairssrc/decl.c
  usrc/decl.c
  uarmcsrc/decl.c
  uarmhsrc/decl.c
  ublindfsrc/decl.c
  unknsrc/potion.c
  upladdersrc/decl.c
  upstairsrc/decl.c
  youmonstsrc/decl.c
  urole, windowprocs

Global Function potionbreathe()

void potionbreathe ( struct obj* obj )
Prototyped in: include/extern.h
Calls: You()src/pline.c
  You_feel()src/pline.c
  Your()src/pline.c
  discover_object()src/o_init.c
  docall()src/do_name.c
  exercise()src/attrib.c
  incr_itimeout()src/potion.c
  itimeout_incr()src/potion.c
  make_blinded()src/potion.c
  make_confused()src/potion.c
  nomul()src/hack.c
  pline()src/pline.c
  split_mon()src/potion.c
  rn2(), rnd(), you_unwere(), you_were()
Called by: breakobj()src/dothrow.c
  chest_shatter_msg()src/lock.c
  dodip()src/potion.c
  potionhit()src/potion.c
References Variables: c_common_stringssrc/decl.c
  flagssrc/decl.c
  monssrc/monst.c
  nomovemsgsrc/decl.c
  objectssrc/objects.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c
  urole

Global Function potionhit()

void potionhit ( struct monst* mon, struct obj* obj, boolean your_fault )
Prototyped in: include/extern.h
Calls: Monnam()src/do_name.c
  The()src/objnam.c
  You_feel()src/pline.c
  body_part()src/polyself.c
  dist2()src/hacklib.c
  dmgtype()src/mondata.c
  docall()src/do_name.c
  in_rooms()src/hack.c
  killed()src/mon.c
  losehp()src/hack.c
  mon_nam()src/do_name.c
  monkilled()src/mon.c
  pline()src/pline.c
  pline_The()src/pline.c
  polyself()src/polyself.c
  potionbreathe()src/potion.c
  resists_magm()src/mondata.c
  s_suffix()src/hacklib.c
  sleep_monst()src/mhitm.c
  slept_monst()src/mhitm.c
  splatter_burning_oil()src/explode.c
  split_mon()src/potion.c
  wakeup()src/mon.c
  xname()src/objnam.c
  bhitm(), d(), mon_adjust_speed(), mon_set_minvis(), new_were(), obfree(), resist(), rn2(), rnd(), shop_keeper(), sprintf(), stolen_value(), strcpy(), subfrombill(), worm_known()
Called by: m_throw()src/mthrowu.c
  ohitmon()src/mthrowu.c
  thitmonst()src/dothrow.c
  toss_up()src/dothrow.c
References Variables: bottlenamessrc/potion.c
  monssrc/monst.c
  notonheadsrc/potion.c
  objectssrc/objects.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Global Function set_itimeout()

void set_itimeout ( long* which, long val )
Prototyped in: include/extern.h
Calls: itimeout()src/potion.c
Called by: cpostfx()src/eat.c
  incr_itimeout()src/potion.c
  make_blinded()src/potion.c
  make_confused()src/potion.c
  make_hallucinated()src/potion.c
  make_sick()src/potion.c
  make_stunned()src/potion.c
  make_vomiting()src/potion.c

Global Function split_mon()

struct monst* split_mon ( struct monst* mon, struct monst* mtmp )
Prototyped in: include/extern.h
Calls: Monnam()src/do_name.c
  You()src/pline.c
  clone_mon()src/makemon.c
  cloneu()src/mhitu.c
  dist2()src/hacklib.c
  mon_nam()src/do_name.c
  pline()src/pline.c
  s_suffix()src/hacklib.c
  sprintf(), worm_known()
Called by: domonability()src/cmd.c
  minwater()src/mon.c
  passivemm()src/mhitm.c
  passiveum()src/mhitu.c
  potionbreathe()src/potion.c
  potionhit()src/potion.c
References Variables: flagssrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Global Function strange_feeling()

void strange_feeling ( struct obj* obj, const char* txt )
Prototyped in: include/extern.h
Calls: You()src/pline.c
  dmgtype()src/mondata.c
  docall()src/do_name.c
  pline()src/pline.c
  useup()src/invent.c
Called by: food_detect()src/detect.c
  gold_detect()src/detect.c
  monster_detect()src/detect.c
  object_detect()src/detect.c
  trap_detect()src/detect.c
References Variables: flagssrc/decl.c
  objectssrc/objects.c
  usrc/decl.c
  youmonstsrc/decl.c

Local Function ghost_from_bottle()

static void ghost_from_bottle ( void )
Prototyped in: src/potion.c
Calls: You()src/pline.c
  dmgtype()src/mondata.c
  makemon()src/makemon.c
  nomul()src/hack.c
  pline()src/pline.c
  rndmonnam()src/do_name.c
Called by: dodrink()src/potion.c
References Variables: c_common_stringssrc/decl.c
  flagssrc/decl.c
  monssrc/monst.c
  nomovemsgsrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c

Local Function itimeout()

static long itimeout ( long val )
Prototyped in: src/potion.c
Called by: itimeout_incr()src/potion.c
  set_itimeout()src/potion.c

Local Function itimeout_incr()

static long itimeout_incr ( long old, int incr )
Prototyped in: src/potion.c
Calls: itimeout()src/potion.c
Called by: incr_itimeout()src/potion.c
  peffects()src/potion.c
  potionbreathe()src/potion.c

Local Function mixtype()

static short mixtype ( struct obj* o1, struct obj* o2 )
Prototyped in: src/potion.c
Calls: rn2()
Called by: dodip()src/potion.c