73 lines
1.8 KiB
C
73 lines
1.8 KiB
C
#include <daemons.h>
|
|
|
|
float currency_rate(string type) {
|
|
return (float)ECONOMY_D->__Query(type, "rate");
|
|
}
|
|
|
|
float currency_inflation(string type) {
|
|
return (float)ECONOMY_D->__Query(type, "inflation");
|
|
}
|
|
|
|
int currency_mass(int x, string type) {
|
|
return to_int((float)ECONOMY_D->__Query(type, "weight") * x);
|
|
}
|
|
|
|
int currency_value(int x, string str) {
|
|
return to_int(x * currency_rate(str));
|
|
}
|
|
|
|
string *mud_currencies() { return ECONOMY_D->__QueryCurrencies(); }
|
|
|
|
int valid_currency(string str){
|
|
if(member_array(str,mud_currencies()) != -1) return 1;
|
|
else return 0;
|
|
}
|
|
|
|
string query_base_currency(){
|
|
string *monies;
|
|
string least_valuable;
|
|
int base;
|
|
monies = ECONOMY_D->__QueryCurrencies();
|
|
foreach(string currency in monies){
|
|
if(!base) base = ECONOMY_D->__Query(currency,"rate");
|
|
if(ECONOMY_D->__Query(currency,"rate") <= base){
|
|
base = ECONOMY_D->__Query(currency,"rate");
|
|
least_valuable = currency;
|
|
}
|
|
}
|
|
return least_valuable;
|
|
}
|
|
|
|
int query_base_rate(){
|
|
return ECONOMY_D->__Query(query_base_currency(),"rate");
|
|
}
|
|
|
|
int query_player_money(object who) {
|
|
string *monies;
|
|
int base, x;
|
|
x = 0;
|
|
monies = ECONOMY_D->__QueryCurrencies();
|
|
base = ECONOMY_D->__Query(query_base_currency(),"rate");
|
|
foreach(string currency in monies){
|
|
float rate;
|
|
rate = base/ECONOMY_D->__Query(currency,"rate");
|
|
x += who->GetCurrency(currency) * rate;
|
|
}
|
|
return x;
|
|
}
|
|
|
|
int query_base_value(string currency, int amount){
|
|
float rate;
|
|
rate = ECONOMY_D->__Query(currency,"rate");
|
|
return amount * rate;
|
|
}
|
|
|
|
int query_value(int amount,string from_currency, string to_currency){
|
|
int rate, baseval;
|
|
rate = ECONOMY_D->__Query(to_currency,"rate");
|
|
baseval = query_base_value( from_currency, amount );
|
|
return baseval / rate;
|
|
}
|
|
|
|
|