}
if (((ae_ptr->o_ptr->tval == ItemKindType::RING) || (ae_ptr->o_ptr->tval == ItemKindType::AMULET)) && ae_ptr->o_ptr->is_ego())
- ae_ptr->lev = e_info[ae_ptr->o_ptr->name2].level;
+ ae_ptr->lev = e_info[ae_ptr->o_ptr->ego_idx].level;
}
static void decide_chance_fail(PlayerType *player_ptr, ae_type *ae_ptr)
if (o_ptr->is_fixed_artifact() && a_info[o_ptr->fixed_artifact_idx].flags.has(TR_ACTIVATE))
return a_info[o_ptr->fixed_artifact_idx].act_idx;
- if (o_ptr->is_ego() && e_info[o_ptr->name2].flags.has(TR_ACTIVATE))
- return e_info[o_ptr->name2].act_idx;
+ if (o_ptr->is_ego() && e_info[o_ptr->ego_idx].flags.has(TR_ACTIVATE))
+ return e_info[o_ptr->ego_idx].act_idx;
if (!o_ptr->is_random_artifact() && k_info[o_ptr->k_idx].flags.has(TR_ACTIVATE))
return k_info[o_ptr->k_idx].act_idx;
{
o_ptr->artifact_bias = 0;
o_ptr->fixed_artifact_idx = 0;
- o_ptr->name2 = EgoType::NONE;
+ o_ptr->ego_idx = EgoType::NONE;
o_ptr->art_flags |= k_info[o_ptr->k_idx].flags;
bool has_pval = o_ptr->pval != 0;
if (o_ptr->tval == ItemKindType::SKELETON || (o_ptr->tval == ItemKindType::CORPSE && o_ptr->sval == SV_SKELETON))
return false;
} else if (pc.equals(PlayerClassType::NINJA)) {
- if (o_ptr->tval == ItemKindType::LITE && o_ptr->name2 == EgoType::LITE_DARKNESS && o_ptr->is_known())
+ if (o_ptr->tval == ItemKindType::LITE && o_ptr->ego_idx == EgoType::LITE_DARKNESS && o_ptr->is_known())
return false;
} else if (pc.is_tamer()) {
if (o_ptr->tval == ItemKindType::WAND && o_ptr->sval == SV_WAND_HEAL_MONSTER && o_ptr->is_aware())
* are almost meaningless.
* Register the ego type only.
*/
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
#ifdef JP
/* エゴ銘には「^」マークが使える */
sprintf(name_str, "^%s", e_ptr->name.c_str());
/* Only assassins get a poisoned weapon */
if (((tv == ItemKindType::SWORD) || (tv == ItemKindType::HAFTED)) && (pc.equals(PlayerClassType::ROGUE) && (player_ptr->realm1 == REALM_DEATH))) {
- q_ptr->name2 = EgoType::BRAND_POIS;
+ q_ptr->ego_idx = EgoType::BRAND_POIS;
}
add_outfit(player_ptr, q_ptr);
{
auto is_good_reward = !item.is_cursed();
is_good_reward &= !item.is_ammo() || (item.is_ammo() && item.is_fixed_artifact());
- is_good_reward &= item.name2 != EgoType::DIGGING;
+ is_good_reward &= item.ego_idx != EgoType::DIGGING;
return is_good_reward;
}
return;
flavor_ptr->t = object_desc_str(flavor_ptr->t, _("(", " (with "));
- auto fuel_magnification = flavor_ptr->o_ptr->name2 == EgoType::LITE_LONG ? 2 : 1;
+ auto fuel_magnification = flavor_ptr->o_ptr->ego_idx == EgoType::LITE_LONG ? 2 : 1;
flavor_ptr->t = object_desc_num(flavor_ptr->t, fuel_magnification * flavor_ptr->o_ptr->fuel);
flavor_ptr->t = object_desc_str(flavor_ptr->t, _("ターンの寿命)", " turns of light)"));
}
}
if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
flgs.reset(e_ptr->flags);
}
}
}
if (flavor_ptr->o_ptr->is_ego()) {
- auto *e_ptr = &e_info[flavor_ptr->o_ptr->name2];
+ auto *e_ptr = &e_info[flavor_ptr->o_ptr->ego_idx];
flavor_ptr->t = object_desc_str(flavor_ptr->t, e_ptr->name.c_str());
}
}
}
if (flavor_ptr->o_ptr->is_ego()) {
- auto *e_ptr = &e_info[flavor_ptr->o_ptr->name2];
+ auto *e_ptr = &e_info[flavor_ptr->o_ptr->ego_idx];
flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
flavor_ptr->t = object_desc_str(flavor_ptr->t, e_ptr->name.c_str());
}
continue;
if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
delta += e_ptr->rating * base;
}
DISCOUNT = 0x00000002,
NUMBER = 0x00000004,
FIXED_ARTIFACT_IDX = 0x00000008,
- NAME2 = 0x00000010,
+ EGO_IDX = 0x00000010,
TIMEOUT = 0x00000020,
TO_H = 0x00000040,
TO_D = 0x00000080,
o_ptr->fixed_artifact_idx = 0;
}
- o_ptr->name2 = i2enum<EgoType>(any_bits(flags, SaveDataItemFlagType::NAME2) ? rd_byte() : 0);
+ o_ptr->ego_idx = i2enum<EgoType>(any_bits(flags, SaveDataItemFlagType::EGO_IDX) ? rd_byte() : 0);
o_ptr->timeout = any_bits(flags, SaveDataItemFlagType::TIMEOUT) ? rd_s16b() : 0;
o_ptr->to_h = any_bits(flags, SaveDataItemFlagType::TO_H) ? rd_s16b() : 0;
o_ptr->to_d = any_bits(flags, SaveDataItemFlagType::TO_D) ? rd_s16b() : 0;
return;
}
- if ((o_ptr->name2 == EgoType::DARK) || (o_ptr->name2 == EgoType::ANCIENT_CURSE) || (o_ptr->fixed_artifact_idx == ART_NIGHT)) {
+ if ((o_ptr->ego_idx == EgoType::DARK) || (o_ptr->ego_idx == EgoType::ANCIENT_CURSE) || (o_ptr->fixed_artifact_idx == ART_NIGHT)) {
o_ptr->art_flags.set(TR_LITE_M1);
o_ptr->art_flags.reset(TR_LITE_1);
o_ptr->art_flags.reset(TR_LITE_2);
return;
}
- if (o_ptr->name2 == EgoType::LITE_DARKNESS) {
+ if (o_ptr->ego_idx == EgoType::LITE_DARKNESS) {
if (o_ptr->tval != ItemKindType::LITE) {
o_ptr->art_flags.set(TR_LITE_M1);
return;
o_ptr->fixed_artifact_idx = rd_byte();
- o_ptr->name2 = i2enum<EgoType>(rd_byte());
+ o_ptr->ego_idx = i2enum<EgoType>(rd_byte());
o_ptr->timeout = rd_s16b();
o_ptr->to_h = rd_s16b();
}
if (h_older_than(1, 3, 0, 0)) {
- if (o_ptr->name2 == EgoType::TELEPATHY)
+ if (o_ptr->ego_idx == EgoType::TELEPATHY)
o_ptr->art_flags.set(TR_TELEPATHY);
}
if (a_ptr->gen_flags.has(ItemGenerationTraitType::PERMA_CURSE))
o_ptr->curse_flags.set(CurseTraitType::PERMA_CURSE);
} else if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
if (e_ptr->gen_flags.has(ItemGenerationTraitType::HEAVY_CURSE))
o_ptr->curse_flags.set(CurseTraitType::HEAVY_CURSE);
if (e_ptr->gen_flags.has(ItemGenerationTraitType::PERMA_CURSE))
if ((o_ptr->k_idx >= 445) && (o_ptr->k_idx <= 479))
return;
- if (h_older_than(0, 4, 10) && (o_ptr->name2 == EgoType::TWILIGHT))
+ if (h_older_than(0, 4, 10) && (o_ptr->ego_idx == EgoType::TWILIGHT))
o_ptr->k_idx = lookup_kind(ItemKindType::SOFT_ARMOR, SV_TWILIGHT_ROBE);
if (h_older_than(0, 4, 9)) {
}
if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
if (e_ptr->name.empty())
- o_ptr->name2 = EgoType::NONE;
+ o_ptr->ego_idx = EgoType::NONE;
}
}
q_ptr->to_h = 3 + randint1(player_ptr->current_floor_ptr->dun_level) % 10;
q_ptr->to_d = 3 + randint1(player_ptr->current_floor_ptr->dun_level) % 10;
one_resistance(q_ptr);
- q_ptr->name2 = EgoType::CHAOTIC;
+ q_ptr->ego_idx = EgoType::CHAOTIC;
(void)drop_near(player_ptr, q_ptr, -1, player_ptr->y, player_ptr->x);
}
return;
}
- if (o_ptr->name2 == EgoType::ATTACKS) {
+ if (o_ptr->ego_idx == EgoType::ATTACKS) {
o_ptr->pval = randint1(e_ptr->max_pval * lev / 100 + 1);
if (o_ptr->pval > 3)
o_ptr->pval = 3;
*/
void apply_ego(ObjectType *o_ptr, DEPTH lev)
{
- auto e_ptr = &e_info[o_ptr->name2];
+ auto e_ptr = &e_info[o_ptr->ego_idx];
auto gen_flags = e_ptr->gen_flags;
ego_interpret_extra_abilities(o_ptr, e_ptr, gen_flags);
o_ptr->to_d = std::max(o_ptr->to_d, 15);
}
- if ((o_ptr->name2 == EgoType::PROTECTION) || (o_ptr->name2 == EgoType::S_PROTECTION) || (o_ptr->name2 == EgoType::H_PROTECTION)) {
+ if ((o_ptr->ego_idx == EgoType::PROTECTION) || (o_ptr->ego_idx == EgoType::S_PROTECTION) || (o_ptr->ego_idx == EgoType::H_PROTECTION)) {
o_ptr->to_a = std::max<short>(o_ptr->to_a, 15);
}
if (e_ptr->max_pval) {
- if (o_ptr->name2 == EgoType::BAT) {
+ if (o_ptr->ego_idx == EgoType::BAT) {
o_ptr->pval = randint1(e_ptr->max_pval);
if (o_ptr->sval == SV_ELVEN_CLOAK)
o_ptr->pval += randint1(2);
}
}
- if ((o_ptr->name2 == EgoType::SPEED) && (lev < 50)) {
+ if ((o_ptr->ego_idx == EgoType::SPEED) && (lev < 50)) {
o_ptr->pval = randint1(o_ptr->pval);
}
- if ((o_ptr->tval == ItemKindType::SWORD) && (o_ptr->sval == SV_HAYABUSA) && (o_ptr->pval > 2) && (o_ptr->name2 != EgoType::ATTACKS))
+ if ((o_ptr->tval == ItemKindType::SWORD) && (o_ptr->sval == SV_HAYABUSA) && (o_ptr->pval > 2) && (o_ptr->ego_idx != EgoType::ATTACKS))
o_ptr->pval = 2;
}
}
break;
}
- this->o_ptr->name2 = EgoType::AMU_SLOW_D;
+ this->o_ptr->ego_idx = EgoType::AMU_SLOW_D;
break;
case 3:
case 4:
break;
}
- this->o_ptr->name2 = EgoType::AMU_INFRA;
+ this->o_ptr->ego_idx = EgoType::AMU_INFRA;
break;
case 5:
case 6:
break;
}
- this->o_ptr->name2 = EgoType::AMU_SEE_INVIS;
+ this->o_ptr->ego_idx = EgoType::AMU_SEE_INVIS;
break;
case 7:
case 8:
break;
}
- this->o_ptr->name2 = EgoType::AMU_HOLD_EXP;
+ this->o_ptr->ego_idx = EgoType::AMU_HOLD_EXP;
break;
case 9:
if (k_ptr->flags.has(TR_LEVITATION)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_LEVITATION;
+ this->o_ptr->ego_idx = EgoType::AMU_LEVITATION;
break;
case 10:
case 11:
case 21:
- this->o_ptr->name2 = EgoType::AMU_AC;
+ this->o_ptr->ego_idx = EgoType::AMU_AC;
break;
case 12:
if (k_ptr->flags.has(TR_RES_FIRE)) {
}
if (m_bonus(10, this->level) > 8) {
- this->o_ptr->name2 = EgoType::AMU_RES_FIRE_;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_FIRE_;
break;
}
- this->o_ptr->name2 = EgoType::AMU_RES_FIRE;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_FIRE;
break;
case 13:
if (k_ptr->flags.has(TR_RES_COLD)) {
}
if (m_bonus(10, this->level) > 8) {
- this->o_ptr->name2 = EgoType::AMU_RES_COLD_;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_COLD_;
break;
}
- this->o_ptr->name2 = EgoType::AMU_RES_COLD;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_COLD;
break;
case 14:
if (k_ptr->flags.has(TR_RES_ELEC)) {
}
if (m_bonus(10, this->level) > 8) {
- this->o_ptr->name2 = EgoType::AMU_RES_ELEC_;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_ELEC_;
break;
}
- this->o_ptr->name2 = EgoType::AMU_RES_ELEC;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_ELEC;
break;
case 15:
if (k_ptr->flags.has(TR_RES_ACID)) {
}
if (m_bonus(10, this->level) > 8) {
- this->o_ptr->name2 = EgoType::AMU_RES_ACID_;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_ACID_;
break;
}
- this->o_ptr->name2 = EgoType::AMU_RES_ACID;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_ACID;
break;
case 16:
case 17:
switch (this->o_ptr->sval) {
case SV_AMULET_TELEPORT:
if (m_bonus(10, this->level) > 9) {
- this->o_ptr->name2 = EgoType::AMU_D_DOOR;
+ this->o_ptr->ego_idx = EgoType::AMU_D_DOOR;
break;
}
if (one_in_(2)) {
- this->o_ptr->name2 = EgoType::AMU_JUMP;
+ this->o_ptr->ego_idx = EgoType::AMU_JUMP;
break;
}
- this->o_ptr->name2 = EgoType::AMU_TELEPORT;
+ this->o_ptr->ego_idx = EgoType::AMU_TELEPORT;
break;
case SV_AMULET_RESIST_ACID:
if ((m_bonus(10, this->level) > 6) && one_in_(2)) {
- this->o_ptr->name2 = EgoType::AMU_RES_ACID_;
+ this->o_ptr->ego_idx = EgoType::AMU_RES_ACID_;
}
break;
case SV_AMULET_SEARCHING:
- this->o_ptr->name2 = EgoType::AMU_STEALTH;
+ this->o_ptr->ego_idx = EgoType::AMU_STEALTH;
break;
case SV_AMULET_BRILLIANCE:
if (!one_in_(3)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_IDENT;
+ this->o_ptr->ego_idx = EgoType::AMU_IDENT;
break;
case SV_AMULET_CHARISMA:
if (!one_in_(3)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_CHARM;
+ this->o_ptr->ego_idx = EgoType::AMU_CHARM;
break;
case SV_AMULET_THE_MAGI:
if (one_in_(2)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_GREAT;
+ this->o_ptr->ego_idx = EgoType::AMU_GREAT;
break;
case SV_AMULET_RESISTANCE:
if (!one_in_(5)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_DEFENDER;
+ this->o_ptr->ego_idx = EgoType::AMU_DEFENDER;
break;
case SV_AMULET_TELEPATHY:
if (!one_in_(3)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_DETECTION;
+ this->o_ptr->ego_idx = EgoType::AMU_DETECTION;
break;
default:
break;
break;
}
- this->o_ptr->name2 = EgoType::AMU_DRAIN_EXP;
+ this->o_ptr->ego_idx = EgoType::AMU_DRAIN_EXP;
break;
case 2:
- this->o_ptr->name2 = EgoType::AMU_FOOL;
+ this->o_ptr->ego_idx = EgoType::AMU_FOOL;
break;
case 3:
if (k_ptr->flags.has(TR_AGGRAVATE)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_AGGRAVATE;
+ this->o_ptr->ego_idx = EgoType::AMU_AGGRAVATE;
break;
case 4:
if (k_ptr->flags.has(TR_TY_CURSE)) {
break;
}
- this->o_ptr->name2 = EgoType::AMU_TY_CURSE;
+ this->o_ptr->ego_idx = EgoType::AMU_TY_CURSE;
break;
case 5:
- this->o_ptr->name2 = EgoType::AMU_NAIVETY;
+ this->o_ptr->ego_idx = EgoType::AMU_NAIVETY;
break;
}
}
{
while (true) {
auto okay_flag = true;
- this->o_ptr->name2 = get_random_ego(INVEN_LITE, true);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_LITE, true);
+ switch (this->o_ptr->ego_idx) {
case EgoType::LITE_LONG:
if (this->o_ptr->sval == SV_LITE_FEANOR) {
okay_flag = false;
void LiteEnchanter::give_cursed()
{
- this->o_ptr->name2 = get_random_ego(INVEN_LITE, false);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_LITE, false);
+ switch (this->o_ptr->ego_idx) {
case EgoType::LITE_DARKNESS:
this->o_ptr->fuel = 0;
this->add_dark_flag();
switch (randint1(28)) {
case 1:
case 2:
- this->o_ptr->name2 = EgoType::RING_THROW;
+ this->o_ptr->ego_idx = EgoType::RING_THROW;
break;
case 3:
case 4:
break;
}
- this->o_ptr->name2 = EgoType::RING_REGEN;
+ this->o_ptr->ego_idx = EgoType::RING_REGEN;
break;
case 5:
case 6:
break;
}
- this->o_ptr->name2 = EgoType::RING_LITE;
+ this->o_ptr->ego_idx = EgoType::RING_LITE;
break;
case 7:
case 8:
break;
}
- this->o_ptr->name2 = EgoType::RING_TELEPORT;
+ this->o_ptr->ego_idx = EgoType::RING_TELEPORT;
break;
case 9:
case 10:
break;
}
- this->o_ptr->name2 = EgoType::RING_TO_H;
+ this->o_ptr->ego_idx = EgoType::RING_TO_H;
break;
case 11:
case 12:
break;
}
- this->o_ptr->name2 = EgoType::RING_TO_D;
+ this->o_ptr->ego_idx = EgoType::RING_TO_D;
break;
case 13:
if ((this->o_ptr->to_h) || (this->o_ptr->to_d)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_SLAY;
+ this->o_ptr->ego_idx = EgoType::RING_SLAY;
break;
case 14:
if ((k_ptr->flags.has(TR_STR)) || this->o_ptr->to_h || this->o_ptr->to_d) {
break;
}
- this->o_ptr->name2 = EgoType::RING_WIZARD;
+ this->o_ptr->ego_idx = EgoType::RING_WIZARD;
break;
case 15:
if (k_ptr->flags.has(TR_ACTIVATE)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_HERO;
+ this->o_ptr->ego_idx = EgoType::RING_HERO;
break;
case 16:
if (k_ptr->flags.has(TR_ACTIVATE)) {
}
if (tmp > 8) {
- this->o_ptr->name2 = EgoType::RING_MANA_BALL;
+ this->o_ptr->ego_idx = EgoType::RING_MANA_BALL;
break;
}
if (tmp > 4) {
- this->o_ptr->name2 = EgoType::RING_MANA_BOLT;
+ this->o_ptr->ego_idx = EgoType::RING_MANA_BOLT;
break;
}
- this->o_ptr->name2 = EgoType::RING_MAGIC_MIS;
+ this->o_ptr->ego_idx = EgoType::RING_MAGIC_MIS;
break;
case 17:
if (k_ptr->flags.has(TR_ACTIVATE)) {
}
if (tmp > 7) {
- this->o_ptr->name2 = EgoType::RING_DRAGON_F;
+ this->o_ptr->ego_idx = EgoType::RING_DRAGON_F;
break;
}
if (tmp > 3) {
- this->o_ptr->name2 = EgoType::RING_FIRE_BALL;
+ this->o_ptr->ego_idx = EgoType::RING_FIRE_BALL;
break;
}
- this->o_ptr->name2 = EgoType::RING_FIRE_BOLT;
+ this->o_ptr->ego_idx = EgoType::RING_FIRE_BOLT;
break;
case 18:
if (k_ptr->flags.has(TR_ACTIVATE)) {
}
if (tmp > 7) {
- this->o_ptr->name2 = EgoType::RING_DRAGON_C;
+ this->o_ptr->ego_idx = EgoType::RING_DRAGON_C;
break;
}
if (tmp > 3) {
- this->o_ptr->name2 = EgoType::RING_COLD_BALL;
+ this->o_ptr->ego_idx = EgoType::RING_COLD_BALL;
break;
}
- this->o_ptr->name2 = EgoType::RING_COLD_BOLT;
+ this->o_ptr->ego_idx = EgoType::RING_COLD_BOLT;
break;
case 19:
if (k_ptr->flags.has(TR_ACTIVATE)) {
}
if (tmp > 4) {
- this->o_ptr->name2 = EgoType::RING_ELEC_BALL;
+ this->o_ptr->ego_idx = EgoType::RING_ELEC_BALL;
break;
}
- this->o_ptr->name2 = EgoType::RING_ELEC_BOLT;
+ this->o_ptr->ego_idx = EgoType::RING_ELEC_BOLT;
break;
case 20:
if (k_ptr->flags.has(TR_ACTIVATE)) {
}
if (tmp > 4) {
- this->o_ptr->name2 = EgoType::RING_ACID_BALL;
+ this->o_ptr->ego_idx = EgoType::RING_ACID_BALL;
break;
}
- this->o_ptr->name2 = EgoType::RING_ACID_BOLT;
+ this->o_ptr->ego_idx = EgoType::RING_ACID_BOLT;
break;
case 21:
case 22:
break;
}
- this->o_ptr->name2 = EgoType::RING_D_SPEED;
+ this->o_ptr->ego_idx = EgoType::RING_D_SPEED;
break;
case SV_RING_DAMAGE:
case SV_RING_ACCURACY:
}
if (one_in_(2)) {
- this->o_ptr->name2 = EgoType::RING_HERO;
+ this->o_ptr->ego_idx = EgoType::RING_HERO;
break;
}
- this->o_ptr->name2 = EgoType::RING_BERSERKER;
+ this->o_ptr->ego_idx = EgoType::RING_BERSERKER;
this->o_ptr->to_h -= 2 + randint1(4);
this->o_ptr->to_d += 2 + randint1(4);
break;
case SV_RING_PROTECTION:
- this->o_ptr->name2 = EgoType::RING_SUPER_AC;
+ this->o_ptr->ego_idx = EgoType::RING_SUPER_AC;
this->o_ptr->to_a += 7 + m_bonus(5, this->level);
break;
case SV_RING_RES_FEAR:
- this->o_ptr->name2 = EgoType::RING_HERO;
+ this->o_ptr->ego_idx = EgoType::RING_HERO;
break;
case SV_RING_SHOTS:
if (one_in_(2)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_HUNTER;
+ this->o_ptr->ego_idx = EgoType::RING_HUNTER;
break;
case SV_RING_SEARCHING:
- this->o_ptr->name2 = EgoType::RING_STEALTH;
+ this->o_ptr->ego_idx = EgoType::RING_STEALTH;
break;
case SV_RING_TELEPORTATION:
- this->o_ptr->name2 = EgoType::RING_TELE_AWAY;
+ this->o_ptr->ego_idx = EgoType::RING_TELE_AWAY;
break;
case SV_RING_RES_BLINDNESS:
- this->o_ptr->name2 = one_in_(2) ? EgoType::RING_RES_LITE : EgoType::RING_RES_DARK;
+ this->o_ptr->ego_idx = one_in_(2) ? EgoType::RING_RES_LITE : EgoType::RING_RES_DARK;
break;
case SV_RING_LORDLY:
if (!one_in_(20)) {
one_lordly_high_resistance(this->o_ptr);
one_lordly_high_resistance(this->o_ptr);
- this->o_ptr->name2 = EgoType::RING_TRUE;
+ this->o_ptr->ego_idx = EgoType::RING_TRUE;
break;
case SV_RING_FLAMES:
if (one_in_(2)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_DRAGON_F;
+ this->o_ptr->ego_idx = EgoType::RING_DRAGON_F;
break;
case SV_RING_ICE:
if (one_in_(2)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_DRAGON_C;
+ this->o_ptr->ego_idx = EgoType::RING_DRAGON_C;
break;
case SV_RING_WARNING:
if (one_in_(2)) {
break;
}
- this->o_ptr->name2 = EgoType::RING_M_DETECT;
+ this->o_ptr->ego_idx = EgoType::RING_M_DETECT;
break;
default:
break;
case 1:
if (k_ptr->flags.has(TR_DRAIN_EXP))
break;
- this->o_ptr->name2 = EgoType::RING_DRAIN_EXP;
+ this->o_ptr->ego_idx = EgoType::RING_DRAIN_EXP;
break;
case 2:
- this->o_ptr->name2 = EgoType::RING_NO_MELEE;
+ this->o_ptr->ego_idx = EgoType::RING_NO_MELEE;
break;
case 3:
if (k_ptr->flags.has(TR_AGGRAVATE))
break;
- this->o_ptr->name2 = EgoType::RING_AGGRAVATE;
+ this->o_ptr->ego_idx = EgoType::RING_AGGRAVATE;
break;
case 4:
if (k_ptr->flags.has(TR_TY_CURSE))
break;
- this->o_ptr->name2 = EgoType::RING_TY_CURSE;
+ this->o_ptr->ego_idx = EgoType::RING_TY_CURSE;
break;
case 5:
- this->o_ptr->name2 = EgoType::RING_ALBINO;
+ this->o_ptr->ego_idx = EgoType::RING_ALBINO;
break;
}
}
while (true) {
auto valid = true;
- this->o_ptr->name2 = get_random_ego(INVEN_BODY, true);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_BODY, true);
+ switch (this->o_ptr->ego_idx) {
case EgoType::DWARVEN:
if (this->o_ptr->tval != ItemKindType::HARD_ARMOR) {
valid = false;
this->is_high_ego_generated = true;
auto ego_robe = one_in_(5);
- this->o_ptr->name2 = ego_robe ? EgoType::TWILIGHT : EgoType::PERMANENCE;
+ this->o_ptr->ego_idx = ego_robe ? EgoType::TWILIGHT : EgoType::PERMANENCE;
if (!ego_robe) {
return;
}
void ArmorEnchanter::give_cursed()
{
- this->o_ptr->name2 = get_random_ego(INVEN_BODY, false);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_BODY, false);
+ switch (this->o_ptr->ego_idx) {
case EgoType::A_DEMON:
case EgoType::A_MORGUL:
return;
return;
}
- this->o_ptr->name2 = get_random_ego(INVEN_FEET, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_FEET, true);
return;
}
if (this->power < -1) {
- this->o_ptr->name2 = get_random_ego(INVEN_FEET, false);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_FEET, false);
}
}
return;
}
- this->o_ptr->name2 = get_random_ego(INVEN_OUTER, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_OUTER, true);
return;
}
if (this->power < -1) {
- this->o_ptr->name2 = get_random_ego(INVEN_OUTER, false);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_OUTER, false);
}
}
}
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_HEAD, true);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_HEAD, true);
+ switch (this->o_ptr->ego_idx) {
case EgoType::TELEPATHY:
case EgoType::MAGI:
case EgoType::MIGHT:
void CrownEnchanter::give_cursed()
{
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_HEAD, false);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_HEAD, false);
+ switch (this->o_ptr->ego_idx) {
case EgoType::H_DEMON:
return;
default:
return;
}
- this->o_ptr->name2 = get_random_ego(INVEN_ARMS, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_ARMS, true);
return;
}
if (this->power < -1) {
- this->o_ptr->name2 = get_random_ego(INVEN_ARMS, false);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_ARMS, false);
}
}
}
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_HEAD, true);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_HEAD, true);
+ switch (this->o_ptr->ego_idx) {
case EgoType::BRILLIANCE:
case EgoType::DARK:
case EgoType::INFRAVISION:
void HelmEnchanter::give_cursed()
{
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_HEAD, false);
- switch (this->o_ptr->name2) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_HEAD, false);
+ switch (this->o_ptr->ego_idx) {
case EgoType::ANCIENT_CURSE:
return;
default:
void ShieldEnchanter::give_ego_index()
{
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_SUB_HAND, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_SUB_HAND, true);
auto is_metal = this->o_ptr->sval == SV_SMALL_METAL_SHIELD;
is_metal |= this->o_ptr->sval == SV_LARGE_METAL_SHIELD;
- if (!is_metal && (this->o_ptr->name2 == EgoType::S_DWARVEN)) {
+ if (!is_metal && (this->o_ptr->ego_idx == EgoType::S_DWARVEN)) {
continue;
}
break;
}
- switch (this->o_ptr->name2) {
+ switch (this->o_ptr->ego_idx) {
case EgoType::REFLECTION:
if (this->o_ptr->sval == SV_MIRROR_SHIELD) {
- this->o_ptr->name2 = EgoType::NONE;
+ this->o_ptr->ego_idx = EgoType::NONE;
}
return;
if ((this->power > 2) || one_in_(30))
become_random_artifact(this->player_ptr, this->o_ptr, false);
else
- this->o_ptr->name2 = EgoType::DIGGING;
+ this->o_ptr->ego_idx = EgoType::DIGGING;
} else if (this->power < -1) {
this->o_ptr->pval = 0 - (5 + randint1(5));
} else if (this->power < 0) {
}
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_MAIN_HAND, true);
- if (this->o_ptr->name2 == EgoType::SHARPNESS && this->o_ptr->tval != ItemKindType::SWORD) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_MAIN_HAND, true);
+ if (this->o_ptr->ego_idx == EgoType::SHARPNESS && this->o_ptr->tval != ItemKindType::SWORD) {
continue;
}
- if (this->o_ptr->name2 == EgoType::EARTHQUAKES && this->o_ptr->tval != ItemKindType::HAFTED) {
+ if (this->o_ptr->ego_idx == EgoType::EARTHQUAKES && this->o_ptr->tval != ItemKindType::HAFTED) {
continue;
}
break;
}
- switch (this->o_ptr->name2) {
+ switch (this->o_ptr->ego_idx) {
case EgoType::SHARPNESS:
this->o_ptr->pval = (PARAMETER_VALUE)m_bonus(5, this->level) + 1;
break;
if (randint0(MAX_DEPTH) < this->level) {
auto n = 0;
while (true) {
- this->o_ptr->name2 = get_random_ego(INVEN_MAIN_HAND, false);
- if (this->o_ptr->name2 == EgoType::WEIRD && this->o_ptr->tval != ItemKindType::SWORD) {
+ this->o_ptr->ego_idx = get_random_ego(INVEN_MAIN_HAND, false);
+ if (this->o_ptr->ego_idx == EgoType::WEIRD && this->o_ptr->tval != ItemKindType::SWORD) {
continue;
}
- auto *e_ptr = &e_info[this->o_ptr->name2];
+ auto *e_ptr = &e_info[this->o_ptr->ego_idx];
if (this->o_ptr->tval == ItemKindType::SWORD && this->o_ptr->sval == SV_HAYABUSA && e_ptr->max_pval < 0) {
if (++n > 1000) {
msg_print(_("エラー:隼の剣に割り当てるエゴ無し", "Error: Cannot find for Hayabusa."));
break;
}
- this->o_ptr->name2 = get_random_ego(INVEN_BOW, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_BOW, true);
}
break;
break;
}
- this->o_ptr->name2 = get_random_ego(INVEN_AMMO, true);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_AMMO, true);
while (one_in_(10L * this->o_ptr->dd * this->o_ptr->ds)) {
this->o_ptr->dd++;
}
if (this->power < -1) {
if (randint0(MAX_DEPTH) < this->level) {
- this->o_ptr->name2 = get_random_ego(INVEN_AMMO, false);
+ this->o_ptr->ego_idx = get_random_ego(INVEN_AMMO, false);
}
}
if (o_ptr->is_fixed_artifact() || (o_ptr->sval == SV_LITE_FEANOR) || (o_ptr->fuel <= 0))
return;
- if (o_ptr->name2 == EgoType::LITE_LONG) {
+ if (o_ptr->ego_idx == EgoType::LITE_LONG) {
if (w_ptr->game_turn % (TURNS_PER_TICK * 2))
o_ptr->fuel--;
} else
msg_print(_("明かりが消えてしまった!", "Your light has gone out!"));
player_ptr->update |= (PU_TORCH);
player_ptr->update |= (PU_BONUS);
- } else if (o_ptr->name2 == EgoType::LITE_LONG) {
+ } else if (o_ptr->ego_idx == EgoType::LITE_LONG) {
if ((o_ptr->fuel < 50) && (!(o_ptr->fuel % 5)) && (w_ptr->game_turn % (TURNS_PER_TICK * 2))) {
if (disturb_minor)
disturb(player_ptr, false, true);
return;
}
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
flgs.set(e_ptr->flags);
auto is_out_of_fuel = o_ptr->fuel == 0;
- if ((o_ptr->name2 == EgoType::AURA_FIRE) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
+ if ((o_ptr->ego_idx == EgoType::AURA_FIRE) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
flgs.reset(TR_SH_FIRE);
return;
}
- if ((o_ptr->name2 == EgoType::LITE_INFRA) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
+ if ((o_ptr->ego_idx == EgoType::LITE_INFRA) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
flgs.reset(TR_INFRA);
return;
}
- if ((o_ptr->name2 == EgoType::LITE_EYE) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
+ if ((o_ptr->ego_idx == EgoType::LITE_EYE) && is_out_of_fuel && (o_ptr->sval <= SV_LITE_LANTERN)) {
flgs.reset(TR_RES_BLIND);
flgs.reset(TR_SEE_INVIS);
}
auto *a_ptr = &a_info[o_ptr->fixed_artifact_idx];
flgs.reset(a_ptr->flags);
} else if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
flgs.reset(e_ptr->flags);
}
value += flag_cost(o_ptr, o_ptr->pval);
return value;
} else if (o_ptr->is_ego()) {
- auto *e_ptr = &e_info[o_ptr->name2];
+ auto *e_ptr = &e_info[o_ptr->ego_idx];
if (!e_ptr->cost)
return 0;
if (flgs.has(TR_LITE_M3))
rad -= 3;
- if (o_ptr->name2 == EgoType::LITE_SHINE)
+ if (o_ptr->ego_idx == EgoType::LITE_SHINE)
rad++;
if (flgs.has(TR_LITE_FUEL) && flgs.has_not(TR_DARK_SOURCE)) {
if (rad != 0)
info[i++] = desc;
- if (o_ptr->name2 == EgoType::LITE_LONG) {
+ if (o_ptr->ego_idx == EgoType::LITE_LONG) {
info[i++] = _("それは長いターン明かりを授ける。", "It provides light for much longer time.");
}
level = (level + std::max(a_info[o_ptr->fixed_artifact_idx].level - 8, 5)) / 2;
level += std::min(20, a_info[o_ptr->fixed_artifact_idx].rarity / (a_info[o_ptr->fixed_artifact_idx].gen_flags.has(ItemGenerationTraitType::INSTA_ART) ? 10 : 3));
} else if (o_ptr->is_ego()) {
- level += std::max(3, (e_info[o_ptr->name2].rating - 5) / 2);
+ level += std::max(3, (e_info[o_ptr->ego_idx].rating - 5) / 2);
} else if (o_ptr->art_name) {
int32_t total_flags = flag_cost(o_ptr, o_ptr->pval);
int fake_level;
set_bits(*flags, SaveDataItemFlagType::FIXED_ARTIFACT_IDX);
if (o_ptr->is_ego())
- set_bits(*flags, SaveDataItemFlagType::NAME2);
+ set_bits(*flags, SaveDataItemFlagType::EGO_IDX);
if (o_ptr->timeout)
set_bits(*flags, SaveDataItemFlagType::TIMEOUT);
if (any_bits(flags, SaveDataItemFlagType::FIXED_ARTIFACT_IDX))
wr_s16b(o_ptr->fixed_artifact_idx);
- if (any_bits(flags, SaveDataItemFlagType::NAME2))
- wr_byte((byte)o_ptr->name2);
+ if (any_bits(flags, SaveDataItemFlagType::EGO_IDX))
+ wr_byte((byte)o_ptr->ego_idx);
if (any_bits(flags, SaveDataItemFlagType::TIMEOUT))
wr_s16b(o_ptr->timeout);
if (!o_ptr->k_idx)
continue;
- if (o_ptr->name2 == EgoType::LITE_SHINE)
+ if (o_ptr->ego_idx == EgoType::LITE_SHINE)
player_ptr->cur_lite++;
if (flgs.has_not(TR_DARK_SOURCE)) {
#else
msg_format("%s %s shine%s!", ((item >= 0) ? "Your" : "The"), o_name, ((o_ptr->number > 1) ? "" : "s"));
#endif
- o_ptr->name2 = EgoType::REFLECTION;
+ o_ptr->ego_idx = EgoType::REFLECTION;
enchant_equipment(player_ptr, o_ptr, randint0(3) + 4, ENCH_TOAC);
o_ptr->discount = 99;
chg_virtue(player_ptr, V_ENCHANT, 2);
/* Blast the armor */
o_ptr->fixed_artifact_idx = 0;
- o_ptr->name2 = EgoType::BLASTED;
+ o_ptr->ego_idx = EgoType::BLASTED;
o_ptr->to_a = 0 - randint1(5) - randint1(5);
o_ptr->to_h = 0;
o_ptr->to_d = 0;
/* Shatter the weapon */
o_ptr->fixed_artifact_idx = 0;
- o_ptr->name2 = EgoType::SHATTERED;
+ o_ptr->ego_idx = EgoType::SHATTERED;
o_ptr->to_h = 0 - randint1(5) - randint1(5);
o_ptr->to_d = 0 - randint1(5) - randint1(5);
o_ptr->to_a = 0;
msg_print(_("クロスボウの矢が炎のオーラに包まれた!", "Your bolts are covered in a fiery aura!"));
/* Ego-item */
- o_ptr->name2 = EgoType::FLAME;
+ o_ptr->ego_idx = EgoType::FLAME;
enchant_equipment(player_ptr, o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
return;
}
if (o_ptr->tval == ItemKindType::SWORD) {
act = _("は鋭さを増した!", "becomes very sharp!");
- o_ptr->name2 = EgoType::SHARPNESS;
+ o_ptr->ego_idx = EgoType::SHARPNESS;
o_ptr->pval = (PARAMETER_VALUE)m_bonus(5, player_ptr->current_floor_ptr->dun_level) + 1;
if ((o_ptr->sval == SV_HAYABUSA) && (o_ptr->pval > 2))
o_ptr->pval = 2;
} else {
act = _("は破壊力を増した!", "seems very powerful.");
- o_ptr->name2 = EgoType::EARTHQUAKES;
+ o_ptr->ego_idx = EgoType::EARTHQUAKES;
o_ptr->pval = (PARAMETER_VALUE)m_bonus(3, player_ptr->current_floor_ptr->dun_level);
}
break;
case 16:
act = _("は人間の血を求めている!", "seems to be looking for humans!");
- o_ptr->name2 = EgoType::KILL_HUMAN;
+ o_ptr->ego_idx = EgoType::KILL_HUMAN;
break;
case 15:
act = _("は電撃に覆われた!", "covered with lightning!");
- o_ptr->name2 = EgoType::BRAND_ELEC;
+ o_ptr->ego_idx = EgoType::BRAND_ELEC;
break;
case 14:
act = _("は酸に覆われた!", "coated with acid!");
- o_ptr->name2 = EgoType::BRAND_ACID;
+ o_ptr->ego_idx = EgoType::BRAND_ACID;
break;
case 13:
act = _("は邪悪なる怪物を求めている!", "seems to be looking for evil monsters!");
- o_ptr->name2 = EgoType::KILL_EVIL;
+ o_ptr->ego_idx = EgoType::KILL_EVIL;
break;
case 12:
act = _("は異世界の住人の肉体を求めている!", "seems to be looking for demons!");
- o_ptr->name2 = EgoType::KILL_DEMON;
+ o_ptr->ego_idx = EgoType::KILL_DEMON;
break;
case 11:
act = _("は屍を求めている!", "seems to be looking for undead!");
- o_ptr->name2 = EgoType::KILL_UNDEAD;
+ o_ptr->ego_idx = EgoType::KILL_UNDEAD;
break;
case 10:
act = _("は動物の血を求めている!", "seems to be looking for animals!");
- o_ptr->name2 = EgoType::KILL_ANIMAL;
+ o_ptr->ego_idx = EgoType::KILL_ANIMAL;
break;
case 9:
act = _("はドラゴンの血を求めている!", "seems to be looking for dragons!");
- o_ptr->name2 = EgoType::KILL_DRAGON;
+ o_ptr->ego_idx = EgoType::KILL_DRAGON;
break;
case 8:
act = _("はトロルの血を求めている!", "seems to be looking for troll!s");
- o_ptr->name2 = EgoType::KILL_TROLL;
+ o_ptr->ego_idx = EgoType::KILL_TROLL;
break;
case 7:
act = _("はオークの血を求めている!", "seems to be looking for orcs!");
- o_ptr->name2 = EgoType::KILL_ORC;
+ o_ptr->ego_idx = EgoType::KILL_ORC;
break;
case 6:
act = _("は巨人の血を求めている!", "seems to be looking for giants!");
- o_ptr->name2 = EgoType::KILL_GIANT;
+ o_ptr->ego_idx = EgoType::KILL_GIANT;
break;
case 5:
act = _("は非常に不安定になったようだ。", "seems very unstable now.");
- o_ptr->name2 = EgoType::TRUMP;
+ o_ptr->ego_idx = EgoType::TRUMP;
o_ptr->pval = randint1(2);
break;
case 4:
act = _("は血を求めている!", "thirsts for blood!");
- o_ptr->name2 = EgoType::VAMPIRIC;
+ o_ptr->ego_idx = EgoType::VAMPIRIC;
break;
case 3:
act = _("は毒に覆われた。", "is coated with poison.");
- o_ptr->name2 = EgoType::BRAND_POIS;
+ o_ptr->ego_idx = EgoType::BRAND_POIS;
break;
case 2:
act = _("は純ログルスに飲み込まれた。", "is engulfed in raw Logrus!");
- o_ptr->name2 = EgoType::CHAOTIC;
+ o_ptr->ego_idx = EgoType::CHAOTIC;
break;
case 1:
act = _("は炎のシールドに覆われた!", "is covered in a fiery shield!");
- o_ptr->name2 = EgoType::BRAND_FIRE;
+ o_ptr->ego_idx = EgoType::BRAND_FIRE;
break;
default:
act = _("は深く冷たいブルーに輝いた!", "glows deep, icy blue!");
- o_ptr->name2 = EgoType::BRAND_COLD;
+ o_ptr->ego_idx = EgoType::BRAND_COLD;
break;
}
if (o_ptr->to_a != j_ptr->to_a)
return false;
- if (o_ptr->name2 != j_ptr->name2)
+ if (o_ptr->ego_idx != j_ptr->ego_idx)
return false;
if (o_ptr->is_artifact() || j_ptr->is_artifact())
*/
bool ObjectType::is_ego() const
{
- return this->name2 != EgoType::NONE;
+ return this->ego_idx != EgoType::NONE;
}
/*!
return false;
}
- if (this->name2 != j_ptr->name2) {
+ if (this->ego_idx != j_ptr->ego_idx) {
return false;
}
ITEM_NUMBER number{}; /*!< Number of items */
WEIGHT weight{}; /*!< Item weight */
ARTIFACT_IDX fixed_artifact_idx{}; /*!< Artifact type, if any */
- EgoType name2{}; /*!< Ego-Item type, if any */
+ EgoType ego_idx{}; /*!< Ego-Item type, if any */
RandomArtActType activation_id{}; /*!< エゴ/アーティファクトの発動ID / Extra info activation index */
byte chest_level = 0; /*!< 箱の中身レベル */
if (flgs.has(TR_LITE_M3))
rad -= 3;
- if (o_ptr->name2 == EgoType::LITE_SHINE)
+ if (o_ptr->ego_idx == EgoType::LITE_SHINE)
rad++;
if (flgs.has(TR_LITE_FUEL)) {
prt(format("kind = %-5d level = %-4d tval = %-5d sval = %-5d", o_ptr->k_idx, k_info[o_ptr->k_idx].level, o_ptr->tval, o_ptr->sval), line, j);
prt(format("number = %-3d wgt = %-6d ac = %-5d damage = %dd%d", o_ptr->number, o_ptr->weight, o_ptr->ac, o_ptr->dd, o_ptr->ds), ++line, j);
prt(format("pval = %-5d toac = %-5d tohit = %-4d todam = %-4d", o_ptr->pval, o_ptr->to_a, o_ptr->to_h, o_ptr->to_d), ++line, j);
- prt(format("name1 = %-4d name2 = %-4d cost = %ld", o_ptr->fixed_artifact_idx, o_ptr->name2, (long)object_value_real(o_ptr)), ++line, j);
+ prt(format("name1 = %-4d name2 = %-4d cost = %ld", o_ptr->fixed_artifact_idx, o_ptr->ego_idx, (long)object_value_real(o_ptr)), ++line, j);
prt(format("ident = %04x activation_id = %-4d timeout = %-d", o_ptr->ident, o_ptr->activation_id, o_ptr->timeout), ++line, j);
prt(format("chest_level = %-4d fuel = %-d", o_ptr->chest_level, o_ptr->fuel), ++line, j);
prt(format("smith_hit = %-4d smith_damage = %-4d", o_ptr->smith_hit, o_ptr->smith_damage), ++line, j);
if (must || ok_ego) {
if (e_ids.size() > 0) {
o_ptr->prep(k_idx);
- o_ptr->name2 = e_ids[0];
+ o_ptr->ego_idx = e_ids[0];
apply_ego(o_ptr, player_ptr->current_floor_ptr->base_level);
} else {
int max_roll = 1000;
EgoType e_idx = EgoType::NONE;
for (auto e : e_ids) {
- if (o_ptr->name2 == e) {
+ if (o_ptr->ego_idx == e) {
e_idx = e;
break;
}