PennMUSH Community

Ticket #7616: mortal.patch.txt

File mortal.patch.txt, 3.3 kB (added by Talvo, 5 months ago)

Built against 1.8.3p5, hence the changes to src/SWITCHES

Line 
1 *** src/cmds.c.orig Fri Oct  5 23:36:32 2007
2 --- src/cmds.c  Sat Jun 14 21:41:19 2008
3 ***************
4 *** 703,708 ****
5 --- 703,766 ----
6     do_message_list(player, cause, arg_left, attrib, message, flags, i, args);
7   }
8  
9 + COMMAND(cmd_mortal)
10 + {
11 +
12 +   dbref target;
13 +
14 +   if ((target = match_thing(player, arg_left)) == NOTHING)
15 +     return;
16 +
17 +   if (!controls(player, target)) {
18 +     notify(player, T("Permission denied."));
19 +     return;
20 +   }
21 +
22 +   if (target == GOD) {
23 +     notify(player, T("God is ALWAYS God."));
24 +     return;
25 +   }
26 +
27 +   if (!SW_ISSET(sw, SWITCH_WIZARD) && !SW_ISSET(sw, SWITCH_ROYALTY)) {
28 +     /* make mortal */
29 +     if (has_flag_by_name(target, "WIZARD", NOTYPE)) {
30 +       twiddle_flag_internal("FLAG", target, "WIZARD", 1);
31 +       twiddle_flag_internal("FLAG", target, "MORTAL_WIZARD", 0);
32 +     }
33 +     if (has_flag_by_name(target, "ROYALTY", NOTYPE)) {
34 +       twiddle_flag_internal("FLAG", target, "ROYALTY", 1);
35 +       twiddle_flag_internal("FLAG", target, "MORTAL_ROYALTY", 0);
36 +     }
37 +     notify_format(player, T("%s is now mortal."), Name(target));
38 +   } else {
39 +
40 +     if (SW_ISSET(sw, SWITCH_WIZARD)) {
41 +       if (!has_flag_by_name(target, "MORTAL_WIZARD", NOTYPE)) {
42 +         notify(player, T("That was never a wizard."));
43 +         return;
44 +       } else {
45 +         twiddle_flag_internal("FLAG", target, "MORTAL_WIZARD", 1);
46 +         twiddle_flag_internal("FLAG", target, "WIZARD", 0);
47 +         notify_format(player, T("%s has been restored to wizard status."), Name(target));
48 +       }
49 +     }
50 +
51 +     if (SW_ISSET(sw, SWITCH_ROYALTY)) {
52 +       if (!has_flag_by_name(target, "MORTAL_ROYALTY", NOTYPE)) {
53 +         notify(player, T("That was never royalty."));
54 +         return;
55 +       } else {
56 +         twiddle_flag_internal("FLAG", target, "MORTAL_ROYALTY", 1);
57 +         twiddle_flag_internal("FLAG", target, "ROYALTY", 0);
58 +         notify_format(player, T("%s has been restored to royal status."), Name(target));
59 +       }
60 +     }
61 +   }
62 +
63 +
64 +
65 + }
66 +
67   COMMAND(cmd_motd)
68   {
69     if (SW_ISSET(sw, SWITCH_CONNECT))
70 *** src/command.c.orig  Fri Oct  5 23:36:32 2007
71 --- src/command.c   Sat Jun 14 17:40:43 2008
72 ***************
73 *** 186,191 ****
74 --- 186,193 ----
75      0, 0},
76     {"@MESSAGE", "NOEVAL SPOOF", cmd_message,
77      CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_ARGS, 0, 0},
78 +   {"@MORTAL", "WIZARD ROYALTY", cmd_mortal, CMD_T_ANY | CMD_T_LOGARGS,
79 +    "WIZARD ROYALTY MORTAL_WIZARD MORTAL_ROYALTY", 0},
80     {"@MOTD", "CONNECT LIST WIZARD DOWN FULL", cmd_motd,
81      CMD_T_ANY | CMD_T_NOGAGGED, 0, 0},
82     {"@MVATTR", "CONVERT NOFLAGCOPY", cmd_mvattr,
83 *** src/flags.c.orig    Fri Oct  5 23:36:32 2007
84 --- src/flags.c Sat Jun 14 17:40:46 2008
85 ***************
86 *** 866,871 ****
87 --- 866,873 ----
88     FLAGSPACE *flags;
89  
90     if (n->tab == &ptab_flag) {
91 +     add_flag("MORTAL_WIZARD", '\0', NOTYPE, F_INTERNAL | F_DARK, F_INTERNAL);
92 +     add_flag("MORTAL_ROYALTY", '\0', NOTYPE, F_INTERNAL | F_DARK, F_INTERNAL);
93       add_flag("KEEPALIVE", 'k', TYPE_PLAYER, F_ANY, F_ANY);
94       add_flag("MISTRUST", 'm', TYPE_THING | TYPE_EXIT | TYPE_ROOM, F_INHERIT,
95                F_INHERIT);
96 *** src/SWITCHES.orig   Sat Jun 14 17:34:04 2008
97 --- src/SWITCHES    Sat Jun 14 17:33:31 2008
98 ***************
99 *** 114,119 ****
100 --- 114,120 ----
101   RETROACTIVE
102   ROOM
103   ROOMS
104 + ROYALTY
105   RSARGS
106   SEE
107   SEEFLAG