]> granicus.if.org Git - nethack/commitdiff
Make SEDUCE unconditional.
authorSean Hunt <scshunt@csclub.uwaterloo.ca>
Sat, 28 Feb 2015 00:05:01 +0000 (19:05 -0500)
committerSean Hunt <scshunt@csclub.uwaterloo.ca>
Sat, 28 Feb 2015 00:33:48 +0000 (19:33 -0500)
12 files changed:
include/config.h
include/extern.h
include/monattk.h
include/sys.h
src/mhitm.c
src/mhitu.c
src/monst.c
src/sounds.c
src/sys.c
src/uhitm.c
src/zap.c
util/makedefs.c

index 1af4b0560e2b6f7f3fa5b5a64d48691405fbe89a..3084be86458530586066946745f1b2452b32ea64 100644 (file)
@@ -417,7 +417,6 @@ typedef unsigned char       uchar;
 /* dungeon levels */
 #define WALLIFIED_MAZE /* Fancy mazes - Jean-Christophe Collet */
 /* monsters & objects */
-#define SEDUCE         /* Succubi/incubi seduction, by KAA, suggested by IM */
 /* I/O */
 #define REDO           /* support for redoing last command - DGK */
 #if !defined(MAC)
index 4927187306db8336c45e84a1cad9c7347a7751a6..9f03e81517038a7fa4d2df82c39e86f5cda6933d 100644 (file)
@@ -1112,9 +1112,7 @@ E boolean NDECL(gulp_blnd_check);
 E int FDECL(gazemu, (struct monst *,struct attack *));
 E void FDECL(mdamageu, (struct monst *,int));
 E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *));
-#ifdef SEDUCE
 E int FDECL(doseduce, (struct monst *));
-#endif
 
 /* ### minion.c ### */
 
index 7c228c87d7d3120dbbb5d2e04f38ba4e43d44e01..1bd7ff61604cdbe7ec9c4c14fe99d44aa69dff03 100644 (file)
@@ -72,7 +72,6 @@
 #define AD_DISE                33      /* confers diseases */
 #define AD_DCAY                34      /* decays organics (brown Pudding) */
 #define AD_SSEX                35      /* Succubus seduction (extended) */
-                               /* If no SEDUCE then same as AD_SEDU */
 #define AD_HALU                36      /* causes hallucination */
 #define AD_DETH                37      /* for Death only */
 #define AD_PEST                38      /* for Pestilence only */
index ac39239eecdbeee3c69564555c464451ca4c5e23..713e33a557520a328298310f00e6f55ec0e9b0f5 100644 (file)
@@ -35,11 +35,7 @@ struct sysopt {
 };
 E struct sysopt sysopt;
 
-#ifdef SEDUCE
-# define SYSOPT_SEDUCE sysopt.seduce
-#else
-# define SYSOPT_SEDUCE 0
-#endif
+#define SYSOPT_SEDUCE sysopt.seduce
 
 #endif /* SYS_H */
 
index 0e8bf7d1cab2a2746ba25e7cc8424b9d8b4e7afb..24e5c7f1ca4ba49d5a43547e942490ab286c9ae7 100644 (file)
@@ -1083,9 +1083,7 @@ mdamagem(magr, mdef, mattk)
                        /* Automatic kill if drained past level 0 */
                }
                break;
-#ifdef SEDUCE
            case AD_SSEX:
-#endif
            case AD_SITM:       /* for now these are the same */
            case AD_SEDU:
                if (magr->mcan) break;
index 511513f39d4f1eb8dba6450a3125d2cb025ce0c5..6f298ff6310ba742e843407f08dd60cd61b2a4bf 100644 (file)
@@ -12,9 +12,7 @@ STATIC_DCL void FDECL(urustm, (struct monst *, struct obj *));
 STATIC_DCL boolean FDECL(u_slip_free, (struct monst *,struct attack *));
 STATIC_DCL int FDECL(passiveum, (struct permonst *,struct monst *,struct attack *));
 
-#ifdef SEDUCE
 STATIC_DCL void FDECL(mayberem, (struct obj *, const char *));
-#endif
 
 STATIC_DCL boolean FDECL(diseasemu, (struct permonst *));
 STATIC_DCL int FDECL(hitmu, (struct monst *,struct attack *));
@@ -1256,7 +1254,6 @@ dopois:
                if(!mtmp->mcan) stealgold(mtmp);
                break;
 
-#ifdef SEDUCE
            case AD_SSEX:
                if(SYSOPT_SEDUCE){
                if(could_seduce(mtmp, &youmonst, mattk) == 1
@@ -1266,7 +1263,6 @@ dopois:
                break;
                }
                /* else FALLTHRU */
-#endif
            case AD_SITM:       /* for now these are the same */
            case AD_SEDU:
                if (is_animal(mtmp->data)) {
@@ -1274,10 +1270,7 @@ dopois:
                        if (mtmp->mcan) break;
                        /* Continue below */
                } else if (dmgtype(youmonst.data, AD_SEDU)
-#ifdef SEDUCE
-                       || (SYSOPT_SEDUCE && dmgtype(youmonst.data, AD_SSEX))
-#endif
-                                               ) {
+                       || (SYSOPT_SEDUCE && dmgtype(youmonst.data, AD_SSEX))) {
                        pline("%s %s.", Monnam(mtmp), mtmp->minvent ?
                    "brags about the goods some dungeon explorer provided" :
                    "makes some remarks about how difficult theft is lately");
@@ -2198,19 +2191,13 @@ struct attack *mattk;
                gendef = gender(mdef);
        }
 
-       if(agrinvis && !defperc
-#ifdef SEDUCE
-               && (!SYSOPT_SEDUCE || ( mattk && mattk->adtyp != AD_SSEX))
-#endif
-               )
+       if(agrinvis && !defperc &&
+            (!SYSOPT_SEDUCE || ( mattk && mattk->adtyp != AD_SSEX)))
                return 0;
 
        if(pagr->mlet != S_NYMPH
                && ((pagr != &mons[PM_INCUBUS] && pagr != &mons[PM_SUCCUBUS])
-#ifdef SEDUCE
-                   || (SYSOPT_SEDUCE && mattk && mattk->adtyp != AD_SSEX)
-#endif
-                  ))
+                   || (SYSOPT_SEDUCE && mattk && mattk->adtyp != AD_SSEX)))
                return 0;
        
        if(genagr == 1 - gendef)
@@ -2219,7 +2206,6 @@ struct attack *mattk;
                return (pagr->mlet == S_NYMPH) ? 2 : 0;
 }
 
-#ifdef SEDUCE
 /* Returns 1 if monster teleported */
 int
 doseduce(mon)
@@ -2485,7 +2471,6 @@ const char *str;
        }
        remove_worn_item(obj, TRUE);
 }
-#endif  /* SEDUCE */
 
 STATIC_OVL int
 passiveum(olduasmon,mtmp,mattk)
index 420118eda7cbe8c92771bffda47763c5050f7706..d6b843b6c9d1bdab269b24aa30f0129d4d186bef 100644 (file)
@@ -2554,14 +2554,9 @@ struct permonst _mons2[] = {
 #define SEDUCTION_ATTACKS_NO \
        A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
          ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK)
-#ifdef SEDUCE
-# define SEDUCTION_ATTACKS SEDUCTION_ATTACKS_YES
-#else
-# define SEDUCTION_ATTACKS SEDUCTION_ATTACKS_NO
-#endif
     MON("succubus", S_DEMON,
        LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1),
-       SEDUCTION_ATTACKS,
+       SEDUCTION_ATTACKS_YES,
        SIZ(WT_HUMAN, 400, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
        M1_HUMANOID|M1_FLY|M1_POIS,
        M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE,
@@ -2577,12 +2572,11 @@ struct permonst _mons2[] = {
        CLR_BROWN),
     MON("incubus", S_DEMON,
        LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1),
-       SEDUCTION_ATTACKS,
+       SEDUCTION_ATTACKS_YES,
        SIZ(WT_HUMAN, 400, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
        M1_HUMANOID|M1_FLY|M1_POIS,
        M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE,
        M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
-#undef SEDUCTION_ATTACKS
     /* Used by AD&D for a type of demon, originally one of the Furies */
     /* and spelled this way */
     MON("erinys", S_DEMON,
index 593c3ecd6fa6a6360c55d0b11336af589bd61e33..d57904778ed80a4f287522702680aa4a31090056 100644 (file)
@@ -807,7 +807,6 @@ register struct monst *mtmp;
        case MS_SEDUCE:
            {
            int swval;
-#ifdef SEDUCE
            if (SYSOPT_SEDUCE) {
              if (ptr->mlet != S_NYMPH &&
                could_seduce(mtmp, &youmonst, (struct attack *)0) == 1) {
@@ -816,7 +815,6 @@ register struct monst *mtmp;
              }
              swval = ((poly_gender() != (int) mtmp->female) ? rn2(3) : 0);
            } else
-#endif
              swval = ((poly_gender() == 0) ? rn2(3) : 0);
            switch(swval){
                case 2:
index b559c145071ded2b8e864b79ab07a533463f5d04..5f17a0a91f22ab96981a731a1796df99b7f63461 100644 (file)
--- a/src/sys.c
+++ b/src/sys.c
@@ -54,10 +54,8 @@ sys_early_init(){
 # endif
 #endif
 
-#ifdef SEDUCE
        sysopt.seduce = 1;      /* if it's compiled in, default to on */
        sysopt_seduce_set(sysopt.seduce);
-#endif
 }
 
 
index 04ec05c117f3f8777aca508b4a3c3618626fe2da..bbb3a7fb49366d04315b6338a859849e55a4d456 100644 (file)
@@ -1452,9 +1452,7 @@ register struct attack *mattk;
                    minstapetrify(mdef, TRUE);
                tmp = 0;
                break;
-#ifdef SEDUCE
            case AD_SSEX:
-#endif
            case AD_SEDU:
            case AD_SITM:
                steal_it(mdef, mattk);
index 97fa65a15db8f47c1b3592d155249c536af6b049..cbc533041666bf279674dcf85163c81fdaccea78 100644 (file)
--- a/src/zap.c
+++ b/src/zap.c
@@ -584,9 +584,7 @@ coord *cc;
                /* most cancelled monsters return to normal,
                   but some need to stay cancelled */
                if (!dmgtype(mtmp2->data, AD_SEDU)
-#ifdef SEDUCE
                                && (!SYSOPT_SEDUCE || !dmgtype(mtmp2->data, AD_SSEX))
-#endif
                    ) mtmp2->mcan = 0;
                mtmp2->mcansee = 1;     /* set like in makemon */
                mtmp2->mblinded = 0;
index 9102945ce5812bb1c59d64c162c6ed2caecad537..32107d0ab84bb7f5270e1929dac50544b489a055 100644 (file)
@@ -1298,9 +1298,6 @@ static const char *build_opts[] = {
 #  endif
 # endif
 #endif
-#ifdef SEDUCE
-               "seduction",
-#endif
 #ifdef SHELL
                "shell command",
 #endif