+void get_bloody_moon_flags(object_type *o_ptr)
+{
+ int dummy, i;
+
+ for (i = 0; i < TR_FLAG_SIZE; i++)
+ o_ptr->art_flags[i] = a_info[ART_BLOOD].flags[i];
+
+ dummy = randint1(2) + randint1(2);
+ for (i = 0; i < dummy; i++)
+ {
+ int flag = randint0(26);
+ if (flag >= 20) add_flag(o_ptr->art_flags, TR_KILL_UNDEAD + flag - 20);
+ else if (flag == 19) add_flag(o_ptr->art_flags, TR_KILL_ANIMAL);
+ else if (flag == 18) add_flag(o_ptr->art_flags, TR_SLAY_HUMAN);
+ else add_flag(o_ptr->art_flags, TR_CHAOTIC + flag);
+ }
+
+ dummy = randint1(2);
+ for (i = 0; i < dummy; i++) one_resistance(o_ptr);
+
+ for (i = 0; i < 2; i++)
+ {
+ int tmp = randint0(11);
+ if (tmp < 6) add_flag(o_ptr->art_flags, TR_STR + tmp);
+ else add_flag(o_ptr->art_flags, TR_STEALTH + tmp - 6);
+ }
+}
+
+