Tweak liking thresholds. Required interest rate is higher to discourage flirt grinding.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Sun, 7 Apr 2013 14:45:31 +0000 (16:45 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Sun, 7 Apr 2013 14:45:31 +0000 (16:45 +0200)
fight.c
rogue.h
romance.c

diff --git a/fight.c b/fight.c
index e785fdd299b61fdf1b43cc495966d87c5b68d65e..3b604bf3bc7b213f656568421324b0659bc0cb00 100644 (file)
--- a/fight.c
+++ b/fight.c
@@ -108,7 +108,7 @@ register struct thing *mp;
     if (rnd(5) == 0)\r
         mp->t_stats.s_int--;\r
 \r
-    if (mp->t_stats.s_int > INTERESTED)\r
+    if (mp->t_stats.s_int > READY)\r
     {\r
         const char *msgs[] = {\r
             "The %s smiles at you.",\r
@@ -119,7 +119,7 @@ register struct thing *mp;
         msg(rndchoice(msgs), monsters[mp->t_type-'A'].m_name);\r
         return;\r
     }\r
-    else if (2 * mp->t_stats.s_int > rnd(INTERESTED))\r
+    else if (mp->t_stats.s_int > rnd(INTERESTED))\r
     {\r
         const char *msgs[] = {\r
             "The %s stares at you.",\r
diff --git a/rogue.h b/rogue.h
index 47dfd8e81b12cc81a88f785f2c1c5394f00c4bc2..52678e0ef71105dff13cfbb2b696d9c4263d358e 100644 (file)
--- a/rogue.h
+++ b/rogue.h
@@ -340,7 +340,8 @@ extern struct trap  traps[MAXTRAPS];
 \r
 #define NUM_FEATURES 6\r
 #define MAYBE_INTERESTED 1\r
-#define INTERESTED 20\r
+#define INTERESTED 40\r
+#define READY 100\r
 \r
 /*\r
  * Structure describing a fighting being\r
index e2bb9b3091f9b870b49900217dd06d847e4c006f..96e98091ec91fcaa905b9ac3245b8d34a8d9a3e6 100644 (file)
--- a/romance.c
+++ b/romance.c
@@ -111,12 +111,13 @@ int ydelta, xdelta;
        return;
 
     liking = count_bits_set(
-        hash((op->o_type << 4) ^ op->o_which) & tp->t_stats.s_ont) - 1;
-    if (liking == 0
+        hash(op->o_type * op->o_which) & tp->t_stats.s_ont) - 1;
+    if ((liking == 0 || liking == -1)
         || liking > 0 && tp->t_stats.s_int <= MAYBE_INTERESTED)
     {
         const char *msgs[] = {
             "The %s ignores %s",
+            "The %s doesn't care for %s",
             "The %s isn't interested in %s",
         };
         msg(rndchoice(msgs), killname(tp->t_type), inv_name(op, TRUE));
@@ -126,12 +127,12 @@ int ydelta, xdelta;
     {
         const char *msgs[] = {
             "The %s accepts %s.",
-            "The %s takes %s.",
+            "The %s smiles and takes %s.",
         };
         msg(rndchoice(msgs), killname(tp->t_type), inv_name(op, TRUE));
         tp->t_stats.s_int += liking * 10;
     }
-    else if (liking < 0)
+    else
     {
         const char *msgs[] = {
             "The %s throws away %s.",
@@ -187,7 +188,7 @@ embrace()
         msg("You wrap your arms around yourself.");
        return;
     }
-    else if (tp->t_stats.s_int < INTERESTED)
+    else if (tp->t_stats.s_int < READY)
     {
         if (tp->t_stats.s_int > 0)
             tp->t_stats.s_int /= 2;