--- deliantra/server/common/button.C 2007/05/28 21:21:40 1.33 +++ deliantra/server/common/button.C 2007/06/04 13:04:00 1.35 @@ -105,8 +105,8 @@ break; case TIMED_GATE: - tmp->set_speed (tmp->arch->clone.speed); - tmp->value = tmp->arch->clone.value; + tmp->set_speed (tmp->arch->speed); + tmp->value = tmp->arch->value; tmp->stats.sp = 1; tmp->stats.hp = tmp->stats.maxhp; /* Handle multipart gates. We copy the value for the other parts @@ -318,10 +318,10 @@ { if (!QUERY_FLAG (sacrifice, FLAG_ALIVE) && !QUERY_FLAG (sacrifice, FLAG_IS_LINKED) && sacrifice->type != PLAYER) { - if ((ARCH_SACRIFICE (altar) == sacrifice->arch->name || - ARCH_SACRIFICE (altar) == sacrifice->name || - ARCH_SACRIFICE (altar) == sacrifice->slaying || - (!strcmp (ARCH_SACRIFICE (altar), query_base_name (sacrifice, 0)))) + if ((ARCH_SACRIFICE (altar) == sacrifice->arch->archname + || ARCH_SACRIFICE (altar) == sacrifice->name + || ARCH_SACRIFICE (altar) == sacrifice->slaying + || (!strcmp (ARCH_SACRIFICE (altar), query_base_name (sacrifice, 0)))) && NROF_SACRIFICE (altar) <= (sacrifice->nrof ? sacrifice->nrof : 1)) return 1; @@ -822,7 +822,7 @@ /* First check the object itself. */ if ((trig->stats.hp && (op->type == trig->stats.hp)) || (trig->slaying && (op->slaying == trig->slaying)) - || (trig->race && (op->arch->name == trig->race))) + || (trig->race && (op->arch->archname == trig->race))) return op; for (tmp = op->inv; tmp; tmp = tmp->below) @@ -835,7 +835,7 @@ } else if ((trig->stats.hp && (tmp->type == trig->stats.hp)) || (trig->slaying && (tmp->slaying == trig->slaying)) - || (trig->race && (tmp->arch->name == trig->race))) + || (trig->race && (tmp->arch->archname == trig->race))) return tmp; } return NULL;