total++;
if (q_ref.type != QuestKindType::RANDOM) {
char note[512] = "\0";
-
if (q_ref.status == QuestStatusType::TAKEN || q_ref.status == QuestStatusType::STAGE_COMPLETED) {
switch (q_ref.type) {
case QuestKindType::KILL_LEVEL:
} else {
sprintf(note, _(" - %sを倒す。", " - kill %s."), name);
}
- break;
+ break;
case QuestKindType::FIND_ARTIFACT:
if (q_ref.reward_artifact_idx != FixedArtifactId::NONE) {
const auto &a_ref = artifacts_info.at(q_ref.reward_artifact_idx);
- ObjectType forge;
- auto *o_ptr = &forge;
+ ObjectType item;
auto k_idx = lookup_baseitem_id(a_ref.bi_key);
- o_ptr->prep(k_idx);
- o_ptr->fixed_artifact_idx = q_ref.reward_artifact_idx;
- o_ptr->ident = IDENT_STORE;
- describe_flavor(player_ptr, name, o_ptr, OD_NAME_ONLY);
+ item.prep(k_idx);
+ item.fixed_artifact_idx = q_ref.reward_artifact_idx;
+ item.ident = IDENT_STORE;
+ describe_flavor(player_ptr, name, &item, OD_NAME_ONLY);
}
+
sprintf(note, _("\n - %sを見つけ出す。", "\n - Find %s."), name);
break;
case QuestKindType::FIND_EXIT:
sprintf(note, _(" - 出口に到達する。", " - Reach exit."));
break;
-
case QuestKindType::KILL_NUMBER:
#ifdef JP
sprintf(note, " - %d 体のモンスターを倒す。(あと %d 体)", (int)q_ref.max_num, (int)(q_ref.max_num - q_ref.cur_num));