File src/muse.c


Included Files


Preprocessor definitions

#define POTION_OCCUPANT_CHANCE( n )

#define MUSE_SCR_TELEPORTATION 1

#define MUSE_WAN_TELEPORTATION_SELF 2

#define MUSE_POT_HEALING 3

#define MUSE_POT_EXTRA_HEALING 4

#define MUSE_WAN_DIGGING 5

#define MUSE_TRAPDOOR 6

#define MUSE_TELEPORT_TRAP 7

#define MUSE_UPSTAIRS 8

#define MUSE_DOWNSTAIRS 9

#define MUSE_WAN_CREATE_MONSTER 10

#define MUSE_SCR_CREATE_MONSTER 11

#define MUSE_UP_LADDER 12

#define MUSE_DN_LADDER 13

#define MUSE_SSTAIRS 14

#define MUSE_WAN_TELEPORTATION 15

#define MUSE_BUGLE 16

#define MUSE_UNICORN_HORN 17

#define MUSE_POT_FULL_HEALING 18

#define nomore( x )

#define m_flee( m )

#define MUSE_WAN_DEATH 1

#define MUSE_WAN_SLEEP 2

#define MUSE_WAN_FIRE 3

#define MUSE_WAN_COLD 4

#define MUSE_WAN_LIGHTNING 5

#define MUSE_WAN_MAGIC_MISSILE 6

#define MUSE_WAN_STRIKING 7

#define MUSE_SCR_FIRE 8

#define MUSE_POT_PARALYSIS 9

#define MUSE_POT_BLINDNESS 10

#define MUSE_POT_CONFUSION 11

#define MUSE_FROST_HORN 12

#define MUSE_FIRE_HORN 13

#define MUSE_POT_ACID 14

#define MUSE_POT_SLEEPING 16

#define MUSE_SCR_EARTH 17

#define nomore( x )

#define MUSE_POT_GAIN_LEVEL 1

#define MUSE_WAN_MAKE_INVISIBLE 2

#define MUSE_POT_INVISIBILITY 3

#define MUSE_POLY_TRAP 4

#define MUSE_WAN_POLYMORPH 5

#define MUSE_POT_SPEED 6

#define MUSE_WAN_SPEED_MONSTER 7

#define MUSE_BULLWHIP 8

#define MUSE_POT_POLYMORPH 9

#define nomore( x )


Type struct musable

struct musable
struct musable 
   { 
     struct obj* offensive; 
     struct obj* defensive; 
     struct obj* misc; 
     int has_offense; 
     int has_defense; 
     int has_misc; 
   } 

Global Variable m_using

boolean m_using
Visible in:  src/muse.c
Used in: use_defensive()src/muse.c
  use_offensive()src/muse.c

Global Variable fhitm

int (*fhitm)(struct monst*,struct obj*)
Visible in:  src/muse.c

Global Variable fhito

int (*fhito)(struct obj*,struct obj*)
Visible in:  src/muse.c

Global Variable obj

struct obj* obj
Visible in:  src/muse.c

External Variables

monstr
extern const int monstr[]
Defined in: src/monstr.c

Local Variables

m
static struct musable m
Used in: find_defensive()
  find_misc()
  find_offensive()
  precheck()
  use_defensive()
  use_misc()
  use_offensive()

trapx
static int trapx
Used in: find_defensive()
  find_misc()
  use_defensive()
  use_misc()

trapy
static int trapy
Used in: find_defensive()
  find_misc()
  use_defensive()
  use_misc()

zap_oseen
static boolean zap_oseen
Used in: mbhitm()
  use_defensive()
  use_offensive()


Global Function fhito()

void mbhit ( )
Calls: destroy_drawbridge()src/dbridge.c
  dist2()src/hacklib.c
  doorlock()src/lock.c
  find_drawbridge()src/dbridge.c
  in_rooms()src/hack.c
  isok()src/cmd.c
  map_invisible()src/display.c
  sgn()src/hacklib.c
  add_damage(), discover_object(), worm_known()
References Variables: bhitpossrc/decl.c
  flagssrc/decl.c
  levelsrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Global Function find_defensive()

boolean find_defensive ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: Can_fall_thru()src/dungeon.c
  Is_botlevel()src/dungeon.c
  dist2()src/hacklib.c
  is_ice()src/dbridge.c
  is_lava()src/dbridge.c
  is_pool()src/dbridge.c
  isok()src/cmd.c
  ledger_no()src/dungeon.c
  m_carrying()src/mthrowu.c
  onscary()src/monmove.c
  sobj_at()src/invent.c
  inhishop(), mon_has_amulet(), rn2(), t_at()
Called by: dochug()src/monmove.c
References Variables: dnladdersrc/decl.c
  dnstairsrc/decl.c
  dungeon_topologysrc/decl.c
  levelsrc/decl.c
  msrc/muse.c
  monssrc/monst.c
  sstairssrc/decl.c
  trapxsrc/muse.c
  trapysrc/muse.c
  usrc/decl.c
  upladdersrc/decl.c
  upstairsrc/decl.c

Global Function find_misc()

boolean find_misc ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: dist2()src/hacklib.c
  isok()src/cmd.c
  monsndx()src/mondata.c
  onscary()src/monmove.c
  sobj_at()src/invent.c
  t_at()
Called by: dochug()src/monmove.c
References Variables: levelsrc/decl.c
  msrc/muse.c
  monssrc/monst.c
  monstrsrc/monstr.c
  trapxsrc/muse.c
  trapysrc/muse.c
  usrc/decl.c
  uwepsrc/decl.c
  youmonstsrc/decl.c

Global Function find_offensive()

boolean find_offensive ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: dist2()src/hacklib.c
  dmgtype()src/mondata.c
  lined_up()src/mthrowu.c
  on_level()src/dungeon.c
  in_your_sanctuary(), rn2(), which_armor()
Called by: dochug()src/monmove.c
  mattacku()src/mhitu.c
References Variables: dungeon_topologysrc/decl.c
  msrc/muse.c
  monssrc/monst.c
  multisrc/decl.c
  usrc/decl.c
  uarmsrc/decl.c
  uarmcsrc/decl.c
  uarmfsrc/decl.c
  uarmgsrc/decl.c
  uarmhsrc/decl.c
  uarmssrc/decl.c
  uarmusrc/decl.c
  uwepsrc/decl.c
  youmonstsrc/decl.c
  objects

Global Function mon_reflects()

boolean mon_reflects ( struct monst* mon, const char* str )
Prototyped in: include/extern.h
Calls: mon_nam()src/do_name.c
  s_suffix()src/hacklib.c
  discover_object(), pline(), which_armor()
Called by: gazemu()src/mhitu.c
  passivemm()src/mhitm.c
  passiveum()src/mhitu.c
  use_mirror()src/apply.c
References Variables: monssrc/monst.c

Global Function munstone()

boolean munstone ( struct monst* mon, boolean by_you )
Prototyped in: include/extern.h
Calls: Monnam()src/do_name.c
  dmgtype()src/mondata.c
  dog_nutrition()src/dogmove.c
  m_useup()src/mthrowu.c
  mon_nam()src/do_name.c
  mondead()src/mon.c
  xkilled()src/mon.c
  You_hear(), distant_name(), pline(), rnd(), worm_known()
Called by: mdamagem()src/mhitm.c
References Functions: doname()
References Variables: flagssrc/decl.c
  monssrc/monst.c
  monstermovessrc/decl.c
  movessrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Global Function rnd_defensive_item()

int rnd_defensive_item ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: attacktype()src/mondata.c
  monsndx()src/mondata.c
  rn2()
Called by: m_initinv()src/makemon.c
  mk_mplayer()src/mplayer.c
References Variables: monssrc/monst.c
  monstrsrc/monstr.c

Global Function rnd_misc_item()

int rnd_misc_item ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: attacktype()src/mondata.c
  monsndx()src/mondata.c
  rn2()
Called by: m_initinv()src/makemon.c
  mk_mplayer()src/mplayer.c
References Variables: monstrsrc/monstr.c
  usrc/decl.c
  youmonstsrc/decl.c

Global Function rnd_offensive_item()

int rnd_offensive_item ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: attacktype()src/mondata.c
  monsndx()src/mondata.c
  rn2(), which_armor()
Called by: m_initweap()src/makemon.c
  mk_mplayer()src/mplayer.c
References Variables: monstrsrc/monstr.c
  objects

Global Function searches_for_item()

boolean searches_for_item ( struct monst* mon, struct obj* obj )
Prototyped in: include/extern.h
Calls: monsndx()src/mondata.c
Called by: m_move()src/monmove.c
  mpickstuff()src/mon.c
References Variables: monssrc/monst.c
  monstrsrc/monstr.c
  objects

Global Function ureflects()

boolean ureflects ( const char* fmt, const char* str )
Prototyped in: include/extern.h
Calls: discover_object(), pline()
Called by: gazemu()src/mhitu.c
References Variables: monssrc/monst.c
  usrc/decl.c
  youmonstsrc/decl.c

Global Function use_defensive()

int use_defensive ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: Can_dig_down()src/dungeon.c
  In_hell()src/dungeon.c
  Is_botlevel()src/dungeon.c
  Monnam()src/do_name.c
  On_W_tower_level()src/dungeon.c
  bcsign()src/mkobj.c
  depth()src/dungeon.c
  dist2()src/hacklib.c
  docall()src/do_name.c
  dunlev()src/dungeon.c
  dunlevs_in_dungeon()src/dungeon.c
  get_level()src/dungeon.c
  is_drawbridge_wall()src/dbridge.c
  is_pool()src/dbridge.c
  ledger_no()src/dungeon.c
  locomotion()src/mondata.c
  m_useup()src/mthrowu.c
  makemon()src/makemon.c
  migrate_to_level()src/dog.c
  mon_nam()src/do_name.c
  mongone()src/mon.c
  mquaffmsg()src/muse.c
  mreadmsg()src/muse.c
  mzapmsg()src/muse.c
  newsym()src/display.c
  precheck()src/muse.c
  pronoun_gender()src/mondata.c
  surface()src/engrave.c
  unbless()src/mkobj.c
  You_hear(), awaken_soldiers(), d(), discover_object(), doname(), enexto(), impossible(), inhishop(), makeplural(), maketrap(), mbhit(), mon_has_amulet(), mon_has_special(), place_monster(), pline(), pline_The(), random_teleport_level(), rloc(), rn2(), rnd(), seetrap(), t_at(), tele_restrict(), worm_known(), worm_move()
Called by: dochug()src/monmove.c
References Functions: mbhitm()src/muse.c
  bhito()
References Variables: c_common_stringssrc/decl.c
  dungeon_topologysrc/decl.c
  flagssrc/decl.c
  himsrc/decl.c
  levelsrc/decl.c
  msrc/muse.c
  m_usingsrc/muse.c
  monssrc/monst.c
  sstairssrc/decl.c
  trapxsrc/muse.c
  trapysrc/muse.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  zap_oseensrc/muse.c
  objects

Global Function use_misc()

int use_misc ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: Can_rise_up()src/dungeon.c
  Monnam()src/do_name.c
  ceiling()src/engrave.c
  depth()src/dungeon.c
  dmgtype()src/mondata.c
  docall()src/do_name.c
  dropy()src/do.c
  freeinv()src/invent.c
  get_level()src/dungeon.c
  grow_up()src/makemon.c
  ledger_no()src/dungeon.c
  locomotion()src/mondata.c
  m_useup()src/mthrowu.c
  migrate_to_level()src/dog.c
  mon_nam()src/do_name.c
  mquaffmsg()src/muse.c
  mzapmsg()src/muse.c
  newcham()src/mon.c
  newsym()src/display.c
  on_level()src/dungeon.c
  place_object()src/mkobj.c
  precheck()src/muse.c
  rndmonst()src/makemon.c
  s_suffix()src/hacklib.c
  surface()src/engrave.c
  you_aggravate()src/muse.c
  body_part(), discover_object(), impossible(), makeplural(), mon_adjust_speed(), mon_set_minvis(), mpickobj(), place_monster(), pline(), pline_The(), rn2(), seetrap(), strcpy(), t_at(), the(), uwepgone(), worm_known(), worm_move(), xname()
Called by: dochug()src/monmove.c
References Variables: levelsrc/decl.c
  msrc/muse.c
  trapxsrc/muse.c
  trapysrc/muse.c
  usrc/decl.c
  ublindfsrc/decl.c
  uwepsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  objects

Global Function use_offensive()

int use_offensive ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: Monnam()src/do_name.c
  ceiling()src/engrave.c
  closed_door()src/monmove.c
  dist2()src/hacklib.c
  distmin()src/hacklib.c
  flooreffects()src/do.c
  isok()src/cmd.c
  losehp()src/hack.c
  m_throw()src/mthrowu.c
  m_useup()src/mthrowu.c
  map_invisible()src/display.c
  mksobj()src/mkobj.c
  mon_nam()src/do_name.c
  mondied()src/mon.c
  mreadmsg()src/muse.c
  mzapmsg()src/muse.c
  newsym()src/display.c
  place_object()src/mkobj.c
  precheck()src/muse.c
  pronoun_gender()src/mondata.c
  sgn()src/hacklib.c
  stackobj()src/invent.c
  weight()src/mkobj.c
  You(), You_hear(), Your(), buzz(), discover_object(), dmgval(), doname(), impossible(), mbhit(), pline(), pline_The(), rn2(), singular(), which_armor(), worm_known(), xname()
Called by: mattacku()src/mhitu.c
References Functions: mbhitm()src/muse.c
  bhito(), doname()
References Variables: flagssrc/decl.c
  himsrc/decl.c
  levelsrc/decl.c
  msrc/muse.c
  m_usingsrc/muse.c
  monssrc/monst.c
  usrc/decl.c
  uarmhsrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  zap_oseensrc/muse.c
  objects

Local Function mbhitm()

static int mbhitm ( struct monst* mtmp, struct obj* otmp )
Prototyped in: src/muse.c
Calls: Monnam()src/do_name.c
  dist2()src/hacklib.c
  in_rooms()src/hack.c
  losehp()src/hack.c
  map_invisible()src/display.c
  nomul()src/hack.c
  resists_magm()src/mondata.c
  seemimic()src/mon.c
  shieldeff()src/display.c
  stop_occupation()src/allmain.c
  cancel_monst(), d(), discover_object(), exclam(), find_mac(), hit(), miss(), pline(), pline_The(), resist(), rloc(), rnd(), tele(), tele_restrict(), worm_known()
Used in: use_defensive()src/muse.c
  use_offensive()src/muse.c
References Variables: bhitpossrc/decl.c
  flagssrc/decl.c
  monssrc/monst.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  zap_oseensrc/muse.c

Local Function mquaffmsg()

static void mquaffmsg ( struct monst* mtmp, struct obj* otmp )
Prototyped in: src/muse.c
Calls: Monnam()src/do_name.c
  You_hear(), pline(), singular(), worm_known()
Called by: precheck()src/muse.c
  use_defensive()src/muse.c
  use_misc()src/muse.c
References Functions: doname()
References Variables: flagssrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Local Function mreadmsg()

static void mreadmsg ( struct monst* mtmp, struct obj* otmp )
Prototyped in: src/muse.c
Calls: Monnam()src/do_name.c
  mon_nam()src/do_name.c
  pronoun_gender()src/mondata.c
  x_monnam()src/do_name.c
  You_hear(), pline(), singular(), strcpy(), worm_known()
Called by: use_defensive()src/muse.c
  use_offensive()src/muse.c
References Functions: doname()
References Variables: flagssrc/decl.c
  hesrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  urole

Local Function mzapmsg()

static void mzapmsg ( struct monst* mtmp, struct obj* otmp, boolean self )
Prototyped in: src/muse.c
Calls: Monnam()src/do_name.c
  dist2()src/hacklib.c
  pronoun_gender()src/mondata.c
  stop_occupation()src/allmain.c
  You_hear(), an(), doname(), pline(), worm_known(), xname()
Called by: use_defensive()src/muse.c
  use_misc()src/muse.c
  use_offensive()src/muse.c
References Variables: flagssrc/decl.c
  himsrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c

Local Function precheck()

static int precheck ( struct monst* mon, struct obj* obj )
Prototyped in: src/muse.c
Calls: Monnam()src/do_name.c
  a_monnam()src/do_name.c
  dmgtype()src/mondata.c
  m_useup()src/mthrowu.c
  makemon()src/makemon.c
  mon_nam()src/do_name.c
  mongone()src/mon.c
  monkilled()src/mon.c
  mquaffmsg()src/muse.c
  rndmonnam()src/do_name.c
  set_malign()src/makemon.c
  You_hear(), an(), d(), enexto(), pline(), rn2(), strcmp(), verbalize(), xname()
Called by: use_defensive()src/muse.c
  use_misc()src/muse.c
  use_offensive()src/muse.c
References Variables: c_common_stringssrc/decl.c
  flagssrc/decl.c
  msrc/muse.c
  monssrc/monst.c
  usrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  obj_descr, objects

Local Function you_aggravate()

static void you_aggravate ( struct monst* mtmp )
Prototyped in: src/muse.c
Calls: cls()src/display.c
  dist2()src/hacklib.c
  dmgtype()src/mondata.c
  docrt()src/display.c
  map_invisible()src/display.c
  monsndx()src/mondata.c
  newsym()src/display.c
  noit_mon_nam()src/do_name.c
  s_suffix()src/hacklib.c
  show_glyph()src/display.c
  You_feel(), pline(), rn2(), unconscious(), worm_known()
Called by: use_misc()src/muse.c
References Variables: WIN_MAPsrc/decl.c
  flagssrc/decl.c
  monssrc/monst.c
  multisrc/decl.c
  nomovemsgsrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  windowprocs