Data Structures | Defines | Functions | Variables

objects.c File Reference

#include "config.h"
#include "obj.h"
#include "objclass.h"
#include "prop.h"
#include "skills.h"
#include "objects.c"
Include dependency graph for objects.c:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  monst

Defines

#define OBJ(name, desc)   name,desc
#define OBJECT(obj, bits, prp, sym, prob, dly, wt, cost, sdam, ldam, oc1, oc2, nut, color)   {obj}
#define WEAPON(name, app, kn, mg, bi, prob, wt, cost, sdam, ldam, hitbon, typ, sub, metal, color)
#define PROJECTILE(name, app, kn, prob, wt, cost, sdam, ldam, hitbon, metal, sub, color)
#define BOW(name, app, kn, prob, wt, cost, hitbon, metal, sub, color)
#define P   PIERCE
#define S   SLASH
#define B   WHACK
#define ARMOR(name, desc, kn, mgc, blk, power, prob, delay, wt, cost, ac, can, sub, metal, c)
#define HELM(name, desc, kn, mgc, power, prob, delay, wt, cost, ac, can, metal, c)   ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_HELM,metal,c)
#define CLOAK(name, desc, kn, mgc, power, prob, delay, wt, cost, ac, can, metal, c)   ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_CLOAK,metal,c)
#define SHIELD(name, desc, kn, mgc, blk, power, prob, delay, wt, cost, ac, can, metal, c)   ARMOR(name,desc,kn,mgc,blk,power,prob,delay,wt,cost,ac,can,ARM_SHIELD,metal,c)
#define GLOVES(name, desc, kn, mgc, power, prob, delay, wt, cost, ac, can, metal, c)   ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_GLOVES,metal,c)
#define BOOTS(name, desc, kn, mgc, power, prob, delay, wt, cost, ac, can, metal, c)   ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_BOOTS,metal,c)
#define DRGN_ARMR(name, desc, mgc, power, cost, ac, color)   ARMOR(name,desc,0,mgc,1,power,0,5,40,cost,ac,0,ARM_SUIT,DRAGON_HIDE,color)
#define RING(name, power, stone, cost, prob, mgc, spec, mohs, metal, color)
#define AMULET(name, desc, power, prob)
#define TOOL(name, desc, kn, mrg, mgc, chg, prob, wt, cost, mat, color)
#define CONTAINER(name, desc, kn, mgc, chg, prob, wt, cost, mat, color)
#define WEPTOOL(name, desc, kn, mgc, bi, prob, wt, cost, sdam, ldam, hitbon, sub, mat, clr)
#define FOOD(name, prob, delay, wt, unk, tin, nutrition, color)
#define POTION(name, desc, mgc, power, prob, cost, color)
#define SCROLL(name, text, mgc, prob, cost)
#define SPELL(name, desc, sub, prob, delay, level, mgc, dir, color)
#define WAND(name, typ, prob, cost, mgc, dir, metal, color)
#define COIN(name, prob, metal, worth)
#define GEM(name, desc, prob, wt, gval, nutr, mohs, glass, color)
#define ROCK(name, desc, kn, prob, wt, gval, sdam, ldam, mgc, nutr, mohs, glass, color)
#define OBJECTS_PASS_2_

Functions

void NDECL (objects_init)
void objects_init ()

Variables

NEARDATA struct objdescr obj_descr []

Define Documentation

#define AMULET (   name,
  desc,
  power,
  prob 
)
Value:
OBJECT( \
                OBJ(name,desc), BITS(0,0,0,0,1,0,0,0,0,0,0,P_NONE,IRON), power, \
                AMULET_CLASS, prob, 0, 20, 150, 0, 0, 0, 0, 20, HI_METAL )
#define ARMOR (   name,
  desc,
  kn,
  mgc,
  blk,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  sub,
  metal,
 
)
Value:
OBJECT( \
                OBJ(name,desc), BITS(kn,0,1,0,mgc,1,0,0,blk,0,0,sub,metal), power, \
                ARMOR_CLASS, prob, delay, wt, cost, \
                0, 0, 10 - ac, can, wt, c )
#define B   WHACK
#define BOOTS (   name,
  desc,
  kn,
  mgc,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  metal,
 
)    ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_BOOTS,metal,c)
#define BOW (   name,
  app,
  kn,
  prob,
  wt,
  cost,
  hitbon,
  metal,
  sub,
  color 
)
Value:
OBJECT( \
                OBJ(name,app), BITS(kn,0,1,0,0,1,0,0,0,0,0,sub,metal), 0, \
                WEAPON_CLASS, prob, 0, \
                wt, cost, 2, 2, hitbon, 0, wt, color )

Referenced by m_initweap(), maybe_tutorial(), and select_rwep().

#define CLOAK (   name,
  desc,
  kn,
  mgc,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  metal,
 
)    ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_CLOAK,metal,c)
#define COIN (   name,
  prob,
  metal,
  worth 
)
Value:
OBJECT( \
                OBJ(name,(char *)0), BITS(0,1,0,0,0,0,0,0,0,0,0,P_NONE,metal), 0, \
                COIN_CLASS, prob, 0, 1, worth, 0, 0, 0, 0, 0, HI_GOLD )
#define CONTAINER (   name,
  desc,
  kn,
  mgc,
  chg,
  prob,
  wt,
  cost,
  mat,
  color 
)
Value:
OBJECT( OBJ(name,desc), \
                BITS(kn,0,chg,1,mgc,chg,0,0,0,0,0,P_NONE,mat), \
                0, TOOL_CLASS, prob, 0, \
                wt, cost, 0, 0, 0, 0, wt, color )
#define DRGN_ARMR (   name,
  desc,
  mgc,
  power,
  cost,
  ac,
  color 
)    ARMOR(name,desc,0,mgc,1,power,0,5,40,cost,ac,0,ARM_SUIT,DRAGON_HIDE,color)
#define FOOD (   name,
  prob,
  delay,
  wt,
  unk,
  tin,
  nutrition,
  color 
)
Value:
OBJECT( \
                OBJ(name,(char *)0), BITS(1,1,unk,0,0,0,0,0,0,0,0,P_NONE,tin), 0, \
                FOOD_CLASS, prob, delay, \
                wt, nutrition/20 + 5, 0, 0, 0, 0, nutrition, color )
#define GEM (   name,
  desc,
  prob,
  wt,
  gval,
  nutr,
  mohs,
  glass,
  color 
)
Value:
OBJECT( \
            OBJ(name,desc), \
            BITS(0,1,0,0,0,0,0,0,0,HARDGEM(mohs),0,-P_SLING,glass), 0, \
            GEM_CLASS, prob, 0, 1, gval, 3, 3, 0, 0, nutr, color )
#define GLOVES (   name,
  desc,
  kn,
  mgc,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  metal,
 
)    ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_GLOVES,metal,c)
#define HELM (   name,
  desc,
  kn,
  mgc,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  metal,
 
)    ARMOR(name,desc,kn,mgc,0,power,prob,delay,wt,cost,ac,can,ARM_HELM,metal,c)
#define OBJ (   name,
  desc 
)    name,desc
#define OBJECT (   obj,
  bits,
  prp,
  sym,
  prob,
  dly,
  wt,
  cost,
  sdam,
  ldam,
  oc1,
  oc2,
  nut,
  color 
)    {obj}
#define OBJECTS_PASS_2_
#define P   PIERCE
#define POTION (   name,
  desc,
  mgc,
  power,
  prob,
  cost,
  color 
)
Value:
OBJECT( \
                OBJ(name,desc), BITS(0,1,0,0,mgc,0,0,0,0,0,0,P_NONE,GLASS), power, \
                POTION_CLASS, prob, 0, 20, cost, 0, 0, 0, 0, 10, color )
#define PROJECTILE (   name,
  app,
  kn,
  prob,
  wt,
  cost,
  sdam,
  ldam,
  hitbon,
  metal,
  sub,
  color 
)
Value:
OBJECT( \
                OBJ(name,app), \
                BITS(kn,1,1,0,0,1,0,0,0,0,PIERCE,sub,metal), 0, \
                WEAPON_CLASS, prob, 0, \
                wt, cost, sdam, ldam, hitbon, 0, wt, color )
#define RING (   name,
  power,
  stone,
  cost,
  prob,
  mgc,
  spec,
  mohs,
  metal,
  color 
)
Value:
OBJECT( \
                OBJ(name,stone), \
                BITS(0,0,spec,0,mgc,spec,0,0,0,HARDGEM(mohs),0,P_NONE,metal), \
                power, RING_CLASS, prob, 0, 3, cost, 0, 0, 0, 0, 15, color )
#define ROCK (   name,
  desc,
  kn,
  prob,
  wt,
  gval,
  sdam,
  ldam,
  mgc,
  nutr,
  mohs,
  glass,
  color 
)
#define S   SLASH
#define SCROLL (   name,
  text,
  mgc,
  prob,
  cost 
)
Value:
OBJECT( \
                OBJ(name,text), BITS(0,1,0,0,mgc,0,0,0,0,0,0,P_NONE,PAPER), 0, \
                SCROLL_CLASS, prob, 0, 5, cost, 0, 0, 0, 0, 6, HI_PAPER )
#define SHIELD (   name,
  desc,
  kn,
  mgc,
  blk,
  power,
  prob,
  delay,
  wt,
  cost,
  ac,
  can,
  metal,
 
)    ARMOR(name,desc,kn,mgc,blk,power,prob,delay,wt,cost,ac,can,ARM_SHIELD,metal,c)
#define SPELL (   name,
  desc,
  sub,
  prob,
  delay,
  level,
  mgc,
  dir,
  color 
)
Value:
OBJECT( \
                OBJ(name,desc), BITS(0,0,0,0,mgc,0,0,0,0,0,dir,sub,PAPER), 0, \
                SPBOOK_CLASS, prob, delay, \
                50, level*100, 0, 0, 0, level, 20, color )
#define TOOL (   name,
  desc,
  kn,
  mrg,
  mgc,
  chg,
  prob,
  wt,
  cost,
  mat,
  color 
)
Value:
OBJECT( OBJ(name,desc), \
                BITS(kn,mrg,chg,0,mgc,chg,0,0,0,0,0,P_NONE,mat), \
                0, TOOL_CLASS, prob, 0, \
                wt, cost, 0, 0, 0, 0, wt, color )
#define WAND (   name,
  typ,
  prob,
  cost,
  mgc,
  dir,
  metal,
  color 
)
Value:
OBJECT( \
                OBJ(name,typ), BITS(0,0,1,0,mgc,1,0,0,0,0,dir,P_NONE,metal), 0, \
                WAND_CLASS, prob, 0, 7, cost, 0, 0, 0, 0, 30, color )
#define WEAPON (   name,
  app,
  kn,
  mg,
  bi,
  prob,
  wt,
  cost,
  sdam,
  ldam,
  hitbon,
  typ,
  sub,
  metal,
  color 
)
Value:
OBJECT( \
                OBJ(name,app), BITS(kn,mg,1,0,0,1,0,0,bi,0,typ,sub,metal), 0, \
                WEAPON_CLASS, prob, 0, \
                wt, cost, sdam, ldam, hitbon, 0, wt, color )
#define WEPTOOL (   name,
  desc,
  kn,
  mgc,
  bi,
  prob,
  wt,
  cost,
  sdam,
  ldam,
  hitbon,
  sub,
  mat,
  clr 
)
Value:
OBJECT( OBJ(name,desc), \
                BITS(kn,0,1,0,mgc,1,0,0,bi,0,hitbon,sub,mat), \
                0, TOOL_CLASS, prob, 0, \
                wt, cost, sdam, ldam, hitbon, 0, wt, clr )

Function Documentation

void NDECL ( objects_init   )
void objects_init (  )

Referenced by moveloop().

Here is the caller graph for this function:


Variable Documentation

NEARDATA struct objdescr obj_descr[]

Referenced by initoptions(), and mimic_obj_name().