1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2025-07-27 07:52:25 +01:00

Introduce MON_A flags for NONE and VOID

A_NONE worked fine as a monster alignment, but A_VOID is -3 and so collides with the chaotic monster range.

There is no MON_A_VOID monster at all!
This commit is contained in:
chris 2022-07-23 15:13:36 -04:00
parent dc2cd2d94d
commit fd9c0c43c0
3 changed files with 8 additions and 6 deletions

View file

@ -20,6 +20,8 @@ typedef struct align { /* alignment & record */
#define ALIGNLIM (min(100L, 10L + (moves/200L) - u.ualign.sins))
#define A_NONE (-128) /* the value range of type */
#define MON_A_NONE (-128)
#define MON_A_VOID (-127)
#define A_CHAOTIC (-1)
#define A_NEUTRAL 0

View file

@ -58,8 +58,8 @@
#define templated(mon) ((mon)->mtemplate != 0)
#define get_template(mon) ((mon)->mtemplate)
#define is_molochan(ptr) ((ptr)->maligntyp == A_NONE)
#define is_voidalign(ptr) ((ptr)->maligntyp == A_VOID)
#define is_molochan(ptr) ((ptr)->maligntyp == MON_A_NONE)
#define is_voidalign(ptr) ((ptr)->maligntyp == MON_A_VOID)
#define is_lawful(ptr) ((ptr)->maligntyp > A_NEUTRAL && !is_molochan(ptr) && !is_voidalign(ptr))
#define is_lawful_mon(mon) (HAS_EPRI(mon) ? EPRI(mon)->shralign == A_LAWFUL :\
HAS_EMIN(mon) ? EMIN(mon)->min_align == A_LAWFUL :\

View file

@ -5752,7 +5752,7 @@ struct permonst _mons2[] = {
MB_HUMANOID /*MB*/, MG_NOWISH|MG_NOTAME|MG_NOPOLY|MG_PRINCE|MG_NASTY|MG_INFRAVISIBLE /*MG*/,
MA_HUMAN|MA_MINION /*MA*/, MV_NORMAL|MV_SEE_INVIS /*MV*/, CLR_WHITE),
MON("elder priest", S_HUMAN,//34
LVL(25, 15, 90, A_NONE), (G_NOGEN|G_UNIQ),
LVL(25, 15, 90, MON_A_NONE), (G_NOGEN|G_UNIQ),
DEF(SPE_AC(19)),
A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_GAZE, AD_PLYS, 1, 4),
ATTK(AT_TENT, AD_SAMU, 2, 10), ATTK(AT_TENT, AD_TENT, 2, 10),
@ -5931,7 +5931,7 @@ struct permonst _mons2[] = {
MB_HUMANOID|MB_UNSOLID|MB_STRONG|MB_FEMALE /*MB*/, MG_NOWISH|MG_NOTAME|MG_RALL|MG_REGEN|MG_PRINCE|MG_NASTY|MG_NOPOLY|MG_PNAME /*MG*/,
MA_HUMAN|MA_ELEMENTAL /*MA*/, MV_SEE_INVIS|MV_NORMAL /*MV*/, CLR_BRIGHT_BLUE),
MON("Wizard of Yendor", S_HUMAN,//35
LVL(30, 12, 100, A_NONE), (G_NOGEN|G_UNIQ),
LVL(30, 12, 100, MON_A_NONE), (G_NOGEN|G_UNIQ),
DEF(SPE_AC(18)),
A(POLYWEP_ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 10)),
SIZ(WT_HUMAN, 400, MS_CUSS, MZ_HUMAN),
@ -7741,7 +7741,7 @@ MM_FLY /*MM*/, MT_STALK|MT_HOSTILE|MT_COLLECT|MT_BOLD /*MT*/, MF_MARTIAL_E|MF_BA
MB_FEMALE|MB_HUMANOID|MB_STRONG|MB_THICK_HIDE|MB_WINGS /*MB*/, MG_NOPOLY /*MG*/,
MA_UNDEAD|MA_GIANT|MA_DRAGON|MA_AVIAN /*MA*/, MV_NORMAL|MV_INFRAVISION|MV_SCENT|MG_VSLASH /*MV*/, CLR_BLACK),
MON("Adventuress Zaria", S_HUMAN,//16 /* Needs encyc entry */
LVL(14, 12, 0, A_NONE), (G_NOGEN|G_UNIQ),
LVL(14, 12, 0, MON_A_NONE), (G_NOGEN|G_UNIQ),
DEF(DEX_AC(2)),
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6)),
SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
@ -8323,7 +8323,7 @@ MM_FLY /*MM*/, MT_STALK|MT_HOSTILE|MT_COLLECT|MT_BOLD /*MT*/, MF_MARTIAL_E|MF_BA
MB_HUMANOID|MB_MALE /*MB*/, MG_NOPOLY|MG_NASTY|MG_TRACKER /*MG*/,
MA_UNDEAD|MA_HUMAN|MA_ANIMAL /*MA*/, MV_NORMAL|MV_SCENT /*MV*/, HI_LORD),
MON("Vechernyaya the Sun's Grave-keeper", S_WRAITH,//35 /*Needs encyc entry*//*Needs tile*/
LVL(30, 12, 90, A_NONE), (G_NOCORPSE|G_NOGEN|G_UNIQ),
LVL(30, 12, 90, MON_A_NONE), (G_NOCORPSE|G_NOGEN|G_UNIQ),
DEF(SPE_AC(10)),
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
ATTK(AT_CLAW, AD_SQUE, 2, 6), ATTK(AT_MAGC, AD_SPEL, 0, 6)),