Maybe better compatibility...
[rogue-pphs.git] / romance.c
index e2bb9b3..f1daa06 100644 (file)
--- a/romance.c
+++ b/romance.c
@@ -74,6 +74,7 @@ int ydelta, xdelta;
                 "The %s is sick of your crap.",
             };
             msg(rndchoice(msgs), killname(tp->t_type));
+            wake_monster(tp->t_pos.y, tp->t_pos.x);
         }
         else
         {
@@ -111,12 +112,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 +128,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.",
@@ -140,6 +142,7 @@ int ydelta, xdelta;
         };
         msg(rndchoice(msgs), killname(tp->t_type), inv_name(op, TRUE));
         tp->t_stats.s_int -= liking * 2;
+        wake_monster(tp->t_pos.y, tp->t_pos.x);
     }
     
     /*
@@ -187,7 +190,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;