REO-EE/_module/nss/__soo_readme.nss
Jaysyn904 f82740bbbd Initial commit
Initial commit
2024-02-22 13:22:03 -05:00

129 lines
6.6 KiB
Plaintext

/////////////////////////////////
// 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(){}