blob: f97b0d0eed9701adfff930d7065df9f36cd4d1af [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// master.h -- definitions for the master object
4//
5// $Id: master.h 8809 2014-05-08 19:52:48Z Zesstra $
6
7#ifndef __MASTER_H__
8#define __MASTER_H__
9
10
11#ifdef P_ARMOURS
12#undef P_ARMOURS
13#endif
14#define P_ARMOURS "armours"
15
16#ifdef P_WEAPON
17#undef P_WEAPON
18#endif
19#define P_WEAPON "weapon"
20
21//fuer den notify_fail-Hook
22#ifndef P_DEFAULT_NOTIFY_FAIL
23#define P_DEFAULT_NOTIFY_FAIL "default_notify_fail"
24#endif
25
26#include "/secure/config.h"
27
28#include "/sys/userinfo.h"
29#include "/sys/shells.h"
30#include "/sys/player/base.h"
31#include "/sys/moving.h"
32#include "/sys/defines.h"
33#include "/sys/wizlist.h"
34#include "/sys/daemon.h"
35#include "/sys/mail.h"
36#include "/sys/driver_hook.h"
37#include "/sys/functionlist.h"
38
39#include "/secure/wizlevels.h"
40
41//#define DEBUG(x)
42#ifndef DEBUG
43#define DEBUG(x) if (funcall(symbol_function('find_player),"zesstra"))\
44 tell_object(funcall(symbol_function('find_player),"zesstra"),\
45 "MDBG: "+x+"\n")
46#endif
47
48//Logfile fuer Lesezugriffe
49#define READ_FILE "/log/ARCH/READ_FILE"
50
51//Logfile fuer Crashes
52#define CRASH_LOG "/log/CRASH_LOG"
53
54// MAX_ERRLOG_SIZE definiert, ab welcher Groesse ein Log in
55// /log/error rotiert.
56#define MAX_ERRLOG_SIZE 51200
57
58#define log_file(file,str) write_file("/log/"+file, str)
59#define NAME(x) getuid(x)
60#define CAP_NAME(x) capitalize(NAME(x))
61#define TP efun::this_player()
62#define TI efun::this_interactive()
63#define PO efun::previous_object()
64#define TO efun::this_object()
65
66// Verzeichnis mit Infomails fuer Magierbefoerderungen
67#define WIZ_HELP_MAIL_DIR "/doc/infomails/"
68
69// aus master.c
70string creator_file(mixed str);
71mixed give_uid_to_object(string datei,object po);
72void save_wiz_file();
73mixed load_uid_hook(string datei);
74mixed clone_uid_hook(string blueprint,string new_name);
75protected mixed call_sefun(string sefun, varargs mixed args);
76
77// aus domains.c
78int domain_master(string user, string domain);
79int domain_member(string user, string domain);
80string *get_domain_homes(string wiz);
81
82// aus guild.c
83int guild_master(string user, string guild);
84
85// aus file_access.c
86void LoadDeputyFileList();
87mixed valid_read(string path, string euid, string fun, object obj);
88mixed valid_write(string path, string euid, string fun, object obj);
89
90// aus misc.c
91string _get_path(string path, string user);
92mixed QueryBanished(string str);
93int TBanishName(string name, int days);
94
95// sendet bei Befoerderungen Infomail an Magier
96protected void SendWizardHelpMail(string name, int level);
97
98// aus userinfo.c
99public int find_userinfo(string user);
100protected mixed *get_full_userinfo(string user);
101public mixed *get_userinfo(string user);
102public int get_wiz_level(string user);
103public string query_player_object( string name );
104public int query_wiz_level(mixed player);
105int update_wiz_level(string user,int lev);
106protected void set_guilds(string player, string *guilds);
107protected void set_domains(string player, string *domains);
108void update_late_players();
109public string secure_savefile(string name);
110protected void save_userinfo(string user);
111protected string query_secure_euid();
112protected int query_secure_level();
113public varargs string* QueryUIDAlias(string alias, int rec);
114
115//Einen Magier als verantwortlich fuer eine bestimmte UID eintragen
116public string* AddWizardForUID(string uid, string wizuid);
117//Einen Magier wieder austragen, wenn er nicht mehr zustaendig ist.
118public string* RemoveWizardFromUID(string uid, string wizuid);
119//Verantwortliche Magier fuer eine UID ausgeben
120public varargs string* QueryWizardsForUID(string uid, int recursive);
121//Welche UIDs ist ein Magier implizit verantwortlich? (Ist er RM,
122//Gildenmagier, in welchen Regionen hat er ein Verzeichnis, etc.)
123public varargs string* QueryUIDsForWizard(string wizuid, int recursive);
124
125
126#endif //__MASTER_H__