if (can_banish) {
if (record_named_pet && monster.is_named_pet()) {
const auto m_name = monster_desc(player_ptr, &monster, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
}
delete_monster_idx(player_ptr, grid.m_idx);
exe_write_diary(player_ptr, DIARY_GAMESTART, 1, _("-------- 新規ゲーム開始 --------", "------- Started New Game -------"));
exe_write_diary(player_ptr, DIARY_DIALY, 0);
- char buf[80];
- strnfmt(buf, sizeof(buf), _("%s性別に%sを選択した。", "%schose %s gender."), indent, sex_info[player_ptr->psex].title);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
- strnfmt(buf, sizeof(buf), _("%s種族に%sを選択した。", "%schose %s race."), indent, race_info[enum2i(player_ptr->prace)].title);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
- strnfmt(buf, sizeof(buf), _("%s職業に%sを選択した。", "%schose %s class."), indent, class_info[enum2i(player_ptr->pclass)].title);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
+ const auto mes_sex = format(_("%s性別に%sを選択した。", "%schose %s gender."), indent, sex_info[player_ptr->psex].title);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_sex);
+ const auto mes_race = format(_("%s種族に%sを選択した。", "%schose %s race."), indent, race_info[enum2i(player_ptr->prace)].title);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_race);
+ const auto mes_class = format(_("%s職業に%sを選択した。", "%schose %s class."), indent, class_info[enum2i(player_ptr->pclass)].title);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_class);
if (player_ptr->realm1) {
- strnfmt(buf, sizeof(buf), _("%s魔法の領域に%s%sを選択した。", "%schose %s%s."), indent, realm_names[player_ptr->realm1],
- player_ptr->realm2 ? format(_("と%s", " and %s realms"), realm_names[player_ptr->realm2]).data() : _("", " realm"));
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
+ const std::string mes_realm2 = player_ptr->realm2 ? format(_("と%s", " and %s realms"), realm_names[player_ptr->realm2]) : _("", " realm");
+ const auto mes_realm = format(_("%s魔法の領域に%s%sを選択した。", "%schose %s%s."), indent, realm_names[player_ptr->realm1], mes_realm2.data());
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_realm);
}
+
if (player_ptr->element) {
- strnfmt(buf, sizeof(buf), _("%s元素系統に%sを選択した。", "%schose %s system."), indent, get_element_title(player_ptr->element));
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
+ const auto mes_element = format(_("%s元素系統に%sを選択した。", "%schose %s system."), indent, get_element_title(player_ptr->element));
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_element);
}
- strnfmt(buf, sizeof(buf), _("%s性格に%sを選択した。", "%schose %s personality."), indent, personality_info[player_ptr->ppersonality].title);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
+
+ const auto mes_personality = format(_("%s性格に%sを選択した。", "%schose %s personality."), indent, personality_info[player_ptr->ppersonality].title);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_personality);
if (PlayerClass(player_ptr).equals(PlayerClassType::CHAOS_WARRIOR)) {
- strnfmt(buf, sizeof(buf), _("%s守護神%sと契約を交わした。", "%smade a contract with patron %s."), indent, patron_list[player_ptr->chaos_patron].name.data());
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, buf);
+ const auto fmt_patron = _("%s守護神%sと契約を交わした。", "%smade a contract with patron %s.");
+ const auto mes_patron = format(fmt_patron, indent, patron_list[player_ptr->chaos_patron].name.data());
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 1, mes_patron);
}
}
if ((all_pets && !should_ask) || (!all_pets && delete_this)) {
if (record_named_pet && m_ptr->is_named()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DISMISS, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DISMISS, m_name);
}
if (pet_ctr == player_ptr->riding) {
/* Save the inscription */
m_ptr->nickname = out_val;
if (record_named_pet) {
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_NAME, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE).data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_NAME, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE));
}
} else {
if (record_named_pet && old_name) {
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_UNNAME, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE).data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_UNNAME, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE));
}
m_ptr->nickname.clear();
}
static void change_realm2(PlayerType *player_ptr, int16_t next_realm)
{
int i, j = 0;
- char tmp[80];
-
for (i = 0; i < 64; i++) {
player_ptr->spell_order[j] = player_ptr->spell_order[i];
if (player_ptr->spell_order[i] < 32) {
player_ptr->spell_worked2 = 0L;
player_ptr->spell_forgotten2 = 0L;
- constexpr auto mes = _("魔法の領域を%sから%sに変更した。", "changed magic realm from %s to %s.");
- strnfmt(tmp, sizeof(tmp), mes, realm_names[player_ptr->realm2], realm_names[next_realm]);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, tmp);
+ constexpr auto fmt_realm = _("魔法の領域を%sから%sに変更した。", "changed magic realm from %s to %s.");
+ const auto mes = format(fmt_realm, realm_names[player_ptr->realm2], realm_names[next_realm]);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, mes);
player_ptr->old_realm |= 1U << (player_ptr->realm2 - 1);
player_ptr->realm2 = next_realm;
return false;
}
-#ifdef JP
static bool is_player_undead(PlayerType *player_ptr)
{
return PlayerRace(player_ptr, true).life() == PlayerRaceLifeType::UNDEAD;
}
-#endif
/*!
* @brief 宿屋に泊まったことを日記に残す
static void write_diary_stay_inn(PlayerType *player_ptr, int prev_hour)
{
if ((prev_hour >= 6) && (prev_hour < 18)) {
- concptr stay_message = _(is_player_undead(player_ptr) ? "宿屋に泊まった。" : "日が暮れるまで宿屋で過ごした。", "stayed during the day at the inn.");
+ const auto stay_message = _(is_player_undead(player_ptr) ? "宿屋に泊まった。" : "日が暮れるまで宿屋で過ごした。", "stayed during the day at the inn.");
exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, stay_message);
return;
}
- concptr stay_message = _(is_player_undead(player_ptr) ? "夜が明けるまで宿屋で過ごした。" : "宿屋に泊まった。", "stayed overnight at the inn.");
+ const auto stay_message = _(is_player_undead(player_ptr) ? "夜が明けるまで宿屋で過ごした。" : "宿屋に泊まった。", "stayed overnight at the inn.");
exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, stay_message);
}
#if JP
msg_format("あなたはリフレッシュして目覚め、%sを迎えた。", is_player_undead(player_ptr) ? "夜" : "夕方");
#else
- msg_print("You awake refreshed for the evening.");
+ msg_format("You awake refreshed for the %s.", is_player_undead(player_ptr) ? "evening" : "twilight");
#endif
- concptr awake_message = _(is_player_undead(player_ptr) ? "すがすがしい夜を迎えた。" : "夕方を迎えた。", "awoke refreshed.");
+ const auto awake_message = _(is_player_undead(player_ptr) ? "すがすがしい夜を迎えた。" : "夕方を迎えた。", "awoke refreshed.");
exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, awake_message);
return;
}
msg_print(_("あなたはリフレッシュして目覚め、新たな日を迎えた。", "You awake refreshed for the new day."));
- concptr awake_message = _(is_player_undead(player_ptr) ? "すがすがしい朝を迎えた。" : "朝を迎えた。", "awoke refreshed.");
+ const auto awake_message = _(is_player_undead(player_ptr) ? "すがすがしい朝を迎えた。" : "朝を迎えた。", "awoke refreshed.");
exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, awake_message);
}
*/
static void add_diary_note(PlayerType *player_ptr)
{
- char tmp[80] = "\0";
- char bunshou[80] = "\0";
+ char tmp[80]{};
if (get_string(_("内容: ", "diary note: "), tmp, 79)) {
- strcpy(bunshou, tmp);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, bunshou);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, tmp);
}
}
return;
}
- char buf[256];
- strnfmt(buf, sizeof(buf), _("%sの入手を記録します。", "Do you really want to record getting %s? "), record_o_name);
- if (!get_check(buf)) {
+ const auto record = format(_("%sの入手を記録します。", "Do you really want to record getting %s? "), record_o_name);
+ if (!get_check(record)) {
return;
}
GAME_TURN turn_tmp = w_ptr->game_turn;
w_ptr->game_turn = record_turn;
- strnfmt(buf, sizeof(buf), _("%sを手に入れた。", "discover %s."), record_o_name);
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, buf);
+ const auto mes = format(_("%sを手に入れた。", "discover %s."), record_o_name);
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, mes);
w_ptr->game_turn = turn_tmp;
}
return;
}
- char buf[80];
- strnfmt(buf, sizeof(buf), _("%sに降り立った。", "arrived in %s."), map_name(player_ptr).data());
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, buf);
+ const auto mes = format(_("%sに降り立った。", "arrived in %s."), map_name(player_ptr).data());
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, mes);
}
static void init_io(PlayerType *player_ptr)
if (record_named_pet && em_ptr->m_ptr->is_named_pet()) {
const auto m2_name = monster_desc(player_ptr, em_ptr->m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_HEAL_LEPER, m2_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_HEAL_LEPER, m2_name);
}
delete_monster_idx(player_ptr, em_ptr->g_ptr->m_idx);
auto &r_ref = m_ptr->get_real_r_ref();
msg_format(_("%sとはぐれてしまった。", "You have lost sight of %s."), monster_desc(player_ptr, m_ptr, 0).data());
if (record_named_pet && m_ptr->is_named()) {
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOST_SIGHT, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE).data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOST_SIGHT, monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE));
}
if (r_ref.cur_num) {
continue;
}
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_MOVED, monster_desc(player_ptr, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE).data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_MOVED, monster_desc(player_ptr, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE));
}
}
return false;
}
- exe_write_diary(
- player_ptr, DIARY_DESCRIPTION, 0, _("ウィザードモードに突入してスコアを残せなくなった。", "gave up recording score to enter wizard mode."));
+ constexpr auto mes = _("ウィザードモードに突入してスコアを残せなくなった。", "gave up recording score to enter wizard mode.");
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, mes);
w_ptr->noscore |= 0x0002;
}
return false;
}
- exe_write_diary(
- player_ptr, DIARY_DESCRIPTION, 0, _("デバッグモードに突入してスコアを残せなくなった。", "gave up sending score to use debug commands."));
+ constexpr auto mes = _("デバッグモードに突入してスコアを残せなくなった。", "gave up sending score to use debug commands.");
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, mes);
w_ptr->noscore |= 0x0008;
}
md_ptr->md_x = md_ptr->m_ptr->fx;
if (record_named_pet && md_ptr->m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, md_ptr->m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, 3, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, 3, m_name);
}
}
}
const auto m_name = monster_desc(player_ptr, md_ptr->m_ptr, MD_WRONGDOER_NAME);
- exe_write_diary(player_ptr, DIARY_ARENA, player_ptr->arena_number, m_name.data());
+ exe_write_diary(player_ptr, DIARY_ARENA, player_ptr->arena_number, m_name);
}
static void drop_corpse(PlayerType *player_ptr, monster_death_type *md_ptr)
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_COMPACT, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_COMPACT, m_name);
}
delete_monster_idx(player_ptr, i);
#include "world/world.h"
#include <algorithm>
#include <optional>
+#include <sstream>
#include <string>
/*
AvatarChanger ac(player_ptr, m_ptr);
ac.change_virtue();
if (r_ref.kind_flags.has(MonsterKindType::UNIQUE) && record_destroy_uniq) {
- const auto clone_name = std::string(r_ref.name).append(m_ptr->mflag2.has(MonsterConstantFlagType::CLONED) ? _("(クローン)", "(Clone)") : "");
- exe_write_diary(this->player_ptr, DIARY_UNIQUE, 0, clone_name.data());
+ std::stringstream ss;
+ ss << r_ref.name << (m_ptr->mflag2.has(MonsterConstantFlagType::CLONED) ? _("(クローン)", "(Clone)") : "");
+ exe_write_diary(this->player_ptr, DIARY_UNIQUE, 0, ss.str());
}
sound(SOUND_KILL);
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOSE_PARENT, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_LOSE_PARENT, m_name);
}
delete_monster_idx(player_ptr, m_idx);
q_ptr->copy_from(o_ptr);
q_ptr->number = 1;
const auto item_name = describe_flavor(player_ptr, q_ptr, OD_NAME_ONLY);
- exe_write_diary(player_ptr, DIARY_FOUND, 0, item_name.data());
+ exe_write_diary(player_ptr, DIARY_FOUND, 0, item_name);
}
/*!
if (!reward.empty()) {
const auto note = format(_("パトロンの報酬で%s", "The patron rewarded you with %s."), reward.data());
- exe_write_diary(this->player_ptr, DIARY_DESCRIPTION, 0, note.data());
+ exe_write_diary(this->player_ptr, DIARY_DESCRIPTION, 0, note);
}
}
const auto &floor = *player_ptr->current_floor_ptr;
if (floor.inside_arena) {
- concptr m_name = monraces_info[arena_info[player_ptr->arena_number].r_idx].name.data();
- msg_format(_("あなたは%sの前に敗れ去った。", "You are beaten by %s."), m_name);
+ const auto &m_name = monraces_info[arena_info[player_ptr->arena_number].r_idx].name;
+ msg_format(_("あなたは%sの前に敗れ去った。", "You are beaten by %s."), m_name.data());
msg_print(nullptr);
if (record_arena) {
exe_write_diary(player_ptr, DIARY_ARENA, -1 - player_ptr->arena_number, m_name);
}
#ifdef JP
- std::string note = format("%sで%sに殺された。", place.data(), player_ptr->died_from.data());
+ const auto note = format("%sで%sに殺された。", place.data(), player_ptr->died_from.data());
#else
- std::string note = format("killed by %s %s.", player_ptr->died_from.data(), place.data());
+ const auto note = format("killed by %s %s.", player_ptr->died_from.data(), place.data());
#endif
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, note.data());
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, note);
}
exe_write_diary(player_ptr, DIARY_GAMESTART, 1, _("-------- ゲームオーバー --------", "-------- Game Over --------"));
ss << _(hit_from, "was in a critical situation because of ");
ss << _("によってピンチに陥った。", hit_from);
ss << _("", ".");
- exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, ss.str().data());
+ exe_write_diary(player_ptr, DIARY_DESCRIPTION, 0, ss.str());
}
if (auto_more) {
const auto &m_ref = floor_ptr->m_list[gg_ptr->m_idx];
if (record_named_pet && m_ref.is_named_pet()) {
const auto m2_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_EARTHQUAKE, m2_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_EARTHQUAKE, m2_name);
}
}
if (record_rand_art) {
const auto diary_item_name = describe_flavor(player_ptr, o_ptr, OD_NAME_ONLY);
- exe_write_diary(player_ptr, DIARY_ART_SCROLL, 0, diary_item_name.data());
+ exe_write_diary(player_ptr, DIARY_ART_SCROLL, 0, diary_item_name);
}
chg_virtue(player_ptr, Virtue::ENCHANT, 1);
} else {
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DESTROY, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_DESTROY, m_name);
}
/* Delete the monster (if any) */
} else {
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
}
delete_monster_idx(player_ptr, m_idx);
const auto item_name = describe_flavor(player_ptr, o_ptr, OD_NAME_ONLY);
if (record_fix_art && !old_known && o_ptr->is_fixed_artifact()) {
- exe_write_diary(player_ptr, DIARY_ART, 0, item_name.data());
+ exe_write_diary(player_ptr, DIARY_ART, 0, item_name);
}
if (record_rand_art && !old_known && o_ptr->is_random_artifact()) {
- exe_write_diary(player_ptr, DIARY_ART, 0, item_name.data());
+ exe_write_diary(player_ptr, DIARY_ART, 0, item_name);
}
return old_known;
if (record_named_pet && m_ptr->is_named()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_BLAST, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_BLAST, m_name);
}
delete_monster_idx(player_ptr, i);
QuestCompletionChecker(player_ptr, m_ptr).complete();
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m2_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_TELE_LEVEL, m2_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_TELE_LEVEL, m2_name);
}
delete_monster_idx(player_ptr, m_idx);
record_turn = w_ptr->game_turn;
if (record_buy) {
- exe_write_diary(player_ptr, DIARY_BUY, 0, purchased_item_name.data());
+ exe_write_diary(player_ptr, DIARY_BUY, 0, purchased_item_name);
}
const auto diary_item_name = describe_flavor(player_ptr, o_ptr, OD_NAME_ONLY);
if (record_rand_art && o_ptr->is_random_artifact()) {
- exe_write_diary(player_ptr, DIARY_ART, 0, diary_item_name.data());
+ exe_write_diary(player_ptr, DIARY_ART, 0, diary_item_name);
}
j_ptr->inscription.reset();
msg_format(_("%sを $%dで売却しました。", "You sold %s for %d gold."), sold_item_name.data(), price);
if (record_sell) {
- exe_write_diary(player_ptr, DIARY_SELL, 0, sold_item_name.data());
+ exe_write_diary(player_ptr, DIARY_SELL, 0, sold_item_name);
}
if (!((tval == ItemKindType::FIGURINE) && (value > 0))) {
#include "game-option/cheat-types.h"
#include "io/write-diary.h"
#include "view/display-messages.h"
+#include <array>
+#include <sstream>
#include <string>
void msg_print_wizard(PlayerType *player_ptr, int cheat_type, concptr msg)
return;
}
- concptr cheat_mes[] = { "ITEM:", "MONS:", "DUNG:", "MISC:" };
- std::string buf = "WIZ-";
- buf.append(cheat_mes[cheat_type]).append(msg);
- msg_print(buf);
-
+ static const std::array<std::string, 4> cheat_mes = { { "ITEM:", "MONS:", "DUNG:", "MISC:" } };
+ std::stringstream ss;
+ ss << "WIZ-" << cheat_mes[cheat_type] << msg;
+ const auto mes = ss.str();
+ msg_print(mes);
if (cheat_diary_output) {
- exe_write_diary(player_ptr, DIARY_WIZARD_LOG, 0, buf.data());
+ exe_write_diary(player_ptr, DIARY_WIZARD_LOG, 0, mes);
}
}
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
}
delete_monster_idx(player_ptr, i);
if (record_named_pet && m_ptr->is_named_pet()) {
const auto m_name = monster_desc(player_ptr, m_ptr, MD_INDEF_VISIBLE);
- exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name.data());
+ exe_write_diary(player_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
}
delete_monster_idx(player_ptr, i);