blob: 9eaaa8beb8a01ea0243fed699f3175b6c3c4d195 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// master/guild.c -- Gilden und Gildenmagier
4//
5// $Id: guild.c 6142 2007-01-31 20:34:39Z Zesstra $
6
7/*
8 * Dies kann irgendwann auch hinsichtlich einer automatischen
9 * Rechtevergabe auf Gilden-Verzeichnisse erweitert werden.
10 * Bisher werden nur Gildenmagier verwaltet.
11 */
12
13#pragma strict_types
14
15#include "/secure/master.h"
16
17
18int guild_master(string user, string guild)
19{
20 string *guilds;
21 int i;
22
23 if (!find_userinfo(user)||
24 !pointerp(guilds=get_userinfo(user)[USER_GUILD-1]))
25 return 0;
26
27 return (member(guilds,guild) != -1);
28}
29
30int add_guild_master(string user, string guild)
31{
32 string *guilds;
33
34 if ((call_other(SIMUL_EFUN_FILE, "process_call") ||
35 call_other(SIMUL_EFUN_FILE, "secure_level") < GOD_LVL) ||
36 !find_userinfo(user))
37 return 0;
38
39 guilds=get_userinfo(user)[USER_GUILD-1];
40 if (!guilds)
41 set_guilds(user, ({ guild }) );
42 else {
43 guilds = guilds - ({guild}) + ({guild});
44 set_guilds(user, guilds);
45 }
46 return 1;
47}
48
49int remove_guild_master(string user, string guild)
50{
51 string *guilds;
52
53 if (!IS_GOD(geteuid(previous_object()))
54 ||!find_userinfo(user)
55 ||!(guilds=get_userinfo(user)[USER_GUILD-1])
56 || member(guilds,guild)==-1)
57 return 0;
58 guilds -= ({ guild });
59 set_guilds(user, guilds);
60 return 1;
61}
62