/*************************************************************************** * 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 Envy Diku Mud, you must comply with * * the original Diku license in 'license.doc', the Merc license in * * 'license.txt', as well as the Envy license in 'license.nvy'. * * 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. * * * * ROM 2.4 is copyright 1993-1998 Russ Taylor * * ROM has been brought to you by the ROM consortium * * Russ Taylor (rtaylor@hypercube.org) * * Gabrielle Taylor (gtaylor@hypercube.org) * * Brian Moore (zump@rom.org) * * By using this code, you have agreed to follow the terms of the * * ROM license, in the file Rom24/doc/rom.license * * * * Code Adapted and Improved by Abandoned Realms Mud * * and Aabahran: The Forsaken Lands Mud by Virigoth * * * * Continued Production of this code is available at www.flcodebase.com * ***************************************************************************/ /* Written by Virigoth sometime circa april 2000 for FORSAKEN LANDS mud.*/ /* This is the implementation of the selectable skills code */ /* NOT TO BE USED OR REPLICATED WITHOUT EXPLICIT PERMISSION OF AUTHOR */ /* umplawny@cc.umanitoba.ca */ /* Following defines some data types used by the whole selectable skills* * system */ #define MAX_SELECT 16 //How many choices allowed per class #define MAX_GROUP_SKILL 16 //Max skills per group #define MAX_PRE 4 //Max of skills used for requirement #define MAX_EX 4 //Max of skills used for exclusion /* The following three compose the main table used for reference when doing the selection for skills. It is referenced by the s_select_table for data on each group */ struct ss_info_type{ char *name; //name of skill sh_int rating; //how easy it is to learn sh_int skill; //start skill when selected char *pre[MAX_PRE]; //prerequisites for the skill char *ex[MAX_EX]; //skills wich exclude this choice }; struct ss_group_type{ char* name; //name of group sh_int skills; //How many skills to select from struct ss_info_type ss_info[MAX_GROUP_SKILL]; //data on each skill choice }; /* Following are used for the main s_select_table which contains data on each group and amount of skills avaliable to particular set of skills */ struct ss_type{ char* name; sh_int level[MAX_SELECT]; //level at which selections are made sh_int picks[MAX_SELECT]; //how many total selections allowed char* group[MAX_SELECT]; //name of group out of ss_group_table selections are made from. };