///////////////////////////////// // SOLAR ODYSSEY ONLINE README // ///////////////////////////////// /* This file is intended to give a brief overview of where things can be located in this module. The amount of code running SOO is so insane, the creator needed a place to organize his thoughts. :) Some things to keep in mind: * The module heavily uses NWNX2 and MySQL. Just about everything relies on these additions. You won't get very far with just the module alone because creatures, skills, classes, items, abilities, blueprints, guilds, and much more all depend on it. * MySQL tables are not automatically created. You'll need to ask the creator (Zunath) for a copy of the database. If you don't have his permission to use the module, you're SOL. * Because SOO relies so heavily on the database, it may lag older computers. Any modern computer should have no problems but just be aware. Include Files: * skl_include: Handles all skill related information including skill ups, skill experience, the skill menu, etc. * cls_include: Handles all class and subclass related information including classes, class experience, the class menu, class abilities, etc. * ai_include: Handles creature artificial intelligence including the enmity system, ability/class usage, sight and sound aggro detection, etc. * dad_include: Handles the Damage and Defense system including damage calculation, DMG ratings, defense ratings, etc. * bank_include: Handles persistent player banks including item storage, gold storage, bank account upgrading, etc. * amp_include: Handles AMPs including stat adjustments. It was once used for our custom ability system but the class/subclass system replaces its functionality. * guild_include: Handles player run guilds including creation of the guild, invitations, guild banks, etc. * equip_bonuses: Holds custom stat variable names including HP regeneration and Essence regeneration bonuses. You may also change character base stats here. * aps_include: NWNX's main include file. I've made a few additions to it to save me some time. * dcy_include: Handles weapon and armor durability and decay. * pro_include: Handles the manufacturing system including creation of items, blueprint info, etc. * qst_include: Handles the quest system including quest dialogue, quest journal entries, rewards, etc. * rwt_include: A small include file which gives some useful real world time functions. Mainly used for the now defunct sanctuary system as well as ability cooldowns. * spl_include: Handles all ability related actions including casting spells, spell effects, combat abilities, etc. MySQL Tables: * amp_abiities: Once handled the ability system. It no longer has a purpose but is still around for records purposes. * amp_list: Defines the stat changes AMPs provide when equipped. * bank_*: Bank tables which store information about items players have stored inside of banks in game. * cls_abilities: Stores all of the class/subclass system abilities. Not to be confused with the old ability system, this new table is basically a combination of the old amp_abilities and spl_spells tables. * cls_exp: Stores the experience values needed to reach the next level for every level. * guilds: This table stores a list of all the guilds created in game. Global guild data is stored here including guild credits, guild leader info, member count, etc. * guild_*: Specific guild information. Stores member information including member name, roles, etc. * guild_apps_*: Guild application entries. Stores application information sent in by other players. * pc_corpse: No longer used, this table originally store the location and inventory of player corpses. With the introduction of the class/subclass system, the death system was also revamped. * pc_hitpoints: Due to an NWN mechanic issue, persistent HP can't be stored in my usual ways (on the player's database item) so that information is stored in this table. * pro_blueprints: Data regarding every blueprint in the game. When a blueprint is dropped in a crafting terminal, the information is looked up in this table. * pwdata: A NWNX/MySQL standard table. I use it to store some information that just doesn't fit anywhere else. For example, it's used to store the number of characters created which I then use to assign new players unique ID numbers. * pwobjdata: A NWNX/MySQL standard table. I do not use this table at all. * quests: Stores information regarding all of the quests in game including quest dialogue, names, rewards, tasks involved, etc. * skl_base_exp: An experience chart used to determine the amount of experience to award players for defeating enemies. It is also used for the class/subclass system when rewarding players class EXP * skl_equipment: Stores information regarding every equippable item in the game. If an item isn't in this table, it can't be equipped. This table is uber importante because it's used to set skill requirements, class requirements, as well as custom stat bonuses like essence. Arguably the most important table out of the entire database. :) * skl_list: A list of skills with their respective ID numbers. Includes a description of each skill, the level cap, and the category (currently not used). * skl_list_exp: A list of how much experience is needed each level for every skill. Currently goes to a max of level 100 but I think it can be expanded if need be. * soo_creatures: Another uber importante table. Every single creature needs to be added to this table or custom mechanics won't work. Handles creature levels, sight and sound aggro, status resists, elemental resists, and much more. Creatures you create WILL work, but they won't utilize some very important systems. * spl_spells: No longer used but at one time it handled the spell casting system. It was combined with the amp_abilities table into the new cls_abilities table when the class/subclass system was introduced. It's still here as a reference and nothing more. */ //void main(){}