1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2025-07-04 20:47:10 +01:00
notnotdnethack/include/botl.h
ChrisANG e37f18a333 Bleed is dangerous enough to have a status ailment entry
Shows damage that will be taken next turn.
2025-04-27 00:01:29 -04:00

82 lines
3.1 KiB
C

/* SPDX-License-Identifier: NGPL */
#ifndef BOTL_H
#define BOTL_H
#define BL_MASK_STONE (0x1LL << 0)
#define BL_MASK_SLIME (0x1LL << 1)
#define BL_MASK_SUFCT (0x1LL << 2)
#define BL_MASK_ILL (0x1LL << 3)
#define BL_MASK_FOODPOIS (0x1LL << 4)
#define BL_MASK_BLEED (0x1LL << 5)
#define BL_MASK_BLIND (BL_MASK_BLEED << 1)
#define BL_MASK_STUN (BL_MASK_BLIND << 1)
#define BL_MASK_CONF (BL_MASK_STUN << 1)
#define BL_MASK_HALLU (BL_MASK_CONF << 1)
#define BL_MASK_PANIC (BL_MASK_HALLU << 1)
#define BL_MASK_STMBLNG (BL_MASK_PANIC << 1)
#define BL_MASK_STGGRNG (BL_MASK_STMBLNG << 1)
#define BL_MASK_BABBLE (BL_MASK_STGGRNG << 1)
#define BL_MASK_SCREAM (BL_MASK_BABBLE << 1)
#define BL_MASK_FAINT (BL_MASK_SCREAM << 1)
#define BL_MASK_HELD (BL_MASK_FAINT << 1)
#define BL_MASK_UHOLD (BL_MASK_HELD << 1)
#define BL_MASK_LYCN (BL_MASK_UHOLD << 1)
#define BL_MASK_INVL (BL_MASK_LYCN << 1)
#define BL_MASK_LEV (BL_MASK_INVL << 1)
#define BL_MASK_FLY (BL_MASK_LEV << 1)
#define BL_MASK_RIDE (BL_MASK_FLY << 1)
#define BL_MASK_TIMESTOP (BL_MASK_RIDE << 1)
#define BL_MASK_LUST (BL_MASK_TIMESTOP << 1)
#define BL_MASK_DEADMAGC (BL_MASK_LUST << 1)
#define BL_MASK_MISO (BL_MASK_DEADMAGC << 1)
#define BL_MASK_CATAPSI (BL_MASK_MISO << 1)
#define BL_MASK_DIMLOCK (BL_MASK_CATAPSI << 1)
//Note:28
struct status_effect {
long long mask;
char *name;
char *abbrev1;
char *abbrev2;
};
static const struct status_effect status_effects[] = {
/* Delayed instadeaths */
{ BL_MASK_STONE, "Stone", "Ston", "Sto" },
{ BL_MASK_SLIME, "Slime", "Slim", "Slm" },
{ BL_MASK_SUFCT, "Sufct", "Sfct", "Sfc" },
{ BL_MASK_ILL, "Ill", "Ill", "Ill" },
{ BL_MASK_FOODPOIS, "FoodPois", "Fpois", "Poi" },
/* Hunger and encumbrance should go here, but are special-cased */
{ BL_MASK_BLEED, "Bleed", "Bleed", "Bld" },
/* Other status effects */
{ BL_MASK_BLIND, "Blind", "Blnd", "Bl" },
{ BL_MASK_STUN, "Stun", "Stun", "St" },
{ BL_MASK_CONF, "Conf", "Cnf", "Cf" },
{ BL_MASK_HALLU, "Hallu", "Hal", "Hl" },
/* Insanity messages */
{ BL_MASK_PANIC, "Panic", "Pnc", "Pnc" },
{ BL_MASK_STMBLNG, "Stmblng", "Stmbl", "Stm" },
{ BL_MASK_STGGRNG, "Stggrng", "Stggr", "Stg" },
{ BL_MASK_BABBLE, "Babble", "Babl", "Bbl" },
{ BL_MASK_SCREAM, "Scream", "Scrm", "Scr" },
{ BL_MASK_FAINT, "Faint", "Fnt", "Fnt" },
/* Less important */
{ BL_MASK_HELD, "Held", "Hld", "Hd" },
{ BL_MASK_UHOLD, "UHold", "UHld", "UHd" },
{ BL_MASK_LYCN, "Lycn", "Lyc", "Ly" },
{ BL_MASK_INVL, "Invl", "Invl", "In" },
{ BL_MASK_LEV, "Lev", "Lev", "Lv" },
{ BL_MASK_FLY, "Fly", "Fly", "Fl" },
{ BL_MASK_RIDE, "Ride", "Rid", "Rd" },
/* Temporary effects with known duration */
{ BL_MASK_TIMESTOP, "TimeStop", "TStop", "TS" },
{ BL_MASK_LUST, "Lust", "Lust", "Lst" },
{ BL_MASK_DEADMAGC, "DeadMagc", "DMagc", "DM" },
{ BL_MASK_MISO, "Miso", "Miso", "Mi" },
{ BL_MASK_CATAPSI, "Catapsi", "Ctpsi", "Cps" },
{ BL_MASK_DIMLOCK, "DimLock", "DLock", "DL" },
};
#endif