void object_copy(object_type *o_ptr, object_type *j_ptr)
{
/* Copy the structure */
- COPY(o_ptr, j_ptr, object_type);
+ (void)COPY(o_ptr, j_ptr, object_type);
}
add_flag(o_ptr->art_flags, TR_RES_POIS);
break;
case EGO_ELVENKIND:
+ case EGO_URUKISH:
break;
case EGO_DWARVEN:
if (o_ptr->tval != TV_HARD_ARMOR)
{
o_ptr->weight = (2 * k_info[o_ptr->k_idx].weight / 3);
o_ptr->ac = k_info[o_ptr->k_idx].ac + 5;
- if (one_in_(4))
- add_flag(o_ptr->art_flags, TR_CON);
+ break;
+ }
+ case EGO_DRUID:
+ if (o_ptr->tval != TV_SOFT_ARMOR)
+ {
+ okay_flag = FALSE;
+ break;
+ }
+ else
+ {
break;
}
}
case 5: add_essence(10);break;
}
}
+
+
+/*
+ * Torches have special abilities when they are flaming.
+ */
+void torch_flags(object_type *o_ptr, u32b *flgs)
+{
+ if ((o_ptr->tval == TV_LITE) && (o_ptr->sval == SV_LITE_TORCH))
+ {
+ if (o_ptr->xtra4 > 0)
+ {
+ add_flag(flgs, TR_BRAND_FIRE);
+ add_flag(flgs, TR_KILL_UNDEAD);
+ add_flag(flgs, TR_THROW);
+ }
+ }
+}
+
+void torch_dice(object_type *o_ptr, int *dd, int *ds)
+{
+ if ((o_ptr->tval == TV_LITE) && (o_ptr->sval == SV_LITE_TORCH))
+ {
+ if (o_ptr->xtra4 > 0)
+ {
+ (*dd) = 1;
+ (*ds) = 6;
+ }
+ }
+}
+
+void torch_lost_fuel(object_type *o_ptr)
+{
+ if ((o_ptr->tval == TV_LITE) && (o_ptr->sval == SV_LITE_TORCH))
+ {
+ o_ptr->xtra4 -= (FUEL_TORCH / 25);
+ if (o_ptr->xtra4 < 0) o_ptr->xtra4 = 0;
+ }
+}