50 lines (45 with data), 946 Bytes
/*
* lib/misc.c
* Copyright Shattered World mudlib
*
* Some boring lfuns.
*/
inherit "RO/Servers";
transfer_all(orig, dest)
{
array inv;
object ob;
int i, money, wt, size;
if (!orig || !dest)
return;
inv = contents(orig);
size = sizeof(inv);
for (i = 0; i < size; i++)
{
if (!inv[i]) continue;
if (objectp(inv[i]))
{
/* argh - try to remember to put in these tests, people
- it's a fucking library function */
/* potential infinite loops in here.. - Dredd */
if (!inv[i]->drop(1)) {
if (objectp(inv[i])) { /* did it dest itself? */
move_object(inv[i], dest);
wt += inv[i]->query_weight();
}
}
}
}
orig->add_weight(-wt);
money = orig->query_money();
if (orig->query_money() == 0) return;
ob = MONEYER->make(money);
move_object(ob, dest);
orig->add_money(-money);
return 1;
}
str_to_int(str)
{
if (intp(str)) return str;
return atoi (str);
}