OSDN Git Service

[Refactor] #37353 ソースファイル改名。
[hengband/hengband.git] / src / monster1.c
index d6ca6ea..449d082 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include "angband.h"
+#include "cmd-pet.h"
 
 
 /*
@@ -625,7 +626,7 @@ static void roff_aux(MONRACE_IDX r_idx, BIT_FLAGS mode)
                if (flags3 & RF3_UNDEAD)          hook_c_roff(TERM_VIOLET, _("アンデッドの", " undead"));
                if (flags3 & RF3_AMBERITE)        hook_c_roff(TERM_VIOLET, _("アンバーの王族の", " Amberite"));
 
-               if ((flags3 & (RF3_DRAGON | RF3_DEMON | RF3_GIANT | RF3_TROLL | RF3_ORC)) || (flags2 & (RF2_QUANTUM | RF2_HUMAN)))
+               if ((flags3 & (RF3_DRAGON | RF3_DEMON | RF3_GIANT | RF3_TROLL | RF3_ORC | RF3_ANGEL)) || (flags2 & (RF2_QUANTUM | RF2_HUMAN)))
                {
                /* Describe the "race" */
                        if (flags3 & RF3_DRAGON)   hook_c_roff(TERM_ORANGE, _("ドラゴン", " dragon"));
@@ -635,6 +636,7 @@ static void roff_aux(MONRACE_IDX r_idx, BIT_FLAGS mode)
                        if (flags3 & RF3_ORC)      hook_c_roff(TERM_UMBER, _("オーク", " orc"));
                        if (flags2 & RF2_HUMAN)    hook_c_roff(TERM_L_WHITE, _("人間", " human"));
                        if (flags2 & RF2_QUANTUM)  hook_c_roff(TERM_VIOLET, _("量子生物", " quantum creature"));
+                       if (flags3 & RF3_ANGEL)    hook_c_roff(TERM_YELLOW, _("天使", " angel"));
                }
                else
                {
@@ -648,29 +650,23 @@ static void roff_aux(MONRACE_IDX r_idx, BIT_FLAGS mode)
                {
                        long i, j;
 
-#ifdef JP
-                       i = p_ptr->lev;
-                       hooked_roff(format(" %lu レベルのキャラクタにとって", (long)i));
-
-                       i = (long)r_ptr->mexp * r_ptr->level / (p_ptr->max_plv+2);
-                       j = ((((long)r_ptr->mexp * r_ptr->level % (p_ptr->max_plv+2)) *
-                              (long)1000 / (p_ptr->max_plv+2) + 5) / 10);
-
-                       hooked_roff(format(" 約%ld.%02ld ポイントの経験となる。",
-                               (long)i, (long)j ));
-#else
                        /* calculate the integer exp part */
-                       i = (long)r_ptr->mexp * r_ptr->level / (p_ptr->max_plv+2);
+                       i = (long)r_ptr->mexp * r_ptr->level / (p_ptr->max_plv + 2) * 3 / 2;
 
                        /* calculate the fractional exp part scaled by 100, */
                        /* must use long arithmetic to avoid overflow  */
-                       j = ((((long)r_ptr->mexp * r_ptr->level % (p_ptr->max_plv+2)) *
-                              (long)1000 / (p_ptr->max_plv+2) + 5) / 10);
+                       j = ((((long)r_ptr->mexp * r_ptr->level % (p_ptr->max_plv + 2) * 3 / 2) *
+                               (long)1000 / (p_ptr->max_plv + 2) + 5) / 10);
+
+#ifdef JP
+                       hooked_roff(format(" %d レベルのキャラクタにとって 約%ld.%02ld ポイントの経験となる。",
+                               p_ptr->lev, (long)i, (long)j ));
+#else
 
                        /* Mention the experience */
-                       hooked_roff(format(" is worth about %ld.%02ld point%s",
-                                   (long)i, (long)j,
-                                   (((i == 1) && (j == 0)) ? "" : "s")));
+                       hooked_roff(format(" is worth about %ld.%02ld point%s for level %d player",
+                               (long)i, (long)j,
+                               (((i == 1) && (j == 0)) ? "" : "s")), p_ptr->lev);
 
                        /* Take account of annoying English */
                        p = "th";
@@ -2048,7 +2044,7 @@ void roff_top(MONRACE_IDX r_idx)
        /* Wizards get extra info */
        if (p_ptr->wizard)
        {
-               char buf[6];
+               char buf[16];
 
                sprintf(buf, "%d", r_idx);