OSDN Git Service

Add Cursed Helm ego -- of Demon
authordis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 12 Jun 2013 12:34:06 +0000 (12:34 +0000)
committerdis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 12 Jun 2013 12:34:06 +0000 (12:34 +0000)
lib/edit/e_info.txt
src/defines.h
src/object2.c

index 73293c9..9bab539 100644 (file)
@@ -247,13 +247,20 @@ W:0:18:0:500
 F:INT | WIS | CHR |  SUST_INT | SUST_WIS | SUST_CHR
 
 N:25:¼é¤ê¤Î
-E:of Brilliance
+E:of Protection
 X:33:20
 C:0:0:15:0
 W:0:20:0:2000
 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
 
-#26 unused
+N:26:°­Ëâ¤Î
+E:of Demon
+X:33:30
+C:0:0:10:3
+W:0:30:0:12000
+F:INT | SEE_INVIS |
+F:RES_FIRE | RES_NETHER | ESP_DEMON | SH_FIRE | CURSED | RANDOM_CURSE2 | POWERFUL | 
+F:IGNORE_FIRE | XTRA_RES
 
 # OneAbility
 
index d365f06..b29a8dc 100644 (file)
 #define EGO_DARK                23
 #define EGO_BRILLIANCE          24
 #define EGO_H_PROTECTION        25
-//#define EGO_BEAUTY              26
+#define EGO_H_DEMON             26
 #define EGO_MAGI                27
 #define EGO_MIGHT               28
 #define EGO_LORDLINESS          29
index 527422b..1cd9d86 100644 (file)
@@ -2984,6 +2984,23 @@ static void a_m_aux_2(object_type *o_ptr, int level, int power)
                                                if (one_in_(3)) add_flag(o_ptr->art_flags, TR_LITE_1);
                                                if (one_in_(3)) add_flag(o_ptr->art_flags, TR_LITE_2);
                                                break;
+                                       case EGO_H_DEMON:
+                                               if(one_in_(3)) o_ptr->curse_flags |= (TRC_HEAVY_CURSE);
+                                               one_in_(3) ? 
+                                                       add_flag(o_ptr->art_flags, TR_DRAIN_EXP) :
+                                                       one_in_(2) ?
+                                                               add_flag(o_ptr->art_flags, TR_DRAIN_HP) :
+                                                               add_flag(o_ptr->art_flags, TR_DRAIN_MANA);
+                                               
+                                               if (one_in_(3)) add_flag(o_ptr->art_flags, TR_AGGRAVATE);
+                                               if (one_in_(3)) add_flag(o_ptr->art_flags, TR_ADD_L_CURSE);
+                                               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_DRAIN_HP);
+                                               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;
                                        default:/* not existing helm (Magi, Might, etc...)*/
                                                ok_flag = FALSE;
                                        }