I got this a while ago, but could never implement it... If anyone can make it work in OasisOLC let me know what they did... I think it is a diff file from a non-stock circle. --- cut here for oedit.diff --- 363a364,371 > for (counter2 = 0; counter2 < MAX_SPELL_AFFECT; counter2++) > if ((obj->spell_affect[counter].spelltype)!=0) > fprintf(fp, "S\n" > "%d %d %d\n", > obj->spell_affect[counter2].spelltype, > obj->spell_affect[counter2].level, > obj->spell_affect[counter2].percentage > ); 446a455,479 > /* Ask for *which* spell to edit */ > void oedit_disp_prompt_spell_menu(struct descriptor_data * d) > { > int counter; > > get_char_cols(d->character); > send_to_char("", d->character); > for (counter = 0; counter < MAX_SPELL_AFFECT; counter++) { > if (OLC_OBJ(d)->spell_affect[counter].spelltype) { > sprinttype(OLC_OBJ(d)->spell_affect[counter].spelltype, spells, buf2); > sprintf(buf, " %s%d%s) %3d%% %s(%d)\r\n", > grn, counter + 1, nrm, > OLC_OBJ(d)->spell_affect[counter].percentage, buf2, > OLC_OBJ(d)->spell_affect[counter].level > ); > send_to_char(buf, d->character); > } else { > sprintf(buf, " %s%d%s) None.\r\n", grn, counter + 1, nrm); > send_to_char(buf, d->character); > } > } > send_to_char("\r\nEnter spell to modify (0 to quit): ", d->character); > OLC_MODE(d) = OEDIT_PROMPT_SPELL; > } > 763a797 > "%sG%s) Weaponspell menu\r\n" 777c811 < grn, nrm, grn, nrm, grn, nrm --- > grn, nrm, grn, nrm, grn, nrm, grn, nrm 790a825 > extern char *spelllist; 903a939,942 > case 'g': > case 'G': > oedit_disp_prompt_spell_menu(d); > break; 1138a1178,1227 > case OEDIT_PROMPT_SPELL: > number = atoi(arg); > if (number == 0) > break; > else if (number < 0 || number > MAX_SPELL_AFFECT) > { oedit_disp_prompt_spell_menu(d); > return; > } > OLC_VAL(d) = number - 1; > send_to_char("Spell num ('list' for list): ", d->character); > OLC_MODE(d) = OEDIT_SPELL; > return; > > case OEDIT_SPELL: > if (!strcmp(arg,"list")) > { > send_to_char(spelllist, d->character); > send_to_char("Spell num ('list' for list): ", d->character); > return; > } > number = atoi(arg); > if (number == 0) > { OLC_OBJ(d)->spell_affect[OLC_VAL(d)].spelltype = 0; > OLC_OBJ(d)->spell_affect[OLC_VAL(d)].level = 0; > OLC_OBJ(d)->spell_affect[OLC_VAL(d)].percentage = 0; > OLC_MODE(d) = OEDIT_PROMPT_SPELL; > oedit_disp_prompt_spell_menu(d); > } else if (number < 0 || number > MAX_SPELLS) > send_to_char("Spell num ('list' for list): ", d->character); > else > { OLC_OBJ(d)->spell_affect[OLC_VAL(d)].spelltype = number; > send_to_char("Spell Level: ", d->character); > OLC_MODE(d) = OEDIT_SPELL_LEVEL; > } > return; > > case OEDIT_SPELL_LEVEL: > number = atoi(arg); > OLC_OBJ(d)->spell_affect[OLC_VAL(d)].level = number; > send_to_char("Spell Probability: ", d->character); > OLC_MODE(d) = OEDIT_SPELL_CHANCE; > return; > > case OEDIT_SPELL_CHANCE: > number = atoi(arg); > OLC_OBJ(d)->spell_affect[OLC_VAL(d)].percentage = number; > OLC_MODE(d) = OEDIT_PROMPT_SPELL; > oedit_disp_prompt_spell_menu(d); > return; > --- end of oedit.diff --- --------------------------------------------------------------------------- Eduardo Gutierrez de Oliveira eduo@sparc.ciateq.conacyt.mx Administrador de Internet Internet Administrator Proveedor de Servicio Internet Internet Service Provider CIATEQ, A.C. Centro de Investigacion y Asistencia Tecnica del Estado de Queretaro, A.C. http://sparc.ciateq.conacyt.mx/ ---------------------------------------------------------------------------
This archive was generated by hypermail 2b30 : 12/07/00 PST