OSDN Git Service

'~'コマンドの既知のモンスターリストで、賞金首とアンバーの王族を選択表示できるようにした。(改造版の賞金首表示変更パッチ(変愚蛮怒スレッドその8 911さん)をいただき...
authoriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sun, 8 Mar 2009 00:50:39 +0000 (00:50 +0000)
committeriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sun, 8 Mar 2009 00:50:39 +0000 (00:50 +0000)
src/cmd4.c

index 7ba6e8a..e77dffa 100644 (file)
@@ -5060,6 +5060,8 @@ static cptr monster_group_text[] =
 #ifdef JP
        "¥æ¥Ë¡¼¥¯",     /* "Uniques" */
        "¾èÇϲÄǽ¤Ê¥â¥ó¥¹¥¿¡¼", /* "Riding" */
+       "¾Þ¶â¼ó", /* "Wanted */
+       "¥¢¥ó¥Ð¡¼¤Î²¦Â²", /* "Ambertite" */
        "¥¢¥ê",
        "¥³¥¦¥â¥ê",
        "¥à¥«¥Ç",
@@ -5119,6 +5121,8 @@ static cptr monster_group_text[] =
 #else
        "Uniques",
        "Ridable monsters",
+       "Wanted monsters",
+       "Ambertite",
        "Ant",
        "Bat",
        "Centipede",
@@ -5188,6 +5192,8 @@ static cptr monster_group_char[] =
 {
        (char *) -1L,
        (char *) -2L,
+       (char *) -3L,
+       (char *) -4L,
        "a",
        "b",
        "c",
@@ -5293,6 +5299,13 @@ static int collect_monsters(int grp_cur, s16b mon_idx[], byte mode)
        /* XXX Hack -- Check if this is the "Riding" group */
        bool grp_riding = (monster_group_char[grp_cur] == (char *) -2L);
 
+       /* XXX Hack -- Check if this is the "Wanted" group */
+       bool grp_wanted = (monster_group_char[grp_cur] == (char *) -3L);
+
+       /* XXX Hack -- Check if this is the "Amberite" group */
+       bool grp_amberite = (monster_group_char[grp_cur] == (char *) -4L);
+
+
        /* Check every race */
        for (i = 0; i < max_r_idx; i++)
        {
@@ -5315,6 +5328,27 @@ static int collect_monsters(int grp_cur, s16b mon_idx[], byte mode)
                        if (!(r_ptr->flags7 & RF7_RIDING)) continue;
                }
 
+               else if (grp_wanted)
+               {
+                       bool wanted = FALSE;
+                       int j;
+                       for (j = 0; j < MAX_KUBI; j++)
+                       {
+                               if (kubi_r_idx[j] == i || kubi_r_idx[j] - 10000 == i ||
+                                       (p_ptr->today_mon && p_ptr->today_mon == i))
+                               {
+                                       wanted = TRUE;
+                                       break;
+                               }
+                       }
+                       if (!wanted) continue;
+               }
+
+               else if (grp_amberite)
+               {
+                       if (!(r_ptr->flags3 & RF3_AMBERITE)) continue;
+               }
+
                else
                {
                        /* Check for race in the group */