/* /lib/donate.c * a donation box inheritable * created by BillGates@Dead Souls 961023 */ #include "include/donate.h" #include <lib.h> private int TotalAssets; private string LocalCurrency, Owner; static void create() { this_object()->AddSave( ({ "TotalAssets" }) ); TotalAssets = 0; } static void init() { if( (string)this_player()->ClassMember((string)GetOwner()) || (string)this_player()->GetClan() == (string)GetOwner() ) { add_action( (: eventDonate :) , "donate" ); } } string GetLong(string str) { string ret = "\nIt currently contains "+TotalAssets+" " + "coins and bills."; if(TotalAssets) return ret; else return ""; } string SetLocalCurrency(string currency) { return (LocalCurrency = currency); } string GetLocalCurrency() {return LocalCurrency;} string SetOwner(string owner) {return (Owner = owner);} string GetOwner() {return Owner;} int AddAssets(int amount) { TotalAssets += amount; return 1; } int GetAssets() {return TotalAssets;} int eventDonate(string amt, string type) { int amount; object tp = this_player(); if(sscanf(amt,"%d", amount) < 1) { write("That isn't a proper amount."); return 1; } if(!valid_currency(type)){ write("That isn't a valid currency."); return 1; } if(!amount) { tp->eventPrint("Donate how much?\n"); return 0; } if(amount < 0) { tp->eventPrint("Nice try!\n"); return 0; } if((int)tp->GetCurrency(type) < amount) { tp->eventPrint("You don't have that much " + type + "!\n"); return 0; } tp->AddCurrency(type, -amount); AddAssets(amount); tp->eventPrint(GetOwner() + " is grateful " "for your donation."); if(living(this_object())) this_object()->eventForce("say Thank you!"); return 1; }