Merge branch 'NetHack-3.6'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mkroom.h $NHDT-Date: 1432512780 2015/05/25 00:13:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.13 $ */
|
||||
/* NetHack 3.6 mkroom.h $NHDT-Date: 1560851014 2019/06/18 09:43:34 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.16 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Pasi Kallinen, 2016. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -32,8 +32,8 @@ struct shclass {
|
||||
#define D_SHOP 1 /* shop-like placement */
|
||||
#define D_TEMPLE 2 /* temple-like placement */
|
||||
struct itp {
|
||||
int iprob; /* probability of an item type */
|
||||
int itype; /* item type: if >=0 a class, if < 0 a specific item */
|
||||
int iprob; /* probability of an item type */
|
||||
int itype; /* item type: if >=0 a class, if < 0 a specific item */
|
||||
} iprobs[6];
|
||||
const char *const *shknms; /* list of shopkeeper names for this type */
|
||||
};
|
||||
@@ -47,31 +47,31 @@ struct shclass {
|
||||
|
||||
/* values for rtype in the room definition structure */
|
||||
enum roomtype_types {
|
||||
OROOM = 0, /* ordinary room */
|
||||
COURT = 2, /* contains a throne */
|
||||
SWAMP, /* contains pools */
|
||||
VAULT, /* contains piles of gold */
|
||||
BEEHIVE, /* contains killer bees and royal jelly */
|
||||
MORGUE, /* contains corpses, undead and ghosts */
|
||||
BARRACKS, /* contains soldiers and their gear */
|
||||
ZOO, /* floor covered with treasure and monsters */
|
||||
DELPHI, /* contains Oracle and peripherals */
|
||||
TEMPLE, /* contains a shrine */
|
||||
LEPREHALL, /* leprechaun hall (Tom Proudfoot) */
|
||||
COCKNEST, /* cockatrice nest (Tom Proudfoot) */
|
||||
ANTHOLE, /* ants (Tom Proudfoot) */
|
||||
SHOPBASE, /* everything above this is a shop */
|
||||
ARMORSHOP, /* specific shop defines for level compiler */
|
||||
SCROLLSHOP,
|
||||
POTIONSHOP,
|
||||
WEAPONSHOP,
|
||||
FOODSHOP,
|
||||
RINGSHOP,
|
||||
WANDSHOP,
|
||||
TOOLSHOP,
|
||||
BOOKSHOP,
|
||||
FODDERSHOP, /* health food store */
|
||||
CANDLESHOP
|
||||
OROOM = 0, /* ordinary room */
|
||||
COURT = 2, /* contains a throne */
|
||||
SWAMP = 3, /* contains pools */
|
||||
VAULT = 4, /* detached room usually reached via teleport trap */
|
||||
BEEHIVE = 5, /* contains killer bees and royal jelly */
|
||||
MORGUE = 6, /* contains corpses, undead and graves */
|
||||
BARRACKS = 7, /* contains soldiers and their gear */
|
||||
ZOO = 8, /* floor covered with treasure and monsters */
|
||||
DELPHI = 9, /* contains Oracle and peripherals */
|
||||
TEMPLE = 10, /* contains a shrine (altar attended by priest[ess]) */
|
||||
LEPREHALL = 11, /* leprechaun hall (Tom Proudfoot) */
|
||||
COCKNEST = 12, /* cockatrice nest (Tom Proudfoot) */
|
||||
ANTHOLE = 13, /* ants (Tom Proudfoot) */
|
||||
SHOPBASE = 14, /* everything above this is a shop */
|
||||
ARMORSHOP = 15, /* specific shop defines for level compiler */
|
||||
SCROLLSHOP = 16,
|
||||
POTIONSHOP = 17,
|
||||
WEAPONSHOP = 18,
|
||||
FOODSHOP = 19,
|
||||
RINGSHOP = 20,
|
||||
WANDSHOP = 21,
|
||||
TOOLSHOP = 22,
|
||||
BOOKSHOP = 23,
|
||||
FODDERSHOP = 24, /* health food store */
|
||||
CANDLESHOP = 25
|
||||
};
|
||||
|
||||
#define MAXRTYPE (CANDLESHOP) /* maximum valid room type */
|
||||
@@ -81,25 +81,19 @@ enum roomtype_types {
|
||||
#define ANY_TYPE (-1)
|
||||
#define ANY_SHOP (-2)
|
||||
|
||||
#define NO_ROOM 0 /* indicates lack of room-occupancy */
|
||||
#define SHARED 1 /* indicates normal shared boundary */
|
||||
#define SHARED_PLUS \
|
||||
2 /* indicates shared boundary - extra adjacent- \
|
||||
* square searching required */
|
||||
#define NO_ROOM 0 /* indicates lack of room-occupancy */
|
||||
#define SHARED 1 /* indicates normal shared boundary */
|
||||
#define SHARED_PLUS 2 /* indicates shared boundary - extra adjacent-square
|
||||
* searching required */
|
||||
#define ROOMOFFSET 3 /* (levl[x][y].roomno - ROOMOFFSET) gives g.rooms[] index,
|
||||
* for inside-squares and non-shared boundaries */
|
||||
|
||||
#define ROOMOFFSET \
|
||||
3 /* \
|
||||
* (levl[x][y].roomno - ROOMOFFSET) gives \
|
||||
* g.rooms[] index, for inside-squares and \
|
||||
* non-shared boundaries. \
|
||||
*/
|
||||
|
||||
#define IS_ROOM_PTR(x) ((x) >= g.rooms && (x) < g.rooms + MAXNROFROOMS)
|
||||
#define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS)
|
||||
#define IS_SUBROOM_PTR(x) ((x) >= g.subrooms && (x) < g.subrooms + MAXNROFROOMS)
|
||||
#define IS_ROOM_PTR(x) ((x) >= rooms && (x) < g.rooms + MAXNROFROOMS)
|
||||
#define IS_ROOM_INDEX(x) ((x) >= 0 && (x) < MAXNROFROOMS)
|
||||
#define IS_SUBROOM_PTR(x) ((x) >= g.subrooms && (x) < g.subrooms + MAXNROFROOMS)
|
||||
#define IS_SUBROOM_INDEX(x) ((x) > MAXNROFROOMS && (x) < (MAXNROFROOMS * 2))
|
||||
#define ROOM_INDEX(x) ((x) -g.rooms)
|
||||
#define SUBROOM_INDEX(x) ((x) -g.subrooms)
|
||||
#define ROOM_INDEX(x) ((x) -g.rooms)
|
||||
#define SUBROOM_INDEX(x) ((x) -g.subrooms)
|
||||
#define IS_LAST_ROOM_PTR(x) (ROOM_INDEX(x) == g.nroom)
|
||||
#define IS_LAST_SUBROOM_PTR(x) (!g.nsubroom || SUBROOM_INDEX(x) == g.nsubroom)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user