/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /*************************************************************************** * God Wars Mud improvements copyright (C) 1994, 1995, 1996 by Richard * * Woolcock. This mud is NOT to be copied in whole or in part, or to be * * run without the permission of Richard Woolcock. Nobody else has * * permission to authorise the use of this code. * ***************************************************************************/ /************************************************************** * Myth Mud improvements ALL by David Spink aka Morglum. * * This mud is NOT to be copied in whole or in part! No one * * has the permission to authorise the use of this code. * * In order to use this code you MUST comply with the terms * * and conditions in 'license.myth' (as shipped). * **************************************************************/ #if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "merc.h" /*int clan_table_search args( (CHAR_DATA *ch) );*/ /*void format_string_spaces args ( (char *argument,int spaces) );*/ void artifact_table_write() { int art_pos; FILE *fp; if ( ( fp = fopen(ART_LIST, "w") ) !=NULL) { for(art_pos=0;art_pos<MAX_ART;art_pos++) { fprintf( fp, "%d %s~\n", artifact_table[art_pos].object_vnum, artifact_table[art_pos].player_name); } fflush( fp ); fclose( fp ); } else { /*bug("Cannot Open ARTIFACT file :- WRITE ARTIFACT TABLE", 0);*/ } return; } void artifact_table_read() { int art_pos; FILE *fp; if ( ( fp = fopen(ART_LIST, "r") ) !=NULL) { for(art_pos=0;art_pos<MAX_ART;art_pos++) { artifact_table[art_pos].object_vnum=fread_number( fp ); artifact_table[art_pos].player_name=fread_string( fp ); } } else { /*bug("Cannot Open ARTIFACT Table:- Loading Default Table", 0);*/ return; } fflush( fp ); fclose( fp ); return; } void do_show_artifacts(CHAR_DATA *ch, char *argument) { char buf [MAX_STRING_LENGTH]; OBJ_INDEX_DATA *pObjIndex; int art_pos; for(art_pos=0;art_pos<MAX_ART;art_pos++) { if ( ( pObjIndex = get_obj_index(artifact_table[art_pos].object_vnum) ) == NULL ) continue; if (strlen(artifact_table[art_pos].player_name) < 3 || !str_cmp((artifact_table[art_pos].player_name),"none")) { sprintf(buf,"%s, which has not yet been discovered.\n\r", pObjIndex->short_descr); } else { sprintf(buf,"%s, which has been discovered by %s.\n\r", pObjIndex->short_descr, artifact_table[art_pos].player_name); } buf[0] = UPPER(buf[0]); send_to_char(buf,ch); } } struct artifact_type artifact_table[MAX_ART] = { {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0}, {"none",0} };