Initial commit

Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
Jaysyn904
2024-01-04 07:49:38 -05:00
parent df18cd54c8
commit 28cdb617b3
12943 changed files with 9727121 additions and 0 deletions

View File

@@ -0,0 +1,371 @@
/************************************************************************
* script name : pat_ini_base
* created by : eyesolated
* date : 2018/7/31
*
* description : Base Initialization script for PAT
*
* changes : 2018/7/31 - eyesolated - Initial creation
************************************************************************/
#include "pat_inc"
void main()
{
object oCache = pat_GetCache();
struct PAT_STRUCT_ROLE stRole;
int nCR;
int nStep = GetLocalInt(oCache, PAT_INITIALIZATION_BASE);
switch (nStep)
{
case 0:
// DPS_Melee_STR
stRole.Role_ID = PAT_ROLE_DPS_MELEE_STR;
stRole.Role_Name = PAT_ROLE_NAME_DPS_MELEE_STR;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 1:
// DPS_Melee_DEX
stRole.Role_ID = PAT_ROLE_DPS_MELEE_DEX;
stRole.Role_Name = PAT_ROLE_NAME_DPS_MELEE_DEX;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 2:
// DPS_Range_DEX
stRole.Role_ID = PAT_ROLE_DPS_RANGE_DEX;
stRole.Role_Name = PAT_ROLE_NAME_DPS_RANGE_DEX;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 3:
// DPS_Range_WIS
stRole.Role_ID = PAT_ROLE_DPS_RANGE_WIS;
stRole.Role_Name = PAT_ROLE_NAME_DPS_RANGE_WIS;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 4:
// DPS_Caster_INT
stRole.Role_ID = PAT_ROLE_DPS_CASTER_INT;
stRole.Role_Name = PAT_ROLE_NAME_DPS_CASTER_INT;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_LOW);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_LOW);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_LOW);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 5:
// DPS_Caster_WIS
stRole.Role_ID = PAT_ROLE_DPS_CASTER_WIS;
stRole.Role_Name = PAT_ROLE_NAME_DPS_CASTER_WIS;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_LOW);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_LOW);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_LOW);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 6:
// DPS_Caster_CHA
stRole.Role_ID = PAT_ROLE_DPS_CASTER_CHA;
stRole.Role_Name = PAT_ROLE_NAME_DPS_CASTER_CHA;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_LOW);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_LOW);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_LOW);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 7:
// Heal_WIS
stRole.Role_ID = PAT_ROLE_HEAL_WIS;
stRole.Role_Name = PAT_ROLE_NAME_HEAL_WIS;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_LOW);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 8:
// Support_INT
stRole.Role_ID = PAT_ROLE_SUPPORT_INT;
stRole.Role_Name = PAT_ROLE_NAME_SUPPORT_INT;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_MEDIUM);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 9:
// Support_WIS
stRole.Role_ID = PAT_ROLE_SUPPORT_WIS;
stRole.Role_Name = PAT_ROLE_NAME_SUPPORT_WIS;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_MEDIUM);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 10:
// Support_CHA
stRole.Role_ID = PAT_ROLE_SUPPORT_CHA;
stRole.Role_Name = PAT_ROLE_NAME_SUPPORT_CHA;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_MEDIUM);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 11:
// Tank_STR
stRole.Role_ID = PAT_ROLE_TANK_STR;
stRole.Role_Name = PAT_ROLE_NAME_TANK_STR;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_HIGH);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_MEDIUM);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_HIGH);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 12:
// Naked_DPS_STR
stRole.Role_ID = PAT_ROLE_NAKED_DPS_STR;
stRole.Role_Name = PAT_ROLE_NAME_NAKED_DPS_STR;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 13:
// Naked_DPS_DEX
stRole.Role_ID = PAT_ROLE_NAKED_DPS_DEX;
stRole.Role_Name = PAT_ROLE_NAME_NAKED_DPS_DEX;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_MEDIUM);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_MEDIUM);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_HIGH);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_MEDIUM);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 14:
// Naked_TANK_STR
stRole.Role_ID = PAT_ROLE_NAKED_TANK_STR;
stRole.Role_Name = PAT_ROLE_NAME_NAKED_TANK_STR;
for (nCR = 1; nCR <= PAT_CR_MAXIMUM; nCR++)
{
stRole.CR = nCR;
stRole.Ability_STR = pat_CalculateAbilityScore(nCR, PAT_GAIN_HIGH);
stRole.Ability_DEX = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.Ability_CON = pat_CalculateAbilityScore(nCR, PAT_GAIN_EXTREME);
stRole.Ability_WIS = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_INT = pat_CalculateAbilityScore(nCR, PAT_GAIN_MEDIUM);
stRole.Ability_CHA = pat_CalculateAbilityScore(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Fortitude = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_HIGH);
stRole.SavingThrow_Reflex = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.SavingThrow_Will = pat_CalculateSavingThrowValue(nCR, PAT_GAIN_LOW);
stRole.AC = pat_CalculateACValue(nCR, PAT_GAIN_HIGH);
stRole.BaseAttackBonus = pat_CalculateBaseAttackBonus(nCR, PAT_GAIN_MEDIUM);
stRole.BaseHitPoints = pat_CalculateBaseHitPoints(nCR, PAT_GAIN_HIGH);
pat_AddRoleEntry_Struct(stRole);
}
break;
case 15:
return;
}
SetLocalInt(oCache, PAT_INITIALIZATION_BASE, nStep + 1);
DelayCommand(0.1f, ExecuteScript("pat_ini_base", OBJECT_SELF));
}