]> granicus.if.org Git - nethack/commitdiff
gender and size of leaders and nemeses
authorcohrs <cohrs>
Sat, 4 Feb 2006 20:34:26 +0000 (20:34 +0000)
committercohrs <cohrs>
Sat, 4 Feb 2006 20:34:26 +0000 (20:34 +0000)
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.

dat/quest.txt
doc/fixes34.4
src/monst.c
src/trap.c

index 9aa314fce4ab431b6a492cf9b6e61977b4ff2d65..23bcce8906de9b0e180fedf2acb874aa7c214eaa 100644 (file)
@@ -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.
index f6844d6bd45d778048ebffda98b7cb3396abae92..068116f84cabb2753ba5ac29d4c5ff8e780676eb 100644 (file)
@@ -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
index 2dea391e6aae25e8271b0ff200de2f1aaad22479..20da9edc55356eb67d3809dafc63e3c3b9e8f28e 100644 (file)
@@ -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
index c4093ea01773d1fdc21a95071d546391a016cb11..20780e6fee8277c262498da043db679008baaca6 100644 (file)
@@ -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;
                        }