/* /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; }