Initial commit
Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
346
_module/nss/pat_cfg.nss
Normal file
346
_module/nss/pat_cfg.nss
Normal file
@@ -0,0 +1,346 @@
|
||||
/************************************************************************
|
||||
* script name : pat_cfg
|
||||
* created by : eyesolated
|
||||
* date : 2018/7/31
|
||||
*
|
||||
* description : Configuration script for PAT
|
||||
*
|
||||
* changes : 2018/7/31 - eyesolated - Initial creation
|
||||
************************************************************************/
|
||||
|
||||
/*******************************************************************************
|
||||
* General Configuration Settings
|
||||
*
|
||||
* This section covers generic settings regarding PAT.
|
||||
******************************************************************************/
|
||||
|
||||
// Enable/Disable PAT
|
||||
const int PAT_ENABLED = TRUE;
|
||||
|
||||
// Maximum CR that PAT can produce
|
||||
const int PAT_CR_MAXIMUM = 30;
|
||||
const int PAT_IP_MAXMAGICLEVEL = 30;
|
||||
|
||||
// Elite / Champion System
|
||||
const int PAT_AUTO_CR_ENABLE = TRUE;
|
||||
const int PAT_AUTO_CR_CHANCE_ELITE = 10;
|
||||
const int PAT_AUTO_CR_CHANCE_CHAMPION = 5;
|
||||
const int PAT_AUTO_CR_MODIFIER_ELITE = 1;
|
||||
const int PAT_AUTO_CR_MODIFIER_CHAMPION = 3;
|
||||
const int PAT_AUTO_CR_BONUSLOOT_ELITE = 1;
|
||||
const int PAT_AUTO_CR_BONUSLOOT_CHAMPION= 2;
|
||||
|
||||
/*******************************************************************************
|
||||
* Progression Configuration Settings
|
||||
*
|
||||
* This section covers the mathematical configuration setting up the progression
|
||||
* curves of the various creature statistics.
|
||||
******************************************************************************/
|
||||
|
||||
// Ability Gain constants
|
||||
const int PAT_ABILITY_BASE = 6;
|
||||
const float PAT_ABILITY_GAIN_EXTREME = 1.5f;
|
||||
const float PAT_ABILITY_GAIN_HIGH = 1.25f;
|
||||
const float PAT_ABILITY_GAIN_MEDIUM = 1.0f;
|
||||
const float PAT_ABILITY_GAIN_LOW = 0.5f;
|
||||
|
||||
// Saving Throw Gain constants
|
||||
const int PAT_SAVINGTHROW_BASE = 4;
|
||||
const float PAT_SAVINGTHROW_GAIN_HIGH = 1.0f;
|
||||
const float PAT_SAVINGTHROW_GAIN_MEDIUM = 0.7f;
|
||||
const float PAT_SAVINGTHROW_GAIN_LOW = 0.4f;
|
||||
|
||||
// AC Gain constants
|
||||
// AC calculation: PAT_AC_BASE + (CR / PAT_AC_GAIN + CR * CR / (PAT_AC_GAIN * 10))
|
||||
const int PAT_AC_BASE = 0; // Natural Armor = 10
|
||||
const int PAT_AC_MAXIMUM = 30;
|
||||
const float PAT_AC_GAIN_HIGH = 3.0f;
|
||||
const float PAT_AC_GAIN_MEDIUM = 4.0f;
|
||||
const float PAT_AC_GAIN_LOW = 5.0f;
|
||||
|
||||
// BAB Gain constants
|
||||
const int PAT_BAB_BASE = 0;
|
||||
const float PAT_BAB_GAIN_HIGH = 1.0f;
|
||||
const float PAT_BAB_GAIN_MEDIUM = 0.75f;
|
||||
const float PAT_BAB_GAIN_LOW = 0.5f;
|
||||
|
||||
// Hitpoint Gain constants
|
||||
// HP calculation: PAT_HP_BASE + (CR * (6 - PAT_HP_GAIN) + CR * CR * CR / (10 * PAT_HP_GAIN))
|
||||
const int PAT_HP_BASE = 10; // Default: 6;
|
||||
const float PAT_HP_GAIN_HIGH = 2.2f; // Default: 1.1f;
|
||||
const float PAT_HP_GAIN_MEDIUM = 4.4f; // Default: 2.2f;
|
||||
const float PAT_HP_GAIN_LOW = 5.5f; // Default: 3.3f;
|
||||
|
||||
// Skill Gains
|
||||
const int PAT_SKILLS_BASE = 3;
|
||||
const float PAT_SKILLS_EXTREME = 1.5f;
|
||||
const float PAT_SKILLS_HIGH = 1.25f;
|
||||
const float PAT_SKILLS_MEDIUM = 0.75f;
|
||||
const float PAT_SKILLS_LOW = 0.5f;
|
||||
|
||||
// Gain Rate Constants
|
||||
// These are used to reference the actual Gain_Rates
|
||||
const int PAT_GAIN_EXTREME = 1;
|
||||
const int PAT_GAIN_HIGH = 2;
|
||||
const int PAT_GAIN_MEDIUM = 3;
|
||||
const int PAT_GAIN_LOW = 4;
|
||||
|
||||
/*******************************************************************************
|
||||
* Role Configuration
|
||||
*
|
||||
* In this section you can configure constants for Role_IDs and Role_Names to
|
||||
* make referencing them easier
|
||||
******************************************************************************/
|
||||
const int PAT_ROLE_UNDEFINED = 0;
|
||||
|
||||
const int PAT_ROLE_DPS = 99;
|
||||
const int PAT_ROLE_DPS_MELEE = 100;
|
||||
const int PAT_ROLE_DPS_MELEE_STR = 101;
|
||||
const int PAT_ROLE_DPS_MELEE_DEX = 102;
|
||||
|
||||
const int PAT_ROLE_DPS_RANGE = 200;
|
||||
const int PAT_ROLE_DPS_RANGE_DEX = 201;
|
||||
const int PAT_ROLE_DPS_RANGE_WIS = 202;
|
||||
|
||||
const int PAT_ROLE_DPS_CASTER = 300;
|
||||
const int PAT_ROLE_DPS_CASTER_INT = 301;
|
||||
const int PAT_ROLE_DPS_CASTER_WIS = 302;
|
||||
const int PAT_ROLE_DPS_CASTER_CHA = 303;
|
||||
|
||||
const int PAT_ROLE_HEAL = 400;
|
||||
const int PAT_ROLE_HEAL_WIS = 401;
|
||||
|
||||
const int PAT_ROLE_SUPPORT = 500;
|
||||
const int PAT_ROLE_SUPPORT_INT = 501;
|
||||
const int PAT_ROLE_SUPPORT_WIS = 502;
|
||||
const int PAT_ROLE_SUPPORT_CHA = 503;
|
||||
|
||||
const int PAT_ROLE_TANK = 600;
|
||||
const int PAT_ROLE_TANK_STR = 601;
|
||||
|
||||
// From 10000 and up, roles won't get equipped
|
||||
const int PAT_ROLE_NAKED = 10000;
|
||||
|
||||
const int PAT_ROLE_NAKED_DPS = 10100;
|
||||
const int PAT_ROLE_NAKED_DPS_STR = 10101;
|
||||
const int PAT_ROLE_NAKED_DPS_DEX = 10102;
|
||||
|
||||
const int PAT_ROLE_NAKED_TANK = 10200;
|
||||
const int PAT_ROLE_NAKED_TANK_STR = 10201;
|
||||
|
||||
const string PAT_ROLE_NAME_DPS = "DPS";
|
||||
const string PAT_ROLE_NAME_DPS_MELEE = "DPS_Melee";
|
||||
const string PAT_ROLE_NAME_DPS_MELEE_STR = "DPS_Melee_STR";
|
||||
const string PAT_ROLE_NAME_DPS_MELEE_DEX = "DPS_Melee_DEX";
|
||||
|
||||
const string PAT_ROLE_NAME_DPS_RANGE = "DPS_Range";
|
||||
const string PAT_ROLE_NAME_DPS_RANGE_DEX = "DPS_Range_DEX";
|
||||
const string PAT_ROLE_NAME_DPS_RANGE_WIS = "DPS_Range_WIS";
|
||||
|
||||
const string PAT_ROLE_NAME_DPS_CASTER = "DPS_Caster";
|
||||
const string PAT_ROLE_NAME_DPS_CASTER_INT = "DPS_Caster_INT";
|
||||
const string PAT_ROLE_NAME_DPS_CASTER_WIS = "DPS_Caster_WIS";
|
||||
const string PAT_ROLE_NAME_DPS_CASTER_CHA = "DPS_Caster_CHA";
|
||||
|
||||
const string PAT_ROLE_NAME_HEAL = "Heal";
|
||||
const string PAT_ROLE_NAME_HEAL_WIS = "Heal_WIS";
|
||||
|
||||
const string PAT_ROLE_NAME_SUPPORT = "Support";
|
||||
const string PAT_ROLE_NAME_SUPPORT_INT = "Support_INT";
|
||||
const string PAT_ROLE_NAME_SUPPORT_WIS = "Support_WIS";
|
||||
const string PAT_ROLE_NAME_SUPPORT_CHA = "Support_CHA";
|
||||
|
||||
const string PAT_ROLE_NAME_TANK = "Tank";
|
||||
const string PAT_ROLE_NAME_TANK_STR = "Tank_STR";
|
||||
|
||||
const string PAT_ROLE_NAME_NAKED = "Naked";
|
||||
const string PAT_ROLE_NAME_NAKED_DPS = "Naked_DPS";
|
||||
const string PAT_ROLE_NAME_NAKED_DPS_STR = "Naked_DPS_STR";
|
||||
const string PAT_ROLE_NAME_NAKED_DPS_DEX = "Naked_DPS_DEX";
|
||||
|
||||
const string PAT_ROLE_NAME_NAKED_TANK = "Naked_DPS_STR";
|
||||
const string PAT_ROLE_NAME_NAKED_TANK_STR = "Naked_DPS_DEX";
|
||||
|
||||
/*******************************************************************************
|
||||
* Skillset / Feat Pack Configuration
|
||||
*
|
||||
* In this section you can configure constants for Skillsets and Feat Packs to
|
||||
* make referencing them easier / consistent
|
||||
******************************************************************************/
|
||||
|
||||
// Skill Sets
|
||||
const int PAT_SKILLSET_DPS_MELEE_GENERIC = 1;
|
||||
const int PAT_SKILLSET_DPS_RANGE_GENERIC = 2;
|
||||
const int PAT_SKILLSET_DPS_CASTER_GENERIC = 3;
|
||||
const int PAT_SKILLSET_HEAL_GENERIC = 4;
|
||||
const int PAT_SKILLSET_SUPPORT_GENERIC = 5;
|
||||
const int PAT_SKILLSET_TANK_GENERIC = 6;
|
||||
const int PAT_SKILLSET_ROGUE = 7;
|
||||
|
||||
// Feat Packs
|
||||
const int PAT_FEATPACK_CLASS_ARCANE_ARCHER = 1;
|
||||
const int PAT_FEATPACK_CLASS_ASSASSIN = 2;
|
||||
const int PAT_FEATPACK_CLASS_BARBARIAN = 3;
|
||||
const int PAT_FEATPACK_CLASS_BARD = 4;
|
||||
const int PAT_FEATPACK_CLASS_BLACKGUARD = 5;
|
||||
const int PAT_FEATPACK_CLASS_CLERIC = 6;
|
||||
const int PAT_FEATPACK_CLASS_DIVINE_CHAMPION = 7;
|
||||
const int PAT_FEATPACK_CLASS_DRAGON_DISCIPLE = 8;
|
||||
const int PAT_FEATPACK_CLASS_DRUID = 9;
|
||||
const int PAT_FEATPACK_CLASS_DWARVEN_DEFENDER = 10;
|
||||
const int PAT_FEATPACK_CLASS_FIGHTER = 11;
|
||||
const int PAT_FEATPACK_CLASS_HARPER = 12;
|
||||
const int PAT_FEATPACK_CLASS_MONK = 13;
|
||||
const int PAT_FEATPACK_CLASS_PALADIN = 14;
|
||||
const int PAT_FEATPACK_CLASS_PALE_MASTER = 15;
|
||||
const int PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT = 16;
|
||||
const int PAT_FEATPACK_CLASS_RANGER = 17;
|
||||
const int PAT_FEATPACK_CLASS_ROGUE = 18;
|
||||
const int PAT_FEATPACK_CLASS_SHADOWDANCER = 19;
|
||||
const int PAT_FEATPACK_CLASS_SHIFTER = 20;
|
||||
const int PAT_FEATPACK_CLASS_SORCERER = 21;
|
||||
const int PAT_FEATPACK_CLASS_WEAPON_MASTER = 22;
|
||||
const int PAT_FEATPACK_CLASS_WIZARD = 23;
|
||||
|
||||
const int PAT_FEATPACK_NAKED_DPS = 100;
|
||||
const int PAT_FEATPACK_NAKED_TANK = 101;
|
||||
|
||||
/*******************************************************************************
|
||||
* Spell Configuration
|
||||
*
|
||||
* Known Spell count / level
|
||||
******************************************************************************/
|
||||
const int PAT_SPELL_KNOWNSPELLS = 3;
|
||||
|
||||
/*******************************************************************************
|
||||
* Spell Configuration
|
||||
*
|
||||
* Internal Section - Spell sources, categories and target types
|
||||
******************************************************************************/
|
||||
// Spell Sources
|
||||
const int PAT_SPELL_SOURCE_NONE = 0;
|
||||
const int PAT_SPELL_SOURCE_ARCANE_BARD = 1;
|
||||
const int PAT_SPELL_SOURCE_ARCANE_WIZ_SORC = 2;
|
||||
const int PAT_SPELL_SOURCE_DIVINE_CLERIC = 3;
|
||||
const int PAT_SPELL_SOURCE_DIVINE_DRUID = 4;
|
||||
const int PAT_SPELL_SOURCE_DIVINE_PALADIN = 5;
|
||||
const int PAT_SPELL_SOURCE_DIVINE_RANGER = 6;
|
||||
|
||||
// Spell Categories
|
||||
const int PAT_SPELL_CATEGORY_NONE = 0;
|
||||
const int PAT_SPELL_CATEGORY_DAMAGE = 1;
|
||||
const int PAT_SPELL_CATEGORY_HEAL = 2;
|
||||
const int PAT_SPELL_CATEGORY_BUFF = 4;
|
||||
const int PAT_SPELL_CATEGORY_DEBUFF = 8;
|
||||
const int PAT_SPELL_CATEGORY_SUMMON = 16;
|
||||
const int PAT_SPELL_CATEGORY_DISPEL = 32;
|
||||
const int PAT_SPELL_CATEGORY_ALL = 63;
|
||||
|
||||
// Spell Targets
|
||||
const int PAT_SPELL_TARGET_UNKNOWN = 0;
|
||||
const int PAT_SPELL_TARGET_SELF = 1;
|
||||
const int PAT_SPELL_TARGET_SINGLE = 2;
|
||||
const int PAT_SPELl_TARGET_AOE = 3;
|
||||
|
||||
/*******************************************************************************
|
||||
* Variable / Database Configuration
|
||||
*
|
||||
* Do not touch unless you know what you're doing
|
||||
******************************************************************************/
|
||||
|
||||
// Cache Object Reference
|
||||
// You need to place an object with the set Tag somewhere in the module for the
|
||||
// Cache to work
|
||||
const string PAT_CACHE = "PAT_Cache";
|
||||
|
||||
// Local Variable Names
|
||||
const string PAT_VAR_CR = "PAT_CR";
|
||||
const string PAT_VAR_CR_DB = "PAT_CR_DB";
|
||||
const string PAT_VAR_CR_MODIFIER = "PAT_Modifier";
|
||||
const string PAT_VAR_ROLE_ID = "PAT_Role_ID";
|
||||
const string PAT_VAR_ROLE_NAME = "PAT_Role_Name";
|
||||
const string PAT_VAR_DISABLE = "PAT_Disable";
|
||||
const string PAT_VAR_NAME_ELITE = "PAT_Name_Elite";
|
||||
const string PAT_VAR_NAME_CHAMPION = "PAT_Name_Champion";
|
||||
const string PAT_VAR_DM_SETTING = "PAT_DMSETTING";
|
||||
|
||||
const string PAT_INITIALIZATION_BASE = "PAT_Init_Base";
|
||||
|
||||
// PAT sets this to 1 if the creature was given the PAT Treatment
|
||||
const string PAT_VAR_APPLIED = "PAT_Applied";
|
||||
|
||||
// Database Table Names
|
||||
const string PAT_TABLE_BASE = "PAT_Base";
|
||||
const string PAT_TABLE_CLASS_SETUP = "PAT_ClassSetup";
|
||||
const string PAT_TABLE_SPELLS = "PAT_Spells";
|
||||
const string PAT_TABLE_FEATS = "PAT_Feats";
|
||||
const string PAT_TABLE_SKILLSETS = "PAT_Skillsets";
|
||||
const string PAT_TABLE_AREAS = "PAT_Areas";
|
||||
|
||||
/*******************************************************************************
|
||||
* Struct Configuration
|
||||
*
|
||||
* This section is internal and shouldn't be modified
|
||||
******************************************************************************/
|
||||
|
||||
// Structs
|
||||
struct PAT_STRUCT_ROLE
|
||||
{
|
||||
int Role_ID;
|
||||
string Role_Name;
|
||||
int CR;
|
||||
int Ability_STR;
|
||||
int Ability_DEX;
|
||||
int Ability_CON;
|
||||
int Ability_WIS;
|
||||
int Ability_INT;
|
||||
int Ability_CHA;
|
||||
int SavingThrow_Fortitude;
|
||||
int SavingThrow_Reflex;
|
||||
int SavingThrow_Will;
|
||||
int AC;
|
||||
int BaseAttackBonus;
|
||||
int BaseHitPoints;
|
||||
};
|
||||
|
||||
struct PAT_STRUCT_CLASS_SETUP
|
||||
{
|
||||
int Role_ID;
|
||||
int Class_1;
|
||||
int Class_2;
|
||||
int Class_3;
|
||||
int Spell_Source;
|
||||
int Spell_Category;
|
||||
int Feat_Pack;
|
||||
int Skillset;
|
||||
};
|
||||
|
||||
|
||||
struct PAT_STRUCT_SPELL
|
||||
{
|
||||
int Spell_ID;
|
||||
int Spell_Level;
|
||||
int Source;
|
||||
int Category;
|
||||
int Target;
|
||||
int CR_Minimum;
|
||||
};
|
||||
|
||||
struct PAT_STRUCT_FEAT
|
||||
{
|
||||
int Feat_ID;
|
||||
string Packs;
|
||||
int Chance_Base;
|
||||
int Chance_Modifier;
|
||||
int CR_Minimum;
|
||||
int CR_Maximum;
|
||||
};
|
||||
|
||||
struct PAT_STRUCT_SKILLSET
|
||||
{
|
||||
int ID;
|
||||
string Skills_Extreme;
|
||||
string Skills_High;
|
||||
string Skills_Medium;
|
||||
string Skills_Low;
|
||||
};
|
||||
Reference in New Issue
Block a user