OSDN Git Service

fix #36992
authorSHIRAKATA Kentaro <argrath@ub32.org>
Wed, 15 Feb 2017 17:15:25 +0000 (02:15 +0900)
committerSHIRAKATA Kentaro <argrath@ub32.org>
Wed, 15 Feb 2017 17:15:53 +0000 (02:15 +0900)
ChangeLog.j
src/mondata.c
src/objnam.c

index 47a464b..bbee693 100644 (file)
@@ -4,6 +4,7 @@
        * \83I\81[\83N\8a´\92m\92\86\82Ì\83X\83e\83B\83\93\83O\82Ì\8bP\82«\95\\8e¦\82ª\96³\82¢\96â\91è\82ð\8fC\90³ (#36953)
        * \8aè\82¢\82Å\93¾\82½\82à\82Ì\82ð\8eæ\82è\97\8e\82Æ\82µ\82½\8e\9e\82Ì\83\81\83b\83Z\81[\83W\82ª\82¨\82©\82µ\82¢\96â\91è\82ð\8fC\90³
          (#36991)
+       * \89ö\95¨\96¼\82Ì\95t\82¢\82½\95¨\82ª\8aè\82¦\82È\82¢\96â\91è\82ð\8fC\90³ (#36992)
 
 Wed Dec  7 2016  Kentaro Shirakata  <argrath@ub32.org>
 
index f5d0f64..f250089 100644 (file)
@@ -757,6 +757,7 @@ const char *in_str;
             if (m_i_len == slen) {
                 return i; /* exact match */
             } else if (slen > m_i_len
+#if 0 /*JP*/
                        && (str[m_i_len] == ' '
                            || !strcmpi(&str[m_i_len], "s")
                            || !strncmpi(&str[m_i_len], "s ", 2)
@@ -766,6 +767,9 @@ const char *in_str;
                            || !strncmpi(&str[m_i_len], "'s ", 3)
                            || !strcmpi(&str[m_i_len], "es")
                            || !strncmpi(&str[m_i_len], "es ", 3))) {
+#else
+                       && !strncmp(&str[m_i_len], "\82Ì", 2)) {
+#endif
                 mntmp = i;
                 len = m_i_len;
             }
index a2d7072..c02494f 100644 (file)
@@ -3333,7 +3333,7 @@ struct obj *no_wish;
     }
 #endif
 
-#if 0 /*JP*//*\93ú\96{\8cê\82Å\82Í\8f\88\97\9d\82µ\82È\82¢*/
+#if 0 /*JP*/
     /* intercept pudding globs here; they're a valid wish target,
      * but we need them to not get treated like a corpse.
      *
@@ -3365,7 +3365,6 @@ struct obj *no_wish;
                 *p = 0;
         }
     }
-#endif
     /* Find corpse type w/o "of" (red dragon scale mail, yeti corpse) */
     if (strncmpi(bp, "samurai sword", 13))   /* not the "samurai" monster! */
         if (strncmpi(bp, "wizard lock", 11)) /* not the "wizard" monster! */
@@ -3396,6 +3395,14 @@ struct obj *no_wish;
                                 mntmp = NON_PM;
                             }
                         }
+#else /*JP:\81u(\89ö\95¨\96¼)\82Ì(\83A\83C\83e\83\80)\81v\91Î\89\9e */
+    {
+        if ((mntmp = name_to_mon(bp)) >= LOW_PM) {
+            char *mp = mons[mntmp].mname;
+            bp = strstri(bp, mp) + strlen(mp) + 2;
+        }
+    }
+#endif
 
 #if 0 /*JP*//*\92P\90\94\89»\82Í\82µ\82È\82¢*/
     /* first change to singular if necessary */
@@ -3434,6 +3441,7 @@ struct obj *no_wish;
     }
 #endif
 
+#if 0 /*JP*/
     /* dragon scales - assumes order of dragons */
     if (!strcmpi(bp, "scales") && mntmp >= PM_GRAY_DRAGON
         && mntmp <= PM_YELLOW_DRAGON) {
@@ -3441,6 +3449,22 @@ struct obj *no_wish;
         mntmp = NON_PM; /* no monster */
         goto typfnd;
     }
+#else
+    /*JP: \81u\97Ø\8aZ\81v\82ð\90æ\82É\8f\88\97\9d\82µ\82Ä\82¨\82­ */
+    if (!strcmpi(bp, "\97Ø\8aZ") && mntmp >= PM_GRAY_DRAGON
+        && mntmp <= PM_YELLOW_DRAGON) {
+        typ = GRAY_DRAGON_SCALE_MAIL + mntmp - PM_GRAY_DRAGON;
+        mntmp = NON_PM; /* no monster */
+        goto typfnd;
+    }
+
+    if (!strcmpi(bp, "\97Ø") && mntmp >= PM_GRAY_DRAGON
+        && mntmp <= PM_YELLOW_DRAGON) {
+        typ = GRAY_DRAGON_SCALES + mntmp - PM_GRAY_DRAGON;
+        mntmp = NON_PM; /* no monster */
+        goto typfnd;
+    }
+#endif
 
     p = eos(bp);
 #if 0 /*JP*/