From ca2fb231524fde7d4ff982283a2be88e83067ab4 Mon Sep 17 00:00:00 2001 From: dis- Date: Wed, 22 May 2013 14:21:22 +0000 Subject: [PATCH] Add Shiled Ego, of Dwarven. --- lib/edit/e_info.txt | 10 +++++++++- src/defines.h | 3 ++- src/object2.c | 17 ++++++++++++++++- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/edit/e_info.txt b/lib/edit/e_info.txt index 9ccc8178e..6c24eff6a 100644 --- a/lib/edit/e_info.txt +++ b/lib/edit/e_info.txt @@ -200,6 +200,14 @@ W:0:18:0:600 C:0:0:15:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD +N:239:¥É¥ï¡¼¥Õ¤Î +E:of Dwarven +X:25:20 +W:0:15:0:2000 +C:0:0:8:2 +F:CON| +F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | XTRA_E_RES + ### Crowns and Helms ### N:23:°Ç¤Î @@ -1480,5 +1488,5 @@ W:29:0:0:0 C:0:0:0:3 F:WIS | CHR | CURSED | HEAVY_CURSE -# MAX 238 +# MAX 239 diff --git a/src/defines.h b/src/defines.h index e75627c64..6243d0353 100644 --- a/src/defines.h +++ b/src/defines.h @@ -1574,6 +1574,7 @@ #define EGO_REFLECTION 21 #define EGO_NIGHT_DAY 22 #define EGO_S_PROTECTION 238 +#define EGO_S_DWARVEN 239 /* Crowns and Helms */ #define EGO_DARK 23 @@ -1771,7 +1772,7 @@ #define EGO_AMU_GREAT 235 #define EGO_AMU_DETECTION 236 #define EGO_AMU_NAIVETY 237 -// MAX 238 +// MAX 239 /* Activation effects for random artifacts */ #define ACT_SUNLIGHT 1 diff --git a/src/object2.c b/src/object2.c index 454e937bf..a22178dfa 100644 --- a/src/object2.c +++ b/src/object2.c @@ -2737,7 +2737,17 @@ static void a_m_aux_2(object_type *o_ptr, int level, int power) create_artifact(o_ptr, FALSE); break; } - o_ptr->name2 = get_random_ego(INVEN_LARM, TRUE); + + while(1) + { + o_ptr->name2 = get_random_ego(INVEN_LARM, TRUE); + if (o_ptr->sval != SV_SMALL_METAL_SHIELD && o_ptr->sval != SV_LARGE_METAL_SHIELD + && o_ptr->name2 == EGO_S_DWARVEN) + { + continue; + } + break; + } switch (o_ptr->name2) { @@ -2749,6 +2759,11 @@ static void a_m_aux_2(object_type *o_ptr, int level, int power) if (o_ptr->sval == SV_MIRROR_SHIELD) o_ptr->name2 = 0; break; + + case EGO_S_DWARVEN: + o_ptr->weight = (2 * k_info[o_ptr->k_idx].weight / 3); + o_ptr->ac = k_info[o_ptr->k_idx].ac + 3; + break; } } break; -- 2.11.0