OSDN Git Service

Vanillaにならって、キャラクターの状態を表わすグローバル変数の多くを
[hengband/hengband.git] / src / birth.c
index 6a513f5..85c98f3 100644 (file)
@@ -1465,9 +1465,87 @@ static hist_type bg[] =
 #endif
 
 #ifdef JP
-       {"¤¢¤Ê¤¿¤Ï¥¹¥­¡¼¥ê¥Õ¥È¤Ë¾è¤Ã¤¿¤ê¤¹¤ë¤­¤ï¤á¤ÆÄ̾ï¤Î¥¯¥¿¡¼¤Ç¤¹¡£¤¢¤Ê¤¿¤ÎÌÓ¤ÏÜô¿§¤Ç¤¹¡£", 65, 154, 0, 55},
-       {"¤¢¤Ê¤¿¤ÏÄ̾ï¤Î¥¯¥¿¡¼Ã£¤¬Íê¤ê¤Ë¤·¤Æ¤¤¤ë¥Ñ¥Ñ¥¯¥¿¡¼¤Ç¤¹¡£¤¢¤Ê¤¿¤ÎÌÓ¤ÏÎп§¤Ç¤¹¡£", 95, 154, 0, 65},
-       {"¤¢¤Ê¤¿¤Ï¤È¤Æ¤âÄÁ¤·¤¤¥È¥é¥¯¥¿¡¼¤Ç¤¹¡£¤¢¤Ê¤¿¤ÎÌӤϥȥé¤Î¤è¤¦¤Ê²«¤È¹õ¤Î¼ÊÌÏÍͤǤ¹¡£", 100, 154, 0, 80},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¶¥¯¥¶¥¯¥Ç¥¶¡¼¥È¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 4, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥°¥é¥°¥é¥¿¥ï¡¼¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 8, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥۥإۥض®Ã«¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 12, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥɥץɥ×ÃÓ¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 16, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Æ¥¯»¨µ»¾ì¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 20, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥Õ¥à¥Õ¥àȪ¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 24, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¯¥Î¥¯¥ÎÂì¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 28, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¯¥ê¥¯¥êÀî¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 32, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥê¥Æ¥ê¥­¥ã¥ó¥×¾ì¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 36, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¯¥¿¡¼ÁüÁ°¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 40, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥ÎÅò¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 44, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥¢¥¤¥é¥ó¥É¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 48, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥Þ¥ê¥ó¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 52, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥É¡¼¥à¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 56, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥Û¡¼¥ë¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 60, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¹â¸¶¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 64, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î»Ô̱²ñ´Û¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 68, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¸ø±à¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 72, 154, 159, 50},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¹¥¤¥¹¥¤¥¢¥ë¥×¥¹¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 76, 154, 159, 65},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥Ò¥½¥Ò¥½¿¹¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 80, 154, 159, 65},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥ÎÀ¸ÂÖ¸¦µæ½ê¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 84, 154, 159, 65},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥í¥±¥Ã¥Èȯ¼ÍÂæ¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 88, 154, 159, 65},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥Á¥ã¥¤¥Ê¥¦¥©¡¼¥ë¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 92, 154, 159, 65},
+       {"¤¢¤Ê¤¿¤ÏÉáÃÊ¥¹¥Ú¡¼¥¹¥¦¥©¡¼¥ë¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 96, 154, 159, 70},
+       {"¤¢¤Ê¤¿¤ÏÉáÃʥƥ¯¥Î¥ê¥¾¡¼¥È¥Û¥Æ¥ë¤ÇÍ·¤ó¤Ç¤¤¤ë¡¢", 100, 154, 159, 75},
+
+       {"ÉáÄ̤Υ¯¥¿¡¼¤Ç¤¹¡£", 70, 159, 160, 50},
+       {"¤ß¤ó¤Ê¤¬Íê¤ê¤Ë¤·¤Æ¤¤¤ë¿Æ¥¯¥¿¡¼¤Ç¤¹¡£", 85, 159, 160, 65},
+       {"ºû¤¬Â繥ʪ¤Ê¥Ñ¥ó¥À¥¯¥¿¡¼¤Ç¤¹¡£", 92, 159, 161, 75},
+       {"¤È¤Æ¤âÄÁ¤·¤¤¥È¥é¥¯¥¿¡¼¤Ç¤¹¡£", 96, 159, 162, 80},
+       {"¤È¤Æ¤âÄÁ¤·¤¤¥Ô¥«¥¯¥¿¡¼¤Ç¤¹¡£", 100, 159, 163, 90},
+
+       {"¤¢¤Ê¤¿¤ÏÀÖ¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 6, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï¥¯¥ê¡¼¥à¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 12, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï²«ÅÚ¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 18, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï²«¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 24, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï²«Î理ÎÌÓ¤ò¤â¤Á¡¢", 30, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤ÏËõÃ㿧¤ÎÌÓ¤ò¤â¤Á¡¢", 36, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤ÏÇ»¤¤Î理ÎÌÓ¤ò¤â¤Á¡¢", 42, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤ÏÀÄÎ理ÎÌÓ¤ò¤â¤Á¡¢", 48, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï¿å¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 54, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤ÏÇö¤¤»ç¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 60, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï»ç¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 65, 160, 164, 50},
+       {"¤¢¤Ê¤¿¤Ï°«¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 70, 160, 164, 60},
+       {"¤¢¤Ê¤¿¤Ï¥Ô¥ó¥¯¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 75, 160, 164, 60},
+       {"¤¢¤Ê¤¿¤ÏÇò¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 80, 160, 164, 60},
+       {"¤¢¤Ê¤¿¤ÏÀÄ¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 85, 160, 164, 65},
+       {"¤¢¤Ê¤¿¤Ï¹õ¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 90, 160, 164, 65},
+       {"¤¢¤Ê¤¿¤ÏÎ理ÎÌÓ¤ò¤â¤Á¡¢", 95, 160, 164, 65},
+       {"¤¢¤Ê¤¿¤ÏÜô¿§¤ÎÌÓ¤ò¤â¤Á¡¢", 100, 160, 164, 70},
+       {"¤¢¤Ê¤¿¤Ï¥Ñ¥ó¥À¤Î¤è¤¦¤ÊÇò¤È¹õ¤ÎÈÃÌÏÍͤÎÌÓ¤ò¤â¤Á¡¢", 100, 161, 164, 70},
+       {"¤¢¤Ê¤¿¤Ï¥È¥é¤Î¤è¤¦¤Ê²«¤È¹õ¤Î¼ÊÌÏÍͤÎÌÓ¤ò¤â¤Á¡¢", 100, 162, 164, 70},
+       {"¤¢¤Ê¤¿¤ÏÌÀ¤ë¤¯µ±¤¤¤Æ¤¤¤Æ¡¢", 100, 163, 164, 70},
+
+       {"¥Þ¥Õ¥é¡¼¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 4, 164, 0, 50},
+       {"¥é¥¤¥¿¡¼¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 8, 164, 0, 50},
+       {"¥ê¥â¥³¥ó¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 12, 164, 0, 50},
+       {"¼ê¤Ì¤°¤¤¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 16, 164, 0, 50},
+       {"µíÆý¥Ó¥ó¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 20, 164, 0, 50},
+       {"¥Ó¥ó¤Î¤Õ¤¿¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 24, 164, 0, 50},
+       {"Ìîµå˹¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 28, 164, 0, 50},
+       {"É⤭ÎؤòÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 32, 164, 0, 50},
+       {"¥Ð¥Ã¥È¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 36, 164, 0, 50},
+       {"Â纬¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 40, 164, 0, 50},
+       {"¥ê¥å¥Ã¥¯¥µ¥Ã¥¯¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 44, 164, 0, 50},
+       {"¾­´ýÈפòÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 48, 164, 0, 50},
+       {"¾­´ý¤Î¶ð¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 52, 164, 0, 50},
+       {"»±¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 56, 164, 0, 50},
+       {"¤ä¤«¤ó¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 60, 164, 0, 50},
+       {"¤Û¤¦¤­¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 64, 164, 0, 50},
+       {"¥Æ¥£¥Ã¥·¥åÈ¢¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 68, 164, 0, 50},
+       {"¥À¥ë¥Þ¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 71, 164, 0, 50},
+       {"¥Ë¥ó¥¸¥ó¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 75, 164, 0, 60},
+       {"¥Û¥ë¥ó¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 79, 164, 0, 60},
+       {"¤ß¤«¤óÈ¢¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 83, 164, 0, 60},
+       {"ÊõÈ¢¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 86, 164, 0, 60},
+       {"¥Æ¥ó¥¬¥í¥ó¥Ï¥Ã¥È¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 90, 164, 0, 60},
+       {"¥¢¥Õ¥í¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 94, 164, 0, 65},
+       {"¤·¤ã¤±¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 97, 164, 0, 65},
+       {"39¥Ü¥¦¥ä¤òÊõʪ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£", 100, 164, 0, 70},
+
 #else
        {"You are a normal Kutar.  You have orange colored fur.", 65, 154, 0, 55},
        {"You are a father Kutar, the patriarch of many normal Kutars.  You have green colored fur.", 95, 154, 0, 65},
@@ -1863,7 +1941,7 @@ static cptr seikaku_jouhou[MAX_SEIKAKU] =
 static cptr realm_jouhou[VALID_REALM] =
 {
 #ifdef JP
-"À¸Ì¿¤Ï¡Ö¤è¤¤¡×ËâË¡¤Ç¤¹¡£¤³¤ì¤Ï¼£ÎŤäËɸæ¤ËÈó¾ï¤ËÍê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¹¶·â¼öʸ¤â¤¤¤¯¤Ä¤«»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤Ï°­Ëâ¤Î±ø¤ì¤¿¼êÀè¤ËÂй³¤¹¤ë¤¿¤á¤Ë¤è¤¯»È¤ï¤ì¤Þ¤¹¡£",
+"À¸Ì¿¤Ï²óÉüǽÎϤËÍ¥¤ì¤¿ËâË¡¤Ç¤¹¡£¼£ÎŤäËɸ桢´¶ÃÎËâË¡¤¬Â¿¤¯´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¹¶·â¼öʸ¤â¤ï¤º¤«¤Ë»ý¤Ã¤Æ¤¤¤Þ¤¹¡£Æä˹â¥ì¥Ù¥ë¤Î¼öʸ¤Ë¤Ï¥¢¥ó¥Ç¥Ã¥É¤ò¿Ð¤Ëµ¢¤¹ÎϤò¤¢¤ë¤È¸À¤ï¤ì¤Æ¤¤¤Þ¤¹¡£",
 
 "Àç½Ñ¤Ï¡Ömeta¡×Îΰè¤Ç¤¢¤ê¡¢´¶ÃΤä´ÕÄê¡¢¤µ¤é¤ËÂàµÑÍѤμöʸ¤ä¼«¿È¤ÎǽÎϤò¹â¤á¤ë¼öʸ¤Ê¤É¤ÎÊØÍø¤Ê¼öʸ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢Ä¾Àܹ¶·âÍѤμöʸ¤Ï»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£",
 
@@ -1881,7 +1959,7 @@ static cptr realm_jouhou[VALID_REALM] =
 
 "°­Ëâ¤ÎËâË¡¤Ï°Å¹õ¤ÈƱÍÍÈó¾ï¤Ë¼Ù°­¤Ê¥«¥Æ¥´¥ê¡¼¤Ç¤¹¡£ÍÍ¡¹¤Ê¹¶·âËâË¡¤ËÍ¥¤ì¡¢¤Þ¤¿°­Ëâ¤Î¤´¤È¤­ÃγÐǽÎϤòÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¹â¥ì¥Ù¥ë¤Î¼öʸ¤Ï°­Ëâ¤ò¼«ºß¤ËÁà¤ê¡¢¼«Ê¬¼«¿È¤ÎÆùÂΤò¤â°­Ëâ²½¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£",
 
-"Ç˼١£", /* nanka */
+"Ç˼٤ϡÖÀµµÁ¡×¤ÎËâË¡¤Ç¤¹¡£Ä¾ÀÜŨ¤ò½ý¤Ä¤±¤ëËâË¡¤¬Â¿¤¯´Þ¤Þ¤ì¡¢Æä˼ٰ­¤ÊŨ¤ËÂФ¹¤ëÎϤ϶²¤ë¤Ù¤­¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢Á±ÎɤÊŨ¤Ë¤Ï¤¢¤Þ¤ê¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£",
 
 "²Î½¸¤Ï¡¢²Î¤Ë¤è¤Ã¤Æ¸ú²Ì¤òȯ´ø¤¹¤ëËâË¡¤Ç¤¹¡£ËâË¡¤ÈƱÍÍ¡¢»È¤Ã¤¿»þ¤Ë¸ú²Ì¤Î¤¢¤ë¤â¤Î¤È¡¢²Î¤¤Â³¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ»ý³¤·¤Æ¸ú²Ì¤òȯ´ø¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢MP¤Î³¤¯¸Â¤ê¸ú²Ì¤òȯ´ø¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Æ±»þ¤Ë²Î¤¨¤ë²Î¤Ï1¤Ä¤À¤±¤È¤¤¤¦À©¸Â¤â¤¢¤ê¤Þ¤¹¡£",
 
@@ -1889,7 +1967,7 @@ static cptr realm_jouhou[VALID_REALM] =
 
 #else
 
-"Life is 'good' magic; it relies mostly on healing and protective spells. It does have a few attack spells as well, but these are mostly used for harming and banishing foul minions of evil. ",
+"Life magic is very good for healing; it relies mostly on healing, protection and detection spells. Also life magic have a few attack spells as well. It said that some high level spell of life magic can disintegrate Undead monsters into ash.",
 
 "Sorcery is a `meta` realm, including enchantment and general spells. It provides superb protection spells, spells to enhance your odds in combat and, most importantly, a vast selection of spells for gathering information. However, Sorcery has one weakness: it has no spells to deal direct damage to your enemies.",
 
@@ -1907,7 +1985,7 @@ static cptr realm_jouhou[VALID_REALM] =
 
 "Demon is a very evil realm, same as Death. It provides various attack spells and devilish detection spells. at higher levels, Demon magic provides ability to dominate demons, and to polymorph yourself into a demon.",
 
-"", /* nanka */
+"Crusade is a realm of 'Justice'; It does have many attack spells which are mostly used for harming and banishing foul minions of evil, and these spells are not so effective for good monsters.",
 
 "Music magic shows various effects as sing song. There is two type of song; the one which shows effects instantly and the other one shows effect continuously until SP runs out. But the latter type has a limit; only one song can be sing at the same time.",
 
@@ -2030,10 +2108,10 @@ static byte choose_realm(s32b choices, int *count)
                (*count)++;
                auto_select = REALM_DAEMON;
        }
-       if (choices & CH_HAJA)
+       if (choices & CH_CRUSADE)
        {
                (*count)++;
-               auto_select = REALM_HAJA;
+               auto_select = REALM_CRUSADE;
        }
        if (choices & CH_MUSIC)
        {
@@ -2062,7 +2140,7 @@ static byte choose_realm(s32b choices, int *count)
                        }
                        else
                        {
-                               choices &= ~(CH_LIFE | CH_HAJA);
+                               choices &= ~(CH_LIFE | CH_CRUSADE);
                        }
                }
        }
@@ -2386,7 +2464,7 @@ static void save_prev_data(birther *birther_ptr)
        /* Save the hp */
        for (i = 0; i < PY_MAX_LEVEL; i++)
        {
-               birther_ptr->player_hp[i] = player_hp[i];
+               birther_ptr->player_hp[i] = p_ptr->player_hp[i];
        }
 
        birther_ptr->chaos_patron = p_ptr->chaos_patron;
@@ -2400,7 +2478,7 @@ static void save_prev_data(birther *birther_ptr)
        /* Save the history */
        for (i = 0; i < 4; i++)
        {
-               strcpy(birther_ptr->history[i], history[i]);
+               strcpy(birther_ptr->history[i], p_ptr->history[i]);
        }
 }
 
@@ -2443,10 +2521,10 @@ static void load_prev_data(bool swap)
        /* Load the hp */
        for (i = 0; i < PY_MAX_LEVEL; i++)
        {
-               player_hp[i] = previous_char.player_hp[i];
+               p_ptr->player_hp[i] = previous_char.player_hp[i];
        }
-       p_ptr->mhp = player_hp[0];
-       p_ptr->chp = player_hp[0];
+       p_ptr->mhp = p_ptr->player_hp[0];
+       p_ptr->chp = p_ptr->player_hp[0];
 
        p_ptr->chaos_patron = previous_char.chaos_patron;
 
@@ -2458,7 +2536,7 @@ static void load_prev_data(bool swap)
        /* Load the history */
        for (i = 0; i < 4; i++)
        {
-               strcpy(history[i], previous_char.history[i]);
+               strcpy(p_ptr->history[i], previous_char.history[i]);
        }
 
        /*** Save the previous data ***/
@@ -2643,21 +2721,21 @@ static void get_extra(bool roll_hitdie)
 
        for (i = 0; i < 64; i++)
        {
-               if (p_ptr->pclass == CLASS_SORCERER) spell_exp[i] = 1600;
-               else if (p_ptr->pclass == CLASS_RED_MAGE) spell_exp[i] = 1200;
-               else spell_exp[i] = 0;
+               if (p_ptr->pclass == CLASS_SORCERER) p_ptr->spell_exp[i] = 1600;
+               else if (p_ptr->pclass == CLASS_RED_MAGE) p_ptr->spell_exp[i] = 1200;
+               else p_ptr->spell_exp[i] = 0;
        }
 
        for (i = 0; i < 5; i++)
                for (j = 0; j < 64; j++)
-                       weapon_exp[i][j] = s_info[p_ptr->pclass].w_start[i][j];
+                       p_ptr->weapon_exp[i][j] = s_info[p_ptr->pclass].w_start[i][j];
        if(p_ptr->pseikaku == SEIKAKU_SEXY)
        {
-               weapon_exp[TV_HAFTED-TV_BOW][SV_WHIP] = 4000;
+               p_ptr->weapon_exp[TV_HAFTED-TV_BOW][SV_WHIP] = 4000;
        }
 
        for (i = 0; i < 10; i++)
-               skill_exp[i] = s_info[p_ptr->pclass].s_start[i];
+               p_ptr->skill_exp[i] = s_info[p_ptr->pclass].s_start[i];
 
        /* Hitdice */
        if (p_ptr->pclass == CLASS_SORCERER)
@@ -2680,26 +2758,26 @@ static void get_extra(bool roll_hitdie)
                while (TRUE)
                {
                        /* Pre-calculate level 1 hitdice */
-                       player_hp[0] = p_ptr->hitdie;
+                       p_ptr->player_hp[0] = p_ptr->hitdie;
 
                        for (i = 1; i < 4; i++)
                        {
                                j = randint1(p_ptr->hitdie);
-                               player_hp[0] += j;
+                               p_ptr->player_hp[0] += j;
                        }
 
                        /* Roll the hitpoint values */
                        for (i = 1; i < PY_MAX_LEVEL; i++)
                        {
                                j = randint1(p_ptr->hitdie);
-                               player_hp[i] = player_hp[i - 1] + j;
+                               p_ptr->player_hp[i] = p_ptr->player_hp[i - 1] + j;
                        }
 
                        /* XXX Could also require acceptable "mid-level" hitpoints */
 
                        /* Require "valid" hitpoints at highest level */
-                       if (player_hp[PY_MAX_LEVEL - 1] < min_value) continue;
-                       if (player_hp[PY_MAX_LEVEL - 1] > max_value) continue;
+                       if (p_ptr->player_hp[PY_MAX_LEVEL - 1] < min_value) continue;
+                       if (p_ptr->player_hp[PY_MAX_LEVEL - 1] > max_value) continue;
 
                        /* Acceptable */
                        break;
@@ -2707,7 +2785,7 @@ static void get_extra(bool roll_hitdie)
        }
 
        /* Initial hitpoints */
-       p_ptr->mhp = player_hp[0];
+       p_ptr->mhp = p_ptr->player_hp[0];
 }
 
 
@@ -2723,7 +2801,7 @@ static void get_history(void)
        char buf[240];
 
        /* Clear the previous history strings */
-       for (i = 0; i < 4; i++) history[i][0] = '\0';
+       for (i = 0; i < 4; i++) p_ptr->history[i][0] = '\0';
 
        /* Clear the history text */
        buf[0] = '\0';
@@ -2963,7 +3041,7 @@ static void get_history(void)
         t = temp;
         for(i=0 ; i<4 ; i++){
              if(t[0]==0)break; 
-             else {strcpy(history[i], t);t += strlen(t)+1;}
+             else {strcpy(p_ptr->history[i], t);t += strlen(t)+1;}
              }
        }
 }
@@ -3113,7 +3191,7 @@ static void player_wipe(void)
        /* Wipe the history */
        for (i = 0; i < 4; i++)
        {
-               strcpy(history[i], "");
+               strcpy(p_ptr->history[i], "");
        }
 
        /* Wipe the quests */
@@ -3180,16 +3258,16 @@ static void player_wipe(void)
        /* Wipe the spells */
        if (p_ptr->pclass == CLASS_SORCERER)
        {
-               spell_learned1 = spell_learned2 = 0xffffffffL;
-               spell_worked1 = spell_worked2 = 0xffffffffL;
+               p_ptr->spell_learned1 = p_ptr->spell_learned2 = 0xffffffffL;
+               p_ptr->spell_worked1 = p_ptr->spell_worked2 = 0xffffffffL;
        }
        else
        {
-               spell_learned1 = spell_learned2 = 0L;
-               spell_worked1 = spell_worked2 = 0L;
+               p_ptr->spell_learned1 = p_ptr->spell_learned2 = 0L;
+               p_ptr->spell_worked1 = p_ptr->spell_worked2 = 0L;
        }
-       spell_forgotten1 = spell_forgotten2 = 0L;
-       for (i = 0; i < 64; i++) spell_order[i] = 99;
+       p_ptr->spell_forgotten1 = p_ptr->spell_forgotten2 = 0L;
+       for (i = 0; i < 64; i++) p_ptr->spell_order[i] = 99;
        p_ptr->learned_spells = 0;
        p_ptr->add_spells = 0;
        p_ptr->knowledge = 0;
@@ -3206,19 +3284,19 @@ static void player_wipe(void)
        cheat_live = FALSE;
 
        /* Assume no winning game */
-       total_winner = FALSE;
+       p_ptr->total_winner = FALSE;
 
        world_player = FALSE;
 
        /* Assume no panic save */
-       panic_save = 0;
+       p_ptr->panic_save = 0;
 
        /* Assume no cheating */
-       noscore = 0;
-        wizard = FALSE;
+       p_ptr->noscore = 0;
+        p_ptr->wizard = FALSE;
 
        /* Not waiting to report score */
-       wait_report_score = FALSE;
+       p_ptr->wait_report_score = FALSE;
 
        /* Default pet command settings */
        p_ptr->pet_follow_distance = PET_FOLLOW_DIST;
@@ -3251,10 +3329,10 @@ static void player_wipe(void)
        p_ptr->leftbldg = FALSE;
        for (i = 0; i < MAX_MANE; i++)
        {
-               mane_spell[i] = -1;
-               mane_dam[i] = 0;
+               p_ptr->mane_spell[i] = -1;
+               p_ptr->mane_dam[i] = 0;
        }
-       mane_num = 0;
+       p_ptr->mane_num = 0;
        p_ptr->exit_bldg = TRUE; /* only used for arena now -KMW- */
 
        /* Reset rewards */
@@ -5054,15 +5132,15 @@ static void edit_history(void)
         /* Edit character background */
         for (i = 0; i < 4; i++)
         {
-                sprintf(old_history[i], "%s", history[i]);
+                sprintf(old_history[i], "%s", p_ptr->history[i]);
         }
         /* Turn 0 to space */
        for (i = 0; i < 4; i++)
        {
-               for (j = 0; history[i][j]; j++) /* loop */;
+               for (j = 0; p_ptr->history[i][j]; j++) /* loop */;
 
-               for (; j < 59; j++) history[i][j] = ' ';
-               history[i][59] = '\0';
+               for (; j < 59; j++) p_ptr->history[i][j] = ' ';
+               p_ptr->history[i][59] = '\0';
        }
         display_player(1);
 #ifdef JP
@@ -5075,14 +5153,14 @@ static void edit_history(void)
         {
                 for (i = 0; i < 4; i++)
                 {
-                        put_str(history[i], i + 12, 10);
+                        put_str(p_ptr->history[i], i + 12, 10);
                 }
 #ifdef JP
-               if (iskanji2(history[y], x))
-                       c_put_str(TERM_L_BLUE, format("%c%c", history[y][x],history[y][x+1]), y + 12, x + 10);
+               if (iskanji2(p_ptr->history[y], x))
+                       c_put_str(TERM_L_BLUE, format("%c%c", p_ptr->history[y][x],p_ptr->history[y][x+1]), y + 12, x + 10);
                else
 #endif
-                c_put_str(TERM_L_BLUE, format("%c", history[y][x]), y + 12, x + 10);
+                c_put_str(TERM_L_BLUE, format("%c", p_ptr->history[y][x]), y + 12, x + 10);
 
                /* Place cursor just after cost of current stat */
                 Term_gotoxy(x + 10, y + 12);
@@ -5094,7 +5172,7 @@ static void edit_history(void)
                         y--;
                         if (y < 0) y = 3;
 #ifdef JP
-                       if ((x > 0) && (iskanji2(history[y], x-1))) x--;
+                       if ((x > 0) && (iskanji2(p_ptr->history[y], x-1))) x--;
 #endif
                 }
                 else if (c == '2')
@@ -5102,13 +5180,13 @@ static void edit_history(void)
                         y++;
                         if (y > 3) y = 0;
 #ifdef JP
-                       if ((x > 0) && (iskanji2(history[y], x-1))) x--;
+                       if ((x > 0) && (iskanji2(p_ptr->history[y], x-1))) x--;
 #endif
                 }
                 else if (c == '6')
                 {
 #ifdef JP
-                       if (iskanji2(history[y], x)) x++;
+                       if (iskanji2(p_ptr->history[y], x)) x++;
 #endif
                         x++;
                         if (x > 58) x = 0;
@@ -5117,7 +5195,7 @@ static void edit_history(void)
                 {
                         x--;
 #ifdef JP
-                       if ((x > 0) && (iskanji2(history[y], x-1))) x--;
+                       if ((x > 0) && (iskanji2(p_ptr->history[y], x-1))) x--;
 #endif
                         if (x < 0) x = 58;
                 }
@@ -5129,20 +5207,20 @@ static void edit_history(void)
                 {
                         for (i = 0; i < 4; i++)
                         {
-                                sprintf(history[i], "%s", old_history[i]);
-                                put_str(history[i], i + 12, 10);
+                                sprintf(p_ptr->history[i], "%s", old_history[i]);
+                                put_str(p_ptr->history[i], i + 12, 10);
                         }
                         break;
                 }
                else if (c == '\010')
                {
                        x--;
-                        history[y][x] = ' ';
+                        p_ptr->history[y][x] = ' ';
 #ifdef JP
-                       if ((x > 0) && (iskanji2(history[y], x-1)))
+                       if ((x > 0) && (iskanji2(p_ptr->history[y], x-1)))
                        {
                                x--;
-                               history[y][x] = ' ';
+                               p_ptr->history[y][x] = ' ';
                        }
 #endif
                        if (x < 0) x = 58;
@@ -5154,9 +5232,9 @@ static void edit_history(void)
 #endif
                 {
 #ifdef JP
-                       if (iskanji2(history[y], x))
+                       if (iskanji2(p_ptr->history[y], x))
                        {
-                               history[y][x+1] = ' ';
+                               p_ptr->history[y][x+1] = ' ';
                        }
 
                        if (iskanji(c))
@@ -5168,17 +5246,17 @@ static void edit_history(void)
                                        if (y > 3) y = 0;
                                }
 
-                               if (iskanji2(history[y], x+1))
+                               if (iskanji2(p_ptr->history[y], x+1))
                                {
-                                       history[y][x+2] = ' ';
+                                       p_ptr->history[y][x+2] = ' ';
                                }
 
-                               history[y][x++] = c;
+                               p_ptr->history[y][x++] = c;
 
                                c = inkey();
                        }
 #endif
-                        history[y][x++] = c;
+                        p_ptr->history[y][x++] = c;
                        if (x > 58)
                        {
                                x = 0;