blob: d0c025c93355f16411b43a3920a27dbf320d5b61 [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)||
Zesstracd25d262020-01-21 19:36:39 +010019 !pointerp(guilds=query_userlist(user, USER_GUILD)))
MG Mud User88f12472016-06-24 23:31:02 +020020 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
Zesstracd25d262020-01-21 19:36:39 +010034 guilds=query_userlist(user, USER_GUILD);
MG Mud User88f12472016-06-24 23:31:02 +020035 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)
Zesstracd25d262020-01-21 19:36:39 +010050 ||!(guilds=query_userlist(user, USER_GUILD))
MG Mud User88f12472016-06-24 23:31:02 +020051 || member(guilds,guild)==-1)
52 return 0;
53 guilds -= ({ guild });
54 set_guilds(user, guilds);
55 return 1;
56}
57