blob: b9988b7621e9404c7c80ebb3f995a9069921fcc7 [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
Zesstrad77ab422019-09-27 17:39:27 +020026#include "/sys/functionlist.h"
27#include "/sys/debug_message.h"
28
MG Mud User88f12472016-06-24 23:31:02 +020029#include "/secure/config.h"
Zesstrad77ab422019-09-27 17:39:27 +020030#include "/secure/wizlevels.h"
MG Mud User88f12472016-06-24 23:31:02 +020031
32#include "/sys/userinfo.h"
MG Mud User88f12472016-06-24 23:31:02 +020033#include "/sys/player/base.h"
34#include "/sys/moving.h"
35#include "/sys/defines.h"
36#include "/sys/wizlist.h"
37#include "/sys/daemon.h"
38#include "/sys/mail.h"
MG Mud User88f12472016-06-24 23:31:02 +020039
40//#define DEBUG(x)
41#ifndef DEBUG
42#define DEBUG(x) if (funcall(symbol_function('find_player),"zesstra"))\
43 tell_object(funcall(symbol_function('find_player),"zesstra"),\
44 "MDBG: "+x+"\n")
45#endif
46
47//Logfile fuer Lesezugriffe
48#define READ_FILE "/log/ARCH/READ_FILE"
49
50//Logfile fuer Crashes
51#define CRASH_LOG "/log/CRASH_LOG"
52
53// MAX_ERRLOG_SIZE definiert, ab welcher Groesse ein Log in
54// /log/error rotiert.
55#define MAX_ERRLOG_SIZE 51200
56
57#define log_file(file,str) write_file("/log/"+file, str)
58#define NAME(x) getuid(x)
59#define CAP_NAME(x) capitalize(NAME(x))
60#define TP efun::this_player()
61#define TI efun::this_interactive()
62#define PO efun::previous_object()
63#define TO efun::this_object()
64
65// Verzeichnis mit Infomails fuer Magierbefoerderungen
66#define WIZ_HELP_MAIL_DIR "/doc/infomails/"
67
68// aus master.c
69string creator_file(mixed str);
Zesstra9dd50132019-11-28 21:42:14 +010070protected mixed give_uid_to_object(string datei,object po);
Zesstraed74f342019-11-28 22:04:24 +010071protected void save_wiz_file();
72protected mixed load_uid_hook(string datei);
Zesstra9dd50132019-11-28 21:42:14 +010073protected mixed clone_uid_hook(object blueprint,string new_name);
MG Mud User88f12472016-06-24 23:31:02 +020074protected mixed call_sefun(string sefun, varargs mixed args);
75
76// aus domains.c
77int domain_master(string user, string domain);
78int domain_member(string user, string domain);
79string *get_domain_homes(string wiz);
80
81// aus guild.c
82int guild_master(string user, string guild);
83
84// aus file_access.c
85void LoadDeputyFileList();
86mixed valid_read(string path, string euid, string fun, object obj);
87mixed valid_write(string path, string euid, string fun, object obj);
88
89// aus misc.c
90string _get_path(string path, string user);
Zesstra78a2dda2020-03-13 18:10:16 +010091string QueryBanished(string str);
MG Mud User88f12472016-06-24 23:31:02 +020092int TBanishName(string name, int days);
bugfixd94d0932020-04-08 11:27:13 +020093varargs void BanishName(string name, string reason, int force);
MG Mud User88f12472016-06-24 23:31:02 +020094
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);
Zesstra5f9c0be2020-01-21 18:32:36 +0100103public mixed query_userlist(string user, int prop);
MG Mud User88f12472016-06-24 23:31:02 +0200104public 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__