blob: 86a17db4d52f67187ecbd2e6afbe8208bd99f0d4 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// player/moneyhandler.c -- money handler for players
4// Nur noch aus Kompatibilitaetsgruenden vorhanden
5//
6// $Id: moneyhandler.c 9051 2015-01-11 20:28:00Z Zesstra $
7#pragma strong_types
8#pragma save_types
9#pragma range_check
10#pragma no_clone
11#pragma pedantic
12
13inherit "/std/container/moneyhandler";
14
15#define NEED_PROTOTYPES
16#include <thing/properties.h>
17#undef NEED_PROTOTYPES
18#include <container/moneyhandler.h>
19#include <wizlevels.h>
20#include <properties.h>
21#include <money.h>
22#include <moving.h>
23
24public int AddMoney( int amount )
25{
26 object ob;
27
28 if ( !amount )
29 return 1;
30
31 int ret = moneyhandler::AddMoney(amount);
32
33 // ggf. noch loggen
34 if ( ret == MOVE_OK
35 && objectp(ob = find_object("/p/daemon/moneylog"))
36 && amount > 0
37 // dieses muss leider drinbleiben, weil viele nicht-Spieler dieses
38 // erben
39 && query_once_interactive(this_object())
40 && !IS_WIZARD(this_object())
41 && !Query(P_TESTPLAYER) )
42 ob->AddMoney( previous_object(), amount );
43
44 return ret;
45}
46
47public int QueryMoney()
48{
49 object money = present(SEHERKARTEID_AKTIV, this_object());
50 // zusaetzlich zu den anderen Geldquellen auch noch die Seherkarte pruefen.
51 if (money)
52 return moneyhandler::QueryMoney() + money->QueryProp(P_AMOUNT);
53
54 return moneyhandler::QueryMoney();
55}
56