--- /dev/null
+#include "player-info/weapon-effect-info.h"
+#include "inventory/inventory-slot-types.h"
+#include "object-enchant/tr-types.h"
+#include "player-info/self-info-util.h"
+#include "util/bit-flags-calculator.h"
+
+static void set_weapon_bless_info(self_info_type *si_ptr)
+{
+ if (have_flag(si_ptr->flags, TR_BLESSED))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\90_\82Ì\8fj\95\9f\82ð\8eó\82¯\82Ä\82¢\82é\81B", "Your weapon has been blessed by the gods.");
+
+ if (have_flag(si_ptr->flags, TR_CHAOTIC))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83\8d\83O\83\8b\83X\82Ì\92¥\82Ì\91®\90«\82ð\82à\82Â\81B", "Your weapon is branded with the Sign of Logrus.");
+
+ if (have_flag(si_ptr->flags, TR_IMPACT))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\91Å\8c\82\82Å\92n\90k\82ð\94\90¶\82·\82é\82±\82Æ\82ª\82Å\82«\82é\81B", "The impact of your weapon can cause earthquakes.");
+
+ if (have_flag(si_ptr->flags, TR_VORPAL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\94ñ\8fí\82É\89s\82¢\81B", "Your weapon is very sharp.");
+
+ if (have_flag(si_ptr->flags, TR_VAMPIRIC))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82©\82ç\90¶\96½\97Í\82ð\8bz\8eû\82·\82é\81B", "Your weapon drains life from your foes.");
+}
+
+static void set_brand_attack_info(self_info_type *si_ptr)
+{
+ if (have_flag(si_ptr->flags, TR_BRAND_ACID))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82ð\97n\82©\82·\81B", "Your weapon melts your foes.");
+
+ if (have_flag(si_ptr->flags, TR_BRAND_ELEC))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82ð\8a´\93d\82³\82¹\82é\81B", "Your weapon shocks your foes.");
+
+ if (have_flag(si_ptr->flags, TR_BRAND_FIRE))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82ð\94R\82â\82·\81B", "Your weapon burns your foes.");
+
+ if (have_flag(si_ptr->flags, TR_BRAND_COLD))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82ð\93\80\82ç\82¹\82é\81B", "Your weapon freezes your foes.");
+
+ if (have_flag(si_ptr->flags, TR_BRAND_POIS))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93G\82ð\93Å\82Å\90N\82·\81B", "Your weapon poisons your foes.");
+}
+
+static void set_slay_info(self_info_type *si_ptr)
+{
+ if (have_flag(si_ptr->flags, TR_KILL_ANIMAL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93®\95¨\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of animals.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_ANIMAL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93®\95¨\82É\91Î\82µ\82Ä\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon strikes at animals with extra force.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_EVIL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\8e×\88«\82È\82é\91¶\8dÝ\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of evil.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_EVIL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\8e×\88«\82È\82é\91¶\8dÝ\82É\91Î\82µ\82Ä\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon strikes at evil with extra force.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_HUMAN))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\90l\8aÔ\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of humans.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_HUMAN))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\90l\8aÔ\82É\91Î\82µ\82Ä\93Á\82É\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon is especially deadly against humans.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_UNDEAD))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83A\83\93\83f\83b\83h\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of undead.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_UNDEAD))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83A\83\93\83f\83b\83h\82É\91Î\82µ\82Ä\90_\90¹\82È\82é\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon strikes at undead with holy wrath.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_DEMON))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83f\81[\83\82\83\93\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of demons.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_DEMON))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83f\81[\83\82\83\93\82É\91Î\82µ\82Ä\90_\90¹\82È\82é\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon strikes at demons with holy wrath.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_ORC))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83I\81[\83N\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of orcs.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_ORC))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83I\81[\83N\82É\91Î\82µ\82Ä\93Á\82É\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon is especially deadly against orcs.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_TROLL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83g\83\8d\83\8b\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of trolls.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_TROLL))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83g\83\8d\83\8b\82É\91Î\82µ\82Ä\93Á\82É\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon is especially deadly against trolls.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_GIANT))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\8b\90\90l\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of giants.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_GIANT))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\8b\90\90l\82É\91Î\82µ\82Ä\93Á\82É\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon is especially deadly against giants.");
+
+ if (have_flag(si_ptr->flags, TR_KILL_DRAGON))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83h\83\89\83S\83\93\82Ì\93V\93G\82Å\82 \82é\81B", "Your weapon is a great bane of dragons.");
+ else if (have_flag(si_ptr->flags, TR_SLAY_DRAGON))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\83h\83\89\83S\83\93\82É\91Î\82µ\82Ä\93Á\82É\8b\82¢\97Í\82ð\94\8aö\82·\82é\81B", "Your weapon is especially deadly against dragons.");
+}
+
+void set_weapon_effect_info(player_type *creature_ptr, self_info_type *si_ptr)
+{
+ object_type *o_ptr = &creature_ptr->inventory_list[INVEN_RARM];
+ if (o_ptr->k_idx == 0)
+ return;
+
+ set_weapon_bless_info(si_ptr);
+ set_brand_attack_info(si_ptr);
+ set_slay_info(si_ptr);
+ if (have_flag(si_ptr->flags, TR_FORCE_WEAPON))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82ÍMP\82ð\8eg\82Á\82Ä\8dU\8c\82\82·\82é\81B", "Your weapon causes greate damages using your MP.");
+
+ if (have_flag(si_ptr->flags, TR_THROW))
+ si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Ì\95\90\8aí\82Í\93\8a\82°\82â\82·\82¢\81B", "Your weapon can be thrown well.");
+}