blob: c460813ce95147f4bdb24857975f312ed119351c [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// player/base.h -- player base header
4//
5// $Id: base.h 8487 2013-05-21 19:15:52Z Zesstra $
6
7#ifndef __PLAYER_BASE_H__
8#define __PLAYER_BASE_H__
9
10// da dieses File vom Master inkludiert wird und dann die Standard-Include-
11// verzeichnisse noch nicht gesetzt sind, darf dieses File auch nur die abs.
12// Namen verwenden. *seufz*
13#include "/sys/player/can.h"
14#include "/sys/player/telnetneg.h"
15
16#define HAUSVERWALTER "/d/seher/haeuser/hausverwalter"
17
18// properties
19
20#define P_KILLS "playerkills"
21
22#define P_ZAP_MSG "zap_msg"
23#define P_AWAY "away"
24#define P_NO_TOPLIST "no_toplist"
25#define P_CALLED_FROM_IP "called_from_ip"
26#define P_MARRIED "married"
27#define P_SIBLINGS "siblings"
28#define P_RACE_DESCRIPTION "racedescr"
29#define P_RACESTRING "racestring"
30
31#define P_WAITFOR "waitfor"
32#define P_WAITFOR_REASON "waitfor_reason"
33#define P_WAITFOR_FLAGS "waitfor_flags"
34#define P_VISUALBELL "visualbell"
35#define P_LOCALCMDS "localcmds"
36#define P_CLOCKMSG "clockmsg"
37#define P_TIMEZONE "timezone"
38#define P_SHOWEMAIL "showemail"
39
40#define P_LAST_LOGIN "last_login"
41#define P_LAST_LOGOUT "last_logout"
42#define P_DAILY_PLAYTIME "daily_playtime"
43#define P_IGNORE "ignore"
44#define P_SHOW_EXITS "show_exits"
45#define P_WANTS_TO_LEARN "wants_to_learn"
46#define P_AUTOLOADOBJ "autoloadobj"
47#define P_AUTOLOAD "autoload"
48#define P_MAILADDR "mailaddr"
49#define P_HOMEPAGE "homepage"
50#define P_ICQ "icq"
51#define P_MESSENGER "messenger"
52#define P_LOCATION "location"
53
54#define P_FOLLOW_SILENT "follow_silent"
55
56#ifndef P_INVIS
57#define P_INVIS "invis"
58#endif
59
60#define P_SECOND "second"
61#define P_SECOND_MARK "second_mark"
62#define P_SECOND_LIST "second_list"
63#define P_MUD_NEWBIE "_lib_mud_newbie" // not played a mud before?
64
65#define P_TESTPLAYER "testplayer"
66#define P_ALLOWED_SHADOW "allowed_shadow"
67
68#define P_START_HOME "start_home"
69#define P_PRAY_ROOM "_lib_p_prayroom"
70
71#define P_SHELL_VERSION "shell_version"
72
73#define P_CMSG "clonemsg"
74#define P_DMSG "destmsg"
75#define P_CLONE_MSG "clone_msg"
76#define P_DESTRUCT_MSG "destruct_msg"
77
78#define P_CARRIED_VALUE "carried"
79
80#define P_PROMPT "prompt"
81
82#define P_SCREENSIZE "screensize"
83#define P_MORE_FLAGS "more_flags"
84
85#define P_NO_ASCII_ART "no_ascii_art"
86
87#define P_LAST_QUIT "last_quit"
88
89#define P_READ_NEWS "read_news"
90
91#define P_NEEDED_QP "needed_qp"
92
MG Mud User88f12472016-06-24 23:31:02 +020093#endif // __PLAYER_BASE_H__
94
95#ifdef NEED_PROTOTYPES
96
97#ifndef __PLAYER_BASE_H_PROTO__
98#define __PLAYER_BASE_H_PROTO__
99
Zesstra9ea7e9a2021-11-01 11:33:34 +0100100// not prototypes, but only used internally:
101// Flags for call_notify_player_change()
102#define CNP_FLAG_ENTER 0x1 // player enters mud
103#define CNP_FLAG_SLEEP 0x2 // player disconnects/sleeps
104#define CNP_FLAG_QUIT 0x4 // player quits or is removed
105// silent logon, don't call most callbacks, because the player is already
106// online, but net connection is replaced by new one.
107#define CNP_FLAG_SILENT 0x8
108
MG Mud User88f12472016-06-24 23:31:02 +0200109// prototypes
110
Arathorn3437e392016-08-26 22:41:39 +0200111void smart_log(string myname, string str, object obj);
MG Mud User88f12472016-06-24 23:31:02 +0200112int QueryGuest();
113int invis(string inform);
114int vis(string inform);
115
116varargs static void stop_heart_beats(mixed obs);
117static void restart_heart_beats();
118
119nomask int query_hc_play();
120varargs nomask void set_hc_play(string str, int val);
Bugfix25ac7422022-09-28 10:15:14 +0200121protected string SetDefaultHome(string str);
MG Mud User88f12472016-06-24 23:31:02 +0200122protected string SetDefaultPrayRoom(string str);
123
124void save_me(mixed value_items);
125nomask mixed query_real_name();
126protected void call_notify_player_change(int rein);
127
128#endif // __PLAYER_BASE_H_PROTO__
129
130#endif// NEED_PROTOYPES