break;
}
}
- trty.ef_type = EF_TREATY;
- trty.trt_uid = nstr.cur;
+ ef_blank(EF_TREATY, nstr.cur, &trty);
trty.trt_acond = ourcond;
trty.trt_bcond = theircond;
trty.trt_status = TS_PROPOSED;
if (loan.l_status == LS_FREE)
break;
}
+ ef_blank(EF_LOAN, nstr.cur, &loan);
loan.l_loner = player->cnum;
loan.l_lonee = recipient;
loan.l_status = LS_PROPOSED;
if (comm.com_owner == 0)
break;
}
- if (getcomm(ii, &comm) == 0)
- ef_extend(EF_COMM, 1);
(void)time(&now);
+ ef_blank(EF_COMM, ii, &comm);
comm.com_type = ip->i_uid;
comm.com_owner = player->cnum;
comm.com_price = price;
if (foundslot >= 0) {
pr("%s #%d (lot #%d) removed from trading\n",
trade_nameof(&trade, &item), ni.cur, foundslot);
- memset(&trade, 0, sizeof(trade));
+ trade.trd_owner = 0;
puttrade(ni_trade.cur, &trade);
}
} else {
id = foundslot;
else if (freeslot >= 0)
id = freeslot;
- else {
- ef_extend(EF_TRADE, 1);
+ else
id = ni_trade.cur;
- }
+ ef_blank(EF_TRADE, id, &trade);
trade.trd_x = item.gen.x;
trade.trd_y = item.gen.y;
trade.trd_type = type;