Add a tutorial level to teach commands to new players. Very much a WIP. Breaks save and bones compat.
36 lines
1.3 KiB
C
36 lines
1.3 KiB
C
/* NetHack 3.7 engrave.h $NHDT-Date: 1596498535 2020/08/03 23:48:55 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.10 $ */
|
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
|
/*-Copyright (c) Kenneth Lorber, Kensington, Maryland, 2015. */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef ENGRAVE_H
|
|
#define ENGRAVE_H
|
|
|
|
struct engr {
|
|
struct engr *nxt_engr;
|
|
char *engr_txt;
|
|
coordxy engr_x, engr_y;
|
|
unsigned engr_lth; /* for save & restore; not length of text */
|
|
long engr_time; /* moment engraving was (will be) finished */
|
|
xint8 engr_type;
|
|
#define DUST 1
|
|
#define ENGRAVE 2
|
|
#define BURN 3
|
|
#define MARK 4
|
|
#define ENGR_BLOOD 5
|
|
#define HEADSTONE 6
|
|
#define N_ENGRAVE 6
|
|
Bitfield(guardobjects, 1); /* if engr_txt is "Elbereth", it is effective
|
|
* against monsters when an object is present
|
|
* even when hero isn't (so behaves similarly
|
|
* to how Elbereth did in 3.4.3) */
|
|
Bitfield(nowipeout, 1); /* this engraving will not degrade */
|
|
/* 6 free bits */
|
|
};
|
|
|
|
#define newengr(lth) \
|
|
(struct engr *) alloc((unsigned) (lth) + (unsigned) sizeof (struct engr))
|
|
#define dealloc_engr(engr) free((genericptr_t) (engr))
|
|
|
|
#endif /* ENGRAVE_H */
|