MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | #pragma strong_types,save_types |
| 2 | #pragma no_clone,no_shadow |
| 3 | |
| 4 | #include <wizlevels.h> |
| 5 | |
| 6 | #define SAVEFILE "/p/daemon/save/ruestungen" |
| 7 | #define DUMPFILE "/log/RUESTUNGEN" |
| 8 | |
| 9 | mapping armours; |
| 10 | |
| 11 | void create() |
| 12 | { |
| 13 | seteuid(getuid(this_object())); |
| 14 | |
| 15 | if (!restore_object(SAVEFILE)) |
| 16 | { |
| 17 | armours = ([]); |
| 18 | } |
| 19 | } |
| 20 | |
| 21 | void save_me() |
| 22 | { |
| 23 | save_object(SAVEFILE); |
| 24 | } |
| 25 | |
| 26 | void RegisterArmour() |
| 27 | { object ob; |
| 28 | string id; |
| 29 | |
| 30 | if (!objectp(ob=previous_object()) || |
| 31 | member(inherit_list(ob),"/std/armour.c")==-1) |
| 32 | return; |
| 33 | id = old_explode(object_name(ob),"#")[0]; |
| 34 | if (member(armours,id)) |
| 35 | return; |
| 36 | armours += ([ id : 1]); |
| 37 | save_me(); |
| 38 | } |
| 39 | |
| 40 | int Dump() |
| 41 | { string *ind; |
| 42 | int i; |
| 43 | |
| 44 | if (!this_interactive() || !IS_LORD(this_interactive())) |
| 45 | return -1; |
| 46 | if (file_size(DUMPFILE)>=0) |
| 47 | rm(DUMPFILE); |
| 48 | |
| 49 | ind = sort_array(m_indices(armours),#'>); |
| 50 | if ((i=sizeof(ind))<1) |
| 51 | return 0; |
| 52 | write_file(DUMPFILE,sprintf("Dumped: %s\n",dtime(time()))); |
| 53 | for (--i;i>=0;i--) |
| 54 | write_file(DUMPFILE,ind[i]+"\n"); |
| 55 | return 1; |
| 56 | } |