// Petrarch
// Merentha Lib 1.0
// money object
#include <std.h>
#include <money.h>
inherit OBJECT;
mapping money=([]);
string query_long() {
string *types=__CURRENCY_TYPES;
string ret="There are some coins here:";
int i=sizeof(types);
while (i--) if(money[types[i]]) ret+="\n"+right_align(""+money[types[i]],5)+" "+types[i];
return ret;
}
void add_money(string type, int amt) {
if(member_array(type, __CURRENCY_TYPES)==-1) return;
if(!money[type]) money[type]=0;
money[type]=money[type]+amt;
}
void create() {
::create();
set_name("money");
set_short("a pile of coins");
set_id(({"coins", "coin", "money"}));
set_mass(0);
set_value(0);
}
void post_move() {
if(environment()) if(living(environment())) call_out("remove",0,environment());
}
void remove(object env) {
string *types=__CURRENCY_TYPES;
string ret="The coins contain:";
int i=sizeof(types);
if(env) {
while (i--)
if(money[types[i]]) {
ret+="\n"+right_align(""+money[types[i]],5)+" "+types[i];
env->add_money(types[i],money[types[i]]);
}
message("money", ret, env);
}
::remove();
}