blob: cc075ab8b519dbe82db5b32a4eedee055506dd0d [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// container/moneyhandler.c -- money handler for container
4//
5// $Id: moneyhandler.c 6738 2008-02-19 18:46:14Z Humni $
6#pragma strong_types
7#pragma save_types
8#pragma range_check
9#pragma no_clone
MG Mud User88f12472016-06-24 23:31:02 +020010
11#define NEED_PROTOTYPES
12#include <thing/properties.h>
13#undef NEED_PROTOTYPES
14
15#include <properties.h>
16#include <moving.h>
17#include <money.h>
18
19public int AddMoney( int amount )
20{
21 object ob;
22 int ret;
23
24 if ( !amount )
25 return 1;
26
27 ob = clone_object( GELD );
28 ob->SetProp( P_AMOUNT, amount );
29
30 ret=ob->move( this_object(), M_PUT|M_MOVE_ALL );
31 // Bei fehlerhaftem move ggf. wieder zerstoeren.
32 if ((ret != MOVE_OK)
33 && ob)
34 {
35 ob->remove(1);
36 }
37 return ret;
38}
39
40public int QueryMoney()
41{
42 object money;
43 int geld;
44
45 if ( money = present_clone(GELD, this_object()) )
46 geld = money->QueryProp(P_AMOUNT);
47
48 if ( money = present(GELDBOERSE_MIT_GELD, this_object()) )
49 geld += money->QueryProp(P_AMOUNT);
50
51 return geld;
52}