Only in newsrc: *.0 Only in newsrc: .accepted diff -c -r oldsrc/Makefile newsrc/Makefile *** oldsrc/Makefile Mon Apr 8 18:13:55 1996 --- newsrc/Makefile Mon Apr 8 19:35:53 1996 *************** *** 29,35 **** castle.o class.o config.o constants.o db.o fight.o graph.o handler.o \ house.o interpreter.o limits.o magic.o mail.o mobact.o modify.o \ objsave.o olc.o shop.o spec_assign.o spec_procs.o spell_parser.o \ ! spells.o utils.o weather.o default: .accepted $(MAKE) ../bin/circle --- 29,35 ---- castle.o class.o config.o constants.o db.o fight.o graph.o handler.o \ house.o interpreter.o limits.o magic.o mail.o mobact.o modify.o \ objsave.o olc.o shop.o spec_assign.o spec_procs.o spell_parser.o \ ! spells.o utils.o weather.o redit.o oedit.o zedit.o medit.o sedit.o default: .accepted $(MAKE) ../bin/circle *************** *** 146,152 **** class.o: class.c conf.h sysdep.h structs.h db.h utils.h spells.h interpreter.h $(CC) -c $(CFLAGS) class.c comm.o: comm.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h \ ! db.h house.h $(CC) -c $(CFLAGS) comm.c config.o: config.c conf.h sysdep.h structs.h $(CC) -c $(CFLAGS) config.c --- 146,152 ---- class.o: class.c conf.h sysdep.h structs.h db.h utils.h spells.h interpreter.h $(CC) -c $(CFLAGS) class.c comm.o: comm.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h \ ! db.h house.h olc.h $(CC) -c $(CFLAGS) comm.c config.o: config.c conf.h sysdep.h structs.h $(CC) -c $(CFLAGS) config.c *************** *** 182,194 **** handler.h spells.h $(CC) -c $(CFLAGS) mobact.c modify.o: modify.c conf.h sysdep.h structs.h utils.h interpreter.h handler.h db.h \ ! comm.h spells.h mail.h boards.h $(CC) -c $(CFLAGS) modify.c objsave.o: objsave.c conf.h sysdep.h structs.h comm.h handler.h db.h \ interpreter.h utils.h spells.h $(CC) -c $(CFLAGS) objsave.c olc.o: olc.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h db.h \ ! olc.h $(CC) -c $(CFLAGS) olc.c random.o: random.c $(CC) -c $(CFLAGS) random.c --- 182,194 ---- handler.h spells.h $(CC) -c $(CFLAGS) mobact.c modify.o: modify.c conf.h sysdep.h structs.h utils.h interpreter.h handler.h db.h \ ! comm.h spells.h mail.h boards.h olc.h $(CC) -c $(CFLAGS) modify.c objsave.o: objsave.c conf.h sysdep.h structs.h comm.h handler.h db.h \ interpreter.h utils.h spells.h $(CC) -c $(CFLAGS) objsave.c olc.o: olc.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h db.h \ ! olc.h screen.h $(CC) -c $(CFLAGS) olc.c random.o: random.c $(CC) -c $(CFLAGS) random.c *************** *** 213,215 **** --- 213,228 ---- weather.o: weather.c conf.h sysdep.h structs.h utils.h comm.h handler.h \ interpreter.h db.h $(CC) -c $(CFLAGS) weather.c + redit.o: redit.c conf.h sysdep.h structs.h utils.h comm.h boards.h \ + db.c olc.h + $(CC) -c $(CFLAGS) redit.c + oedit.o: oedit.c conf.h sysdep.h structs.h utils.h comm.h boards.h spells.h \ + db.c olc.h shop.h + $(CC) -c $(CFLAGS) oedit.c + zedit.o: zedit.c conf.h sysdep.h structs.h utils.h comm.h db.c olc.h + $(CC) -c $(CFLAGS) zedit.c + medit.o: medit.c conf.h sysdep.h structs.h utils.h comm.h spells.h shop.h \ + db.c olc.h + $(CC) -c $(CFLAGS) medit.c + sedit.o: sedit.c conf.h sysdep.h structs.h utils.h comm.h db.c olc.h shop.h + $(CC) -c $(CFLAGS) sedit.c diff -c -r oldsrc/act.wizard.c newsrc/act.wizard.c *** oldsrc/act.wizard.c Mon Apr 8 18:13:52 1996 --- newsrc/act.wizard.c Mon Apr 8 20:26:16 1996 *************** *** 21,26 **** --- 21,27 ---- #include "spells.h" #include "house.h" #include "screen.h" + #include "olc.h" /* external vars */ extern FILE *player_fl; *************** *** 656,665 **** ((k->player.time.played / 3600) % 60), age(k).year); send_to_char(buf, ch); ! sprintf(buf, "Hometown: [%d], Speaks: [%d/%d/%d], (STL[%d]/per[%d]/NSTL[%d])\r\n", k->player.hometown, GET_TALK(k, 0), GET_TALK(k, 1), GET_TALK(k, 2), GET_PRACTICES(k), int_app[GET_INT(k)].learn, wis_app[GET_WIS(k)].bonus); send_to_char(buf, ch); } sprintf(buf, "Str: [%s%d/%d%s] Int: [%s%d%s] Wis: [%s%d%s] " --- 657,670 ---- ((k->player.time.played / 3600) % 60), age(k).year); send_to_char(buf, ch); ! sprintf(buf, "Hometown: [%d], Speaks: [%d/%d/%d], (STL[%d]/per[%d]/NSTL[%d])", k->player.hometown, GET_TALK(k, 0), GET_TALK(k, 1), GET_TALK(k, 2), GET_PRACTICES(k), int_app[GET_INT(k)].learn, wis_app[GET_WIS(k)].bonus); + /*. Display OLC zone for immorts .*/ + if(GET_LEVEL(k) >= LVL_IMMORT) + sprintf(buf, "%s, OLC[%d]", buf, GET_OLC_ZONE(k)); + strcat(buf, "\r\n"); send_to_char(buf, ch); } sprintf(buf, "Str: [%s%d/%d%s] Int: [%s%d%s] Wis: [%s%d%s] " *************** *** 2073,2078 **** --- 2078,2084 ---- { "passwd", LVL_IMPL, PC, MISC }, /* 45 */ { "nodelete", LVL_GOD, PC, BINARY }, { "cha", LVL_GRGOD, BOTH, NUMBER }, + { "olc", LVL_IMPL, PC, NUMBER }, { "\n", 0, BOTH, MISC } }; *************** *** 2417,2422 **** --- 2423,2431 ---- RANGE(3, 18); vict->real_abils.cha = value; affect_total(vict); + break; + case 48: + GET_OLC_ZONE(vict) = value; break; default: diff -c -r oldsrc/comm.c newsrc/comm.c *** oldsrc/comm.c Mon Apr 8 18:13:52 1996 --- newsrc/comm.c Mon Apr 8 18:26:47 1996 *************** *** 27,32 **** --- 27,33 ---- #include "handler.h" #include "db.h" #include "house.h" + #include "olc.h" /* externs */ extern int restrict; *************** *** 1231,1236 **** --- 1232,1250 ---- SEND_TO_Q("Your victim is no longer among us.\r\n", d->snoop_by); d->snoop_by->snooping = NULL; } + + /*. Kill any OLC stuff .*/ + switch(d->connected) + { case CON_OEDIT: + case CON_REDIT: + case CON_ZEDIT: + case CON_MEDIT: + case CON_SEDIT: + cleanup_olc(d, CLEANUP_ALL); + default: + break; + } + if (d->character) { target_idnum = GET_IDNUM(d->character); if (d->connected == CON_PLAYING) { diff -c -r oldsrc/constants.c newsrc/constants.c *** oldsrc/constants.c Mon Apr 8 18:13:53 1996 --- newsrc/constants.c Mon Apr 8 20:56:12 1996 *************** *** 230,235 **** --- 230,240 ---- "Changing PW 3", "Self-Delete 1", "Self-Delete 2", + "Object edit", + "Room edit", + "Zone edit", + "Mobile edit", + "Shop edit", "\n" }; diff -c -r oldsrc/interpreter.c newsrc/interpreter.c *** oldsrc/interpreter.c Mon Apr 8 18:13:53 1996 --- newsrc/interpreter.c Mon Apr 8 20:25:30 1996 *************** *** 50,55 **** --- 50,60 ---- int special(struct char_data *ch, int cmd, char *arg); int isbanned(char *hostname); int Valid_Name(char *newname); + void oedit_parse(struct descriptor_data *d, char *arg); + void redit_parse(struct descriptor_data *d, char *arg); + void zedit_parse(struct descriptor_data *d, char *arg); + void medit_parse(struct descriptor_data *d, char *arg); + void sedit_parse(struct descriptor_data *d, char *arg); /* prototypes for all do_x functions. */ *************** *** 347,352 **** --- 352,358 ---- { "love" , POS_RESTING , do_action , 0, 0 }, { "moan" , POS_RESTING , do_action , 0, 0 }, + { "medit" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_MEDIT}, { "motd" , POS_DEAD , do_gen_ps , 0, SCMD_MOTD }, { "mail" , POS_STANDING, do_not_here , 1, 0 }, { "massage" , POS_RESTING , do_action , 0, 0 }, *************** *** 369,378 **** { "nudge" , POS_RESTING , do_action , 0, 0 }, { "nuzzle" , POS_RESTING , do_action , 0, 0 }, - { "olc" , POS_DEAD , do_olc , LVL_IMPL, 0 }, { "order" , POS_RESTING , do_order , 1, 0 }, { "offer" , POS_STANDING, do_not_here , 1, 0 }, { "open" , POS_SITTING , do_gen_door , 0, SCMD_OPEN }, { "put" , POS_RESTING , do_put , 0, 0 }, { "pat" , POS_RESTING , do_action , 0, 0 }, --- 375,385 ---- { "nudge" , POS_RESTING , do_action , 0, 0 }, { "nuzzle" , POS_RESTING , do_action , 0, 0 }, { "order" , POS_RESTING , do_order , 1, 0 }, { "offer" , POS_STANDING, do_not_here , 1, 0 }, { "open" , POS_SITTING , do_gen_door , 0, SCMD_OPEN }, + { "olc" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_SAVEINFO }, + { "oedit" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_OEDIT}, { "put" , POS_RESTING , do_put , 0, 0 }, { "pat" , POS_RESTING , do_action , 0, 0 }, *************** *** 416,421 **** --- 423,429 ---- { "rescue" , POS_FIGHTING, do_rescue , 1, 0 }, { "restore" , POS_DEAD , do_restore , LVL_GOD, 0 }, { "return" , POS_DEAD , do_return , 0, 0 }, + { "redit" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_REDIT}, { "roll" , POS_RESTING , do_action , 0, 0 }, { "roomflags", POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_ROOMFLAGS }, { "ruffle" , POS_STANDING, do_action , 0, 0 }, *************** *** 428,433 **** --- 436,442 ---- { "sell" , POS_STANDING, do_not_here , 0, 0 }, { "send" , POS_SLEEPING, do_send , LVL_GOD, 0 }, { "set" , POS_DEAD , do_set , LVL_GOD, 0 }, + { "sedit" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_SEDIT}, { "shout" , POS_RESTING , do_gen_comm , 0, SCMD_SHOUT }, { "shake" , POS_RESTING , do_action , 0, 0 }, { "shiver" , POS_RESTING , do_action , 0, 0 }, *************** *** 530,535 **** --- 539,545 ---- { "yawn" , POS_RESTING , do_action , 0, 0 }, { "yodel" , POS_RESTING , do_action , 0, 0 }, + { "zedit" , POS_DEAD , do_olc , LVL_GOD, SCMD_OLC_ZEDIT}, { "zreset" , POS_DEAD , do_zreset , LVL_GRGOD, 0 }, { "\n", 0, 0, 0, 0 } }; /* this must be last */ *************** *** 1255,1260 **** --- 1265,1289 ---- skip_spaces(&arg); switch (STATE(d)) { + + /*. OLC states .*/ + case CON_OEDIT: + oedit_parse(d, arg); + break; + case CON_REDIT: + redit_parse(d, arg); + break; + case CON_ZEDIT: + zedit_parse(d, arg); + break; + case CON_MEDIT: + medit_parse(d, arg); + break; + case CON_SEDIT: + sedit_parse(d, arg); + break; + /*. End of OLC states .*/ + case CON_GET_NAME: /* wait for input of name */ if (d->character == NULL) { CREATE(d->character, struct char_data, 1); diff -c -r oldsrc/interpreter.h newsrc/interpreter.h *** oldsrc/interpreter.h Mon Apr 8 18:13:53 1996 --- newsrc/interpreter.h Mon Apr 8 18:22:40 1996 *************** *** 198,200 **** --- 198,209 ---- #define SCMD_UNLOCK 2 #define SCMD_LOCK 3 #define SCMD_PICK 4 + + /*. do_olc .*/ + #define SCMD_OLC_REDIT 0 + #define SCMD_OLC_OEDIT 1 + #define SCMD_OLC_ZEDIT 2 + #define SCMD_OLC_MEDIT 3 + #define SCMD_OLC_SEDIT 4 + #define SCMD_OLC_SAVEINFO 5 + diff -c -r oldsrc/modify.c newsrc/modify.c *** oldsrc/modify.c Mon Apr 8 18:13:54 1996 --- newsrc/modify.c Mon Apr 8 18:32:50 1996 *************** *** 21,26 **** --- 21,27 ---- #include "spells.h" #include "mail.h" #include "boards.h" + #include "olc.h" void show_string(struct descriptor_data *d, char *input); *************** *** 89,94 **** --- 90,158 ---- } if (terminator) { + /*. OLC Edits .*/ + extern void oedit_disp_menu(struct descriptor_data *d); + extern void oedit_disp_extradesc_menu(struct descriptor_data *d); + extern void redit_disp_menu(struct descriptor_data *d); + extern void redit_disp_extradesc_menu(struct descriptor_data *d); + extern void redit_disp_exit_menu(struct descriptor_data *d); + extern void medit_disp_menu(struct descriptor_data *d); + if (STATE(d) == CON_MEDIT) + { if (OLC_MOB(d)->player.description) + free(OLC_MOB(d)->player.description); + OLC_MOB(d)->player.description = str_dup(*d->str); + free (*d->str); + free (d->str); + medit_disp_menu(d); + } + if (STATE(d) == CON_OEDIT) { + switch(OLC_MODE(d)) { + case OEDIT_ACTDESC: + if (OLC_OBJ(d)->action_description) + free(OLC_OBJ(d)->action_description); + OLC_OBJ(d)->action_description = str_dup(*d->str); + free (*d->str); + free (d->str); + oedit_disp_menu(d); + break; + case OEDIT_EXTRADESC_DESCRIPTION: + if (OLC_DESC(d)->description) + free(OLC_DESC(d)->description); + OLC_DESC(d)->description = str_dup(*d->str); + free(*d->str); + free(d->str); + oedit_disp_extradesc_menu(d); + } + } + if (STATE(d) == CON_REDIT) { + switch(OLC_MODE(d)) { + case REDIT_DESC: + if (OLC_ROOM(d)->description) + free(OLC_ROOM(d)->description); + OLC_ROOM(d)->description = str_dup(*d->str); + free (*d->str); + free (d->str); + redit_disp_menu(d); + break; + case REDIT_EXTRADESC_DESCRIPTION: + if (OLC_DESC(d)->description) + free (OLC_DESC(d)->description); + OLC_DESC(d)->description = str_dup(*d->str); + free(*d->str); + free(d->str); + redit_disp_extradesc_menu(d); + break; + case REDIT_EXIT_DESCRIPTION: + if (OLC_EXIT(d)->general_description) + free(OLC_EXIT(d)->general_description); + OLC_EXIT(d)->general_description = str_dup(*d->str); + free (*d->str); + free(d->str); + redit_disp_exit_menu(d); + break; + } + } /*. End OLC edits .*/ + if (!d->connected && (PLR_FLAGGED(d->character, PLR_MAILING))) { store_mail(d->mail_to, GET_IDNUM(d->character), *d->str); d->mail_to = 0; diff -c -r oldsrc/shop.c newsrc/shop.c *** oldsrc/shop.c Mon Apr 8 18:13:54 1996 --- newsrc/shop.c Mon Apr 8 18:51:51 1996 *************** *** 12,17 **** --- 12,19 ---- * The entire shop rewrite for Circle 3.0 was done by Jeff Fink. Thanks Jeff! ***/ + #define __SHOP_C__ + #include "conf.h" #include "sysdep.h" diff -c -r oldsrc/shop.h newsrc/shop.h *** oldsrc/shop.h Mon Apr 8 18:13:55 1996 --- newsrc/shop.h Mon Apr 8 18:51:34 1996 *************** *** 95,101 **** #define OPER_NOT 4 #define MAX_OPER 4 ! const char *operator_str[] = { "[({", "])}", --- 95,101 ---- #define OPER_NOT 4 #define MAX_OPER 4 ! #ifdef __SHOP_C__ const char *operator_str[] = { "[({", "])}", *************** *** 103,109 **** "&*", "^'" } ; ! #define SHOP_NUM(i) (shop_index[(i)].virtual) #define SHOP_KEEPER(i) (shop_index[(i)].keeper) --- 103,109 ---- "&*", "^'" } ; ! #endif #define SHOP_NUM(i) (shop_index[(i)].virtual) #define SHOP_KEEPER(i) (shop_index[(i)].keeper) *************** *** 134,139 **** --- 134,140 ---- /* Constant list for printing out who we sell to */ + #ifdef __SHOP_C__ const char *trade_letters[] = { "Good", /* First, the alignment based ones */ "Evil", *************** *** 144,149 **** --- 145,151 ---- "Warrior", "\n" } ; + #endif #define WILL_START_FIGHT 1 *************** *** 152,162 **** --- 154,166 ---- #define SHOP_KILL_CHARS(i) (IS_SET(SHOP_BITVECTOR(i), WILL_START_FIGHT)) #define SHOP_USES_BANK(i) (IS_SET(SHOP_BITVECTOR(i), WILL_BANK_MONEY)) + #ifdef __SHOP_C__ char *shop_bits[] = { "WILL_FIGHT", "USES_BANK", "\n" } ; + #endif #define MIN_OUTSIDE_BANK 5000 #define MAX_OUTSIDE_BANK 15000 diff -c -r oldsrc/structs.h newsrc/structs.h *** oldsrc/structs.h Mon Apr 8 18:13:54 1996 --- newsrc/structs.h Mon Apr 8 20:13:25 1996 *************** *** 219,224 **** --- 219,229 ---- #define CON_CHPWD_VRFY 14 /* Verify new password */ #define CON_DELCNF1 15 /* Delete confirmation 1 */ #define CON_DELCNF2 16 /* Delete confirmation 2 */ + #define CON_OEDIT 17 /*. OLC mode - object edit .*/ + #define CON_REDIT 18 /*. OLC mode - room edit .*/ + #define CON_ZEDIT 19 /*. OLC mode - zone info edit .*/ + #define CON_MEDIT 20 /*. OLC mode - mobile edit .*/ + #define CON_SEDIT 21 /*. OLC mode - shop edit .*/ /* Character equipment positions: used as index for char_data.equipment[] */ *************** *** 725,731 **** ubyte spare4; ubyte spare5; int spells_to_learn; /* How many can you learn yet this level*/ ! int spare7; int spare8; int spare9; int spare10; --- 730,736 ---- ubyte spare4; ubyte spare5; int spells_to_learn; /* How many can you learn yet this level*/ ! int olc_zone; int spare8; int spare9; int spare10; *************** *** 899,904 **** --- 904,910 ---- struct descriptor_data *snooping; /* Who is this char snooping */ struct descriptor_data *snoop_by; /* And who is snooping this char */ struct descriptor_data *next; /* link to next descriptor */ + struct olc_data *olc; /*. OLC info - defined in olc.h .*/ }; Only in newsrc: tmp