OSDN Git Service

When an object has activation flag and xtra2=0, restore activation index by referring...
authoriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 31 Jan 2013 19:11:29 +0000 (19:11 +0000)
committeriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 31 Jan 2013 19:11:29 +0000 (19:11 +0000)
src/cmd6.c
src/object1.c

index 3b63406..68a2272 100644 (file)
@@ -4119,10 +4119,14 @@ static void do_cmd_activate_aux(int item)
        {
                if (!o_ptr->xtra2) o_ptr->xtra2 = a_info[o_ptr->name1].act_idx;
        }
-       if (object_is_ego(o_ptr))
+       else if (object_is_ego(o_ptr))
        {
                if (!o_ptr->xtra2) o_ptr->xtra2 = e_info[o_ptr->name2].act_idx;
        }
+       else
+       {
+               if (!o_ptr->xtra2) o_ptr->xtra2 = k_info[o_ptr->k_idx].act_idx;
+       }
 
        /* Activate object */
        /* if (o_ptr->xtra2 && (object_is_artifact(o_ptr) || object_is_ego(o_ptr))) */
index e0dab5a..40fbdad 100644 (file)
@@ -423,10 +423,14 @@ cptr item_activation(object_type *o_ptr)
        {
                if (!o_ptr->xtra2) o_ptr->xtra2 = a_info[o_ptr->name1].act_idx;
        }
-       if (object_is_ego(o_ptr))
+       else if (object_is_ego(o_ptr))
        {
                if (!o_ptr->xtra2) o_ptr->xtra2 = e_info[o_ptr->name2].act_idx;
        }
+       else
+       {
+               if (!o_ptr->xtra2) o_ptr->xtra2 = k_info[o_ptr->k_idx].act_idx;
+       }
 
        /* Get an explain of an activation */
        /* if ((object_is_artifact(o_ptr) || object_is_ego(o_ptr)) && (o_ptr->xtra2)) */