blob: e22705d998e6f599ada339b5f789bb0912309dc5 [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
MG Mud User88f12472016-06-24 23:31:02 +020011
12inherit "/std/container/moneyhandler";
13
14#define NEED_PROTOTYPES
15#include <thing/properties.h>
16#undef NEED_PROTOTYPES
17#include <container/moneyhandler.h>
18#include <wizlevels.h>
19#include <properties.h>
20#include <money.h>
21#include <moving.h>
22
23public int AddMoney( int amount )
24{
25 object ob;
26
27 if ( !amount )
28 return 1;
29
30 int ret = moneyhandler::AddMoney(amount);
31
32 // ggf. noch loggen
33 if ( ret == MOVE_OK
34 && objectp(ob = find_object("/p/daemon/moneylog"))
35 && amount > 0
36 // dieses muss leider drinbleiben, weil viele nicht-Spieler dieses
37 // erben
38 && query_once_interactive(this_object())
39 && !IS_WIZARD(this_object())
40 && !Query(P_TESTPLAYER) )
41 ob->AddMoney( previous_object(), amount );
42
43 return ret;
44}
45
46public int QueryMoney()
47{
48 object money = present(SEHERKARTEID_AKTIV, this_object());
49 // zusaetzlich zu den anderen Geldquellen auch noch die Seherkarte pruefen.
50 if (money)
51 return moneyhandler::QueryMoney() + money->QueryProp(P_AMOUNT);
52
53 return moneyhandler::QueryMoney();
54}
55