OSDN Git Service

Merge remote-tracking branch 'remotes/origin/For2.2.2-Fix-Hourier' into For2.2.2...
authordeskull <deskull@users.sourceforge.jp>
Fri, 21 Aug 2020 16:58:49 +0000 (01:58 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Fri, 21 Aug 2020 16:58:49 +0000 (01:58 +0900)
1  2 
src/birth/birth-wizard.c
src/cmd-action/cmd-mane.c
src/cmd-item/cmd-magiceat.c
src/combat/shoot.c
src/io-dump/character-dump.c
src/knowledge/knowledge-self.c
src/mind/mind-blue-mage.c
src/monster-attack/monster-eating.c
src/player/player-status.h
src/view/display-self-info.c
src/wizard/wizard-special-process.c

Simple merge
Simple merge
  #include "object/object-kind.h"
  #include "sv-definition/sv-other-types.h"
  #include "sv-definition/sv-rod-types.h"
- #include "player/avatar.h"
+ #include "player-info/avatar.h"
  #include "player/player-class.h"
  #include "player/player-status.h"
 +#include "player/player-status-table.h"
  #include "spell/spell-info.h"
  #include "target/target-getter.h"
  #include "term/screen-processor.h"
Simple merge
  #include "monster/smart-learn-types.h"
  #include "object/object-info.h"
  #include "pet/pet-util.h"
- #include "player/avatar.h"
+ #include "player-info/avatar.h"
  #include "player/race-info-table.h"
  #include "player/player-status-flags.h"
 +#include "player/player-status-table.h"
  #include "realm/realm-names-table.h"
  #include "store/store-util.h"
  #include "store/store.h"
  #include "floor/floor-town.h"
  #include "info-reader/fixed-map-parser.h"
  #include "io-dump/dump-util.h"
- #include "player/avatar.h"
+ #include "player-info/avatar.h"
  #include "player/player-class.h"
  #include "player/race-info-table.h"
 +#include "player/player-status-table.h"
  #include "store/store-util.h"
  #include "system/object-type-definition.h"
  #include "util/angband-files.h"
@@@ -11,8 -11,7 +11,8 @@@
  #include "main/sound-of-music.h"
  #include "mspell/monster-power-table.h"
  #include "mspell/mspell-type.h"
- #include "player/avatar.h"
 +#include "player/player-status-table.h"
+ #include "player-info/avatar.h"
  #include "realm/realm-types.h"
  #include "spell/spell-info.h"
  #include "status/bad-status-setter.h"
@@@ -18,9 -18,8 +18,9 @@@
  #include "object/object-generator.h"
  #include "object/object-info.h"
  #include "object/object-mark-types.h"
- #include "player/avatar.h"
+ #include "player-info/avatar.h"
  #include "player/mimic-info-table.h"
 +#include "player/player-status-table.h"
  #include "status/experience.h"
  #include "system/floor-type-definition.h"
  #include "view/display-messages.h"
   * whenever anything important changes.
   */
  
- typedef enum base_status {
-     A_STR = 0,
-     A_INT = 1,
-     A_WIS = 2,
-     A_DEX = 3,
-     A_CON = 4,
-     A_CHR = 5,
-     A_MAX = 6
- } base_status;
 +/*
 + * Player constants
 + */
  #define PY_MAX_EXP 99999999L /*!< プレイヤー経験値の最大値 / Maximum exp */
  #define PY_MAX_GOLD 999999999L /*!< プレイヤー所持金の最大値 / Maximum gold */
  #define PY_MAX_LEVEL 50 /*!< プレイヤーレベルの最大値 / Maximum level */
index 0000000,8be0dd9..1b977cc
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,121 +1,122 @@@
+ #include "view/display-self-info.h"
+ #include "io/input-key-acceptor.h"
+ #include "player-info/avatar.h"
+ #include "player-info/self-info-util.h"
+ #include "player/player-race.h"
++#include "player/player-status-table.h"
+ #include "term/screen-processor.h"
+ void display_life_rating(player_type *creature_ptr, self_info_type *si_ptr)
+ {
+     creature_ptr->knowledge |= KNOW_STAT | KNOW_HPRATE;
+     strcpy(si_ptr->plev_buf, "");
+     int percent
+         = (int)(((long)creature_ptr->player_hp[PY_MAX_LEVEL - 1] * 200L) / (2 * creature_ptr->hitdie + ((PY_MAX_LEVEL - 1 + 3) * (creature_ptr->hitdie + 1))));
+     sprintf(si_ptr->plev_buf, _("\8c»\8dÝ\82Ì\91Ì\97Í\83\89\83\93\83N : %d/100", "Your current Life Rating is %d/100."), percent);
+     strcpy(si_ptr->buf[0], si_ptr->plev_buf);
+     si_ptr->info[si_ptr->line++] = si_ptr->buf[0];
+     si_ptr->info[si_ptr->line++] = "";
+ }
+ void display_max_base_status(player_type *creature_ptr, self_info_type *si_ptr)
+ {
+     si_ptr->info[si_ptr->line++] = _("\94\\97Í\82Ì\8dÅ\91å\92l", "Limits of maximum stats");
+     for (base_status_type v_nr = 0; v_nr < A_MAX; v_nr++) {
+         char stat_desc[80];
+         sprintf(stat_desc, "%s 18/%d", stat_names[v_nr], creature_ptr->stat_max_max[v_nr] - 18);
+         strcpy(si_ptr->s_string[v_nr], stat_desc);
+         si_ptr->info[si_ptr->line++] = si_ptr->s_string[v_nr];
+     }
+ }
+ void display_virtue(player_type *creature_ptr, self_info_type *si_ptr)
+ {
+     si_ptr->info[si_ptr->line++] = "";
+     sprintf(si_ptr->plev_buf, _("\8c»\8dÝ\82Ì\91®\90« : %s(%ld)", "Your alignment : %s(%ld)"), your_alignment(creature_ptr), (long int)creature_ptr->align);
+     strcpy(si_ptr->buf[1], si_ptr->plev_buf);
+     si_ptr->info[si_ptr->line++] = si_ptr->buf[1];
+     for (int v_nr = 0; v_nr < 8; v_nr++) {
+         GAME_TEXT vir_name[20];
+         char vir_desc[80];
+         int tester = creature_ptr->virtues[v_nr];
+         strcpy(vir_name, virtue[(creature_ptr->vir_types[v_nr]) - 1]);
+         sprintf(vir_desc, _("\82¨\82Á\82Æ\81B%s\82Ì\8fî\95ñ\82È\82µ\81B", "Oops. No info about %s."), vir_name);
+         if (tester < -100)
+             sprintf(vir_desc, _("[%s]\82Ì\91Î\8bÉ (%d)", "You are the polar opposite of %s (%d)."), vir_name, tester);
+         else if (tester < -80)
+             sprintf(vir_desc, _("[%s]\82Ì\91å\93G (%d)", "You are an arch-enemy of %s (%d)."), vir_name, tester);
+         else if (tester < -60)
+             sprintf(vir_desc, _("[%s]\82Ì\8b­\93G (%d)", "You are a bitter enemy of %s (%d)."), vir_name, tester);
+         else if (tester < -40)
+             sprintf(vir_desc, _("[%s]\82Ì\93G (%d)", "You are an enemy of %s (%d)."), vir_name, tester);
+         else if (tester < -20)
+             sprintf(vir_desc, _("[%s]\82Ì\8dß\8eÒ (%d)", "You have sinned against %s (%d)."), vir_name, tester);
+         else if (tester < 0)
+             sprintf(vir_desc, _("[%s]\82Ì\96À\93¹\8eÒ (%d)", "You have strayed from the path of %s (%d)."), vir_name, tester);
+         else if (tester == 0)
+             sprintf(vir_desc, _("[%s]\82Ì\92\86\97§\8eÒ (%d)", "You are neutral to %s (%d)."), vir_name, tester);
+         else if (tester < 20)
+             sprintf(vir_desc, _("[%s]\82Ì\8f¬\93¿\8eÒ (%d)", "You are somewhat virtuous in %s (%d)."), vir_name, tester);
+         else if (tester < 40)
+             sprintf(vir_desc, _("[%s]\82Ì\92\86\93¿\8eÒ (%d)", "You are virtuous in %s (%d)."), vir_name, tester);
+         else if (tester < 60)
+             sprintf(vir_desc, _("[%s]\82Ì\8d\82\93¿\8eÒ (%d)", "You are very virtuous in %s (%d)."), vir_name, tester);
+         else if (tester < 80)
+             sprintf(vir_desc, _("[%s]\82Ì\94e\8eÒ (%d)", "You are a champion of %s (%d)."), vir_name, tester);
+         else if (tester < 100)
+             sprintf(vir_desc, _("[%s]\82Ì\88Ì\91å\82È\94e\8eÒ (%d)", "You are a great champion of %s (%d)."), vir_name, tester);
+         else
+             sprintf(vir_desc, _("[%s]\82Ì\8bï\8c»\8eÒ (%d)", "You are the living embodiment of %s (%d)."), vir_name, tester);
+         strcpy(si_ptr->v_string[v_nr], vir_desc);
+         si_ptr->info[si_ptr->line++] = si_ptr->v_string[v_nr];
+     }
+ }
+ void display_mimic_race_ability(player_type *creature_ptr, self_info_type *si_ptr)
+ {
+     switch (creature_ptr->mimic_form) {
+     case MIMIC_DEMON:
+     case MIMIC_DEMON_LORD:
+         sprintf(si_ptr->plev_buf, _("\82 \82È\82½\82Í %d \83_\83\81\81[\83W\82Ì\92n\8d\96\82©\89Î\89\8a\82Ì\83u\83\8c\83X\82ð\93f\82­\82±\82Æ\82ª\82Å\82«\82é\81B(%d MP)", "You can nether breathe, dam. %d (cost %d)."),
+             3 * creature_ptr->lev, 10 + creature_ptr->lev / 3);
+         si_ptr->info[si_ptr->line++] = si_ptr->plev_buf;
+         break;
+     case MIMIC_VAMPIRE:
+         if (creature_ptr->lev <= 1)
+             break;
+         sprintf(si_ptr->plev_buf, _("\82 \82È\82½\82Í\93G\82©\82ç %d-%d HP \82Ì\90\96½\97Í\82ð\8bz\8eû\82Å\82«\82é\81B(%d MP)", "You can steal life from a foe, dam. %d-%d (cost %d)."),
+             creature_ptr->lev + MAX(1, creature_ptr->lev / 10), creature_ptr->lev + creature_ptr->lev * MAX(1, creature_ptr->lev / 10),
+             1 + (creature_ptr->lev / 3));
+         si_ptr->info[si_ptr->line++] = si_ptr->plev_buf;
+         break;
+     }
+ }
+ void display_self_info(self_info_type *si_ptr)
+ {
+     screen_save();
+     for (int k = 1; k < 24; k++)
+         prt("", k, 13);
+     prt(_("        \82 \82È\82½\82Ì\8fó\91Ô:", "     Your Attributes:"), 1, 15);
+     int k = 2;
+     for (int j = 0; j < si_ptr->line; j++) {
+         prt(si_ptr->info[j], k++, 15);
+         /* Every 20 entries (lines 2 to 21), start over */
+         if ((k != 22) || (j + 1 >= si_ptr->line))
+             continue;
+         prt(_("-- \91±\82­ --", "-- more --"), k, 15);
+         inkey();
+         for (; k > 2; k--)
+             prt("", k, 15);
+     }
+     prt(_("[\89½\82©\83L\81[\82ð\89\9f\82·\82Æ\83Q\81[\83\80\82É\96ß\82è\82Ü\82·]", "[Press any key to continue]"), k, 13);
+     inkey();
+     screen_load();
+ }
  #include "player/player-race-types.h"
  #include "player/player-skill.h"
  #include "player/player-status.h"
- #include "player/selfinfo.h"
 +#include "player/player-status-table.h"
  #include "spell-kind/spells-detection.h"
--#include "spell-kind/spells-floor.h"
--#include "spell-kind/spells-perception.h"
  #include "spell-kind/spells-sight.h"
  #include "spell-kind/spells-teleport.h"
  #include "spell/spells-object.h"