From: cohrs Date: Sat, 4 Feb 2006 20:34:26 +0000 (+0000) Subject: gender and size of leaders and nemeses X-Git-Tag: MOVE2GIT~1136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f11d009b4c8ec9a290fabd34f9c5f68c47c5a58c;p=nethack gender and size of leaders and nemeses Combo fix based on several reports and additional research. In quest.txt and/or data.base, the Grand Master, Arch Priest, Ixoth, Master Kaen, Nalzok, Scorpius, and the Master Assassin are all referred to as male via reference: his or him. Ideally, there would be a way to parameterize this in the quest.txt, but I don't see a clear way to do that at this time. For the time being at least, set the M2_MALE flag for these monsters. The Dark One was referred to via "his" once in the quest.txt. This case I was able to modify the offending text rather than forcing a gender. Orion and Norn are referred to as a giant in data.base but their size did not correspond. I left the symbol as S_HUMAN although perhaps it should be S_GIANT. Finally, Orion, the Norn, Cyclops and Lord Surtur, as giant-types, should be able to tear webs. --- diff --git a/dat/quest.txt b/dat/quest.txt index 9aa314fce..23bcce890 100644 --- a/dat/quest.txt +++ b/dat/quest.txt @@ -3276,7 +3276,7 @@ and attack the Wizard of Yendor, you know you must return it to its rightful owner, %l. %E %Cc Wiz 00080 -%nC croaks out, as his body begins to shrivel up: +%nC, whose body begins to shrivel up, croaks out: I shall haunt your progress until the end of time. A thousand curses on you and %l. diff --git a/doc/fixes34.4 b/doc/fixes34.4 index f6844d6bd..068116f84 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -183,6 +183,10 @@ tweak knight quest messages guidebook grammar bits special level loader wasn't able to place random door in 1x1 room; could trigger divide-by-0 crash for user-developed custom levels +make gender of quest leaders and nemeses consistent with data.base and + quest messages +Orion and Norn should be giant sized +Orion, Norn, Cyclops and Lord Surtur should be able to tear webs Platform- and/or Interface-Specific Fixes diff --git a/src/monst.c b/src/monst.c index 2dea391e6..20da9edc5 100644 --- a/src/monst.c +++ b/src/monst.c @@ -3121,7 +3121,7 @@ struct permonst _mons2[] = { SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, M1_HUMANOID|M1_SEE_INVIS|M1_HERBIVORE, - M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_NASTY|M2_MAGIC, + M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_NASTY|M2_MAGIC, M3_CLOSE|M3_INFRAVISIBLE, CLR_BLACK), MON("Arch Priest", S_HUMAN, LVL(25, 12, 7, 70, 0), (G_NOGEN|G_UNIQ), @@ -3131,13 +3131,13 @@ struct permonst _mons2[] = { SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, - M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, + M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_COLLECT|M2_MAGIC, M3_CLOSE|M3_INFRAVISIBLE, CLR_WHITE), MON("Orion", S_HUMAN, LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0, + SIZ(2200, 700, MS_LEADER, MZ_HUGE), 0, 0, M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_SWIM|M1_AMPHIBIOUS, M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| M2_COLLECT|M2_MAGIC, @@ -3177,7 +3177,7 @@ struct permonst _mons2[] = { LVL(20, 12, 0, 80, 0), (G_NOGEN|G_UNIQ), A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_COLD, 0, + SIZ(1800, 550, MS_LEADER, MZ_HUGE), MR_COLD, 0, M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE| M2_COLLECT|M2_MAGIC, @@ -3256,7 +3256,7 @@ struct permonst _mons2[] = { SIZ(WT_DRAGON, 1600, MS_NEMESIS, MZ_GIGANTIC), MR_FIRE|MR_STONE, MR_FIRE, M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS, - M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK| + M2_NOPOLY|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK| M2_GREEDY|M2_JEWELS|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_RED), MON("Master Kaen", S_HUMAN, @@ -3267,7 +3267,7 @@ struct permonst _mons2[] = { SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, MR_POISON, M1_HUMANOID|M1_HERBIVORE|M1_SEE_INVIS, - M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY| + M2_NOPOLY|M2_HUMAN|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY| M2_STALK|M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), MON("Nalzok", S_DEMON, @@ -3277,7 +3277,7 @@ struct permonst _mons2[] = { NO_ATTK, NO_ATTK), SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON|MR_STONE, 0, M1_FLY|M1_SEE_INVIS|M1_POIS, - M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| + M2_NOPOLY|M2_DEMON|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| M2_NASTY|M2_COLLECT, M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED), MON("Scorpius", S_SPIDER, @@ -3286,7 +3286,7 @@ struct permonst _mons2[] = { ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(750, 350, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, MR_POISON, M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, - M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY| + M2_NOPOLY|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY| M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU, HI_LORD), MON("Master Assassin", S_HUMAN, @@ -3295,7 +3295,7 @@ struct permonst _mons2[] = { ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0, M1_HUMANOID|M1_OMNIVORE, - M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| + M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_HOSTILE|M2_STALK|M2_NASTY| M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), /* A renegade daimyo who led a 13 year civil war against the shogun diff --git a/src/trap.c b/src/trap.c index c4093ea01..20780e6fe 100644 --- a/src/trap.c +++ b/src/trap.c @@ -2169,6 +2169,10 @@ glovecheck: target = which_armor(mtmp, W_ARMG); case PM_BALROG: case PM_KRAKEN: case PM_MASTODON: + case PM_ORION: + case PM_NORN: + case PM_CYCLOPS: + case PM_LORD_SURTUR: tear_web = TRUE; break; }