[go: up one dir, main page]

Menu

[897c37]: / mlib / lib / misc.lpc  Maximize  Restore  History

Download this file

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);
}