File src/makemon.c


Included Files


Preprocessor definitions

#define m_initsgrp( mtmp, x, y )

#define m_initlgrp( mtmp, x, y )

#define toostrong( monindx, lev )

#define tooweak( monindx, lev )


External Variables

monstr
extern const int monstr[]

Local Variables

zeromonst
static struct monst zeromonst
Used in: makemon()

rndmonst_state
static struct {...} rndmonst_state
Used in: reset_rndmonst()
  rndmonst()

syms
static char syms[]
Used in: set_mimic_sym()


Global Function adj_lev()

int adj_lev ( struct permonst* ptr )
Prototyped in: include/extern.h
Calls: level_difficulty()src/dungeon.c
Called by: makemon()src/makemon.c
  mkclass()src/makemon.c
References Variables: mvitalssrc/decl.c
  usrc/decl.c
  mons

Global Function clone_mon()

struct monst* clone_mon ( struct monst* mon )
Prototyped in: include/extern.h
Calls: alloc()src/alloc.c
  new_light_source()src/light.c
  newsym()src/display.c
  tamedog()src/dog.c
  enexto(), monsndx(), place_monster()
References Variables: flagssrc/decl.c
  levelsrc/decl.c
  mvitalssrc/decl.c
  mons

Global Function create_critters()

boolean create_critters ( int cnt, struct permonst* mptr )
Prototyped in: include/extern.h
Calls: dist2()src/hacklib.c
  makemon()src/makemon.c
  create_particular(), enexto(), worm_known()
References Variables: flagssrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  viz_arraysrc/decl.c
  youmonstsrc/decl.c
  mons

Global Function golemhp()

int golemhp ( int type )
Prototyped in: include/extern.h
Called by: makemon()src/makemon.c

Global Function grow_up()

struct permonst* grow_up ( struct monst* mtmp, struct monst* victim )
Prototyped in: include/extern.h
Calls: dist2()src/hacklib.c
  is_home_elemental()src/makemon.c
  mon_nam()src/do_name.c
  newsym()src/display.c
  an(), little_to_big(), mondied(), monsndx(), pline(), pronoun_gender(), rn2(), rnd(), set_mon_data()
Called by: dog_eat()src/dogmove.c
References Variables: flagssrc/decl.c
  hesrc/decl.c
  mvitalssrc/decl.c
  usrc/decl.c
  ublindfsrc/decl.c
  youmonstsrc/decl.c
  mons

Global Function is_home_elemental()

boolean is_home_elemental ( struct permonst* ptr )
Prototyped in: include/extern.h
Calls: on_level()src/dungeon.c
  monsndx()
Called by: grow_up()src/makemon.c
  makemon()src/makemon.c
  wrong_elem_type()src/makemon.c
References Variables: dungeon_topologysrc/decl.c
  usrc/decl.c

Global Function makemon()

struct monst* makemon ( struct permonst* ptr, int x, int y, int mmflags )
Prototyped in: include/extern.h
Calls: In_hell()src/dungeon.c
  adj_lev()src/makemon.c
  alloc()src/alloc.c
  christen_monst()src/do_name.c
  golemhp()src/makemon.c
  is_home_elemental()src/makemon.c
  is_pool()src/dbridge.c
  m_initgrp()src/makemon.c
  m_initinv()src/makemon.c
  m_initweap()src/makemon.c
  mongets()src/makemon.c
  new_light_source()src/light.c
  newsym()src/display.c
  on_level()src/dungeon.c
  peace_minded()src/makemon.c
  reset_rndmonst()src/makemon.c
  rndghostname()src/do_name.c
  rndmonst()src/makemon.c
  set_malign()src/makemon.c
  set_mimic_sym()src/makemon.c
  sgn()src/hacklib.c
  attacktype(), count_wsegs(), d(), discard_minvent(), enexto(), get_wormno(), goodpos(), initworm(), m_dowear(), memset(), mkobj_at(), mon_adjust_speed(), monsndx(), newcham(), place_monster(), place_worm_tail_randomly(), pm_to_cham(), rn2(), rnd(), set_apparxy(), set_mon_data()
Called by: create_critters()src/makemon.c
  dig()src/dig.c
  dig_up_grave()src/dig.c
  do_break_wand()src/apply.c
  doapply()src/apply.c
  doengrave()src/engrave.c
  dokick()src/dokick.c
  dowaterdemon()src/fountain.c
  dowaternymph()src/fountain.c
  dowatersnakes()src/fountain.c
  drinksink()src/fountain.c
  m_initgrp()src/makemon.c
  make_familiar()src/dog.c
  makedog()src/dog.c
  makerogueghost()src/extralev.c
  moveloop()src/allmain.c
  savebones()src/bones.c
  use_bell()src/apply.c
References Variables: dungeon_topologysrc/decl.c
  flagssrc/decl.c
  in_mklevsrc/decl.c
  levelsrc/decl.c
  mvitalssrc/decl.c
  usrc/decl.c
  uwepsrc/decl.c
  viz_arraysrc/decl.c
  zeromonstsrc/makemon.c
  mons, urace

Global Function mkclass()

struct permonst* mkclass ( char class, int spc )
Prototyped in: include/extern.h
Calls: adj_lev()src/makemon.c
  level_difficulty()src/dungeon.c
  impossible(), rn2(), rnd()
Called by: dig_up_grave()src/dig.c
  use_bell()src/apply.c
References Variables: mvitalssrc/decl.c
  usrc/decl.c
  mons, monstr

Global Function mongets()

int mongets ( struct monst* mtmp, int otyp )
Prototyped in: include/extern.h
Calls: curse(), mksobj(), mpickobj(), rn2()
Called by: final_level()src/do.c
  m_initinv()src/makemon.c
  m_initweap()src/makemon.c
  makemon()src/makemon.c
References Variables: mons, objects

Global Function peace_minded()

boolean peace_minded ( struct permonst* ptr )
Prototyped in: include/extern.h
Calls: sgn()src/hacklib.c
  abs(), rn2()
Called by: m_initgrp()src/makemon.c
  makemon()src/makemon.c
References Variables: usrc/decl.c
  urace

Global Function reset_rndmonst()

void reset_rndmonst ( int mndx )
Prototyped in: include/extern.h
Called by: goto_level()src/do.c
  losexp()src/exper.c
  makemon()src/makemon.c
  pluslvl()src/exper.c
References Variables: rndmonst_statesrc/makemon.c

Global Function rndmonst()

struct permonst* rndmonst ( void )
Prototyped in: include/extern.h
Calls: In_hell()src/dungeon.c
  align_shift()src/makemon.c
  level_difficulty()src/dungeon.c
  on_level()src/dungeon.c
  panic()src/end.c
  uncommon()src/makemon.c
  wrong_elem_type()src/makemon.c
  impossible(), qt_montype(), rn2(), rnd()
Called by: make_familiar()src/dog.c
  makemon()src/makemon.c
References Variables: def_monsymssrc/drawing.c
  dungeon_topologysrc/decl.c
  rndmonst_statesrc/makemon.c
  usrc/decl.c
  mons, monstr

Global Function set_malign()

void set_malign ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: sgn()src/hacklib.c
  abs()
Called by: initedog()src/dog.c
  m_initgrp()src/makemon.c
  make_familiar()src/dog.c
  makemon()src/makemon.c
  tamedog()src/dog.c
References Variables: usrc/decl.c

Global Function set_mimic_sym()

void set_mimic_sym ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: block_point(), get_shop_item(), mkobj(), obfree(), rn2()
Called by: makemon()src/makemon.c
References Variables: levelsrc/decl.c
  roomssrc/decl.c
  symssrc/makemon.c
  usrc/decl.c
  youmonstsrc/decl.c

Local Function align_shift()

static int align_shift ( struct permonst* ptr )
Prototyped in: src/makemon.c
Calls: Is_special()src/dungeon.c
  abs()
Called by: rndmonst()src/makemon.c
References Variables: dungeonssrc/decl.c
  movessrc/decl.c
  usrc/decl.c

Local Function m_initgrp()

static void m_initgrp ( struct monst* mtmp, int x, int y, int n )
Prototyped in: src/makemon.c
Calls: makemon()src/makemon.c
  peace_minded()src/makemon.c
  set_malign()src/makemon.c
  enexto(), rnd()
Called by: makemon()src/makemon.c
References Variables: usrc/decl.c

Local Function m_initinv()

static void m_initinv ( struct monst* mtmp )
Prototyped in: src/makemon.c
Calls: level_difficulty()src/dungeon.c
  mongets()src/makemon.c
  on_level()src/dungeon.c
  curse(), d(), impossible(), mksobj(), monsndx(), mpickobj(), rn2(), rnd(), rnd_class(), rnd_defensive_item(), rnd_misc_item(), weight()
Called by: makemon()src/makemon.c
References Variables: dungeon_topologysrc/decl.c
  in_mklevsrc/decl.c
  usrc/decl.c
  mons

Local Function m_initthrow()

static void m_initthrow ( struct monst* mtmp, int otyp, int oquan )
Prototyped in: src/makemon.c
Calls: mksobj(), mpickobj(), rn2(), weight()
Called by: m_initweap()src/makemon.c

Local Function m_initweap()

static void m_initweap ( struct monst* mtmp )
Prototyped in: src/makemon.c
Calls: artiname()src/artifact.c
  m_initthrow()src/makemon.c
  mongets()src/makemon.c
  on_level()src/dungeon.c
  oname()src/do_name.c
  bless(), curse(), mksobj(), monsndx(), mpickobj(), rn2(), rnd(), rnd_offensive_item()
Called by: makemon()src/makemon.c
References Variables: dungeon_topologysrc/decl.c
  in_mklevsrc/decl.c
  usrc/decl.c
  mons

Local Function uncommon()

static boolean uncommon ( int mndx )
Prototyped in: src/makemon.c
Calls: In_hell()src/dungeon.c
Called by: rndmonst()src/makemon.c
References Variables: mvitalssrc/decl.c
  usrc/decl.c
  mons

Local Function wrong_elem_type()

static boolean wrong_elem_type ( struct permonst* ptr )
Prototyped in: src/makemon.c
Calls: is_home_elemental()src/makemon.c
  on_level()src/dungeon.c
Called by: rndmonst()src/makemon.c
References Variables: dungeon_topologysrc/decl.c
  usrc/decl.c
  mons