blob: 9f4e83996e9c2c8a9702ca838bd4b1fbe8bfe57f [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
MG Mud User88f12472016-06-24 23:31:02 +020013int guild_master(string user, string guild)
14{
15 string *guilds;
16 int i;
17
18 if (!find_userinfo(user)||
19 !pointerp(guilds=get_userinfo(user)[USER_GUILD-1]))
20 return 0;
21
22 return (member(guilds,guild) != -1);
23}
24
25int add_guild_master(string user, string guild)
26{
27 string *guilds;
28
29 if ((call_other(SIMUL_EFUN_FILE, "process_call") ||
30 call_other(SIMUL_EFUN_FILE, "secure_level") < GOD_LVL) ||
31 !find_userinfo(user))
32 return 0;
33
34 guilds=get_userinfo(user)[USER_GUILD-1];
35 if (!guilds)
36 set_guilds(user, ({ guild }) );
37 else {
38 guilds = guilds - ({guild}) + ({guild});
39 set_guilds(user, guilds);
40 }
41 return 1;
42}
43
44int remove_guild_master(string user, string guild)
45{
46 string *guilds;
47
48 if (!IS_GOD(geteuid(previous_object()))
49 ||!find_userinfo(user)
50 ||!(guilds=get_userinfo(user)[USER_GUILD-1])
51 || member(guilds,guild)==-1)
52 return 0;
53 guilds -= ({ guild });
54 set_guilds(user, guilds);
55 return 1;
56}
57