DOH.
Me smart *chuckle*
Here is the patch.
-Johan
----------
Only in oasis: OasisOLC.README
Only in oasis: OasisOLC.patch
diff -c oasis/olc.h oasis2/olc.h
*** oasis/olc.h Tue Apr 9 04:37:10 1996
--- oasis2/olc.h Fri Jan 31 17:40:16 1997
***************
*** 154,164 ****
#define ZEDIT_ARG1 6
#define ZEDIT_ARG2 7
#define ZEDIT_ARG3 8
! #define ZEDIT_ZONE_NAME 9
! #define ZEDIT_ZONE_LIFE 10
! #define ZEDIT_ZONE_TOP 11
! #define ZEDIT_ZONE_RESET 12
! #define ZEDIT_CONFIRM_SAVESTRING 13
/*. Submodes of MEDIT connectedness .*/
--- 154,165 ----
#define ZEDIT_ARG1 6
#define ZEDIT_ARG2 7
#define ZEDIT_ARG3 8
! #define ZEDIT_ARG4 9
! #define ZEDIT_ZONE_NAME 10
! #define ZEDIT_ZONE_LIFE 11
! #define ZEDIT_ZONE_TOP 12
! #define ZEDIT_ZONE_RESET 13
! #define ZEDIT_CONFIRM_SAVESTRING 14
/*. Submodes of MEDIT connectedness .*/
diff -c oasis/zedit.c oasis2/zedit.c
*** oasis/zedit.c Tue Apr 9 04:36:57 1996
--- oasis2/zedit.c Wed Feb 5 16:46:05 1997
***************
*** 350,356 ****
have an OLC as cool as this ? :> .*/
void zedit_save_to_disk(struct descriptor_data *d)
! { int subcmd, arg1 = -1, arg2 = -1, arg3 = -1;
char fname[64];
FILE *zfile;
--- 350,356 ----
have an OLC as cool as this ? :> .*/
void zedit_save_to_disk(struct descriptor_data *d)
! { int subcmd, arg1 = -1, arg2 = -1, arg3 = -1, arg4 = -1;
char fname[64];
FILE *zfile;
***************
*** 383,418 ****
arg1 = mob_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = world[ZCMD.arg3].number;
break;
case 'O':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = world[ZCMD.arg3].number;
break;
case 'G':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
! arg3 = -1;
break;
case 'E':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = ZCMD.arg3;
break;
case 'P':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = obj_index[ZCMD.arg3].virtual;
break;
case 'D':
arg1 = world[ZCMD.arg1].number;
arg2 = ZCMD.arg2;
arg3 = ZCMD.arg3;
break;
case 'R':
arg1 = world[ZCMD.arg1].number;
arg2 = obj_index[ZCMD.arg2].virtual;
arg3 = -1;
break;
case '*':
/*. Invalid commands are replaced with '*' - Ignore them .*/
--- 383,425 ----
arg1 = mob_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = world[ZCMD.arg3].number;
+ arg4 = ZCMD.arg4;
break;
case 'O':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = world[ZCMD.arg3].number;
+ arg4 = ZCMD.arg4;
break;
case 'G':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
! arg3 = ZCMD.arg3;
! arg4 = -1;
break;
case 'E':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = ZCMD.arg3;
+ arg4 = ZCMD.arg4;
break;
case 'P':
arg1 = obj_index[ZCMD.arg1].virtual;
arg2 = ZCMD.arg2;
arg3 = obj_index[ZCMD.arg3].virtual;
+ arg4 = ZCMD.arg4;
break;
case 'D':
arg1 = world[ZCMD.arg1].number;
arg2 = ZCMD.arg2;
arg3 = ZCMD.arg3;
+ arg4 = -1;
break;
case 'R':
arg1 = world[ZCMD.arg1].number;
arg2 = obj_index[ZCMD.arg2].virtual;
arg3 = -1;
+ arg4 = -1;
break;
case '*':
/*. Invalid commands are replaced with '*' - Ignore them .*/
***************
*** 422,429 ****
mudlog(buf, BRF, LVL_GOD, TRUE);
continue;
}
! fprintf(zfile, "%c %d %d %d %d\n",
! ZCMD.command, ZCMD.if_flag, arg1, arg2, arg3);
}
fprintf(zfile, "S\n$\n");
fclose(zfile);
--- 429,436 ----
mudlog(buf, BRF, LVL_GOD, TRUE);
continue;
}
! fprintf(zfile, "%c %d %d %d %d %d\n",
! ZCMD.command, ZCMD.if_flag, arg1, arg2, arg3, arg4);
}
fprintf(zfile, "S\n$\n");
fclose(zfile);
***************
*** 581,626 ****
{ /*. Translate what the command means .*/
switch(MYCMD.command)
{ case'M':
! sprintf(buf2, "%sLoad %s [%s%d%s], Max : %d",
MYCMD.if_flag ? " then " : "",
mob_proto[MYCMD.arg1].player.short_descr,
cyn, mob_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg2
);
break;
case'G':
! sprintf(buf2, "%sGive it %s [%s%d%s], Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg2
);
break;
case'O':
! sprintf(buf2, "%sLoad %s [%s%d%s], Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg2
);
break;
case'E':
! sprintf(buf2, "%sEquip with %s [%s%d%s], %s, Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! equipment_types[MYCMD.arg3],
MYCMD.arg2
);
break;
case'P':
! sprintf(buf2, "%sPut %s [%s%d%s] in %s [%s%d%s], Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
obj_proto[MYCMD.arg3].short_description,
cyn, obj_index[MYCMD.arg3].virtual, yel,
! MYCMD.arg2
);
break;
case'R':
--- 588,633 ----
{ /*. Translate what the command means .*/
switch(MYCMD.command)
{ case'M':
! sprintf(buf2, "%sLoad %s [%s%d%s], Chance %d%% , Max : %d",
MYCMD.if_flag ? " then " : "",
mob_proto[MYCMD.arg1].player.short_descr,
cyn, mob_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg4 ? (101 - MYCMD.arg4): 100, MYCMD.arg2
);
break;
case'G':
! sprintf(buf2, "%sGive it %s [%s%d%s], Chance %d%%, Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg3 ? (101 - MYCMD.arg3): 100, MYCMD.arg2
);
break;
case'O':
! sprintf(buf2, "%sLoad %s [%s%d%s], Chance %d%%, Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! MYCMD.arg4 ? (101 - MYCMD.arg4): 100, MYCMD.arg2
);
break;
case'E':
! sprintf(buf2, "%sEquip with %s [%s%d%s], %s, Chance %d%%, Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
! equipment_types[MYCMD.arg3], MYCMD.arg4 ? (101 - MYCMD.arg4): 100,
MYCMD.arg2
);
break;
case'P':
! sprintf(buf2, "%sPut %s [%s%d%s] in %s [%s%d%s], Chance %d%%, Max : %d",
MYCMD.if_flag ? " then " : "",
obj_proto[MYCMD.arg1].short_description,
cyn, obj_index[MYCMD.arg1].virtual, yel,
obj_proto[MYCMD.arg3].short_description,
cyn, obj_index[MYCMD.arg3].virtual, yel,
! MYCMD.arg4 ? (101 - MYCMD.arg4): 100, MYCMD.arg2
);
break;
case'R':
***************
*** 786,795 ****
"2) Door locked\r\n"
"Enter state of the door : ", d->character);
break;
case 'M':
case 'O':
case 'R':
- case 'G':
default:
/*. We should never get here .*/
cleanup_olc(d, CLEANUP_ALL);
--- 793,805 ----
"2) Door locked\r\n"
"Enter state of the door : ", d->character);
break;
+
+ case 'G':
+ send_to_char("Give the percentage chance that this event should happen: ", d->character);
+ break;
case 'M':
case 'O':
case 'R':
default:
/*. We should never get here .*/
cleanup_olc(d, CLEANUP_ALL);
***************
*** 799,804 ****
--- 809,842 ----
OLC_MODE(d) = ZEDIT_ARG3;
}
+ /*-------------------------------------------------------------------*/
+ /*. Print the appropriate message for the command type for arg4 and set
+ up the input catch clause .*/
+
+ void zedit_disp_arg4(struct descriptor_data *d)
+ {
+ switch(OLC_CMD(d).command)
+ {
+ case 'E':
+ case 'M':
+ case 'O':
+ case 'P':
+ send_to_char("Give the percentage chance that this event should happen: ", d->character);
+ break;
+
+ case 'G':
+ case 'D':
+ case 'R':
+ default:
+ /*. We should never get here .*/
+ cleanup_olc(d, CLEANUP_ALL);
+ mudlog("SYSERR: OLC: zedit_disp_arg3(): Help!", BRF, LVL_GOD, TRUE);
+ return;
+ }
+ OLC_MODE(d) = ZEDIT_ARG4;
+ }
+
+
/**************************************************************************
***************
*** 1028,1038 ****
case 'O':
OLC_CMD(d).arg2 = atoi(arg);
OLC_CMD(d).arg3 = real_room(OLC_NUM(d));
! zedit_disp_menu(d);
break;
case 'G':
OLC_CMD(d).arg2 = atoi(arg);
! zedit_disp_menu(d);
break;
case 'P':
case 'E':
--- 1066,1076 ----
case 'O':
OLC_CMD(d).arg2 = atoi(arg);
OLC_CMD(d).arg3 = real_room(OLC_NUM(d));
! zedit_disp_arg4(d);
break;
case 'G':
OLC_CMD(d).arg2 = atoi(arg);
! zedit_disp_arg3(d);
break;
case 'P':
case 'E':
***************
*** 1085,1091 ****
send_to_char("Try again : ", d->character);
else
{ OLC_CMD(d).arg3 = pos;
! zedit_disp_menu(d);
}
break;
case 'P':
--- 1123,1129 ----
send_to_char("Try again : ", d->character);
else
{ OLC_CMD(d).arg3 = pos;
! zedit_disp_arg4(d);
}
break;
case 'P':
***************
*** 1092,1098 ****
pos = real_object(atoi(arg));
if (pos >= 0)
{ OLC_CMD(d).arg3 = pos;
! zedit_disp_menu(d);
} else
send_to_char("That object does not exist, try again : ", d->character);
break;
--- 1130,1136 ----
pos = real_object(atoi(arg));
if (pos >= 0)
{ OLC_CMD(d).arg3 = pos;
! zedit_disp_arg4(d);
} else
send_to_char("That object does not exist, try again : ", d->character);
break;
***************
*** 1105,1113 ****
zedit_disp_menu(d);
}
break;
case 'M':
case 'O':
- case 'G':
case 'R':
default:
/*. We should never get here .*/
--- 1143,1163 ----
zedit_disp_menu(d);
}
break;
+ case 'G':
+ pos = atoi(arg);
+ if (pos == 100) {
+ OLC_CMD(d).arg3 = 0;
+ zedit_disp_menu(d);
+ }
+ else if (pos > 0 && pos < 100) {
+ OLC_CMD(d).arg3 = 101 - pos;
+ zedit_disp_menu(d);
+ }
+ else
+ send_to_char("Give a number between 1 and 100. Try again: ", d->character);
+ break;
case 'M':
case 'O':
case 'R':
default:
/*. We should never get here .*/
***************
*** 1116,1122 ****
break;
}
break;
!
/*-------------------------------------------------------------------*/
case ZEDIT_ZONE_NAME:
/*. Add new name and return to main menu .*/
--- 1166,1207 ----
break;
}
break;
!
! /*-------------------------------------------------------------------*/
! case ZEDIT_ARG4:
! /*. Parse the input for arg4, and go back to main menu. */
! if (!isdigit(*arg)) {
! send_to_char("Must be a numeric value, try again : ", d->character
! );
! return;
! }
! switch(OLC_CMD(d).command)
! { case 'E':
! case 'M':
! case 'O':
! case 'P':
! pos = atoi(arg);
! if (pos == 100) {
! OLC_CMD(d).arg4 = 0;
! zedit_disp_menu(d);
! }
! else if (pos > 0 && pos < 100) {
! OLC_CMD(d).arg4 = 101 - pos;
! zedit_disp_menu(d);
! }
! else
! send_to_char("Give a number between 1 and 100. Try again: ", d->character);
! break;
! case 'R':
! case 'D':
! default:
! /*. We should never get here .*/
! cleanup_olc(d, CLEANUP_ALL);
! mudlog("SYSERR: OLC: zedit_parse(): case ARG3: Ack!", BRF, LVL_GOD, TRUE);
! break;
! }
! break;
!
/*-------------------------------------------------------------------*/
case ZEDIT_ZONE_NAME:
/*. Add new name and return to main menu .*/
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST