act-files formatted
This commit is contained in:
+229
-243
@@ -33,7 +33,7 @@
|
||||
/* Local defined utility functions */
|
||||
/* do_group utility functions */
|
||||
static void print_group(struct char_data *ch);
|
||||
static void display_group_list(struct char_data * ch);
|
||||
static void display_group_list(struct char_data *ch);
|
||||
|
||||
ACMD(do_quit)
|
||||
{
|
||||
@@ -72,7 +72,7 @@ ACMD(do_quit)
|
||||
ch->desc->snoop_by = NULL;
|
||||
}
|
||||
|
||||
extract_char(ch); /* Char is saved before extracting. */
|
||||
extract_char(ch); /* Char is saved before extracting. */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ ACMD(do_sneak)
|
||||
if (AFF_FLAGGED(ch, AFF_SNEAK))
|
||||
affect_from_char(ch, SKILL_SNEAK);
|
||||
|
||||
percent = rand_number(1, 101); /* 101% is a complete failure */
|
||||
percent = rand_number(1, 101); /* 101% is a complete failure */
|
||||
|
||||
if (percent > GET_SKILL(ch, SKILL_SNEAK) + dex_app_skill[GET_DEX(ch)].sneak)
|
||||
return;
|
||||
@@ -135,7 +135,7 @@ ACMD(do_hide)
|
||||
if (AFF_FLAGGED(ch, AFF_HIDE))
|
||||
REMOVE_BIT_AR(AFF_FLAGS(ch), AFF_HIDE);
|
||||
|
||||
percent = rand_number(1, 101); /* 101% is a complete failure */
|
||||
percent = rand_number(1, 101); /* 101% is a complete failure */
|
||||
|
||||
if (percent > GET_SKILL(ch, SKILL_HIDE) + dex_app_skill[GET_DEX(ch)].hide)
|
||||
return;
|
||||
@@ -173,73 +173,73 @@ ACMD(do_steal)
|
||||
percent = rand_number(1, 101) - dex_app_skill[GET_DEX(ch)].p_pocket;
|
||||
|
||||
if (GET_POS(vict) < POS_SLEEPING)
|
||||
percent = -1; /* ALWAYS SUCCESS, unless heavy object. */
|
||||
percent = -1; /* ALWAYS SUCCESS, unless heavy object. */
|
||||
|
||||
if (!CONFIG_PT_ALLOWED && !IS_NPC(vict))
|
||||
pcsteal = 1;
|
||||
|
||||
if (!AWAKE(vict)) /* Easier to steal from sleeping people. */
|
||||
if (!AWAKE(vict)) /* Easier to steal from sleeping people. */
|
||||
percent -= 50;
|
||||
|
||||
/* No stealing if not allowed. If it is no stealing from Imm's or Shopkeepers. */
|
||||
if (GET_LEVEL(vict) >= LVL_IMMORT || pcsteal || GET_MOB_SPEC(vict) == shop_keeper)
|
||||
percent = 101; /* Failure */
|
||||
percent = 101; /* Failure */
|
||||
|
||||
if (str_cmp(obj_name, "coins") && str_cmp(obj_name, "gold")) {
|
||||
|
||||
if (!(obj = get_obj_in_list_vis(ch, obj_name, NULL, vict->carrying))) {
|
||||
|
||||
for (eq_pos = 0; eq_pos < NUM_WEARS; eq_pos++)
|
||||
if (GET_EQ(vict, eq_pos) &&
|
||||
(isname(obj_name, GET_EQ(vict, eq_pos)->name)) &&
|
||||
CAN_SEE_OBJ(ch, GET_EQ(vict, eq_pos))) {
|
||||
obj = GET_EQ(vict, eq_pos);
|
||||
break;
|
||||
}
|
||||
if (GET_EQ(vict, eq_pos) &&
|
||||
(isname(obj_name, GET_EQ(vict, eq_pos)->name)) &&
|
||||
CAN_SEE_OBJ(ch, GET_EQ(vict, eq_pos))) {
|
||||
obj = GET_EQ(vict, eq_pos);
|
||||
break;
|
||||
}
|
||||
if (!obj) {
|
||||
act("$E hasn't got that item.", FALSE, ch, 0, vict, TO_CHAR);
|
||||
return;
|
||||
} else { /* It is equipment */
|
||||
if ((GET_POS(vict) > POS_STUNNED)) {
|
||||
send_to_char(ch, "Steal the equipment now? Impossible!\r\n");
|
||||
return;
|
||||
} else {
|
||||
act("$E hasn't got that item.", FALSE, ch, 0, vict, TO_CHAR);
|
||||
return;
|
||||
} else { /* It is equipment */
|
||||
if ((GET_POS(vict) > POS_STUNNED)) {
|
||||
send_to_char(ch, "Steal the equipment now? Impossible!\r\n");
|
||||
return;
|
||||
} else {
|
||||
if (!give_otrigger(obj, vict, ch) ||
|
||||
!receive_mtrigger(ch, vict, obj) ) {
|
||||
!receive_mtrigger(ch, vict, obj)) {
|
||||
send_to_char(ch, "Impossible!\r\n");
|
||||
return;
|
||||
}
|
||||
act("You unequip $p and steal it.", FALSE, ch, obj, 0, TO_CHAR);
|
||||
act("$n steals $p from $N.", FALSE, ch, obj, vict, TO_NOTVICT);
|
||||
obj_to_char(unequip_char(vict, eq_pos), ch);
|
||||
}
|
||||
act("You unequip $p and steal it.", FALSE, ch, obj, 0, TO_CHAR);
|
||||
act("$n steals $p from $N.", FALSE, ch, obj, vict, TO_NOTVICT);
|
||||
obj_to_char(unequip_char(vict, eq_pos), ch);
|
||||
}
|
||||
}
|
||||
} else { /* obj found in inventory */
|
||||
} else { /* obj found in inventory */
|
||||
|
||||
percent += GET_OBJ_WEIGHT(obj); /* Make heavy harder */
|
||||
percent += GET_OBJ_WEIGHT(obj); /* Make heavy harder */
|
||||
|
||||
if (percent > GET_SKILL(ch, SKILL_STEAL)) {
|
||||
ohoh = TRUE;
|
||||
send_to_char(ch, "Oops..\r\n");
|
||||
act("$n tried to steal something from you!", FALSE, ch, 0, vict, TO_VICT);
|
||||
act("$n tries to steal something from $N.", TRUE, ch, 0, vict, TO_NOTVICT);
|
||||
} else { /* Steal the item */
|
||||
if (IS_CARRYING_N(ch) + 1 < CAN_CARRY_N(ch)) {
|
||||
ohoh = TRUE;
|
||||
send_to_char(ch, "Oops..\r\n");
|
||||
act("$n tried to steal something from you!", FALSE, ch, 0, vict, TO_VICT);
|
||||
act("$n tries to steal something from $N.", TRUE, ch, 0, vict, TO_NOTVICT);
|
||||
} else { /* Steal the item */
|
||||
if (IS_CARRYING_N(ch) + 1 < CAN_CARRY_N(ch)) {
|
||||
if (!give_otrigger(obj, vict, ch) ||
|
||||
!receive_mtrigger(ch, vict, obj) ) {
|
||||
!receive_mtrigger(ch, vict, obj)) {
|
||||
send_to_char(ch, "Impossible!\r\n");
|
||||
return;
|
||||
}
|
||||
if (IS_CARRYING_W(ch) + GET_OBJ_WEIGHT(obj) < CAN_CARRY_W(ch)) {
|
||||
obj_from_char(obj);
|
||||
obj_to_char(obj, ch);
|
||||
send_to_char(ch, "Got it!\r\n");
|
||||
}
|
||||
} else
|
||||
send_to_char(ch, "You cannot carry that much.\r\n");
|
||||
if (IS_CARRYING_W(ch) + GET_OBJ_WEIGHT(obj) < CAN_CARRY_W(ch)) {
|
||||
obj_from_char(obj);
|
||||
obj_to_char(obj, ch);
|
||||
send_to_char(ch, "Got it!\r\n");
|
||||
}
|
||||
} else
|
||||
send_to_char(ch, "You cannot carry that much.\r\n");
|
||||
}
|
||||
}
|
||||
} else { /* Steal some coins */
|
||||
} else { /* Steal some coins */
|
||||
if (AWAKE(vict) && (percent > GET_SKILL(ch, SKILL_STEAL))) {
|
||||
ohoh = TRUE;
|
||||
send_to_char(ch, "Oops..\r\n");
|
||||
@@ -250,14 +250,14 @@ ACMD(do_steal)
|
||||
gold = (GET_GOLD(vict) * rand_number(1, 10)) / 100;
|
||||
gold = MIN(1782, gold);
|
||||
if (gold > 0) {
|
||||
increase_gold(ch, gold);
|
||||
decrease_gold(vict, gold);
|
||||
increase_gold(ch, gold);
|
||||
decrease_gold(vict, gold);
|
||||
if (gold > 1)
|
||||
send_to_char(ch, "Bingo! You got %d gold coins.\r\n", gold);
|
||||
else
|
||||
send_to_char(ch, "You manage to swipe a solitary gold coin.\r\n");
|
||||
send_to_char(ch, "Bingo! You got %d gold coins.\r\n", gold);
|
||||
else
|
||||
send_to_char(ch, "You manage to swipe a solitary gold coin.\r\n");
|
||||
} else {
|
||||
send_to_char(ch, "You couldn't get any gold...\r\n");
|
||||
send_to_char(ch, "You couldn't get any gold...\r\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -317,52 +317,53 @@ ACMD(do_title)
|
||||
|
||||
static void print_group(struct char_data *ch)
|
||||
{
|
||||
struct char_data * k;
|
||||
struct char_data *k;
|
||||
|
||||
send_to_char(ch, "Your group consists of:\r\n");
|
||||
|
||||
while ((k = (struct char_data *) simple_list(ch->group->members)) != NULL)
|
||||
while ((k = (struct char_data *)simple_list(ch->group->members)) != NULL)
|
||||
send_to_char(ch, "%-*s: %s[%4d/%-4d]H [%4d/%-4d]M [%4d/%-4d]V%s\r\n",
|
||||
count_color_chars(GET_NAME(k))+22, GET_NAME(k),
|
||||
GROUP_LEADER(GROUP(ch)) == k ? CBGRN(ch, C_NRM) : CCGRN(ch, C_NRM),
|
||||
GET_HIT(k), GET_MAX_HIT(k),
|
||||
GET_MANA(k), GET_MAX_MANA(k),
|
||||
GET_MOVE(k), GET_MAX_MOVE(k),
|
||||
CCNRM(ch, C_NRM));
|
||||
count_color_chars(GET_NAME(k)) + 22, GET_NAME(k),
|
||||
GROUP_LEADER(GROUP(ch)) == k ? CBGRN(ch, C_NRM) : CCGRN(ch, C_NRM),
|
||||
GET_HIT(k), GET_MAX_HIT(k),
|
||||
GET_MANA(k), GET_MAX_MANA(k),
|
||||
GET_MOVE(k), GET_MAX_MOVE(k),
|
||||
CCNRM(ch, C_NRM));
|
||||
}
|
||||
|
||||
static void display_group_list(struct char_data * ch)
|
||||
static void display_group_list(struct char_data *ch)
|
||||
{
|
||||
struct group_data * group;
|
||||
struct group_data *group;
|
||||
int count = 0;
|
||||
|
||||
|
||||
if (group_list->iSize) {
|
||||
send_to_char(ch, "# Group Leader # of Members In Zone\r\n"
|
||||
"---------------------------------------------------\r\n");
|
||||
|
||||
while ((group = (struct group_data *) simple_list(group_list)) != NULL) {
|
||||
if (IS_SET(GROUP_FLAGS(group), GROUP_NPC))
|
||||
continue;
|
||||
"---------------------------------------------------\r\n");
|
||||
|
||||
while ((group = (struct group_data *)simple_list(group_list)) != NULL) {
|
||||
if (IS_SET(GROUP_FLAGS(group), GROUP_NPC))
|
||||
continue;
|
||||
if (GROUP_LEADER(group) && !IS_SET(GROUP_FLAGS(group), GROUP_ANON))
|
||||
send_to_char(ch, "%-2d) %s%-12s %-2d %s%s\r\n",
|
||||
++count,
|
||||
IS_SET(GROUP_FLAGS(group), GROUP_OPEN) ? CCGRN(ch, C_NRM) : CCRED(ch, C_NRM),
|
||||
GET_NAME(GROUP_LEADER(group)), group->members->iSize, zone_table[world[IN_ROOM(GROUP_LEADER(group))].zone].name,
|
||||
CCNRM(ch, C_NRM));
|
||||
send_to_char(ch, "%-2d) %s%-12s %-2d %s%s\r\n",
|
||||
++count,
|
||||
IS_SET(GROUP_FLAGS(group), GROUP_OPEN) ? CCGRN(ch, C_NRM) : CCRED(ch, C_NRM),
|
||||
GET_NAME(GROUP_LEADER(group)), group->members->iSize,
|
||||
zone_table[world[IN_ROOM(GROUP_LEADER(group))].zone].name,
|
||||
CCNRM(ch, C_NRM));
|
||||
else
|
||||
send_to_char(ch, "%-2d) Hidden\r\n", ++count);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (count)
|
||||
send_to_char(ch, "\r\n"
|
||||
"%sSeeking Members%s\r\n"
|
||||
"%sClosed%s\r\n",
|
||||
CCGRN(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCRED(ch, C_NRM), CCNRM(ch, C_NRM));
|
||||
"%sSeeking Members%s\r\n"
|
||||
"%sClosed%s\r\n",
|
||||
CCGRN(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCRED(ch, C_NRM), CCNRM(ch, C_NRM));
|
||||
else
|
||||
send_to_char(ch, "\r\n"
|
||||
"Currently no groups formed.\r\n");
|
||||
"Currently no groups formed.\r\n");
|
||||
}
|
||||
|
||||
/* Vatiken's Group System: Version 1.1 */
|
||||
@@ -380,7 +381,7 @@ ACMD(do_group)
|
||||
send_to_char(ch, "You must specify a group option, or type HELP GROUP for more info.\r\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (is_abbrev(buf, "new")) {
|
||||
if (GROUP(ch))
|
||||
send_to_char(ch, "You are already in a group.\r\n");
|
||||
@@ -405,8 +406,8 @@ ACMD(do_group)
|
||||
} else if (!IS_SET(GROUP_FLAGS(GROUP(vict)), GROUP_OPEN)) {
|
||||
send_to_char(ch, "That group isn't accepting members.\r\n");
|
||||
return;
|
||||
}
|
||||
join_group(ch, GROUP(vict));
|
||||
}
|
||||
join_group(ch, GROUP(vict));
|
||||
} else if (is_abbrev(buf, "kick")) {
|
||||
skip_spaces(&argument);
|
||||
if (!(vict = get_char_vis(ch, argument, NULL, FIND_CHAR_ROOM))) {
|
||||
@@ -415,18 +416,18 @@ ACMD(do_group)
|
||||
} else if (vict == ch) {
|
||||
send_to_char(ch, "There are easier ways to leave the group.\r\n");
|
||||
return;
|
||||
} else if (!GROUP(ch) ) {
|
||||
} else if (!GROUP(ch)) {
|
||||
send_to_char(ch, "But you are not part of a group.\r\n");
|
||||
return;
|
||||
} else if (GROUP_LEADER(GROUP(ch)) != ch ) {
|
||||
} else if (GROUP_LEADER(GROUP(ch)) != ch) {
|
||||
send_to_char(ch, "Only the group's leader can kick members out.\r\n");
|
||||
return;
|
||||
} else if (GROUP(vict) != GROUP(ch)) {
|
||||
act("$E$u is not a member of your group!", FALSE, ch, 0, vict, TO_CHAR);
|
||||
return;
|
||||
}
|
||||
}
|
||||
send_to_char(ch, "You have kicked %s out of the group.\r\n", GET_NAME(vict));
|
||||
send_to_char(vict, "You have been kicked out of the group.\r\n");
|
||||
send_to_char(vict, "You have been kicked out of the group.\r\n");
|
||||
leave_group(vict);
|
||||
} else if (is_abbrev(buf, "regroup")) {
|
||||
if (!GROUP(ch)) {
|
||||
@@ -441,12 +442,12 @@ ACMD(do_group)
|
||||
join_group(ch, GROUP(vict));
|
||||
}
|
||||
} else if (is_abbrev(buf, "leave")) {
|
||||
|
||||
|
||||
if (!GROUP(ch)) {
|
||||
send_to_char(ch, "But you aren't part of a group!\r\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
leave_group(ch);
|
||||
} else if (is_abbrev(buf, "option")) {
|
||||
skip_spaces(&argument);
|
||||
@@ -459,14 +460,16 @@ ACMD(do_group)
|
||||
}
|
||||
if (is_abbrev(argument, "open")) {
|
||||
TOGGLE_BIT(GROUP_FLAGS(GROUP(ch)), GROUP_OPEN);
|
||||
send_to_char(ch, "The group is now %s to new members.\r\n", IS_SET(GROUP_FLAGS(GROUP(ch)), GROUP_OPEN) ? "open" : "closed");
|
||||
send_to_char(ch, "The group is now %s to new members.\r\n",
|
||||
IS_SET(GROUP_FLAGS(GROUP(ch)), GROUP_OPEN) ? "open" : "closed");
|
||||
} else if (is_abbrev(argument, "anonymous")) {
|
||||
TOGGLE_BIT(GROUP_FLAGS(GROUP(ch)), GROUP_ANON);
|
||||
send_to_char(ch, "The group location is now %s to other players.\r\n", IS_SET(GROUP_FLAGS(GROUP(ch)), GROUP_ANON) ? "invisible" : "visible");
|
||||
} else
|
||||
send_to_char(ch, "The group location is now %s to other players.\r\n",
|
||||
IS_SET(GROUP_FLAGS(GROUP(ch)), GROUP_ANON) ? "invisible" : "visible");
|
||||
} else
|
||||
send_to_char(ch, "The flag options are: Open, Anonymous\r\n");
|
||||
} else {
|
||||
send_to_char(ch, "You must specify a group option, or type HELP GROUP for more info.\r\n");
|
||||
send_to_char(ch, "You must specify a group option, or type HELP GROUP for more info.\r\n");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -481,10 +484,10 @@ ACMD(do_report)
|
||||
}
|
||||
|
||||
send_to_group(NULL, group, "%s reports: %d/%dH, %d/%dM, %d/%dV\r\n",
|
||||
GET_NAME(ch),
|
||||
GET_HIT(ch), GET_MAX_HIT(ch),
|
||||
GET_MANA(ch), GET_MAX_MANA(ch),
|
||||
GET_MOVE(ch), GET_MAX_MOVE(ch));
|
||||
GET_NAME(ch),
|
||||
GET_HIT(ch), GET_MAX_HIT(ch),
|
||||
GET_MANA(ch), GET_MAX_MANA(ch),
|
||||
GET_MOVE(ch), GET_MAX_MOVE(ch));
|
||||
}
|
||||
|
||||
ACMD(do_split)
|
||||
@@ -493,7 +496,7 @@ ACMD(do_split)
|
||||
int amount, num = 0, share, rest;
|
||||
size_t len;
|
||||
struct char_data *k;
|
||||
|
||||
|
||||
if (IS_NPC(ch))
|
||||
return;
|
||||
|
||||
@@ -509,9 +512,9 @@ ACMD(do_split)
|
||||
send_to_char(ch, "You don't seem to have that much gold to split.\r\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (GROUP(ch))
|
||||
while ((k = (struct char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (struct char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (IN_ROOM(ch) == IN_ROOM(k) && !IS_NPC(k))
|
||||
num++;
|
||||
|
||||
@@ -527,25 +530,25 @@ ACMD(do_split)
|
||||
|
||||
/* Abusing signed/unsigned to make sizeof work. */
|
||||
len = snprintf(buf, sizeof(buf), "%s splits %d coins; you receive %d.\r\n",
|
||||
GET_NAME(ch), amount, share);
|
||||
GET_NAME(ch), amount, share);
|
||||
if (rest && len < sizeof(buf)) {
|
||||
snprintf(buf + len, sizeof(buf) - len,
|
||||
"%d coin%s %s not splitable, so %s keeps the money.\r\n", rest,
|
||||
(rest == 1) ? "" : "s", (rest == 1) ? "was" : "were", GET_NAME(ch));
|
||||
"%d coin%s %s not splitable, so %s keeps the money.\r\n", rest,
|
||||
(rest == 1) ? "" : "s", (rest == 1) ? "was" : "were", GET_NAME(ch));
|
||||
}
|
||||
|
||||
while ((k = (struct char_data *) simple_list(GROUP(ch)->members)) != NULL)
|
||||
while ((k = (struct char_data *)simple_list(GROUP(ch)->members)) != NULL)
|
||||
if (k != ch && IN_ROOM(ch) == IN_ROOM(k) && !IS_NPC(k)) {
|
||||
increase_gold(k, share);
|
||||
send_to_char(k, "%s", buf);
|
||||
}
|
||||
increase_gold(k, share);
|
||||
send_to_char(k, "%s", buf);
|
||||
}
|
||||
|
||||
send_to_char(ch, "You split %d coins among %d members -- %d coins each.\r\n",
|
||||
amount, num, share);
|
||||
amount, num, share);
|
||||
|
||||
if (rest) {
|
||||
send_to_char(ch, "%d coin%s %s not splitable, so you keep the money.\r\n",
|
||||
rest, (rest == 1) ? "" : "s", (rest == 1) ? "was" : "were");
|
||||
rest, (rest == 1) ? "" : "s", (rest == 1) ? "was" : "were");
|
||||
}
|
||||
} else {
|
||||
send_to_char(ch, "How many coins do you wish to split with your group?\r\n");
|
||||
@@ -570,8 +573,8 @@ ACMD(do_use)
|
||||
case SCMD_RECITE:
|
||||
case SCMD_QUAFF:
|
||||
if (!(mag_item = get_obj_in_list_vis(ch, arg, NULL, ch->carrying))) {
|
||||
send_to_char(ch, "You don't seem to have %s %s.\r\n", AN(arg), arg);
|
||||
return;
|
||||
send_to_char(ch, "You don't seem to have %s %s.\r\n", AN(arg), arg);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case SCMD_USE:
|
||||
@@ -579,8 +582,8 @@ ACMD(do_use)
|
||||
return;
|
||||
default:
|
||||
log("SYSERR: Unknown subcmd %d passed to do_use.", subcmd);
|
||||
/* SYSERR_DESC: This is the same as the unhandled case in do_gen_ps(),
|
||||
* but in the function which handles 'quaff', 'recite', and 'use'. */
|
||||
/* SYSERR_DESC: This is the same as the unhandled case in do_gen_ps(),
|
||||
* but in the function which handles 'quaff', 'recite', and 'use'. */
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -599,7 +602,7 @@ ACMD(do_use)
|
||||
break;
|
||||
case SCMD_USE:
|
||||
if ((GET_OBJ_TYPE(mag_item) != ITEM_WAND) &&
|
||||
(GET_OBJ_TYPE(mag_item) != ITEM_STAFF)) {
|
||||
(GET_OBJ_TYPE(mag_item) != ITEM_STAFF)) {
|
||||
send_to_char(ch, "You can't seem to figure out how to use it.\r\n");
|
||||
return;
|
||||
}
|
||||
@@ -647,16 +650,16 @@ ACMD(do_display)
|
||||
switch (LOWER(argument[i])) {
|
||||
case 'h':
|
||||
SET_BIT_AR(PRF_FLAGS(ch), PRF_DISPHP);
|
||||
break;
|
||||
break;
|
||||
case 'm':
|
||||
SET_BIT_AR(PRF_FLAGS(ch), PRF_DISPMANA);
|
||||
break;
|
||||
break;
|
||||
case 'v':
|
||||
SET_BIT_AR(PRF_FLAGS(ch), PRF_DISPMOVE);
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
send_to_char(ch, "Usage: prompt { { H | M | V } | all | auto | none }\r\n");
|
||||
return;
|
||||
send_to_char(ch, "Usage: prompt { { H | M | V } | all | auto | none }\r\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -673,64 +676,64 @@ ACMD(do_gen_tog)
|
||||
char arg[MAX_INPUT_LENGTH];
|
||||
|
||||
const char *tog_messages[][2] = {
|
||||
{"You are now safe from summoning by other players.\r\n",
|
||||
"You may now be summoned by other players.\r\n"},
|
||||
{"Nohassle disabled.\r\n",
|
||||
"Nohassle enabled.\r\n"},
|
||||
{"Brief mode off.\r\n",
|
||||
"Brief mode on.\r\n"},
|
||||
{"Compact mode off.\r\n",
|
||||
"Compact mode on.\r\n"},
|
||||
{"You can now hear tells.\r\n",
|
||||
"You are now deaf to tells.\r\n"},
|
||||
{"You can now hear auctions.\r\n",
|
||||
"You are now deaf to auctions.\r\n"},
|
||||
{"You can now hear shouts.\r\n",
|
||||
"You are now deaf to shouts.\r\n"},
|
||||
{"You can now hear gossip.\r\n",
|
||||
"You are now deaf to gossip.\r\n"},
|
||||
{"You can now hear the congratulation messages.\r\n",
|
||||
"You are now deaf to the congratulation messages.\r\n"},
|
||||
{"You can now hear the Wiz-channel.\r\n",
|
||||
"You are now deaf to the Wiz-channel.\r\n"},
|
||||
{"You are no longer part of the Quest.\r\n",
|
||||
"Okay, you are part of the Quest!\r\n"},
|
||||
{"You will no longer see the room flags.\r\n",
|
||||
"You will now see the room flags.\r\n"},
|
||||
{"You will now have your communication repeated.\r\n",
|
||||
"You will no longer have your communication repeated.\r\n"},
|
||||
{"HolyLight mode off.\r\n",
|
||||
"HolyLight mode on.\r\n"},
|
||||
{"Nameserver_is_slow changed to NO; IP addresses will now be resolved.\r\n",
|
||||
"Nameserver_is_slow changed to YES; sitenames will no longer be resolved.\r\n"},
|
||||
{"Autoexits disabled.\r\n",
|
||||
"Autoexits enabled.\r\n"},
|
||||
{"Will no longer track through doors.\r\n",
|
||||
"Will now track through doors.\r\n"},
|
||||
{"Will no longer clear screen in OLC.\r\n",
|
||||
"Will now clear screen in OLC.\r\n"},
|
||||
{"Buildwalk Off.\r\n",
|
||||
"Buildwalk On.\r\n"},
|
||||
{"AFK flag is now off.\r\n",
|
||||
"AFK flag is now on.\r\n"},
|
||||
{"Autoloot disabled.\r\n",
|
||||
"Autoloot enabled.\r\n"},
|
||||
{"Autogold disabled.\r\n",
|
||||
"Autogold enabled.\r\n"},
|
||||
{"Autosplit disabled.\r\n",
|
||||
"Autosplit enabled.\r\n"},
|
||||
{"Autosacrifice disabled.\r\n",
|
||||
"Autosacrifice enabled.\r\n"},
|
||||
{"Autoassist disabled.\r\n",
|
||||
"Autoassist enabled.\r\n"},
|
||||
{"Automap disabled.\r\n",
|
||||
"Automap enabled.\r\n"},
|
||||
{"Autokey disabled.\r\n",
|
||||
"Autokey enabled.\r\n"},
|
||||
{"Autodoor disabled.\r\n",
|
||||
"Autodoor enabled.\r\n"},
|
||||
{"ZoneResets disabled.\r\n",
|
||||
"ZoneResets enabled.\r\n"}
|
||||
{"You are now safe from summoning by other players.\r\n",
|
||||
"You may now be summoned by other players.\r\n"},
|
||||
{"Nohassle disabled.\r\n",
|
||||
"Nohassle enabled.\r\n"},
|
||||
{"Brief mode off.\r\n",
|
||||
"Brief mode on.\r\n"},
|
||||
{"Compact mode off.\r\n",
|
||||
"Compact mode on.\r\n"},
|
||||
{"You can now hear tells.\r\n",
|
||||
"You are now deaf to tells.\r\n"},
|
||||
{"You can now hear auctions.\r\n",
|
||||
"You are now deaf to auctions.\r\n"},
|
||||
{"You can now hear shouts.\r\n",
|
||||
"You are now deaf to shouts.\r\n"},
|
||||
{"You can now hear gossip.\r\n",
|
||||
"You are now deaf to gossip.\r\n"},
|
||||
{"You can now hear the congratulation messages.\r\n",
|
||||
"You are now deaf to the congratulation messages.\r\n"},
|
||||
{"You can now hear the Wiz-channel.\r\n",
|
||||
"You are now deaf to the Wiz-channel.\r\n"},
|
||||
{"You are no longer part of the Quest.\r\n",
|
||||
"Okay, you are part of the Quest!\r\n"},
|
||||
{"You will no longer see the room flags.\r\n",
|
||||
"You will now see the room flags.\r\n"},
|
||||
{"You will now have your communication repeated.\r\n",
|
||||
"You will no longer have your communication repeated.\r\n"},
|
||||
{"HolyLight mode off.\r\n",
|
||||
"HolyLight mode on.\r\n"},
|
||||
{"Nameserver_is_slow changed to NO; IP addresses will now be resolved.\r\n",
|
||||
"Nameserver_is_slow changed to YES; sitenames will no longer be resolved.\r\n"},
|
||||
{"Autoexits disabled.\r\n",
|
||||
"Autoexits enabled.\r\n"},
|
||||
{"Will no longer track through doors.\r\n",
|
||||
"Will now track through doors.\r\n"},
|
||||
{"Will no longer clear screen in OLC.\r\n",
|
||||
"Will now clear screen in OLC.\r\n"},
|
||||
{"Buildwalk Off.\r\n",
|
||||
"Buildwalk On.\r\n"},
|
||||
{"AFK flag is now off.\r\n",
|
||||
"AFK flag is now on.\r\n"},
|
||||
{"Autoloot disabled.\r\n",
|
||||
"Autoloot enabled.\r\n"},
|
||||
{"Autogold disabled.\r\n",
|
||||
"Autogold enabled.\r\n"},
|
||||
{"Autosplit disabled.\r\n",
|
||||
"Autosplit enabled.\r\n"},
|
||||
{"Autosacrifice disabled.\r\n",
|
||||
"Autosacrifice enabled.\r\n"},
|
||||
{"Autoassist disabled.\r\n",
|
||||
"Autoassist enabled.\r\n"},
|
||||
{"Automap disabled.\r\n",
|
||||
"Automap enabled.\r\n"},
|
||||
{"Autokey disabled.\r\n",
|
||||
"Autokey enabled.\r\n"},
|
||||
{"Autodoor disabled.\r\n",
|
||||
"Autodoor enabled.\r\n"},
|
||||
{"ZoneResets disabled.\r\n",
|
||||
"ZoneResets enabled.\r\n"}
|
||||
};
|
||||
|
||||
if (IS_NPC(ch))
|
||||
@@ -784,7 +787,7 @@ ACMD(do_gen_tog)
|
||||
break;
|
||||
case SCMD_CLS:
|
||||
result = PRF_TOG_CHK(ch, PRF_CLS);
|
||||
break;
|
||||
break;
|
||||
case SCMD_BUILDWALK:
|
||||
if (GET_LEVEL(ch) < LVL_BUILDER) {
|
||||
send_to_char(ch, "Builders only, sorry.\r\n");
|
||||
@@ -793,14 +796,14 @@ ACMD(do_gen_tog)
|
||||
result = PRF_TOG_CHK(ch, PRF_BUILDWALK);
|
||||
if (PRF_FLAGGED(ch, PRF_BUILDWALK)) {
|
||||
one_argument(argument, arg);
|
||||
for (i=0; *arg && *(sector_types[i]) != '\n'; i++)
|
||||
for (i = 0; *arg && *(sector_types[i]) != '\n'; i++)
|
||||
if (is_abbrev(arg, sector_types[i]))
|
||||
break;
|
||||
if (*(sector_types[i]) == '\n')
|
||||
i=0;
|
||||
if (*(sector_types[i]) == '\n')
|
||||
i = 0;
|
||||
GET_BUILDWALK_SECTOR(ch) = i;
|
||||
send_to_char(ch, "Default sector type is %s\r\n", sector_types[i]);
|
||||
|
||||
|
||||
mudlog(CMP, GET_LEVEL(ch), TRUE,
|
||||
"OLC: %s turned buildwalk on. Allowed zone %d", GET_NAME(ch), GET_OLC_ZONE(ch));
|
||||
} else
|
||||
@@ -862,30 +865,27 @@ static void show_happyhour(struct char_data *ch)
|
||||
char happyexp[80], happygold[80], happyqp[80];
|
||||
int secs_left;
|
||||
|
||||
if ((IS_HAPPYHOUR) || (GET_LEVEL(ch) >= LVL_GRGOD))
|
||||
{
|
||||
if (HAPPY_TIME)
|
||||
secs_left = ((HAPPY_TIME - 1) * SECS_PER_MUD_HOUR) + next_tick;
|
||||
else
|
||||
secs_left = 0;
|
||||
if ((IS_HAPPYHOUR) || (GET_LEVEL(ch) >= LVL_GRGOD)) {
|
||||
if (HAPPY_TIME)
|
||||
secs_left = ((HAPPY_TIME - 1) * SECS_PER_MUD_HOUR) + next_tick;
|
||||
else
|
||||
secs_left = 0;
|
||||
|
||||
sprintf(happyqp, "%s+%d%%%s to Questpoints per quest\r\n", CCYEL(ch, C_NRM), HAPPY_QP, CCNRM(ch, C_NRM));
|
||||
sprintf(happygold, "%s+%d%%%s to Gold gained per kill\r\n", CCYEL(ch, C_NRM), HAPPY_GOLD, CCNRM(ch, C_NRM));
|
||||
sprintf(happyexp, "%s+%d%%%s to Experience per kill\r\n", CCYEL(ch, C_NRM), HAPPY_EXP, CCNRM(ch, C_NRM));
|
||||
sprintf(happyqp, "%s+%d%%%s to Questpoints per quest\r\n", CCYEL(ch, C_NRM), HAPPY_QP, CCNRM(ch, C_NRM));
|
||||
sprintf(happygold, "%s+%d%%%s to Gold gained per kill\r\n", CCYEL(ch, C_NRM), HAPPY_GOLD, CCNRM(ch, C_NRM));
|
||||
sprintf(happyexp, "%s+%d%%%s to Experience per kill\r\n", CCYEL(ch, C_NRM), HAPPY_EXP, CCNRM(ch, C_NRM));
|
||||
|
||||
send_to_char(ch, "tbaMUD Happy Hour!\r\n"
|
||||
"------------------\r\n"
|
||||
"%s%s%sTime Remaining: %s%d%s hours %s%d%s mins %s%d%s secs\r\n",
|
||||
(IS_HAPPYEXP || (GET_LEVEL(ch) >= LVL_GOD)) ? happyexp : "",
|
||||
(IS_HAPPYGOLD || (GET_LEVEL(ch) >= LVL_GOD)) ? happygold : "",
|
||||
(IS_HAPPYQP || (GET_LEVEL(ch) >= LVL_GOD)) ? happyqp : "",
|
||||
CCYEL(ch, C_NRM), (secs_left / 3600), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), (secs_left % 3600) / 60, CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), (secs_left % 60), CCNRM(ch, C_NRM) );
|
||||
}
|
||||
else
|
||||
{
|
||||
send_to_char(ch, "Sorry, there is currently no happy hour!\r\n");
|
||||
send_to_char(ch, "tbaMUD Happy Hour!\r\n"
|
||||
"------------------\r\n"
|
||||
"%s%s%sTime Remaining: %s%d%s hours %s%d%s mins %s%d%s secs\r\n",
|
||||
(IS_HAPPYEXP || (GET_LEVEL(ch) >= LVL_GOD)) ? happyexp : "",
|
||||
(IS_HAPPYGOLD || (GET_LEVEL(ch) >= LVL_GOD)) ? happygold : "",
|
||||
(IS_HAPPYQP || (GET_LEVEL(ch) >= LVL_GOD)) ? happyqp : "",
|
||||
CCYEL(ch, C_NRM), (secs_left / 3600), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), (secs_left % 3600) / 60, CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), (secs_left % 60), CCNRM(ch, C_NRM));
|
||||
} else {
|
||||
send_to_char(ch, "Sorry, there is currently no happy hour!\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -894,8 +894,7 @@ ACMD(do_happyhour)
|
||||
char arg[MAX_INPUT_LENGTH], val[MAX_INPUT_LENGTH];
|
||||
int num;
|
||||
|
||||
if (GET_LEVEL(ch) < LVL_GOD)
|
||||
{
|
||||
if (GET_LEVEL(ch) < LVL_GOD) {
|
||||
show_happyhour(ch);
|
||||
return;
|
||||
}
|
||||
@@ -903,20 +902,15 @@ ACMD(do_happyhour)
|
||||
/* Only Imms get here, so check args */
|
||||
two_arguments(argument, arg, val);
|
||||
|
||||
if (is_abbrev(arg, "experience"))
|
||||
{
|
||||
if (is_abbrev(arg, "experience")) {
|
||||
num = MIN(MAX((atoi(val)), 0), 1000);
|
||||
HAPPY_EXP = num;
|
||||
send_to_char(ch, "Happy Hour Exp rate set to +%d%%\r\n", HAPPY_EXP);
|
||||
}
|
||||
else if ((is_abbrev(arg, "gold")) || (is_abbrev(arg, "coins")))
|
||||
{
|
||||
} else if ((is_abbrev(arg, "gold")) || (is_abbrev(arg, "coins"))) {
|
||||
num = MIN(MAX((atoi(val)), 0), 1000);
|
||||
HAPPY_GOLD = num;
|
||||
send_to_char(ch, "Happy Hour Gold rate set to +%d%%\r\n", HAPPY_GOLD);
|
||||
}
|
||||
else if ((is_abbrev(arg, "time")) || (is_abbrev(arg, "ticks")))
|
||||
{
|
||||
} else if ((is_abbrev(arg, "time")) || (is_abbrev(arg, "ticks"))) {
|
||||
num = MIN(MAX((atoi(val)), 0), 1000);
|
||||
if (HAPPY_TIME && !num)
|
||||
game_info("Happyhour has been stopped!");
|
||||
@@ -925,47 +919,39 @@ ACMD(do_happyhour)
|
||||
|
||||
HAPPY_TIME = num;
|
||||
send_to_char(ch, "Happy Hour Time set to %d ticks (%d hours %d mins and %d secs)\r\n",
|
||||
HAPPY_TIME,
|
||||
(HAPPY_TIME*SECS_PER_MUD_HOUR)/3600,
|
||||
((HAPPY_TIME*SECS_PER_MUD_HOUR)%3600) / 60,
|
||||
(HAPPY_TIME*SECS_PER_MUD_HOUR)%60 );
|
||||
}
|
||||
else if ((is_abbrev(arg, "qp")) || (is_abbrev(arg, "questpoints")))
|
||||
{
|
||||
HAPPY_TIME,
|
||||
(HAPPY_TIME * SECS_PER_MUD_HOUR) / 3600,
|
||||
((HAPPY_TIME * SECS_PER_MUD_HOUR) % 3600) / 60,
|
||||
(HAPPY_TIME * SECS_PER_MUD_HOUR) % 60);
|
||||
} else if ((is_abbrev(arg, "qp")) || (is_abbrev(arg, "questpoints"))) {
|
||||
num = MIN(MAX((atoi(val)), 0), 1000);
|
||||
HAPPY_QP = num;
|
||||
send_to_char(ch, "Happy Hour Questpoints rate set to +%d%%\r\n", HAPPY_QP);
|
||||
}
|
||||
else if (is_abbrev(arg, "show"))
|
||||
{
|
||||
} else if (is_abbrev(arg, "show")) {
|
||||
show_happyhour(ch);
|
||||
}
|
||||
else if (is_abbrev(arg, "default"))
|
||||
{
|
||||
} else if (is_abbrev(arg, "default")) {
|
||||
HAPPY_EXP = 100;
|
||||
HAPPY_GOLD = 50;
|
||||
HAPPY_QP = 50;
|
||||
HAPPY_QP = 50;
|
||||
HAPPY_TIME = 48;
|
||||
game_info("A Happyhour has started!");
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
send_to_char(ch, "Usage: %shappyhour %s- show usage (this info)\r\n"
|
||||
" %shappyhour show %s- display current settings (what mortals see)\r\n"
|
||||
" %shappyhour time <ticks> %s- set happyhour time and start timer\r\n"
|
||||
" %shappyhour qp <num> %s- set qp percentage gain\r\n"
|
||||
" %shappyhour exp <num> %s- set exp percentage gain\r\n"
|
||||
" %shappyhour gold <num> %s- set gold percentage gain\r\n"
|
||||
" \tyhappyhour default \tw- sets a default setting for happyhour\r\n\r\n"
|
||||
"Configure the happyhour settings and start a happyhour.\r\n"
|
||||
"Currently 1 hour IRL = %d ticks\r\n"
|
||||
"If no number is specified, 0 (off) is assumed.\r\nThe command \tyhappyhour time\tn will therefore stop the happyhour timer.\r\n",
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
(3600 / SECS_PER_MUD_HOUR) );
|
||||
" %shappyhour show %s- display current settings (what mortals see)\r\n"
|
||||
" %shappyhour time <ticks> %s- set happyhour time and start timer\r\n"
|
||||
" %shappyhour qp <num> %s- set qp percentage gain\r\n"
|
||||
" %shappyhour exp <num> %s- set exp percentage gain\r\n"
|
||||
" %shappyhour gold <num> %s- set gold percentage gain\r\n"
|
||||
" \tyhappyhour default \tw- sets a default setting for happyhour\r\n\r\n"
|
||||
"Configure the happyhour settings and start a happyhour.\r\n"
|
||||
"Currently 1 hour IRL = %d ticks\r\n"
|
||||
"If no number is specified, 0 (off) is assumed.\r\nThe command \tyhappyhour time\tn will therefore stop the happyhour timer.\r\n",
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
CCYEL(ch, C_NRM), CCNRM(ch, C_NRM),
|
||||
(3600 / SECS_PER_MUD_HOUR));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user