File src/mkobj.c


Included Files


Preprocessor definitions

#define TAINT_AGE 50L

#define TROLL_REVIVE_CHANCE 37

#define ROT_AGE 250L

#define special_corpse( num )

#define ON_ICE( a )

#define ROT_ICE_ADJUSTMENT 2


Type struct icp

struct icp
struct icp 
   { 
     int iprob; 
     char iclass; 
   } 

Global Variable mkobjprobs

const struct icp mkobjprobs[]
Visible in:  src/mkobj.c
Used in: mkobj()src/mkobj.c

Global Variable boxiprobs

const struct icp boxiprobs[]
Visible in:  src/mkobj.c
Used in: mkbox_cnts()src/mkobj.c

Global Variable rogueprobs

const struct icp rogueprobs[]
Visible in:  src/mkobj.c
Used in: mkobj()src/mkobj.c

Global Variable hellprobs

const struct icp hellprobs[]
Visible in:  src/mkobj.c
Used in: mkobj()src/mkobj.c

Local Variables

dknowns
static const char dknowns[]
Used in: mksobj()

treefruits
static int treefruits[]
Used in: rnd_treefruit_at()

obj_state_names
static const char* obj_state_names[8]
Used in: where_name()


Global Function add_to_buried()

void add_to_buried ( struct obj* obj )
Prototyped in: include/extern.h
Calls: panic()src/end.c
Called by: bury_an_obj()src/dig.c
  mineralize()src/mklev.c
  mkgrave()src/mklev.c
References Variables: levelsrc/decl.c

Global Function add_to_container()

void add_to_container ( struct obj* container, struct obj* obj )
Prototyped in: include/extern.h
Calls: panic()src/end.c
Called by: drop_upon_death()src/bones.c
  mkbox_cnts()src/mkobj.c
  mksobj()src/mkobj.c

Global Function add_to_migration()

void add_to_migration ( struct obj* obj )
Prototyped in: include/extern.h
Calls: panic()src/end.c
Called by: impact_drop()src/dokick.c
  moverock()src/hack.c
  ship_object()src/dokick.c
References Variables: migrating_objssrc/decl.c

Global Function add_to_minv()

int add_to_minv ( struct monst* mon, struct obj* obj )
Prototyped in: include/extern.h
Calls: merged()src/invent.c
  panic()src/end.c
Called by: display_minventory()src/invent.c
  drop_upon_death()src/bones.c
  mdamagem()src/mhitm.c

Global Function bcsign()

int bcsign ( struct obj* otmp )
Prototyped in: include/extern.h
Called by: arti_speak()src/artifact.c
  fpostfx()src/eat.c
  mksobj()src/mkobj.c

Global Function bill_dummy_object()

void bill_dummy_object ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: alloc()src/alloc.c
  addtobill(), memcpy(), shop_keeper(), strncpy(), subfrombill()
Called by: light_cocktail()src/apply.c
  touchfood()src/eat.c
  use_lamp()src/apply.c
References Variables: flagssrc/decl.c
  usrc/decl.c

Global Function bless()

void bless ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: set_moreluck()src/attrib.c
  spec_ability()src/artifact.c
  weight()src/mkobj.c
  stop_timer()
Called by: blessorcurse()src/mkobj.c
  dipfountain()src/fountain.c
  final_level()src/do.c
  m_initweap()src/makemon.c

Global Function blessorcurse()

void blessorcurse ( struct obj* otmp, int chance )
Prototyped in: include/extern.h
Calls: bless()src/mkobj.c
  curse()src/mkobj.c
  rn2()
Called by: mksobj()src/mkobj.c

Global Function curse()

void curse ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: set_moreluck()src/attrib.c
  spec_ability()src/artifact.c
  weight()src/mkobj.c
  attach_fig_transform_timeout(), dead_species()
Called by: Helmet_on()src/do_wear.c
  blessorcurse()src/mkobj.c
  dipfountain()src/fountain.c
  drinkfountain()src/fountain.c
  drop_upon_death()src/bones.c
  freeinv_core()src/invent.c
  m_initinv()src/makemon.c
  m_initweap()src/makemon.c
  makerogueghost()src/extralev.c
  mkgrave()src/mklev.c
  mksobj()src/mkobj.c
  mongets()src/makemon.c
  resetobjs()src/bones.c

Global Function dealloc_obj()

void dealloc_obj ( struct obj* obj )
Prototyped in: include/extern.h
Calls: del_light_source()src/light.c
  obj_sheds_light()src/light.c
  panic()src/end.c
  free(), obj_stop_timers()
Called by: eatspecial()src/eat.c
  ghitm()src/dokick.c
  menu_drop()src/do.c
  mineralize()src/mklev.c
  mkbox_cnts()src/mkobj.c
  realloc_obj()src/do_name.c
  throw_gold()src/dothrow.c
  throw_obj()src/dothrow.c

Global Function discard_minvent()

void discard_minvent ( struct monst* mtmp )
Prototyped in: include/extern.h
Calls: obj_extract_self()src/mkobj.c
  obfree()
Called by: makemon()src/makemon.c

Global Function extract_nexthere()

void extract_nexthere ( struct obj* obj, struct obj** head_ptr )
Prototyped in: include/extern.h
Calls: panic()src/end.c
Called by: remove_object()src/mkobj.c
  replace_object()src/mkobj.c

Global Function extract_nobj()

void extract_nobj ( struct obj* obj, struct obj** head_ptr )
Prototyped in: include/extern.h
Calls: panic()src/end.c
Called by: doorganize()src/invent.c
  freeinv()src/invent.c
  obj_extract_self()src/mkobj.c
  remove_object()src/mkobj.c
  replace_object()src/mkobj.c

Global Function get_mtraits()

struct monst* get_mtraits ( struct obj* obj, boolean copyof )
Prototyped in: include/extern.h
Calls: alloc()src/alloc.c
  memcpy()

Global Function is_flammable()

boolean is_flammable ( struct obj* otmp )
Prototyped in: include/extern.h
References Variables: objects

Global Function mk_named_object()

struct obj* mk_named_object ( int objtype, struct permonst* ptr, int x, int y, const char* nm )
Prototyped in: include/extern.h
Calls: mkcorpstat()src/mkobj.c
  oname()src/do_name.c
Called by: done()src/end.c
  savebones()src/bones.c

Global Function mk_tt_object()

struct obj* mk_tt_object ( int objtype, int x, int y )
Prototyped in: include/extern.h
Calls: mksobj_at()src/mkobj.c
  tt_oname()
Called by: dig_up_grave()src/dig.c
  fixup_special()src/mkmaze.c

Global Function mkcorpstat()

struct obj* mkcorpstat ( int objtype, struct monst* mtmp, struct permonst* ptr, int x, int y, boolean init )
Prototyped in: include/extern.h
Calls: mksobj_at()src/mkobj.c
  save_mtraits()src/mkobj.c
  start_corpse_timeout()src/mkobj.c
  weight()src/mkobj.c
  impossible(), monsndx(), obj_stop_timers()
Called by: fixup_special()src/mkmaze.c
  makelevel()src/mklev.c
  mk_named_object()src/mkobj.c
References Variables: mons

Global Function mkgold()

struct obj* mkgold ( long amount, int x, int y )
Prototyped in: include/extern.h
Calls: g_at()src/invent.c
  level_difficulty()src/dungeon.c
  mksobj_at()src/mkobj.c
  weight()src/mkobj.c
  rnd()
Called by: dipfountain()src/fountain.c
  dokick()src/dokick.c
  drop_upon_death()src/bones.c
  fixup_special()src/mkmaze.c
  makelevel()src/mklev.c
  makemaz()src/mkmaze.c
  mkgrave()src/mklev.c

Global Function mkobj()

struct obj* mkobj ( char oclass, boolean artif )
Prototyped in: include/extern.h
Calls: In_hell()src/dungeon.c
  mksobj()src/mkobj.c
  on_level()src/dungeon.c
  panic()src/end.c
  rnd()
Called by: doapply()src/apply.c
  drinksink()src/fountain.c
  mineralize()src/mklev.c
  mkbox_cnts()src/mkobj.c
  mkgrave()src/mklev.c
  mkobj_at()src/mkobj.c
  mksobj()src/mkobj.c
  set_mimic_sym()src/makemon.c
References Variables: basessrc/decl.c
  dungeon_topologysrc/decl.c
  hellprobssrc/mkobj.c
  mkobjprobssrc/mkobj.c
  rogueprobssrc/mkobj.c
  usrc/decl.c
  obj_descr, objects

Global Function mkobj_at()

struct obj* mkobj_at ( char let, int x, int y, boolean artif )
Prototyped in: include/extern.h
Calls: mkobj()src/mkobj.c
  place_object()src/mkobj.c
Called by: dokick()src/dokick.c
  drinksink()src/fountain.c
  makelevel()src/mklev.c
  makemaz()src/mkmaze.c
  makemon()src/makemon.c
  makeniche()src/mklev.c

Global Function mksobj()

struct obj* mksobj ( int otyp, boolean init, boolean artif )
Prototyped in: include/extern.h
Calls: In_quest()src/dungeon.c
  add_to_container()src/mkobj.c
  alloc()src/alloc.c
  bcsign()src/mkobj.c
  blessorcurse()src/mkobj.c
  curse()src/mkobj.c
  level_difficulty()src/dungeon.c
  mk_artifact()src/artifact.c
  mkbox_cnts()src/mkobj.c
  mkobj()src/mkobj.c
  rndmonnum()src/mkobj.c
  start_corpse_timeout()src/mkobj.c
  weight()src/mkobj.c
  attach_egg_hatch_timeout(), can_be_hatched(), dead_species(), impossible(), rn2(), rnd(), rne(), strchr(), undead_to_corpse()
Called by: arti_invoke()src/artifact.c
  artifact_hit()src/artifact.c
  done()src/end.c
  final_level()src/do.c
  floorfood()src/eat.c
  m_initinv()src/makemon.c
  m_initthrow()src/makemon.c
  m_initweap()src/makemon.c
  makedog()src/dog.c
  mineralize()src/mklev.c
  mk_artifact()src/artifact.c
  mkbox_cnts()src/mkobj.c
  mkgoldobj()src/invent.c
  mkobj()src/mkobj.c
  mksobj_at()src/mkobj.c
  mongets()src/makemon.c
  use_tinning_kit()src/apply.c
References Variables: current_fruitsrc/decl.c
  dknownssrc/mkobj.c
  flagssrc/decl.c
  monstermovessrc/decl.c
  movessrc/decl.c
  mvitalssrc/decl.c
  usrc/decl.c
  zeroobjsrc/decl.c
  mons, objects, urole

Global Function mksobj_at()

struct obj* mksobj_at ( int otyp, int x, int y, boolean init )
Prototyped in: include/extern.h
Calls: mksobj()src/mkobj.c
  place_object()src/mkobj.c
Called by: dofindgem()src/fountain.c
  makelevel()src/mklev.c
  makemaz()src/mkmaze.c
  makeniche()src/mklev.c
  makerogueghost()src/extralev.c
  mdig_tunnel()src/dig.c
  mineralize()src/mklev.c
  mk_tt_object()src/mkobj.c
  mkcorpstat()src/mkobj.c
  mkgold()src/mkobj.c
  mkgrave()src/mklev.c
  rnd_treefruit_at()src/mkobj.c
  zap_dig()src/dig.c

Global Function obj_attach_mid()

struct obj* obj_attach_mid ( struct obj* obj, unsigned mid )
Prototyped in: include/extern.h
Calls: realloc_obj()src/do_name.c
  memcpy(), strlen()
Called by: savebones()src/bones.c

Global Function obj_extract_self()

void obj_extract_self ( struct obj* obj )
Prototyped in: include/extern.h
Calls: container_weight()src/mkobj.c
  extract_nobj()src/mkobj.c
  freeinv()src/invent.c
  panic()src/end.c
  remove_object()src/mkobj.c
Called by: bury_an_obj()src/dig.c
  delobj()src/invent.c
  destroy_drawbridge()src/dbridge.c
  discard_minvent()src/mkobj.c
  display_minventory()src/invent.c
  dog_invent()src/dogmove.c
  drop_upon_death()src/bones.c
  fig_transform()src/apply.c
  floorfood()src/eat.c
  forcelock()src/lock.c
  impact_drop()src/dokick.c
  kick_object()src/dokick.c
  light_cocktail()src/apply.c
  mdamagem()src/mhitm.c
  merged()src/invent.c
  mkinvpos()src/mklev.c
  moverock()src/hack.c
  obj_delivery()src/dokick.c
  rot_organic()src/dig.c
  scatter()src/explode.c
  unearth_objs()src/dig.c
  unplacebc()src/ball.c
  use_whip()src/apply.c
References Variables: billobjssrc/decl.c
  levelsrc/decl.c
  migrating_objssrc/decl.c

Global Function obj_ice_effects()

void obj_ice_effects ( int x, int y, boolean do_buried )
Prototyped in: include/extern.h
Calls: obj_timer_checks()src/mkobj.c
References Variables: levelsrc/decl.c

Global Function obj_sanity_check()

void obj_sanity_check ( void )
Prototyped in: include/extern.h
Calls: check_contained()src/mkobj.c
  fmt_ptr()src/alloc.c
  mon_nam()src/do_name.c
  where_name()src/mkobj.c
  doname(), pline()
Called by: sanity_check()src/cmd.c
References Variables: billobjssrc/decl.c
  c_common_stringssrc/decl.c
  inventsrc/decl.c
  levelsrc/decl.c
  migrating_objssrc/decl.c

Global Function peek_at_iced_corpse_age()

long peek_at_iced_corpse_age ( struct obj* otmp )
Prototyped in: include/extern.h
Called by: dogfood()src/dog.c
  eatcorpse()src/eat.c
References Variables: monstermovessrc/decl.c

Global Function place_object()

void place_object ( struct obj* otmp, int x, int y )
Prototyped in: include/extern.h
Calls: obj_timer_checks()src/mkobj.c
  panic()src/end.c
  block_point()
Called by: drop_upon_death()src/bones.c
  dropy()src/do.c
  forcelock()src/lock.c
  kick_object()src/dokick.c
  mineralize()src/mklev.c
  mkobj_at()src/mkobj.c
  mksobj_at()src/mkobj.c
  move_bc()src/ball.c
  moverock()src/hack.c
  movobj()src/hack.c
  mv_bubble()src/mkmaze.c
  obj_delivery()src/dokick.c
  placebc()src/ball.c
  scatter()src/explode.c
  set_bc()src/ball.c
  tamedog()src/dog.c
  throw_gold()src/dothrow.c
  throwit()src/dothrow.c
  unearth_objs()src/dig.c
  use_whip()src/apply.c
References Variables: levelsrc/decl.c

Global Function remove_object()

void remove_object ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: extract_nexthere()src/mkobj.c
  extract_nobj()src/mkobj.c
  obj_timer_checks()src/mkobj.c
  panic()src/end.c
  unblock_point()
Called by: move_bc()src/ball.c
  movebubbles()src/mkmaze.c
  moverock()src/hack.c
  movobj()src/hack.c
  obj_extract_self()src/mkobj.c
  set_bc()src/ball.c
References Variables: levelsrc/decl.c

Global Function replace_object()

void replace_object ( struct obj* obj, struct obj* otmp )
Prototyped in: include/extern.h
Calls: extract_nexthere()src/mkobj.c
  extract_nobj()src/mkobj.c
  panic()src/end.c
Called by: realloc_obj()src/do_name.c
References Variables: inventsrc/decl.c
  levelsrc/decl.c

Global Function rnd_treefruit_at()

struct obj* rnd_treefruit_at ( int x, int y )
Prototyped in: include/extern.h
Calls: mksobj_at()src/mkobj.c
  rn2()
Called by: dokick()src/dokick.c
References Variables: treefruitssrc/mkobj.c

Global Function rndmonnum()

int rndmonnum ( void )
Prototyped in: include/extern.h
Calls: In_hell()src/dungeon.c
  rndmonst()src/makemon.c
  monsndx(), rn2()
Called by: fixup_special()src/mkmaze.c
  mksobj()src/mkobj.c
References Variables: usrc/decl.c
  mons

Global Function splitobj()

struct obj* splitobj ( struct obj* obj, long num )
Prototyped in: include/extern.h
Calls: alloc()src/alloc.c
  obj_sheds_light()src/light.c
  obj_split_light_source()src/light.c
  panic()src/end.c
  weight()src/mkobj.c
  memcpy(), obj_split_timers(), splitbill(), strncpy()
Called by: ckfn()src/invent.c
  doeat()src/eat.c
  getobj()src/invent.c
  hold_another_object()src/invent.c
  kick_object()src/dokick.c
  light_cocktail()src/apply.c
  menu_drop()src/do.c
  scatter()src/explode.c
  start_tin()src/eat.c
  throw_obj()src/dothrow.c
  touchfood()src/eat.c
  use_candle()src/apply.c
  useupf()src/invent.c
References Variables: flagssrc/decl.c

Global Function start_corpse_timeout()

void start_corpse_timeout ( struct obj* body )
Prototyped in: include/extern.h
Calls: rn2(), rnz(), start_timer()
Called by: forcelock()src/lock.c
  mkcorpstat()src/mkobj.c
  mksobj()src/mkobj.c
References Variables: in_mklevsrc/decl.c
  mons

Global Function unbless()

void unbless ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: set_moreluck()src/attrib.c
  spec_ability()src/artifact.c
  weight()src/mkobj.c

Global Function uncurse()

void uncurse ( struct obj* otmp )
Prototyped in: include/extern.h
Calls: set_moreluck()src/attrib.c
  spec_ability()src/artifact.c
  weight()src/mkobj.c
  stop_timer()
Called by: dipfountain()src/fountain.c

Global Function weight()

int weight ( struct obj* obj )
Prototyped in: include/extern.h
Calls: weight()src/mkobj.c
Called by: arti_invoke()src/artifact.c
  bless()src/mkobj.c
  canletgo()src/do.c
  container_weight()src/mkobj.c
  curse()src/mkobj.c
  doapply()src/apply.c
  doeat()src/eat.c
  fixup_special()src/mkmaze.c
  m_initinv()src/makemon.c
  m_initthrow()src/makemon.c
  makerogueghost()src/extralev.c
  mineralize()src/mklev.c
  mkbox_cnts()src/mkobj.c
  mkcorpstat()src/mkobj.c
  mkgold()src/mkobj.c
  mkgoldobj()src/invent.c
  mksobj()src/mkobj.c
  recalc_wt()src/eat.c
  resetobjs()src/bones.c
  splitobj()src/mkobj.c
  unbless()src/mkobj.c
  uncurse()src/mkobj.c
  use_tinning_kit()src/apply.c
  useup()src/invent.c
  weight()src/mkobj.c
References Variables: mons, objects

Local Function check_contained()

static void check_contained ( struct obj* container, const char* mesg )
Prototyped in: src/mkobj.c
Calls: fmt_ptr()src/alloc.c
  where_name()src/mkobj.c
  pline()
Called by: obj_sanity_check()src/mkobj.c

Local Function container_weight()

static void container_weight ( struct obj* container )
Prototyped in: src/mkobj.c
Calls: container_weight()src/mkobj.c
  weight()src/mkobj.c
Called by: container_weight()src/mkobj.c
  obj_extract_self()src/mkobj.c

Local Function mkbox_cnts()

static void mkbox_cnts ( struct obj* box )
Prototyped in: src/mkobj.c
Calls: add_to_container()src/mkobj.c
  dealloc_obj()src/mkobj.c
  level_difficulty()src/dungeon.c
  mkobj()src/mkobj.c
  mksobj()src/mkobj.c
  weight()src/mkobj.c
  rn2(), rnd(), rnd_class(), stop_timer()
Called by: mksobj()src/mkobj.c
References Variables: boxiprobssrc/mkobj.c
  in_mklevsrc/decl.c
  movessrc/decl.c

Local Function obj_timer_checks()

static void obj_timer_checks ( struct obj* otmp, xchar x, xchar y, int force )
Prototyped in: src/mkobj.c
Calls: is_ice()src/dbridge.c
  start_timer(), stop_timer()
Called by: obj_ice_effects()src/mkobj.c
  place_object()src/mkobj.c
  remove_object()src/mkobj.c
References Variables: monstermovessrc/decl.c

Local Function save_mtraits()

static struct obj* save_mtraits ( struct obj* obj, struct monst* mtmp )
Prototyped in: src/mkobj.c
Calls: realloc_obj()src/do_name.c
  monsndx(), strlen()
Called by: mkcorpstat()src/mkobj.c

Local Function where_name()

static const char* where_name ( int where )
Prototyped in: src/mkobj.c
Called by: check_contained()src/mkobj.c
  obj_sanity_check()src/mkobj.c
References Variables: obj_state_namessrc/mkobj.c