# Single - Elemental Ego remaked as of Dwarven / of Olog
-# 4 (unused)
-# 5 (unused)
+
+N:4:¥â¥ë¥°¥ë¤Î
+E:of Morgul
+X:31:30
+W:0:30:0:10000
+C:0:0:10:3
+F:INT | WIS |
+F:RES_COLD | RES_POIS | RES_NETHER | SH_COLD | ESP_UNDEAD
+F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | XTRA_H_RES
+F:CURSED | RANDOM_CURSE2 | ADD_L_CURSE | DRAIN_EXP
+
+# 5(unused)
N:6:¥É¥ë¥¤¥É¤Î
E:of Druid
X:24:0
W:0:36:0:0
C:20:20:10:0
-F:SEE_INVIS | AGGRAVATE | HEAVY_CURSE | CURSED | SH_COLD |
+F:SEE_INVIS | AGGRAVATE | CURSED | SH_COLD |
F:SLAY_UNDEAD | SLAY_HUMAN | BRAND_POIS | ESP_UNDEAD |
F:RES_COLD | RES_NETHER |
F:RANDOM_CURSE2 | XTRA_DICE
{
case EGO_MORGUL:
if (one_in_(6)) add_flag(o_ptr->art_flags, TR_TY_CURSE);
+ if (one_in_(3)) o_ptr->curse_flags |= (TRC_HEAVY_CURSE);
case EGO_WEIRD:
if (one_in_(4)) add_flag(o_ptr->art_flags, TR_BRAND_POIS);
if (one_in_(4)) add_flag(o_ptr->art_flags, TR_RES_NETHER);
switch (o_ptr->name2)
{
- case EGO_RESISTANCE:
- if (one_in_(4))
- add_flag(o_ptr->art_flags, TR_RES_POIS);
- break;
- case EGO_ELVENKIND:
- case EGO_URUKISH:
- break;
- case EGO_DWARVEN:
+ case EGO_DWARVEN:
if (o_ptr->tval != TV_HARD_ARMOR)
{
okay_flag = FALSE;
break;
}
- else
- {
- o_ptr->weight = (2 * k_info[o_ptr->k_idx].weight / 3);
- o_ptr->ac = k_info[o_ptr->k_idx].ac + 5;
- break;
- }
- case EGO_DRUID:
+ case EGO_DRUID:
if (o_ptr->tval != TV_SOFT_ARMOR)
{
okay_flag = FALSE;
break;
}
- else
- {
- break;
- }
+ default:
+ break;
}
if (okay_flag)
break;
}
+ switch (o_ptr->name2)
+ {
+ case EGO_RESISTANCE:
+ if (one_in_(4))
+ add_flag(o_ptr->art_flags, TR_RES_POIS);
+ break;
+ case EGO_DWARVEN:
+ o_ptr->weight = (2 * k_info[o_ptr->k_idx].weight / 3);
+ o_ptr->ac = k_info[o_ptr->k_idx].ac + 5;
+ break;
+ case EGO_A_MORGUL:
+ if(one_in_(3)) o_ptr->curse_flags |= (TRC_HEAVY_CURSE);
+ if(one_in_(6)) add_flag(o_ptr->art_flags, TR_TY_CURSE);
+ if(one_in_(4)) add_flag(o_ptr->art_flags, TR_ADD_H_CURSE);
+ if(one_in_(4)) add_flag(o_ptr->art_flags, TR_AGGRAVATE);
+ if(one_in_(6)) add_flag(o_ptr->art_flags, TR_NO_MAGIC);
+ if(one_in_(6)) add_flag(o_ptr->art_flags, TR_NO_TELE);
+ break;
+ default:
+ break;
+ }
}
break;
{
o_ptr->pval += randint1(e_ptr->max_pval);
}
+
+
}
if ((o_ptr->name2 == EGO_SPEED) && (lev < 50))
{