mirror of
https://github.com/tbamud/tbamud.git
synced 2026-02-05 23:51:47 +01:00
[May 17 2007] - Rumble
Added AFF_FLYING/SCUBA and appropriate checks in act.movement.c. Room sector ty pes IN FLIGHT and UNDERWATER are finally being used! Removed all of the Dragon_Breathes. Removed context help system. Added invis level on reconnect. [May 15 2007] - Rumble Fixed object stacking to match s-desc and item_number. Added wizupdate command. Added valid_dg_target check to object remove trigs.
This commit is contained in:
parent
2f24e37bb8
commit
8315bc5da8
29 changed files with 191 additions and 1330 deletions
|
|
@ -26,7 +26,7 @@ LIBS = @LIBS@ @CRYPTLIB@ @NETLIB@
|
|||
OBJFILES = act.comm.o act.informative.o act.item.o act.movement.o \
|
||||
act.offensive.o act.other.o act.social.o act.wizard.o aedit.o alias.o \
|
||||
ban.o boards.o bsd-snprintf.o castle.o cedit.o class.o comm.o config.o \
|
||||
constants.o context_help.o db.o dg_comm.o dg_db_scripts.o dg_event.o \
|
||||
constants.o db.o dg_comm.o dg_db_scripts.o dg_event.o \
|
||||
dg_handler.o dg_misc.o dg_mobcmd.o dg_objcmd.o dg_olc.o dg_scripts.o \
|
||||
dg_triggers.o dg_variables.o dg_wldcmd.o fight.o genmob.o \
|
||||
genobj.o genolc.o genshp.o genwld.o genzon.o graph.o handler.o hedit.o \
|
||||
|
|
@ -39,7 +39,7 @@ OBJFILES = act.comm.o act.informative.o act.item.o act.movement.o \
|
|||
CXREF_FILES = act.comm.c act.informative.c act.item.c act.movement.c \
|
||||
act.offensive.c act.other.c act.social.c act.wizard.c aedit.c alias.c \
|
||||
ban.c boards.c bsd-snprintf.c castle.c cedit.c class.c comm.c config.c \
|
||||
constants.c context_help.c db.c dg_comm.c dg_db_scripts.c dg_event.c \
|
||||
constants.c db.c dg_comm.c dg_db_scripts.c dg_event.c \
|
||||
dg_handler.c dg_misc.c dg_mobcmd.c dg_objcmd.c dg_olc.c dg_scripts.c \
|
||||
dg_triggers.c dg_variables.c dg_wldcmd.c fight.c genmob.c \
|
||||
genobj.c genolc.c genshp.c genwld.c genzon.c graph.c handler.c hedit.c \
|
||||
|
|
|
|||
|
|
@ -211,12 +211,12 @@ void list_obj_to_char(struct obj_data *list, struct char_data *ch, int mode, int
|
|||
for (i = list; i; i = i->next_content) {
|
||||
num = 0;
|
||||
for (j = list; j != i; j = j->next_content)
|
||||
if (!strcmp(j->short_description, i->short_description))
|
||||
if (!strcmp(j->short_description, i->short_description) && (!strcmp(j->name, i->name)))
|
||||
break;
|
||||
if (j != i)
|
||||
continue;
|
||||
for (j = i; j; j = j->next_content)
|
||||
if (!strcmp(j->short_description, i->short_description))
|
||||
if (!strcmp(j->short_description, i->short_description) && (!strcmp(j->name, i->name)))
|
||||
num++;
|
||||
if (CAN_SEE_OBJ(ch, i) && (*i->description != '.' || (IS_NPC(ch) || PRF_FLAGGED(ch, PRF_HOLYLIGHT)))) {
|
||||
if (mode == SHOW_OBJ_LONG)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ int has_boat(struct char_data *ch)
|
|||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
return (1);
|
||||
|
||||
if (AFF_FLAGGED(ch, AFF_WATERWALK))
|
||||
if (AFF_FLAGGED(ch, AFF_WATERWALK) || AFF_FLAGGED(ch, AFF_FLYING))
|
||||
return (1);
|
||||
|
||||
/* non-wearable boats in inventory will do it */
|
||||
|
|
@ -68,6 +68,56 @@ int has_boat(struct char_data *ch)
|
|||
return (0);
|
||||
}
|
||||
|
||||
/* Simple function to determine if char can fly. */
|
||||
int has_flight(struct char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
return (1);
|
||||
|
||||
if (AFF_FLAGGED(ch, AFF_FLYING))
|
||||
return (1);
|
||||
|
||||
/* Non-wearable flying items in inventory will do it. */
|
||||
for (obj = ch->carrying; obj; obj = obj->next_content)
|
||||
if (OBJAFF_FLAGGED(obj, AFF_FLYING) && OBJAFF_FLAGGED(obj, AFF_FLYING))
|
||||
return (1);
|
||||
|
||||
/* Any equipped objects with AFF_FLYING will do it too. */
|
||||
for (i = 0; i < NUM_WEARS; i++)
|
||||
if (GET_EQ(ch, i) && OBJAFF_FLAGGED(obj, AFF_FLYING))
|
||||
return (1);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Simple function to determine if char can scuba. */
|
||||
int has_scuba(struct char_data *ch)
|
||||
{
|
||||
struct obj_data *obj;
|
||||
int i;
|
||||
|
||||
if (GET_LEVEL(ch) > LVL_IMMORT)
|
||||
return (1);
|
||||
|
||||
if (AFF_FLAGGED(ch, AFF_SCUBA))
|
||||
return (1);
|
||||
|
||||
/* Non-wearable scuba items in inventory will do it. */
|
||||
for (obj = ch->carrying; obj; obj = obj->next_content)
|
||||
if (OBJAFF_FLAGGED(obj, AFF_SCUBA) && (find_eq_pos(ch, obj, NULL) < 0))
|
||||
return (1);
|
||||
|
||||
/* Any equipped objects with AFF_SCUBA will do it too. */
|
||||
for (i = 0; i < NUM_WEARS; i++)
|
||||
if (GET_EQ(ch, i) && OBJAFF_FLAGGED(obj, AFF_SCUBA))
|
||||
return (1);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* do_simple_move assumes that there is no master, no followers and that the
|
||||
* direction exists. It returns 1 for success, 0 if failure. */
|
||||
int do_simple_move(struct char_data *ch, int dir, int need_specials_check)
|
||||
|
|
@ -104,6 +154,22 @@ int do_simple_move(struct char_data *ch, int dir, int need_specials_check)
|
|||
}
|
||||
}
|
||||
|
||||
/* If this room or the one we're going to needs flight, check for it. */
|
||||
if ((SECT(IN_ROOM(ch)) == SECT_FLYING) || (SECT(EXIT(ch, dir)->to_room) == SECT_FLYING)) {
|
||||
if (!has_flight(ch)) {
|
||||
send_to_char(ch, "You need to be flying to go there!\r\n");
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
/* If this room or the one we're going to needs scuba, check for it. */
|
||||
if ((SECT(IN_ROOM(ch)) == SECT_UNDERWATER) || (SECT(EXIT(ch, dir)->to_room) == SECT_UNDERWATER)) {
|
||||
if (!has_scuba(ch)) {
|
||||
send_to_char(ch, "You need to be able to breathe water to go there!\r\n");
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
/* move points needed is avg. move loss for src and destination sect type */
|
||||
need_movement = (movement_loss[SECT(IN_ROOM(ch))] +
|
||||
movement_loss[SECT(EXIT(ch, dir)->to_room)]) / 2;
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ ACMD(do_copyover);
|
|||
ACMD(do_peace);
|
||||
void mod_llog_entry(struct last_entry *llast,int type);
|
||||
ACMD(do_plist);
|
||||
ACMD(do_wizupdate);
|
||||
|
||||
int purge_room(room_rnum room)
|
||||
{
|
||||
|
|
@ -646,7 +647,7 @@ void do_stat_object(struct char_data *ch, struct obj_data *j)
|
|||
char buf[MAX_STRING_LENGTH];
|
||||
struct char_data *tempch;
|
||||
|
||||
send_to_char(ch, "Name: '%s%s%s', Aliases: %s\r\n", CCYEL(ch, C_NRM),
|
||||
send_to_char(ch, "Name: '%s%s%s', Keywords: %s\r\n", CCYEL(ch, C_NRM),
|
||||
j->short_description ? j->short_description : "<None>",
|
||||
CCNRM(ch, C_NRM), j->name);
|
||||
|
||||
|
|
@ -802,7 +803,7 @@ void do_stat_character(struct char_data *ch, struct char_data *k)
|
|||
GET_NAME(k), IS_NPC(k) ? GET_ID(k) : GET_IDNUM(k), GET_ROOM_VNUM(IN_ROOM(k)), IS_NPC(k) ? NOWHERE : GET_LOADROOM(k));
|
||||
|
||||
if (IS_MOB(k))
|
||||
send_to_char(ch, "Alias: %s, VNum: [%5d], RNum: [%5d]\r\n", k->player.name, GET_MOB_VNUM(k), GET_MOB_RNUM(k));
|
||||
send_to_char(ch, "Keyword: %s, VNum: [%5d], RNum: [%5d]\r\n", k->player.name, GET_MOB_VNUM(k), GET_MOB_RNUM(k));
|
||||
|
||||
send_to_char(ch, "Title: %s\r\n", k->player.title ? k->player.title : "<None>");
|
||||
|
||||
|
|
@ -1280,6 +1281,7 @@ void do_cheat(struct char_data *ch)
|
|||
return;
|
||||
}
|
||||
send_to_char(ch, "Your level has been restored, for now!\r\n");
|
||||
save_char(ch);
|
||||
}
|
||||
|
||||
ACMD(do_return)
|
||||
|
|
@ -4100,6 +4102,7 @@ ACMD(do_file)
|
|||
{ "syslog", LVL_GOD, "../syslog" },
|
||||
{ "crash", LVL_GOD, "../syslog.CRASH" },
|
||||
{ "help", LVL_GOD, "../log/help" },
|
||||
{ "changelog", LVL_GOD, "../changelog" },
|
||||
{ "\n", 0, "\n" }
|
||||
};
|
||||
|
||||
|
|
@ -4128,9 +4131,9 @@ ACMD(do_file)
|
|||
send_to_char(ch, "You are not godly enough to view that file!\r\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(!*value)
|
||||
req_lines = 15; /* default is the last 15 lines */
|
||||
req_lines = 15; /* Default is the last 30 lines. */
|
||||
else
|
||||
req_lines = atoi(value);
|
||||
|
||||
|
|
@ -4148,7 +4151,8 @@ ACMD(do_file)
|
|||
}
|
||||
rewind(req_file);
|
||||
|
||||
req_lines = MIN(MIN(req_lines, num_lines),150);
|
||||
/* Limit the maximum number of lines to 300. */
|
||||
req_lines = MIN(MIN(req_lines, num_lines), 300);
|
||||
|
||||
len = snprintf(buf, sizeof(buf), "Last %d lines of %s:\r\n", req_lines, fields[l].file);
|
||||
|
||||
|
|
@ -4326,3 +4330,9 @@ ACMD(do_plist)
|
|||
"%d players listed.\r\n", CCCYN(ch, C_NRM), CCNRM(ch, C_NRM), count);
|
||||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
ACMD(do_wizupdate)
|
||||
{
|
||||
run_autowiz();
|
||||
send_to_char(ch, "Wizlists updated.\n\r");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2568,7 +2568,7 @@ char *act(const char *str, int hide_invisible, struct char_data *ch,
|
|||
}
|
||||
|
||||
#include "screen.h"
|
||||
if (type == TO_GMOTE) {
|
||||
if (type == TO_GMOTE && !IS_NPC(ch)) {
|
||||
struct descriptor_data *i;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
|
|
|
|||
14
src/config.c
14
src/config.c
|
|
@ -193,17 +193,13 @@ room_vnum donation_room_3 = 235;
|
|||
|
||||
/* GAME OPERATION OPTIONS */
|
||||
|
||||
/*
|
||||
* Please read 128bit.readme before setting this to true. Set this
|
||||
* flag if you want the conversion to take place.
|
||||
*/
|
||||
/* If false stock world files will be converted to 128bit. If true the MUD will
|
||||
* exit with a warning when encountering stock world files. */
|
||||
int bitwarning = FALSE;
|
||||
|
||||
/*
|
||||
* If you want to look at normal worldfiles but DO NOT want to save
|
||||
* to 128bit format, turn this to false. However, do not save through
|
||||
* olc, or your worldfiles will be 128bit anyway.
|
||||
*/
|
||||
/* If you want to look at normal world files but DO NOT want to save to 128bit
|
||||
* format, turn this to false. However, do not save through olc, or your
|
||||
* world files will be 128bit anyway. */
|
||||
int bitsavetodisk = TRUE;
|
||||
|
||||
/* This is the default port on which the game should run if no port is given on
|
||||
|
|
|
|||
|
|
@ -207,8 +207,8 @@ const char *affected_bits[] =
|
|||
"PROT-GOOD",
|
||||
"SLEEP",
|
||||
"NO_TRACK",
|
||||
"UNUSED",
|
||||
"UNUSED",
|
||||
"FLY",
|
||||
"SCUBA",
|
||||
"SNEAK",
|
||||
"HIDE",
|
||||
"UNUSED",
|
||||
|
|
|
|||
|
|
@ -1,272 +0,0 @@
|
|||
/**************************************************************************
|
||||
* File: context_help.c Part of tbaMUD *
|
||||
* Usage: Handles the context sensitive help system. *
|
||||
* By Welcor. *
|
||||
**************************************************************************/
|
||||
|
||||
#include "conf.h"
|
||||
#include "sysdep.h"
|
||||
#include "structs.h"
|
||||
#include "utils.h"
|
||||
#include "comm.h"
|
||||
#include "db.h"
|
||||
#include "interpreter.h"
|
||||
#include "oasis.h"
|
||||
#include "dg_olc.h"
|
||||
|
||||
/* Extern functions */
|
||||
ACMD(do_help);
|
||||
|
||||
/* local global */
|
||||
char *context_help_list[NUM_CONTEXTS];
|
||||
|
||||
/* If you add more olc options, be sure to add a case for it here. - Welcor */
|
||||
int find_context(struct descriptor_data *d)
|
||||
{
|
||||
switch STATE(d) {
|
||||
case CON_TRIGEDIT: return find_context_trigedit(d);
|
||||
case CON_REDIT: return find_context_redit(d);
|
||||
case CON_MEDIT: return find_context_medit(d);
|
||||
case CON_OEDIT: return find_context_oedit(d);
|
||||
case CON_ZEDIT: return find_context_zedit(d);
|
||||
case CON_SEDIT: return find_context_sedit(d);
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_oedit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case OEDIT_MAIN_MENU: return CONTEXT_OEDIT_MAIN_MENU;
|
||||
case OEDIT_KEYWORD: return CONTEXT_OEDIT_KEYWORD;
|
||||
case OEDIT_SHORTDESC: return CONTEXT_OEDIT_SHORTDESC;
|
||||
case OEDIT_LONGDESC: return CONTEXT_OEDIT_LONGDESC;
|
||||
case OEDIT_ACTDESC: return CONTEXT_OEDIT_ACTDESC;
|
||||
case OEDIT_TYPE: return CONTEXT_OEDIT_TYPE;
|
||||
case OEDIT_EXTRAS: return CONTEXT_OEDIT_EXTRAS;
|
||||
case OEDIT_WEAR: return CONTEXT_OEDIT_WEAR;
|
||||
case OEDIT_WEIGHT: return CONTEXT_OEDIT_WEIGHT;
|
||||
case OEDIT_COST: return CONTEXT_OEDIT_COST;
|
||||
case OEDIT_COSTPERDAY: return CONTEXT_OEDIT_COSTPERDAY;
|
||||
case OEDIT_TIMER: return CONTEXT_OEDIT_TIMER;
|
||||
case OEDIT_VALUE_1: return CONTEXT_OEDIT_VALUE_1;
|
||||
case OEDIT_VALUE_2: return CONTEXT_OEDIT_VALUE_2;
|
||||
case OEDIT_VALUE_3: return CONTEXT_OEDIT_VALUE_3;
|
||||
case OEDIT_VALUE_4: return CONTEXT_OEDIT_VALUE_4;
|
||||
case OEDIT_APPLY: return CONTEXT_OEDIT_APPLY;
|
||||
case OEDIT_APPLYMOD: return CONTEXT_OEDIT_APPLYMOD;
|
||||
case OEDIT_EXTRADESC_KEY: return CONTEXT_OEDIT_EXTRADESC_KEY;
|
||||
case OEDIT_CONFIRM_SAVEDB: return CONTEXT_OEDIT_CONFIRM_SAVEDB;
|
||||
case OEDIT_CONFIRM_SAVESTRING: return CONTEXT_OEDIT_CONFIRM_SAVESTRING;
|
||||
case OEDIT_PROMPT_APPLY: return CONTEXT_OEDIT_PROMPT_APPLY;
|
||||
case OEDIT_EXTRADESC_DESCRIPTION: return CONTEXT_OEDIT_EXTRADESC_DESCRIPTION;
|
||||
case OEDIT_EXTRADESC_MENU: return CONTEXT_OEDIT_EXTRADESC_MENU;
|
||||
case OEDIT_LEVEL: return CONTEXT_OEDIT_LEVEL;
|
||||
case OEDIT_PERM: return CONTEXT_OEDIT_PERM;
|
||||
case OLC_SCRIPT_EDIT: return find_context_script_edit(d);
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_redit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case REDIT_MAIN_MENU: return CONTEXT_REDIT_MAIN_MENU;
|
||||
case REDIT_NAME: return CONTEXT_REDIT_NAME;
|
||||
case REDIT_DESC: return CONTEXT_REDIT_DESC;
|
||||
case REDIT_FLAGS: return CONTEXT_REDIT_FLAGS;
|
||||
case REDIT_SECTOR: return CONTEXT_REDIT_SECTOR;
|
||||
case REDIT_EXIT_MENU: return CONTEXT_REDIT_EXIT_MENU;
|
||||
case REDIT_CONFIRM_SAVEDB: return CONTEXT_REDIT_CONFIRM_SAVEDB;
|
||||
case REDIT_CONFIRM_SAVESTRING: return CONTEXT_REDIT_CONFIRM_SAVESTRING;
|
||||
case REDIT_EXIT_NUMBER: return CONTEXT_REDIT_EXIT_NUMBER;
|
||||
case REDIT_EXIT_DESCRIPTION: return CONTEXT_REDIT_EXIT_DESCRIPTION;
|
||||
case REDIT_EXIT_KEYWORD: return CONTEXT_REDIT_EXIT_KEYWORD;
|
||||
case REDIT_EXIT_KEY: return CONTEXT_REDIT_EXIT_KEY;
|
||||
case REDIT_EXIT_DOORFLAGS: return CONTEXT_REDIT_EXIT_DOORFLAGS;
|
||||
case REDIT_EXTRADESC_MENU: return CONTEXT_REDIT_EXTRADESC_MENU;
|
||||
case REDIT_EXTRADESC_KEY: return CONTEXT_REDIT_EXTRADESC_KEY;
|
||||
case REDIT_EXTRADESC_DESCRIPTION:return CONTEXT_REDIT_EXTRADESC_DESCRIPTION;
|
||||
case OLC_SCRIPT_EDIT: return find_context_script_edit(d);
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_zedit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case ZEDIT_MAIN_MENU: return CONTEXT_ZEDIT_MAIN_MENU;
|
||||
case ZEDIT_DELETE_ENTRY: return CONTEXT_ZEDIT_DELETE_ENTRY;
|
||||
case ZEDIT_NEW_ENTRY: return CONTEXT_ZEDIT_NEW_ENTRY;
|
||||
case ZEDIT_CHANGE_ENTRY: return CONTEXT_ZEDIT_CHANGE_ENTRY;
|
||||
case ZEDIT_COMMAND_TYPE: return CONTEXT_ZEDIT_COMMAND_TYPE;
|
||||
case ZEDIT_IF_FLAG: return CONTEXT_ZEDIT_IF_FLAG;
|
||||
case ZEDIT_ARG1: return CONTEXT_ZEDIT_ARG1;
|
||||
case ZEDIT_ARG2: return CONTEXT_ZEDIT_ARG2;
|
||||
case ZEDIT_ARG3: return CONTEXT_ZEDIT_ARG3;
|
||||
case ZEDIT_ZONE_NAME: return CONTEXT_ZEDIT_ZONE_NAME;
|
||||
case ZEDIT_ZONE_LIFE: return CONTEXT_ZEDIT_ZONE_LIFE;
|
||||
case ZEDIT_ZONE_BOT: return CONTEXT_ZEDIT_ZONE_BOT;
|
||||
case ZEDIT_ZONE_TOP: return CONTEXT_ZEDIT_ZONE_TOP;
|
||||
case ZEDIT_ZONE_RESET: return CONTEXT_ZEDIT_ZONE_RESET;
|
||||
case ZEDIT_CONFIRM_SAVESTRING:return CONTEXT_ZEDIT_CONFIRM_SAVESTRING;
|
||||
case ZEDIT_SARG1: return CONTEXT_ZEDIT_SARG1;
|
||||
case ZEDIT_SARG2: return CONTEXT_ZEDIT_SARG2;
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_medit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case MEDIT_MAIN_MENU: return CONTEXT_MEDIT_MAIN_MENU;
|
||||
case MEDIT_KEYWORD: return CONTEXT_MEDIT_KEYWORD;
|
||||
case MEDIT_S_DESC: return CONTEXT_MEDIT_S_DESC;
|
||||
case MEDIT_L_DESC: return CONTEXT_MEDIT_L_DESC;
|
||||
case MEDIT_D_DESC: return CONTEXT_MEDIT_D_DESC;
|
||||
case MEDIT_NPC_FLAGS: return CONTEXT_MEDIT_NPC_FLAGS;
|
||||
case MEDIT_AFF_FLAGS: return CONTEXT_MEDIT_AFF_FLAGS;
|
||||
case MEDIT_CONFIRM_SAVESTRING:return CONTEXT_MEDIT_CONFIRM_SAVESTRING;
|
||||
case MEDIT_SEX: return CONTEXT_MEDIT_SEX;
|
||||
case MEDIT_HITROLL: return CONTEXT_MEDIT_HITROLL;
|
||||
case MEDIT_DAMROLL: return CONTEXT_MEDIT_DAMROLL;
|
||||
case MEDIT_NDD: return CONTEXT_MEDIT_NDD;
|
||||
case MEDIT_SDD: return CONTEXT_MEDIT_SDD;
|
||||
case MEDIT_NUM_HP_DICE: return CONTEXT_MEDIT_NUM_HP_DICE;
|
||||
case MEDIT_SIZE_HP_DICE: return CONTEXT_MEDIT_SIZE_HP_DICE;
|
||||
case MEDIT_ADD_HP: return CONTEXT_MEDIT_ADD_HP;
|
||||
case MEDIT_AC: return CONTEXT_MEDIT_AC;
|
||||
case MEDIT_EXP: return CONTEXT_MEDIT_EXP;
|
||||
case MEDIT_GOLD: return CONTEXT_MEDIT_GOLD;
|
||||
case MEDIT_POS: return CONTEXT_MEDIT_POS;
|
||||
case MEDIT_DEFAULT_POS: return CONTEXT_MEDIT_DEFAULT_POS;
|
||||
case MEDIT_ATTACK: return CONTEXT_MEDIT_ATTACK;
|
||||
case MEDIT_LEVEL: return CONTEXT_MEDIT_LEVEL;
|
||||
case MEDIT_ALIGNMENT: return CONTEXT_MEDIT_ALIGNMENT;
|
||||
case OLC_SCRIPT_EDIT: return find_context_script_edit(d);
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_sedit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case SEDIT_MAIN_MENU: return CONTEXT_SEDIT_MAIN_MENU;
|
||||
case SEDIT_CONFIRM_SAVESTRING:return CONTEXT_SEDIT_CONFIRM_SAVESTRING;
|
||||
case SEDIT_NOITEM1: return CONTEXT_SEDIT_NOITEM1;
|
||||
case SEDIT_NOITEM2: return CONTEXT_SEDIT_NOITEM2;
|
||||
case SEDIT_NOCASH1: return CONTEXT_SEDIT_NOCASH1;
|
||||
case SEDIT_NOCASH2: return CONTEXT_SEDIT_NOCASH2;
|
||||
case SEDIT_NOBUY: return CONTEXT_SEDIT_NOBUY;
|
||||
case SEDIT_BUY: return CONTEXT_SEDIT_BUY;
|
||||
case SEDIT_SELL: return CONTEXT_SEDIT_SELL;
|
||||
case SEDIT_PRODUCTS_MENU: return CONTEXT_SEDIT_PRODUCTS_MENU;
|
||||
case SEDIT_ROOMS_MENU: return CONTEXT_SEDIT_ROOMS_MENU;
|
||||
case SEDIT_NAMELIST_MENU: return CONTEXT_SEDIT_NAMELIST_MENU;
|
||||
case SEDIT_NAMELIST: return CONTEXT_SEDIT_NAMELIST;
|
||||
case SEDIT_OPEN1: return CONTEXT_SEDIT_OPEN1;
|
||||
case SEDIT_OPEN2: return CONTEXT_SEDIT_OPEN2;
|
||||
case SEDIT_CLOSE1: return CONTEXT_SEDIT_CLOSE1;
|
||||
case SEDIT_CLOSE2: return CONTEXT_SEDIT_CLOSE2;
|
||||
case SEDIT_KEEPER: return CONTEXT_SEDIT_KEEPER;
|
||||
case SEDIT_BUY_PROFIT: return CONTEXT_SEDIT_BUY_PROFIT;
|
||||
case SEDIT_SELL_PROFIT: return CONTEXT_SEDIT_SELL_PROFIT;
|
||||
case SEDIT_TYPE_MENU: return CONTEXT_SEDIT_TYPE_MENU;
|
||||
case SEDIT_DELETE_TYPE: return CONTEXT_SEDIT_DELETE_TYPE;
|
||||
case SEDIT_DELETE_PRODUCT: return CONTEXT_SEDIT_DELETE_PRODUCT;
|
||||
case SEDIT_NEW_PRODUCT: return CONTEXT_SEDIT_NEW_PRODUCT;
|
||||
case SEDIT_DELETE_ROOM: return CONTEXT_SEDIT_DELETE_ROOM;
|
||||
case SEDIT_NEW_ROOM: return CONTEXT_SEDIT_NEW_ROOM;
|
||||
case SEDIT_SHOP_FLAGS: return CONTEXT_SEDIT_SHOP_FLAGS;
|
||||
case SEDIT_NOTRADE: return CONTEXT_SEDIT_NOTRADE;
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_trigedit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_MODE(d)) {
|
||||
case TRIGEDIT_MAIN_MENU: return CONTEXT_TRIGEDIT_MAIN_MENU;
|
||||
case TRIGEDIT_TRIGTYPE: return CONTEXT_TRIGEDIT_TRIGTYPE;
|
||||
case TRIGEDIT_CONFIRM_SAVESTRING:return CONTEXT_TRIGEDIT_CONFIRM_SAVESTRING;
|
||||
case TRIGEDIT_NAME: return CONTEXT_TRIGEDIT_NAME;
|
||||
case TRIGEDIT_INTENDED: return CONTEXT_TRIGEDIT_INTENDED;
|
||||
case TRIGEDIT_TYPES: return CONTEXT_TRIGEDIT_TYPES;
|
||||
case TRIGEDIT_COMMANDS: return CONTEXT_TRIGEDIT_COMMANDS;
|
||||
case TRIGEDIT_NARG: return CONTEXT_TRIGEDIT_NARG;
|
||||
case TRIGEDIT_ARGUMENT: return CONTEXT_TRIGEDIT_ARGUMENT;
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
int find_context_script_edit(struct descriptor_data *d)
|
||||
{
|
||||
switch (OLC_SCRIPT_EDIT_MODE(d)) {
|
||||
case SCRIPT_MAIN_MENU: return CONTEXT_SCRIPT_MAIN_MENU;
|
||||
case SCRIPT_NEW_TRIGGER:return CONTEXT_SCRIPT_NEW_TRIGGER;
|
||||
case SCRIPT_DEL_TRIGGER:return CONTEXT_SCRIPT_DEL_TRIGGER;
|
||||
default: return NOTHING;
|
||||
}
|
||||
}
|
||||
|
||||
char *NO_HELP = "No help available (yet)!\r\n";
|
||||
#define FIND_HELP_CHAR '*'
|
||||
|
||||
int context_help(struct descriptor_data *d, char *arg)
|
||||
{
|
||||
int context = NOTHING;
|
||||
char actbuf[MAX_INPUT_LENGTH], *tmp;
|
||||
/* skip if context help isn't wanted */
|
||||
if (strncmp(arg, CONTEXT_HELP_STRING, strlen(CONTEXT_HELP_STRING)))
|
||||
return FALSE;
|
||||
|
||||
tmp = one_argument(arg, actbuf); /* the totally useless 'help' string.. */
|
||||
skip_spaces(&tmp);
|
||||
|
||||
if (!*tmp)
|
||||
context = find_context(d);
|
||||
|
||||
if (context != NOTHING && context < NUM_CONTEXTS && *context_help_list[context]) {
|
||||
if (*context_help_list[context] == FIND_HELP_CHAR) {
|
||||
strncpy(actbuf, context_help_list[context]+1, sizeof(actbuf)-1);
|
||||
do_help(d->character, actbuf, 0, 0);
|
||||
} else {
|
||||
write_to_output(d, "\r\n%s\r\n> ", context_help_list[context]);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
strncpy(actbuf, tmp, sizeof(actbuf)-1);
|
||||
do_help(d->character, actbuf, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void boot_context_help(void) {
|
||||
int i, num;
|
||||
FILE *fl;
|
||||
char line[READ_SIZE];
|
||||
|
||||
fl = fopen(CONTEXT_HELP_FILE, "r");
|
||||
|
||||
/* init to 'no help' string */
|
||||
for (i=0;i < NUM_CONTEXTS;i++)
|
||||
context_help_list[i] = NO_HELP;
|
||||
|
||||
if (!fl) {
|
||||
log("No context help found : %s", strerror(errno));
|
||||
return;
|
||||
}
|
||||
while (get_line(fl, line)) {
|
||||
if (sscanf(line, "#%d *", &num) == 1 && num >= 0 && num < NUM_CONTEXTS) /* got a number, now get the text */
|
||||
context_help_list[num] = fread_string(fl, "Context sensitive help");
|
||||
}
|
||||
|
||||
fclose(fl);
|
||||
}
|
||||
|
||||
void free_context_help(void) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < NUM_CONTEXTS; i++)
|
||||
if (context_help_list[i] && context_help_list[i] != NO_HELP)
|
||||
free(context_help_list[i]);
|
||||
}
|
||||
21
src/db.c
21
src/db.c
|
|
@ -465,7 +465,7 @@ void boot_world(void)
|
|||
renum_zone_table();
|
||||
|
||||
if(converting) {
|
||||
log("Saving 128bit worldfiles to disk.");
|
||||
log("Saving 128bit world files to disk.");
|
||||
save_all();
|
||||
}
|
||||
|
||||
|
|
@ -642,8 +642,6 @@ void destroy_db(void)
|
|||
/* Events */
|
||||
event_free_all();
|
||||
|
||||
/* context sensitive help system */
|
||||
free_context_help();
|
||||
}
|
||||
|
||||
/* body of the booting system */
|
||||
|
|
@ -680,9 +678,6 @@ void boot_db(void)
|
|||
log("Loading help entries.");
|
||||
index_boot(DB_BOOT_HLP);
|
||||
|
||||
log("Setting up context sensitive help system for OLC");
|
||||
boot_context_help();
|
||||
|
||||
log("Generating player index.");
|
||||
build_player_index();
|
||||
|
||||
|
|
@ -1185,10 +1180,10 @@ void parse_room(FILE *fl, int virtual_nr)
|
|||
}
|
||||
|
||||
if (((retval = sscanf(line, " %d %s %s %s %s %d ", t, flags, flags2, flags3, flags4, t + 2)) == 3) && (bitwarning == TRUE)) {
|
||||
log("WARNING: Conventional worldfiles detected. Please read 128bit.readme.");
|
||||
log("WARNING: Conventional world files detected. See config.c.");
|
||||
exit(1);
|
||||
} else if ((retval == 3) && (bitwarning == FALSE)) {
|
||||
/* Looks like the implementor is ready, so let's load the worldfiles. We
|
||||
/* Looks like the implementor is ready, so let's load the world files. We
|
||||
* load the extra three flags as 0, since they won't be anything anyway. We
|
||||
* will save the entire world later on, when every room, mobile, and object
|
||||
* is converted. */
|
||||
|
|
@ -1638,8 +1633,8 @@ void parse_mobile(FILE *mob_f, int nr)
|
|||
}
|
||||
|
||||
if (((retval = sscanf(line, "%s %s %s %s %s %s %s %s %d %c", f1, f2, f3, f4, f5, f6, f7, f8, t + 2, &letter)) == 10) && (bitwarning == TRUE)) {
|
||||
/* Let's make the implementor read some, before converting his worldfiles. */
|
||||
log("WARNING: Conventional mobilefiles detected. Please read 128bit.readme.");
|
||||
/* Let's make the implementor read some, before converting his world files. */
|
||||
log("WARNING: Conventional mobile files detected. See config.c.");
|
||||
exit(1);
|
||||
} else if ((retval == 4) && (bitwarning == FALSE)) {
|
||||
log("Converting mobile #%d to 128bits..", nr);
|
||||
|
|
@ -1670,7 +1665,7 @@ void parse_mobile(FILE *mob_f, int nr)
|
|||
|
||||
check_bitvector_names(AFF_FLAGS(mob_proto + i)[0], affected_bits_count, buf2, "mobile affect");
|
||||
|
||||
/* This is necessary, since if we have conventional worldfiles, &letter is
|
||||
/* This is necessary, since if we have conventional world files, &letter is
|
||||
* loaded into f4 instead of the letter characters. So what we do, is copy
|
||||
* f4 into letter. Disadvantage is that &letter cannot be longer then 128
|
||||
* characters, but this shouldn't occur anyway. */
|
||||
|
|
@ -1790,8 +1785,8 @@ char *parse_object(FILE *obj_f, int nr)
|
|||
|
||||
if (((retval = sscanf(line, " %d %s %s %s %s %s %s %s %s %s %s %s %s", t, f1, f2, f3,
|
||||
f4, f5, f6, f7, f8, f9, f10, f11, f12)) == 4) && (bitwarning == TRUE)) {
|
||||
/* Let's make the implementor read some, before converting his worldfiles. */
|
||||
log("WARNING: Conventional objectfiles detected. Please read 128bit.readme.");
|
||||
/* Let's make the implementor read some, before converting his world files. */
|
||||
log("WARNING: Conventional object files detected. Please see config.c.");
|
||||
exit(1);
|
||||
} else if (((retval == 4) || (retval == 3)) && (bitwarning == FALSE)) {
|
||||
|
||||
|
|
|
|||
1
src/db.h
1
src/db.h
|
|
@ -87,7 +87,6 @@
|
|||
#define GREETINGS_FILE LIB_TEXT"greetings" /* The opening screen. */
|
||||
#define HELP_PAGE_FILE LIB_TEXT_HELP"screen" /* for HELP <CR> */
|
||||
#define IHELP_PAGE_FILE LIB_TEXT_HELP"iscreen" /* for HELP <CR> imms */
|
||||
#define CONTEXT_HELP_FILE LIB_TEXT"contexthelp" /* context help for olc */
|
||||
#define INFO_FILE LIB_TEXT"info" /* for INFO */
|
||||
#define WIZLIST_FILE LIB_TEXT"wizlist" /* for WIZLIST */
|
||||
#define IMMLIST_FILE LIB_TEXT"immlist" /* for IMMLIST */
|
||||
|
|
|
|||
|
|
@ -2093,7 +2093,7 @@ ACMD(do_vdelete)
|
|||
|
||||
|
||||
if (!*buf || !*buf2) {
|
||||
send_to_char(ch, "Usage: vdelete { <variablename> | * } <id>\r\n");
|
||||
send_to_char(ch, "Usage: vdelete { <variablename> | * | all } <id>\r\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2126,7 +2126,7 @@ ACMD(do_vdelete)
|
|||
return;
|
||||
}
|
||||
|
||||
if (*var == '*') {
|
||||
if (*var == '*' || is_abbrev(var, "all")) {
|
||||
struct trig_var_data *vd_next;
|
||||
for (vd = sc_remote->global_vars; vd; vd = vd_next) {
|
||||
vd_next = vd->next;
|
||||
|
|
|
|||
|
|
@ -785,6 +785,9 @@ int remove_otrigger(obj_data *obj, char_data *actor)
|
|||
if (!SCRIPT_CHECK(obj, OTRIG_REMOVE))
|
||||
return 1;
|
||||
|
||||
if (!valid_dg_target(actor, 0))
|
||||
return 1;
|
||||
|
||||
for (t = TRIGGERS(SCRIPT(obj)); t; t = t->next) {
|
||||
if (TRIGGER_CHECK(t, OTRIG_REMOVE)) {
|
||||
ADD_UID_VAR(buf, t, actor, "actor", 0);
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ ACMD(do_who);
|
|||
ACMD(do_wield);
|
||||
ACMD(do_wizlock);
|
||||
ACMD(do_wiznet);
|
||||
ACMD(do_wizupdate);
|
||||
ACMD(do_wizutil);
|
||||
ACMD(do_write);
|
||||
ACMD(do_zcheck);
|
||||
|
|
@ -494,6 +495,7 @@ cpp_extern const struct command_info cmd_info[] = {
|
|||
{ ";" , ";" , POS_DEAD , do_wiznet , LVL_IMMORT, 0 },
|
||||
{ "wizhelp" , "wizhelp" , POS_SLEEPING, do_commands , LVL_IMMORT, SCMD_WIZHELP },
|
||||
{ "wizlist" , "wizlist" , POS_DEAD , do_gen_ps , 0, SCMD_WIZLIST },
|
||||
{ "wizupdate", "wizupde" , POS_DEAD , do_wizupdate, LVL_GRGOD, 0 },
|
||||
{ "wizlock" , "wizlock" , POS_DEAD , do_wizlock , LVL_IMPL, 0 },
|
||||
{ "write" , "write" , POS_STANDING, do_write , 1, 0 },
|
||||
|
||||
|
|
@ -1327,9 +1329,6 @@ void nanny(struct descriptor_data *d, char *arg)
|
|||
/* Quick check for the OLC states. */
|
||||
for (player_i = 0; olc_functions[player_i].state >= 0; player_i++)
|
||||
if (STATE(d) == olc_functions[player_i].state) {
|
||||
/* send context-sensitive help if need be */
|
||||
if (context_help(d, arg)) return;
|
||||
|
||||
(*olc_functions[player_i].func)(d, arg);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
142
src/oasis.h
142
src/oasis.h
|
|
@ -420,146 +420,4 @@ int free_strings(void *data, int type);
|
|||
ACMD(do_oasis_list);
|
||||
ACMD(do_oasis_links);
|
||||
void print_zone(struct char_data *ch, zone_rnum rnum);
|
||||
|
||||
#define CONTEXT_HELP_STRING "help"
|
||||
|
||||
#define CONTEXT_OEDIT_MAIN_MENU 1
|
||||
#define CONTEXT_OEDIT_KEYWORD 2
|
||||
#define CONTEXT_OEDIT_SHORTDESC 3
|
||||
#define CONTEXT_OEDIT_LONGDESC 4
|
||||
#define CONTEXT_OEDIT_ACTDESC 5
|
||||
#define CONTEXT_OEDIT_TYPE 6
|
||||
#define CONTEXT_OEDIT_EXTRAS 7
|
||||
#define CONTEXT_OEDIT_WEAR 8
|
||||
#define CONTEXT_OEDIT_WEIGHT 9
|
||||
#define CONTEXT_OEDIT_COST 10
|
||||
#define CONTEXT_OEDIT_COSTPERDAY 11
|
||||
#define CONTEXT_OEDIT_TIMER 12
|
||||
#define CONTEXT_OEDIT_VALUE_1 13
|
||||
#define CONTEXT_OEDIT_VALUE_2 14
|
||||
#define CONTEXT_OEDIT_VALUE_3 15
|
||||
#define CONTEXT_OEDIT_VALUE_4 16
|
||||
#define CONTEXT_OEDIT_APPLY 17
|
||||
#define CONTEXT_OEDIT_APPLYMOD 18
|
||||
#define CONTEXT_OEDIT_EXTRADESC_KEY 19
|
||||
#define CONTEXT_OEDIT_CONFIRM_SAVEDB 20
|
||||
#define CONTEXT_OEDIT_CONFIRM_SAVESTRING 21
|
||||
#define CONTEXT_OEDIT_PROMPT_APPLY 22
|
||||
#define CONTEXT_OEDIT_EXTRADESC_DESCRIPTION 23
|
||||
#define CONTEXT_OEDIT_EXTRADESC_MENU 24
|
||||
#define CONTEXT_OEDIT_LEVEL 25
|
||||
#define CONTEXT_OEDIT_PERM 26
|
||||
#define CONTEXT_REDIT_MAIN_MENU 27
|
||||
#define CONTEXT_REDIT_NAME 28
|
||||
#define CONTEXT_REDIT_DESC 29
|
||||
#define CONTEXT_REDIT_FLAGS 30
|
||||
#define CONTEXT_REDIT_SECTOR 31
|
||||
#define CONTEXT_REDIT_EXIT_MENU 32
|
||||
#define CONTEXT_REDIT_CONFIRM_SAVEDB 33
|
||||
#define CONTEXT_REDIT_CONFIRM_SAVESTRING 34
|
||||
#define CONTEXT_REDIT_EXIT_NUMBER 35
|
||||
#define CONTEXT_REDIT_EXIT_DESCRIPTION 36
|
||||
#define CONTEXT_REDIT_EXIT_KEYWORD 37
|
||||
#define CONTEXT_REDIT_EXIT_KEY 38
|
||||
#define CONTEXT_REDIT_EXIT_DOORFLAGS 39
|
||||
#define CONTEXT_REDIT_EXTRADESC_MENU 40
|
||||
#define CONTEXT_REDIT_EXTRADESC_KEY 41
|
||||
#define CONTEXT_REDIT_EXTRADESC_DESCRIPTION 42
|
||||
#define CONTEXT_ZEDIT_MAIN_MENU 43
|
||||
#define CONTEXT_ZEDIT_DELETE_ENTRY 44
|
||||
#define CONTEXT_ZEDIT_NEW_ENTRY 45
|
||||
#define CONTEXT_ZEDIT_CHANGE_ENTRY 46
|
||||
#define CONTEXT_ZEDIT_COMMAND_TYPE 47
|
||||
#define CONTEXT_ZEDIT_IF_FLAG 48
|
||||
#define CONTEXT_ZEDIT_ARG1 49
|
||||
#define CONTEXT_ZEDIT_ARG2 50
|
||||
#define CONTEXT_ZEDIT_ARG3 51
|
||||
#define CONTEXT_ZEDIT_ZONE_NAME 52
|
||||
#define CONTEXT_ZEDIT_ZONE_LIFE 53
|
||||
#define CONTEXT_ZEDIT_ZONE_BOT 54
|
||||
#define CONTEXT_ZEDIT_ZONE_TOP 55
|
||||
#define CONTEXT_ZEDIT_ZONE_RESET 56
|
||||
#define CONTEXT_ZEDIT_CONFIRM_SAVESTRING 57
|
||||
#define CONTEXT_ZEDIT_SARG1 58
|
||||
#define CONTEXT_ZEDIT_SARG2 59
|
||||
#define CONTEXT_MEDIT_MAIN_MENU 60
|
||||
#define CONTEXT_MEDIT_KEYWORD 61
|
||||
#define CONTEXT_MEDIT_S_DESC 62
|
||||
#define CONTEXT_MEDIT_L_DESC 63
|
||||
#define CONTEXT_MEDIT_D_DESC 64
|
||||
#define CONTEXT_MEDIT_NPC_FLAGS 65
|
||||
#define CONTEXT_MEDIT_AFF_FLAGS 66
|
||||
#define CONTEXT_MEDIT_CONFIRM_SAVESTRING 67
|
||||
#define CONTEXT_MEDIT_SEX 68
|
||||
#define CONTEXT_MEDIT_HITROLL 69
|
||||
#define CONTEXT_MEDIT_DAMROLL 70
|
||||
#define CONTEXT_MEDIT_NDD 71
|
||||
#define CONTEXT_MEDIT_SDD 72
|
||||
#define CONTEXT_MEDIT_NUM_HP_DICE 73
|
||||
#define CONTEXT_MEDIT_SIZE_HP_DICE 74
|
||||
#define CONTEXT_MEDIT_ADD_HP 75
|
||||
#define CONTEXT_MEDIT_AC 76
|
||||
#define CONTEXT_MEDIT_EXP 77
|
||||
#define CONTEXT_MEDIT_GOLD 78
|
||||
#define CONTEXT_MEDIT_POS 79
|
||||
#define CONTEXT_MEDIT_DEFAULT_POS 80
|
||||
#define CONTEXT_MEDIT_ATTACK 81
|
||||
#define CONTEXT_MEDIT_LEVEL 82
|
||||
#define CONTEXT_MEDIT_ALIGNMENT 83
|
||||
#define CONTEXT_SEDIT_MAIN_MENU 84
|
||||
#define CONTEXT_SEDIT_CONFIRM_SAVESTRING 85
|
||||
#define CONTEXT_SEDIT_NOITEM1 86
|
||||
#define CONTEXT_SEDIT_NOITEM2 87
|
||||
#define CONTEXT_SEDIT_NOCASH1 88
|
||||
#define CONTEXT_SEDIT_NOCASH2 89
|
||||
#define CONTEXT_SEDIT_NOBUY 90
|
||||
#define CONTEXT_SEDIT_BUY 91
|
||||
#define CONTEXT_SEDIT_SELL 92
|
||||
#define CONTEXT_SEDIT_PRODUCTS_MENU 93
|
||||
#define CONTEXT_SEDIT_ROOMS_MENU 94
|
||||
#define CONTEXT_SEDIT_NAMELIST_MENU 95
|
||||
#define CONTEXT_SEDIT_NAMELIST 96
|
||||
#define CONTEXT_SEDIT_OPEN1 97
|
||||
#define CONTEXT_SEDIT_OPEN2 98
|
||||
#define CONTEXT_SEDIT_CLOSE1 99
|
||||
#define CONTEXT_SEDIT_CLOSE2 100
|
||||
#define CONTEXT_SEDIT_KEEPER 101
|
||||
#define CONTEXT_SEDIT_BUY_PROFIT 102
|
||||
#define CONTEXT_SEDIT_SELL_PROFIT 103
|
||||
#define CONTEXT_SEDIT_TYPE_MENU 104
|
||||
#define CONTEXT_SEDIT_DELETE_TYPE 105
|
||||
#define CONTEXT_SEDIT_DELETE_PRODUCT 106
|
||||
#define CONTEXT_SEDIT_NEW_PRODUCT 107
|
||||
#define CONTEXT_SEDIT_DELETE_ROOM 108
|
||||
#define CONTEXT_SEDIT_NEW_ROOM 109
|
||||
#define CONTEXT_SEDIT_SHOP_FLAGS 110
|
||||
#define CONTEXT_SEDIT_NOTRADE 111
|
||||
#define CONTEXT_TRIGEDIT_MAIN_MENU 112
|
||||
#define CONTEXT_TRIGEDIT_TRIGTYPE 113
|
||||
#define CONTEXT_TRIGEDIT_CONFIRM_SAVESTRING 114
|
||||
#define CONTEXT_TRIGEDIT_NAME 115
|
||||
#define CONTEXT_TRIGEDIT_INTENDED 116
|
||||
#define CONTEXT_TRIGEDIT_TYPES 117
|
||||
#define CONTEXT_TRIGEDIT_COMMANDS 118
|
||||
#define CONTEXT_TRIGEDIT_NARG 119
|
||||
#define CONTEXT_TRIGEDIT_ARGUMENT 120
|
||||
#define CONTEXT_SCRIPT_MAIN_MENU 121
|
||||
#define CONTEXT_SCRIPT_NEW_TRIGGER 122
|
||||
#define CONTEXT_SCRIPT_DEL_TRIGGER 123
|
||||
|
||||
/* includes number 0 */
|
||||
#define NUM_CONTEXTS 124
|
||||
|
||||
/* Prototypes for the context sensitive help system */
|
||||
int find_context(struct descriptor_data *d);
|
||||
int find_context_oedit(struct descriptor_data *d);
|
||||
int find_context_redit(struct descriptor_data *d);
|
||||
int find_context_zedit(struct descriptor_data *d);
|
||||
int find_context_medit(struct descriptor_data *d);
|
||||
int find_context_sedit(struct descriptor_data *d);
|
||||
int find_context_trigedit(struct descriptor_data *d);
|
||||
int find_context_script_edit(struct descriptor_data *d);
|
||||
int context_help(struct descriptor_data *d, char *arg);
|
||||
void boot_context_help(void);
|
||||
void free_context_help(void);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -593,8 +593,8 @@ void oedit_disp_perm_menu(struct descriptor_data *d)
|
|||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
||||
for (counter = 0; counter < NUM_AFF_FLAGS; counter++) {
|
||||
write_to_output(d, "%s%2d%s) %-20.20s %s", grn, counter + 1, nrm, affected_bits[counter], !(++columns % 2) ? "\r\n" : "");
|
||||
for (counter = 1; counter < NUM_AFF_FLAGS; counter++) {
|
||||
write_to_output(d, "%s%2d%s) %-20.20s %s", grn, counter, nrm, affected_bits[counter], !(++columns % 2) ? "\r\n" : "");
|
||||
}
|
||||
sprintbitarray(GET_OBJ_PERM(OLC_OBJ(d)), affected_bits, EF_ARRAY_MAX, bits);
|
||||
write_to_output(d, "\r\nObject permanent flags: %s%s%s\r\n"
|
||||
|
|
|
|||
|
|
@ -924,28 +924,6 @@ void mag_assign_spells(void)
|
|||
TAR_CHAR_ROOM | TAR_OBJ_INV | TAR_OBJ_ROOM, FALSE, MAG_MANUAL,
|
||||
NULL);
|
||||
|
||||
/* These spells are currently not used, not implemented, and not castable.
|
||||
* Values for the 'breath' spells are filled in assuming a dragon's breath. */
|
||||
spello(SPELL_FIRE_BREATH, "fire breath", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
NULL);
|
||||
|
||||
spello(SPELL_GAS_BREATH, "gas breath", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
NULL);
|
||||
|
||||
spello(SPELL_FROST_BREATH, "frost breath", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
NULL);
|
||||
|
||||
spello(SPELL_ACID_BREATH, "acid breath", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
NULL);
|
||||
|
||||
spello(SPELL_LIGHTNING_BREATH, "lightning breath", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
NULL);
|
||||
|
||||
/* you might want to name this one something more fitting to your theme -Welcor*/
|
||||
spello(SPELL_DG_AFFECT, "Script-inflicted", 0, 0, 0, POS_SITTING,
|
||||
TAR_IGNORE, TRUE, 0,
|
||||
|
|
|
|||
|
|
@ -107,11 +107,6 @@
|
|||
* SPELL_IDENTIFY used with scrolls of identify) or non-players (such as NPC
|
||||
* only spells). */
|
||||
#define SPELL_IDENTIFY 201
|
||||
#define SPELL_FIRE_BREATH 202
|
||||
#define SPELL_GAS_BREATH 203
|
||||
#define SPELL_FROST_BREATH 204
|
||||
#define SPELL_ACID_BREATH 205
|
||||
#define SPELL_LIGHTNING_BREATH 206
|
||||
|
||||
/* To make an affect induced by dg_affect look correct on 'stat' we need to
|
||||
* define it with a 'spellname'. */
|
||||
|
|
|
|||
|
|
@ -228,11 +228,11 @@
|
|||
#define AFF_PROTECT_GOOD 14 /* Char protected from good */
|
||||
#define AFF_SLEEP 15 /* (R) Char magically asleep */
|
||||
#define AFF_NOTRACK 16 /* Char can't be tracked */
|
||||
#define AFF_UNUSED16 17 /* Room for future expansion */
|
||||
#define AFF_UNUSED17 18 /* Room for future expansion */
|
||||
#define AFF_FLYING 17 /* Char is flying */
|
||||
#define AFF_SCUBA 18 /* Room for future expansion */
|
||||
#define AFF_SNEAK 19 /* Char can move quietly */
|
||||
#define AFF_HIDE 20 /* Char is hidden */
|
||||
#define AFF_UNUSED20 21 /* Room for future expansion */
|
||||
#define AFF_FREE 21 /* Room for future expansion */
|
||||
#define AFF_CHARM 22 /* Char is charmed */
|
||||
|
||||
/* Modes of connectedness: used by descriptor_data.state */
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ void char_from_furniture(struct char_data *ch);
|
|||
#define PRF_FLAGGED(ch, flag) (IS_SET_AR(PRF_FLAGS(ch), (flag)))
|
||||
#define ROOM_FLAGGED(loc, flag) (IS_SET_AR(ROOM_FLAGS(loc), (flag)))
|
||||
#define EXIT_FLAGGED(exit, flag) (IS_SET((exit)->exit_info, (flag)))
|
||||
#define OBJAFF_FLAGGED(obj, flag) (IS_SET(GET_OBJ_AFFECT(obj), (flag)))
|
||||
#define OBJAFF_FLAGGED(obj, flag) (IS_SET_AR(GET_OBJ_AFFECT(obj), (flag)))
|
||||
#define OBJVAL_FLAGGED(obj, flag) (IS_SET(GET_OBJ_VAL((obj), 1), (flag)))
|
||||
#define OBJWEAR_FLAGGED(obj, flag) (IS_SET_AR(GET_OBJ_WEAR(obj), (flag)))
|
||||
#define OBJ_FLAGGED(obj, flag) (IS_SET_AR(GET_OBJ_EXTRA(obj), (flag)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue