From 8c269bce318e5179aa5c6586c406841e3ffcd877 Mon Sep 17 00:00:00 2001 From: dis- Date: Mon, 10 Jun 2013 11:12:01 +0000 Subject: [PATCH] Demon Weapon/Armor have TR_CALL_DEMON at 1/5. --- src/dungeon.c | 29 ++++++++++++++++++++++++++--- src/object2.c | 2 ++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/dungeon.c b/src/dungeon.c index ee1e482cc..d02e03dba 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -1519,8 +1519,20 @@ static object_type *choose_cursed_obj_name(u32b flag) choices[number] = i; number++; } - else if ((flag == TRC_ADD_L_CURSE) || (flag == TRC_ADD_H_CURSE) || - (flag == TRC_DRAIN_HP) || (flag == TRC_DRAIN_MANA) ) + else if ((flag == TRC_ADD_L_CURSE) || + (flag == TRC_ADD_H_CURSE) || + (flag == TRC_DRAIN_HP) || + (flag == TRC_DRAIN_MANA) || + (flag == TRC_CALL_ANIMAL) || + (flag == TRC_CALL_DEMON) || + (flag == TRC_CALL_DRAGON) || + (flag == TRC_CALL_UNDEAD) || + (flag == TRC_COWARDICE) || + (flag == TRC_LOW_MELEE) || + (flag == TRC_LOW_AC) || + (flag == TRC_LOW_MAGIC) || + (flag == TRC_FAST_DIGEST) || + (flag == TRC_SLOW_REGEN) ) { u32b cf; u32b flgs[4]; @@ -1530,7 +1542,18 @@ static object_type *choose_cursed_obj_name(u32b flag) case TRC_ADD_L_CURSE : cf = TR_ADD_L_CURSE; break; case TRC_ADD_H_CURSE : cf = TR_ADD_H_CURSE; break; case TRC_DRAIN_HP : cf = TR_DRAIN_HP; break; - default : cf = TR_DRAIN_MANA; break; + case TRC_DRAIN_MANA : cf = TR_DRAIN_MANA; break; + case TRC_CALL_ANIMAL : cf = TR_CALL_ANIMAL; break; + case TRC_CALL_DEMON : cf = TR_CALL_DEMON; break; + case TRC_CALL_DRAGON : cf = TR_CALL_DRAGON; break; + case TRC_CALL_UNDEAD : cf = TR_CALL_UNDEAD; break; + case TRC_COWARDICE : cf = TR_COWARDICE; break; + case TRC_LOW_MELEE : cf = TR_LOW_MELEE; break; + case TRC_LOW_AC : cf = TR_LOW_AC; break; + case TRC_LOW_MAGIC : cf = TR_LOW_MAGIC; break; + case TRC_FAST_DIGEST : cf = TR_FAST_DIGEST; break; + case TRC_SLOW_REGEN : cf = TR_SLOW_REGEN; break; + default : break; } if (have_flag(flgs, cf)) { diff --git a/src/object2.c b/src/object2.c index adee12774..a1a7c7419 100644 --- a/src/object2.c +++ b/src/object2.c @@ -2417,6 +2417,7 @@ static void a_m_aux_1(object_type *o_ptr, int level, int power) if (one_in_(3)) add_flag(o_ptr->art_flags, TR_CHAOTIC); if (one_in_(4)) add_flag(o_ptr->art_flags, TR_BLOWS); if (one_in_(5)) add_flag(o_ptr->art_flags, TR_ADD_H_CURSE); + if (one_in_(5)) add_flag(o_ptr->art_flags, TR_CALL_DEMON); break; } @@ -2727,6 +2728,7 @@ static void a_m_aux_2(object_type *o_ptr, int level, int power) if (one_in_(5)) add_flag(o_ptr->art_flags, TR_DRAIN_MANA); if (one_in_(5)) add_flag(o_ptr->art_flags, TR_DRAIN_EXP); if (one_in_(5)) add_flag(o_ptr->art_flags, TR_TY_CURSE); + if (one_in_(5)) add_flag(o_ptr->art_flags, TR_CALL_DEMON); break; case EGO_A_MORGUL: if (one_in_(3)) o_ptr->curse_flags |= (TRC_HEAVY_CURSE); -- 2.11.0