OSDN Git Service

暗黒光源の*鑑定*時の表示に関する修正.
[hengband/hengband.git] / src / object1.c
index a0ec960..d976967 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "angband.h"
 
-#ifdef MACINTOSH
+#if defined(MACINTOSH) || defined(MACH_O_CARBON)
 #ifdef verify
 #undef verify
 #endif
@@ -430,7 +430,7 @@ return "
                        case ACT_BA_COLD_1:
                        {
 #ifdef JP
-return "¥³¡¼¥ë¥É¡¦¥Ü¡¼¥ë (48) : 400 ¥¿¡¼¥óËè";
+return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (48) : 400 ¥¿¡¼¥óËè";
 #else
                                return "ball of cold (48) every 400 turns";
 #endif
@@ -448,7 +448,7 @@ return "
                        case ACT_DRAIN_1:
                        {
 #ifdef JP
-return "¥Ò¥Ã¥È¥Ý¥¤¥ó¥ÈµÛ¼ý (100) : 100+d100 ¥¿¡¼¥óËè";
+return "À¸Ì¿Îϵۼý (100) : 100+d100 ¥¿¡¼¥óËè";
 #else
                                return "drain life (100) every 100+d100 turns";
 #endif
@@ -457,7 +457,7 @@ return "
                        case ACT_BA_COLD_2:
                        {
 #ifdef JP
-return "¥³¡¼¥ë¥É¡¦¥Ü¡¼¥ë (100) : 300 ¥¿¡¼¥óËè";
+return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) : 300 ¥¿¡¼¥óËè";
 #else
                                return "ball of cold (100) every 300 turns";
 #endif
@@ -475,7 +475,7 @@ return "
                        case ACT_DRAIN_2:
                        {
 #ifdef JP
-return "¥Ò¥Ã¥È¥Ý¥¤¥ó¥ÈµÛ¼ý(120) : 400 ¥¿¡¼¥óËè";
+return "À¸Ì¿Îϵۼý(120) : 400 ¥¿¡¼¥óËè";
 #else
                                return "drain life (120) every 400 turns";
 #endif
@@ -511,7 +511,7 @@ return "
                        case ACT_BA_COLD_3:
                        {
 #ifdef JP
-return "¥³¡¼¥ë¥É¡¦¥Ü¡¼¥ë (200) : 325+d325 ¥¿¡¼¥óËè";
+return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (200) : 325+d325 ¥¿¡¼¥óËè";
 #else
                                return "ball of cold (200) every 325+d325 turns";
 #endif
@@ -547,7 +547,7 @@ return "
                        case ACT_CALL_CHAOS:
                        {
 #ifdef JP
-return "call chaos : 350 ¥¿¡¼¥óËè"; /*nuke me*/
+return "º®ÆÙ¾¤Íè : 350 ¥¿¡¼¥óËè"; /*nuke me*/
 #else
                                return "call chaos every 350 turns";
 #endif
@@ -673,7 +673,7 @@ return "ưʪ̥λ : 300 
                        case ACT_CHARM_UNDEAD:
                        {
 #ifdef JP
-return "ÉԻཾ° : 333 ¥¿¡¼¥óËè";
+return "¥¢¥ó¥Ç¥Ã¥É½¾Â° : 333 ¥¿¡¼¥óËè";
 #else
                                return "enslave undead every 333 turns";
 #endif
@@ -718,7 +718,7 @@ return "ưʪ
                        case ACT_SUMMON_PHANTOM:
                        {
 #ifdef JP
-return "»È¤¤Î´­ : 200+d200 ¥¿¡¼¥óËè";
+return "¸¸Î´­ : 200+d200 ¥¿¡¼¥óËè";
 #else
                                return "summon phantasmal servant every 200+d200 turns";
 #endif
@@ -745,7 +745,7 @@ return "
                        case ACT_SUMMON_UNDEAD:
                        {
 #ifdef JP
-return "ÉԻྤ´­ : 666+d333 ¥¿¡¼¥óËè";
+return "¥¢¥ó¥Ç¥Ã¥É¾¤´­ : 666+d333 ¥¿¡¼¥óËè";
 #else
                                return "summon undead every 666+d333 turns";
 #endif
@@ -754,7 +754,7 @@ return "
                        case ACT_CURE_LW:
                        {
 #ifdef JP
-return "ͦµ¤²óÉü & 30 hp ²óÉü : 10 ¥¿¡¼¥óËè";
+return "¶²Éݽüµî & 30 hp ²óÉü : 10 ¥¿¡¼¥óËè";
 #else
                                return "remove fear & heal 30 hp every 10 turns";
 #endif
@@ -772,7 +772,7 @@ return "4d8 hp & 
                        case ACT_CURE_POISON:
                        {
 #ifdef JP
-return "ͦµ¤²óÉü/ÆǾä· : 5 ¥¿¡¼¥óËè";
+return "¶²Éݽüµî/ÆǾä· : 5 ¥¿¡¼¥óËè";
 #else
                                return "remove fear and cure poison every 5 turns";
 #endif
@@ -790,7 +790,7 @@ return "
                        case ACT_REST_ALL:
                        {
 #ifdef JP
-return "Á´¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³ÃͲóÉü : 750 ¥¿¡¼¥óËè";
+return "Á´¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³ÃÍÉü³è : 750 ¥¿¡¼¥óËè";
 #else
                                return "restore stats and life levels every 750 turns";
 #endif
@@ -817,9 +817,9 @@ return "1000 hp 
                        case ACT_ESP:
                        {
 #ifdef JP
-return "°ì»þŪ¤Ê ESP (´ü´Ö 25+d30) : 200 ¥¿¡¼¥óËè";
+return "¥Æ¥ì¥Ñ¥·¡¼ (´ü´Ö 25+d30) : 200 ¥¿¡¼¥óËè";
 #else
-                               return "temporary ESP (dur 25+d30) every 200 turns";
+                               return "telepathy (dur 25+d30) every 200 turns";
 #endif
 
                        }
@@ -844,7 +844,7 @@ return "
                        case ACT_RESIST_ALL:
                        {
 #ifdef JP
-return "±êÎä»ÀÅÅÆǤؤÎÂÑÀ­ (´ü´Ö 40+d40) : 200 ¥¿¡¼¥óËè";
+return "Á´ÂÑÀ­ (´ü´Ö 40+d40) : 200 ¥¿¡¼¥óËè";
 #else
                                return "resist elements (dur 40+d40) every 200 turns";
 #endif
@@ -871,16 +871,16 @@ return "
                        case ACT_WRAITH:
                        {
 #ifdef JP
-return "¥ì¥¤¥¹²½ (level/2 + d(level/2)) : 1000 ¥¿¡¼¥óËè";
+return "Í©Âβ½ (´ü´Ö level/2 + d(level/2)) : 1000 ¥¿¡¼¥óËè";
 #else
-                               return "wraith form (level/2 + d(level/2)) every 1000 turns";
+                               return "wraith form (dur level/2 + d(level/2)) every 1000 turns";
 #endif
 
                        }
                        case ACT_INVULN:
                        {
 #ifdef JP
-return "̵Ũ (´ü´Ö 8+d8) : 1000 ¥¿¡¼¥óËè";
+return "̵Ũ²½ (´ü´Ö 8+d8) : 1000 ¥¿¡¼¥óËè";
 #else
                                return "invulnerability (dur 8+d8) every 1000 turns";
 #endif
@@ -943,7 +943,7 @@ return "
                        case ACT_RUNE_EXPLO:
                        {
 #ifdef JP
-return "Çúȯ¥ë¡¼¥ó : 200 ¥¿¡¼¥óËè";
+return "Çúȯ¤Î¥ë¡¼¥ó : 200 ¥¿¡¼¥óËè";
 #else
                                return "explosive rune every 200 turns";
 #endif
@@ -988,7 +988,7 @@ return "
                        case ACT_RECHARGE:
                        {
 #ifdef JP
-return "ºÆ½¼Å¶ : 70 ¥¿¡¼¥óËè";
+return "ËâÎϽ¼Å¶ : 70 ¥¿¡¼¥óËè";
 #else
                                return "recharging every 70 turns";
 #endif
@@ -1229,9 +1229,9 @@ return "
                case ART_LOTHARANG:
                {
 #ifdef JP
-return "½ý¤Î¼£Ìþ(4d7) : 3+d3 ¥¿¡¼¥óËè";
+return "½ý¤Î¼£Ìþ(4d8) : 3+d3 ¥¿¡¼¥óËè";
 #else
-                       return "cure wounds (4d7) every 3+d3 turns";
+                       return "cure wounds (4d8) every 3+d3 turns";
 #endif
 
                }
@@ -1286,7 +1286,7 @@ return "
 #ifdef JP
 return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) : 200 ¥¿¡¼¥óËè";
 #else
-                       return "Frost ball (100) every 200 turns";
+                       return "frost ball (100) every 200 turns";
 #endif
 
                }
@@ -1368,7 +1368,7 @@ return "
 #ifdef JP
 return "¥¹¥ê¡¼¥×(II) : 55 ¥¿¡¼¥óËè";
 #else
-                       return "Sleep II every 55 turns";
+                       return "sleep II every 55 turns";
 #endif
 
                }
@@ -1679,15 +1679,15 @@ return "
 #ifdef JP
 return "ËâÎϽ¼Å¶ : 200 ¥¿¡¼¥óËè";
 #else
-                       return "Recharge item every 200 turns";
+                       return "recharge item every 200 turns";
 #endif
                }
                case ART_MURAMASA:
                {
 #ifdef JP
-return "ÏÓÎϤξ徺 : ³ÎΨ50%¤Ç²õ¤ì¤ë¡£";
+return "ÏÓÎϤξ徺 : ³ÎΨ50%¤Ç²õ¤ì¤ë";
 #else
-                       return "Increase STR (destroyed 50%)";
+                       return "increase STR (destroyed 50%)";
 #endif
                }
                case ART_FLY_STONE:
@@ -1839,7 +1839,7 @@ return "
 #ifdef JP
 return "*²ò¼ö*¤ÈÄ´ºº: ¤¤¤Ä¤Ç¤â";
 #else
-                       return "Dispel Curse and Probing every turn";
+                       return "dispel curse and probing every turn";
 #endif
 
                }
@@ -1848,7 +1848,7 @@ return "*
 #ifdef JP
 return "ËâÎÏÉü³è: 777 ¥¿¡¼¥óËè";
 #else
-                       return "Restore Mana every 777 turns";
+                       return "restore mana every 777 turns";
 #endif
 
                }
@@ -2001,7 +2001,7 @@ return "
 #endif
                        case EGO_RING_COLD_BALL:
 #ifdef JP
-return "¥³¡¼¥ë¥É¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
+return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
 #else
                                return "cold ball (100) every 80+d80 turns";
 #endif
@@ -2092,7 +2092,7 @@ return "
 
                        case SV_RING_ICE:
 #ifdef JP
-return "¥³¡¼¥ë¥É¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­ : 50+d50 ¥¿¡¼¥óËè";
+return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­ : 50+d50 ¥¿¡¼¥óËè";
 #else
                                return "ball of cold (100) and resist cold every 50+d50 turns";
 #endif
@@ -2347,7 +2347,7 @@ return "
 /*
  * Describe a "fully identified" item
  */
-bool screen_object(object_type *o_ptr, bool real)
+bool screen_object(object_type *o_ptr, u32b mode)
 {
        int                     i = 0, j, k;
 
@@ -2367,7 +2367,7 @@ bool screen_object(object_type *o_ptr, bool real)
                char temp[70 * 20];
 
                roff_to_buf(o_ptr->name1 ? (a_text + a_info[o_ptr->name1].text) :
-                           (k_text + k_info[lookup_kind(o_ptr->tval, o_ptr->sval)].text),
+                           (k_text + k_info[o_ptr->k_idx].text),
                            77 - 15, temp, sizeof(temp));
                for (j = 0; temp[j]; j += 1 + strlen(&temp[j]))
                { info[i] = &temp[j]; i++;}
@@ -2525,11 +2525,18 @@ info[i++] = "
                        info[i++] = "It provides no light.";
 #endif
 
-                       if (o_ptr->sval == SV_LITE_FEANOR ||
-                           o_ptr->sval == SV_LITE_LANTERN)
+                       if (o_ptr->sval == SV_LITE_FEANOR)
+                       {
+#ifdef JP
+                               info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-3)¡£";
+#else
+                               info[i++] = "It decreases radius of light source by 3.";
+#endif
+                       }
+                       else if (o_ptr->sval == SV_LITE_LANTERN)
                        {
 #ifdef JP
-                               info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-2)¡£";
+                               info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-2)¡£";
 #else
                                info[i++] = "It decreases radius of light source by 2.";
 #endif
@@ -2537,7 +2544,7 @@ info[i++] = "
                        else
                        {
 #ifdef JP
-                               info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
+                               info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
 #else
                                info[i++] = "It decreases radius of light source by 1.";
 #endif
@@ -2647,7 +2654,7 @@ info[i++] = "
        if (have_flag(flgs, TR_STR))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÏÓÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÏÓÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your strength.";
 #endif
@@ -2656,7 +2663,7 @@ info[i++] = "
        if (have_flag(flgs, TR_INT))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÃÎǽ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÃÎǽ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your intelligence.";
 #endif
@@ -2665,7 +2672,7 @@ info[i++] = "
        if (have_flag(flgs, TR_WIS))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï¸­¤µ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤Ï¸­¤µ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your wisdom.";
 #endif
@@ -2674,7 +2681,7 @@ info[i++] = "
        if (have_flag(flgs, TR_DEX))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï´ïÍѤµ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤Ï´ïÍѤµ¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your dexterity.";
 #endif
@@ -2683,7 +2690,7 @@ info[i++] = "
        if (have_flag(flgs, TR_CON))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÂѵ×ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÂѵ×ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your constitution.";
 #endif
@@ -2692,7 +2699,7 @@ info[i++] = "
        if (have_flag(flgs, TR_CHR))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÌ¥ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÌ¥ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your charisma.";
 #endif
@@ -2702,7 +2709,7 @@ info[i++] = "
        if (have_flag(flgs, TR_MAGIC_MASTERY))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏËâË¡Æ»¶ñ»ÈÍÑǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏËâË¡Æ»¶ñ»ÈÍÑǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your ability to use magic devices.";
 #endif
@@ -2711,7 +2718,7 @@ info[i++] = "
        if (have_flag(flgs, TR_STEALTH))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï±£Ì©¹ÔưǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤Ï±£Ì©¹ÔưǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your stealth.";
 #endif
@@ -2720,7 +2727,7 @@ info[i++] = "
        if (have_flag(flgs, TR_SEARCH))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ïõº÷ǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤Ïõº÷ǽÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your searching.";
 #endif
@@ -2729,7 +2736,7 @@ info[i++] = "
        if (have_flag(flgs, TR_INFRA))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÀÖ³°Àþ»ëÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÀÖ³°Àþ»ëÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your infravision.";
 #endif
@@ -2738,7 +2745,7 @@ info[i++] = "
        if (have_flag(flgs, TR_TUNNEL))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏºÎ·¡Ç½ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏºÎ·¡Ç½ÎϤ˱ƶÁ¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your ability to tunnel.";
 #endif
@@ -2747,7 +2754,7 @@ info[i++] = "
        if (have_flag(flgs, TR_SPEED))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï¥¹¥Ô¡¼¥É¤Ë±Æ¶Á¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤Ï¥¹¥Ô¡¼¥É¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your speed.";
 #endif
@@ -2756,7 +2763,7 @@ info[i++] = "
        if (have_flag(flgs, TR_BLOWS))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÂÇ·â²ó¿ô¤Ë±Æ¶Á¤òµÚ¤Ü¤¹";
+info[i++] = "¤½¤ì¤ÏÂÇ·â²ó¿ô¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¡£";
 #else
                info[i++] = "It affects your attack speed.";
 #endif
@@ -2766,7 +2773,7 @@ info[i++] = "
        if (have_flag(flgs, TR_BRAND_ACID))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï»À¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë";
+info[i++] = "¤½¤ì¤Ï»À¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£";
 #else
                info[i++] = "It does extra damage from acid.";
 #endif
@@ -2775,7 +2782,7 @@ info[i++] = "
        if (have_flag(flgs, TR_BRAND_ELEC))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÅÅ·â¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë";
+info[i++] = "¤½¤ì¤ÏÅÅ·â¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£";
 #else
                info[i++] = "It does extra damage from electricity.";
 #endif
@@ -2784,7 +2791,7 @@ info[i++] = "
        if (have_flag(flgs, TR_BRAND_FIRE))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï²Ð±ê¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë";
+info[i++] = "¤½¤ì¤Ï²Ð±ê¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£";
 #else
                info[i++] = "It does extra damage from fire.";
 #endif
@@ -2793,7 +2800,7 @@ info[i++] = "
        if (have_flag(flgs, TR_BRAND_COLD))
        {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÎ䵤¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë";
+info[i++] = "¤½¤ì¤ÏÎ䵤¤Ë¤è¤Ã¤ÆÂ礭¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£";
 #else
                info[i++] = "It does extra damage from frost.";
 #endif
@@ -3757,7 +3764,7 @@ info[i++] = "
        }
 
        /* Describe about this kind of object instead of THIS fake object */
-       if (!real)
+       if (mode & SCROBJ_FAKE_OBJECT)
        {
                switch (o_ptr->tval)
                {
@@ -3855,6 +3862,8 @@ info[i++] = "
                }
        }
 
+       if (mode & SCROBJ_FORCE_DETAIL) trivial_info = 0;
+
        /* No relevant informations */
        if (i <= trivial_info) return (FALSE);
 
@@ -3865,7 +3874,7 @@ info[i++] = "
        Term_get_size(&wid, &hgt);
 
        /* Display Item name */
-       if (real)
+       if (!(mode & SCROBJ_FAKE_OBJECT))
                object_desc(o_name, o_ptr, 0);
        else
                object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE));
@@ -3881,8 +3890,8 @@ info[i++] = "
                monster_race *r_ptr = &r_info[o_ptr->pval];
                int namelen = strlen(r_name + r_ptr->name);
                prt(format("%s: '", r_name + r_ptr->name), 1, 15);
-               c_prt(r_ptr->d_attr, format("%c", r_ptr->d_char), 1, 18+namelen);
-               prt("'", 1, 19+namelen);
+               Term_queue_bigchar(18 + namelen, 1, r_ptr->x_attr, r_ptr->x_char, 0, 0);
+               prt("'", 1, (use_bigtile ? 20 : 19) + namelen);
        }
        else
 #ifdef JP
@@ -4303,7 +4312,13 @@ bool item_tester_okay(object_type *o_ptr)
        if (!o_ptr->k_idx) return (FALSE);
 
        /* Hack -- ignore "gold" */
-       if (o_ptr->tval == TV_GOLD) return (FALSE);
+       if (o_ptr->tval == TV_GOLD)
+       {
+               /* See xtra2.c */
+               extern bool show_gold_on_floor;
+
+               if (!show_gold_on_floor) return (FALSE);
+       }
 
        /* Check the tval */
        if (item_tester_tval)
@@ -5434,13 +5449,18 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
 
 #endif /* ALLOW_EASY_FLOOR -- TNB */
 
+       /* Extract args */
+       if (mode & USE_EQUIP) equip = TRUE;
+       if (mode & USE_INVEN) inven = TRUE;
+       if (mode & USE_FLOOR) floor = TRUE;
+
 #ifdef ALLOW_REPEAT
 
        /* Get the item index */
        if (repeat_pull(cp))
        {
                /* the_force */
-               if (*cp == INVEN_FORCE)
+               if (select_the_force && (*cp == INVEN_FORCE))
                {
                        item_tester_tval = 0;
                        item_tester_hook = NULL;
@@ -5449,7 +5469,7 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                }
 
                /* Floor item? */
-               else if (*cp < 0)
+               else if (floor && (*cp < 0))
                {
                        object_type *o_ptr;
 
@@ -5475,29 +5495,28 @@ bool get_item(int *cp, cptr pmt, cptr str, int mode)
                        }
                }
 
-               /* Verify the item */
-               else if (get_item_okay(*cp))
+               else if ((inven && (*cp >= 0) && (*cp < INVEN_PACK)) ||
+                        (equip && (*cp >= INVEN_RARM) && (*cp < INVEN_TOTAL)))
                {
-                       /* Forget the item_tester_tval restriction */
-                       item_tester_tval = 0;
+                       /* Verify the item */
+                       if (get_item_okay(*cp))
+                       {
+                               /* Forget the item_tester_tval restriction */
+                               item_tester_tval = 0;
 
-                       /* Forget the item_tester_hook restriction */
-                       item_tester_hook = NULL;
+                               /* Forget the item_tester_hook restriction */
+                               item_tester_hook = NULL;
 
-                       command_cmd = 0; /* Hack -- command_cmd is no longer effective */
+                               command_cmd = 0; /* Hack -- command_cmd is no longer effective */
 
-                       /* Success */
-                       return (TRUE);
+                               /* Success */
+                               return (TRUE);
+                       }
                }
        }
 
 #endif /* ALLOW_REPEAT */
 
-       /* Extract args */
-       if (mode & (USE_EQUIP)) equip = TRUE;
-       if (mode & (USE_INVEN)) inven = TRUE;
-       if (mode & (USE_FLOOR)) floor = TRUE;
-
 
        /* Paranoia XXX XXX XXX */
        msg_print(NULL);
@@ -6316,6 +6335,8 @@ int show_floor(int target_item, int y, int x, int *min_width)
        int wid, hgt;
        char floor_label[52 + 1];
 
+       bool dont_need_to_show_weights = TRUE;
+
        /* Get size */
        Term_get_size(&wid, &hgt);
 
@@ -6349,6 +6370,8 @@ int show_floor(int target_item, int y, int x, int *min_width)
                /* Be sure to account for the weight */
                if (show_weights) l += 9;
 
+               if (o_ptr->tval != TV_GOLD) dont_need_to_show_weights = FALSE;
+
                /* Maintain the maximum length */
                if (l > len) len = l;
 
@@ -6356,6 +6379,8 @@ int show_floor(int target_item, int y, int x, int *min_width)
                k++;
        }
 
+       if (show_weights && dont_need_to_show_weights) len -= 9;
+
        /* Save width */
        *min_width = len;
 
@@ -6402,7 +6427,7 @@ int show_floor(int target_item, int y, int x, int *min_width)
                c_put_str(out_color[j], out_desc[j], j + 1, col + 3);
 
                /* Display the weight if needed */
-               if (show_weights)
+               if (show_weights && (o_ptr->tval != TV_GOLD))
                {
                        int wgt = o_ptr->weight * o_ptr->number;
 #ifdef JP
@@ -6435,9 +6460,10 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
 
        bool oops = FALSE;
 
-       bool equip = FALSE;
-       bool inven = FALSE;
-       bool floor = FALSE;
+       /* Extract args */
+       bool equip = (mode & USE_EQUIP) ? TRUE : FALSE;
+       bool inven = (mode & USE_INVEN) ? TRUE : FALSE;
+       bool floor = (mode & USE_FLOOR) ? TRUE : FALSE;
 
        bool allow_equip = FALSE;
        bool allow_inven = FALSE;
@@ -6463,7 +6489,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
        if (repeat_pull(cp))
        {
                /* the_force */
-               if (*cp == INVEN_FORCE)
+               if (select_the_force && (*cp == INVEN_FORCE))
                {
                        item_tester_tval = 0;
                        item_tester_hook = NULL;
@@ -6472,7 +6498,7 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                }
 
                /* Floor item? */
-               else if (*cp < 0)
+               else if (floor && (*cp < 0))
                {
                        object_type *o_ptr;
 
@@ -6498,29 +6524,28 @@ bool get_item_floor(int *cp, cptr pmt, cptr str, int mode)
                        }
                }
 
-               /* Verify the item */
-               else if (get_item_okay(*cp))
+               else if ((inven && (*cp >= 0) && (*cp < INVEN_PACK)) ||
+                        (equip && (*cp >= INVEN_RARM) && (*cp < INVEN_TOTAL)))
                {
-                       /* Forget the item_tester_tval restriction */
-                       item_tester_tval = 0;
+                       /* Verify the item */
+                       if (get_item_okay(*cp))
+                       {
+                               /* Forget the item_tester_tval restriction */
+                               item_tester_tval = 0;
 
-                       /* Forget the item_tester_hook restriction */
-                       item_tester_hook = NULL;
+                               /* Forget the item_tester_hook restriction */
+                               item_tester_hook = NULL;
 
-                       command_cmd = 0; /* Hack -- command_cmd is no longer effective */
+                               command_cmd = 0; /* Hack -- command_cmd is no longer effective */
 
-                       /* Success */
-                       return (TRUE);
+                               /* Success */
+                               return (TRUE);
+                       }
                }
        }
 
 #endif /* ALLOW_REPEAT */
 
-       /* Extract args */
-       if (mode & (USE_EQUIP)) equip = TRUE;
-       if (mode & (USE_INVEN)) inven = TRUE;
-       if (mode & (USE_FLOOR)) floor = TRUE;
-
 
        /* Paranoia XXX XXX XXX */
        msg_print(NULL);