254 lines
13 KiB
Plaintext
254 lines
13 KiB
Plaintext
/************************************************************************
|
|
* script name : pat_ini_featpack
|
|
* created by : eyesolated
|
|
* date : 2018/7/31
|
|
*
|
|
* description : Feat Initialization script for PAT
|
|
*
|
|
* changes : 2018/7/31 - eyesolated - Initial creation
|
|
************************************************************************/
|
|
#include "pat_inc"
|
|
|
|
string pat_FeatString(int nFeatPack)
|
|
{
|
|
return (IntToString(nFeatPack) + ";");
|
|
}
|
|
|
|
void main()
|
|
{
|
|
string sFeatPacks_All = ";0;";
|
|
string sFeatPacks;
|
|
|
|
/*******************************************************************************
|
|
* Feats for all Packs
|
|
*******************************************************************************/
|
|
// Feats for all (Pack 0)
|
|
pat_AddFeat(FEAT_WEAPON_FINESSE, sFeatPacks_All, 100, 0, 1);
|
|
pat_AddFeat(FEAT_WEAPON_PROFICIENCY_CREATURE, sFeatPacks_All, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Armor Proficiencies
|
|
*******************************************************************************/
|
|
// Armor Proficiency Heavy
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BLACKGUARD) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_CLERIC) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DWARVEN_DEFENDER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALADIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER);
|
|
pat_AddFeat(FEAT_ARMOR_PROFICIENCY_HEAVY, sFeatPacks, 100, 0, 1);
|
|
|
|
// Armor Proficiency Medium + Shield Proficiency
|
|
sFeatPacks += pat_FeatString(PAT_FEATPACK_CLASS_ARCANE_ARCHER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARD) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DRAGON_DISCIPLE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DRUID) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER)+
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHIFTER);
|
|
pat_AddFeat(FEAT_ARMOR_PROFICIENCY_MEDIUM, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_SHIELD_PROFICIENCY, sFeatPacks, 100, 0, 1);
|
|
|
|
// Armor Proficiency Light
|
|
sFeatPacks += pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_HARPER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER);
|
|
pat_AddFeat(FEAT_ARMOR_PROFICIENCY_LIGHT, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Ambidexterity / Two-Weapon-Fighting / Improved Two-Weapon Fighting
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER)+
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER);
|
|
pat_AddFeat(FEAT_AMBIDEXTERITY, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_TWO_WEAPON_FIGHTING, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING, sFeatPacks, 100, 0, 9);
|
|
|
|
/*******************************************************************************
|
|
* Barbarian Endurance
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN);
|
|
pat_AddFeat(FEAT_BARBARIAN_ENDURANCE, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Barbarian Rage
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN);
|
|
pat_AddFeat(FEAT_BARBARIAN_RAGE, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Barbarian Damage Reduction
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN);
|
|
pat_AddFeat(FEAT_DAMAGE_REDUCTION, sFeatPacks, 100, 0, 11);
|
|
|
|
/*******************************************************************************
|
|
* Blind Fighting
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ARCANE_ARCHER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BLACKGUARD)+
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DWARVEN_DEFENDER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_MONK) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALADIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER) +
|
|
pat_FeatString(PAT_FEATPACK_NAKED_DPS);
|
|
pat_AddFeat(FEAT_BLIND_FIGHT, sFeatPacks, 60, 1, 5);
|
|
|
|
/*******************************************************************************
|
|
* Combat Casting
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARD) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_CLERIC) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DRUID) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALE_MASTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHIFTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SORCERER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WIZARD);
|
|
pat_AddFeat(FEAT_COMBAT_CASTING, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Diamond Soul
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_MONK);
|
|
pat_AddFeat(FEAT_DIAMOND_SOUL, sFeatPacks, 100, 0, 12);
|
|
|
|
/*******************************************************************************
|
|
* Flurry of Blows
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_MONK);
|
|
pat_AddFeat(FEAT_FLURRY_OF_BLOWS, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Improved Unarmed Strike
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" + pat_FeatString(PAT_FEATPACK_CLASS_MONK);
|
|
pat_AddFeat(FEAT_IMPROVED_UNARMED_STRIKE, sFeatPacks, 100, 0, 1);
|
|
|
|
/*******************************************************************************
|
|
* Knockdown / Improved Knockdown
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BLACKGUARD)+
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DWARVEN_DEFENDER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_MONK) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALADIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER) +
|
|
pat_FeatString(PAT_FEATPACK_NAKED_DPS) +
|
|
pat_FeatString(PAT_FEATPACK_NAKED_TANK);
|
|
pat_AddFeat(FEAT_KNOCKDOWN, sFeatPacks, 20, 1, 5);
|
|
pat_AddFeat(FEAT_IMPROVED_KNOCKDOWN, sFeatPacks, 10, 1, 10);
|
|
|
|
/*******************************************************************************
|
|
* Mobility
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BLACKGUARD)+
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DWARVEN_DEFENDER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_MONK) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALADIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER);
|
|
pat_AddFeat(FEAT_MOBILITY, sFeatPacks, 80, 0, 12);
|
|
|
|
/*******************************************************************************
|
|
* Point Blank Shot / Rapid Shot / Rapid Reload
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ARCANE_ARCHER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE);
|
|
pat_AddFeat(FEAT_POINT_BLANK_SHOT, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_RAPID_SHOT, sFeatPacks, 100, 0, 6);
|
|
pat_AddFeat(FEAT_RAPID_RELOAD, sFeatPacks, 100, 0, 6);
|
|
|
|
/*******************************************************************************
|
|
* Sneak Attacks
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER);
|
|
pat_AddFeat(FEAT_SNEAK_ATTACK, sFeatPacks, 100, 0, 1, 2);
|
|
pat_AddFeat(345, sFeatPacks, 100, 0, 3, 4);
|
|
pat_AddFeat(346, sFeatPacks, 100, 0, 5, 6);
|
|
pat_AddFeat(347, sFeatPacks, 100, 0, 7, 8);
|
|
pat_AddFeat(348, sFeatPacks, 100, 0, 9, 10);
|
|
pat_AddFeat(349, sFeatPacks, 100, 0, 11, 12);
|
|
pat_AddFeat(350, sFeatPacks, 100, 0, 13, 14);
|
|
pat_AddFeat(351, sFeatPacks, 100, 0, 15, 16);
|
|
pat_AddFeat(352, sFeatPacks, 100, 0, 17, 18);
|
|
pat_AddFeat(353, sFeatPacks, 100, 0, 19, 20);
|
|
pat_AddFeat(1032, sFeatPacks, 100, 0, 21, 22);
|
|
pat_AddFeat(1033, sFeatPacks, 100, 0, 23, 24);
|
|
pat_AddFeat(1034, sFeatPacks, 100, 0, 25, 26);
|
|
|
|
/*******************************************************************************
|
|
* Weapon Proficiencies & Zen Archery
|
|
*******************************************************************************/
|
|
sFeatPacks = ";" +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ARCANE_ARCHER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ASSASSIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARBARIAN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BARD) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_BLACKGUARD) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_CLERIC) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DIVINE_CHAMPION) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DRAGON_DISCIPLE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DRUID) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_DWARVEN_DEFENDER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_FIGHTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_HARPER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_MONK) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALADIN) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PALE_MASTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_PURPLE_DRAGON_KNIGHT) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_RANGER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_ROGUE) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHADOWDANCER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SHIFTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_SORCERER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WEAPON_MASTER) +
|
|
pat_FeatString(PAT_FEATPACK_CLASS_WIZARD);
|
|
pat_AddFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, sFeatPacks, 100, 0, 1);
|
|
pat_AddFeat(FEAT_ZEN_ARCHERY, sFeatPacks, 100, 0, 1);
|
|
}
|