Update for PRC 4.1.10a 2023/02/20

Update for PRC 4.1.10a 2023/02/20

+ Jaysyn's latest PnP changes.
This commit is contained in:
Jaysyn904
2023-02-20 19:23:13 -05:00
parent 6c305aecc5
commit 6a6a8d56ac
42 changed files with 3670 additions and 2577 deletions

View File

@@ -334,7 +334,7 @@ void SetDefaultFileEnds()
SetPRCSwitch("PRC_FILE_END_craft_armour", 63);
SetPRCSwitch("PRC_FILE_END_craft_golem", 40);
SetPRCSwitch("PRC_FILE_END_craft_ring", 41);
SetPRCSwitch("PRC_FILE_END_craft_weapon", 45);
SetPRCSwitch("PRC_FILE_END_craft_weapon", 46);
SetPRCSwitch("PRC_FILE_END_craft_wondrous", 115);
SetPRCSwitch("PRC_FILE_END_creaturesize", 5);
SetPRCSwitch("PRC_FILE_END_creaturespeed", 8);

View File

@@ -121,6 +121,7 @@ const string ALLOW_CLASS_FIST_OF_DAL_QUOR = "PRC_AllowDalQuor";
const string ALLOW_CLASS_FIST_OF_ZUOKEN = "PRC_AllowFoZ";
const string ALLOW_CLASS_FMM = "PRC_AllowFMM";
const string ALLOW_CLASS_FOE_HUNTER = "PRC_AllowFH";
const string ALLOW_CLASS_FORESTMASTER = "PRC_AllowForMast";
const string ALLOW_CLASS_FORSAKER = "PRC_AllowForsaker";
const string ALLOW_CLASS_FRE_BERSERKER = "PRC_AllowFrebzk";
const string ALLOW_CLASS_FROST_MAGE = "PRC_AllowFrostMage";

View File

@@ -147,7 +147,7 @@ const int CLASS_TYPE_ELDRITCH_THEURGE = 185;
const int CLASS_TYPE_GHOST_FACED_KILLER = 186;
const int CLASS_TYPE_DREAD_NECROMANCER = 187;
const int CLASS_TYPE_ULTIMATE_MAGUS = 188;
const int CLASS_TYPE_NOBLE = 189;
const int CLASS_TYPE_FORESTMASTER = 189;
const int CLASS_TYPE_ARCHIVIST = 190;
const int CLASS_TYPE_DEEPSTONE_SENTINEL = 191;
const int CLASS_TYPE_JADE_PHOENIX_MAGE = 192;
@@ -228,4 +228,5 @@ const int CLASS_TYPE_ALAGHAR = -1;
const int CLASS_TYPE_BLARCHER = -1;
const int CLASS_TYPE_WITCH = -1;
const int CLASS_TYPE_TEMPLAR = -1;
const int CLASS_TYPE_MYSTIC = -1;
const int CLASS_TYPE_MYSTIC = -1;
const int CLASS_TYPE_NOBLE = -1;

View File

@@ -1915,10 +1915,7 @@ const int FEAT_SOL_FAST_HEALING_3 = 3314;
const int FEAT_MAXIMIZE_TURNING = 3315;
const int FEAT_SUP_POSITIVE_ENERGY_BURST = 3316;
// Blood Archer
const int FEAT_BLARCH_POISON_BLOOD = 4200;
// Henshin Mystic feat.2da spell.2da
@@ -1981,7 +1978,6 @@ const int FEAT_SF_SPEED3 = 2950;
const int FEAT_SF_CODE = 2951;
// Shadow Adept
const int FEAT_SA_SHADOWDEF1 = 2952;
const int FEAT_SA_SHADOWDEF2 = 2953;
const int FEAT_SA_SHADOWDEF3 = 2954;
@@ -2038,7 +2034,6 @@ const int FEAT_NS_WEB = 2972;
const int FEAT_NS_SHADOWWALK = 2973;
// Runescarred Berserker
const int FEAT_RIT_SCAR = 2369;
const int FEAT_SPAWNFROST = 2371;
const int FEAT_RIT_DR = 2370;
@@ -2046,7 +2041,6 @@ const int FEAT_RIT_SCAR_2 = 2375;
const int FEAT_RIT_SCAR_3 = 2376;
// Ultimate Ranger
const int FEAT_UR_FE_DWARF = 2974;
const int FEAT_UR_FE_ELF = 2975;
const int FEAT_UR_FE_GNOME = 2976;
@@ -2088,12 +2082,12 @@ const int FEAT_UNCANNYX_DODGE_1 = 3098;
const int FEAT_LINGERING_DAMAGE = 3099;
const int FEAT_UR_HIPS = 3136;
// Dragonsong Lyrith
const int FEAT_DRAGONSONG_STRENGTH = 3441;
const int FEAT_DRAGONSONG_COMPULSION = 3442;
const int FEAT_DRAGONSONG_SPEED = 3443;
const int FEAT_DRAGONSONG_FEAR = 3444;
const int FEAT_DRAGONSONG_HEALING = 3445;
// Dragonsong Lyrist
const int FEAT_DRAGONSONG_STRENGTH = 3441;
const int FEAT_DRAGONSONG_COMPULSION = 3442;
const int FEAT_DRAGONSONG_SPEED = 3443;
const int FEAT_DRAGONSONG_FEAR = 3444;
const int FEAT_DRAGONSONG_HEALING = 3445;
const int FEAT_EPIC_DRAGONSONG_STRENGTH = 3496;
const int FEAT_EPIC_DRAGONSONG_COMPULSION = 3497;
const int FEAT_EPIC_DRAGONSONG_SPEED = 3498;
@@ -2268,10 +2262,25 @@ const int FEAT_GREATER_KI_DODGE = 2497;
const int FEAT_KI_DODGE = 2498;
const int FEAT_GHOST_STEP_2 = 2499;
//:: Forest Master (Faiths & Pantheons, pg. 193)
const int FEAT_FM_TREEBROTHER = 5436;
const int FEAT_FM_NATURESENSE = 5437;
const int FEAT_FM_FOREST_DOMINION = 5438;
const int FEAT_FM_MALLET_MASTER = 5439;
const int FEAT_FM_ICY_MALLET = 5440;
const int FEAT_FM_SHOCK_MALLET = 5441;
const int FEAT_FM_NATURAL_ARMOR = 5442;
const int FEAT_FM_OAK_STRENGTH = 5443;
const int FEAT_FM_SPRUCE_GROWTH = 5444;
const int FEAT_FM_OAKHEART = 5445;
const int FEAT_FM_DEEP_ROOTS = 5446;
const int FEAT_FM_LONGEVITY = 5447;
const int FEAT_FM_FOREST_MIGHT = 5448;
// Fast Healing
const int FAST_HEALING_1 = 4145;
const int FAST_HEALING_2 = 4146;
const int FAST_HEALING_3 = 4147;
const int FAST_HEALING_1 = 4145;
const int FAST_HEALING_2 = 4146;
const int FAST_HEALING_3 = 4147;
// General Feats
const int FEAT_STORMMAGIC = 4182;

View File

@@ -932,6 +932,7 @@ int GetDivinePRCLevels(object oCaster)
+ GetLevelByClass(CLASS_TYPE_COMBAT_MEDIC, oCaster)
+ GetLevelByClass(CLASS_TYPE_CONTEMPLATIVE, oCaster)
+ GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster)
+ GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster)
+ GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster)
+ GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster)
+ GetLevelByClass(CLASS_TYPE_HIEROPHANT, oCaster)

View File

@@ -140,6 +140,7 @@ void SetupCharacterData(object oPC)
case CLASS_TYPE_FAVOURED_SOUL: sScript = "prc_favouredsoul"; iData |= 0x03; break;
case CLASS_TYPE_FIST_OF_ZUOKEN: sScript = "psi_zuoken"; iData |= 0x01; break;
case CLASS_TYPE_FOE_HUNTER: sScript = "prc_foe_hntr"; break;
case CLASS_TYPE_FORESTMASTER: sScript = "prc_forestmaster"; break;
case CLASS_TYPE_FORSAKER: sScript = "prc_forsaker"; break;
case CLASS_TYPE_FRE_BERSERKER: sScript = "prc_frebzk"; break;
case CLASS_TYPE_FROSTRAGER: sScript = "prc_frostrager"; break;
@@ -1774,6 +1775,7 @@ void FeatSpecialUsePerDay(object oPC)
FeatUsePerDay(oPC, FEAT_WITCHBORN_INTEGUMENT, ABILITY_CONSTITUTION, 1);
FeatUsePerDay(oPC, FEAT_LIPS_RAPTUR);
FeatUsePerDay(oPC, FEAT_COMMAND_SPIDERS, ABILITY_CHARISMA, 3);
FeatUsePerDay(oPC, FEAT_FM_FOREST_DOMINION, ABILITY_CHARISMA, 3);
FeatDiabolist(oPC);
FeatAlaghar(oPC);
ShadowShieldUses(oPC);

View File

@@ -40,6 +40,8 @@ int MyPRCGetRacialType(object oCreature)
return RACIAL_TYPE_SHAPECHANGER;
if (GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCreature) > 9)
return RACIAL_TYPE_FEY;
if (GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCreature) > 7)
return RACIAL_TYPE_PLANT;
// PRC Shifting Polymorph -caused racial type override. Stored with offset +1 to differentiate value 0 from non-existence
int nShiftingOverrideRace = GetLocalInt(oCreature, "PRC_ShiftingOverride_Race");

View File

@@ -374,6 +374,9 @@ int PRCIsFlying(object oCreature)
if(GetRacialType(oCreature) == RACIAL_TYPE_GLOURA)
bFlying = TRUE;
if(GetRacialType(oCreature) == RACIAL_TYPE_SPIRETOPDRAGON)
bFlying = TRUE;
return bFlying;
}

View File

@@ -8,7 +8,7 @@ const int SPELL_BLACKLIGHT = 2091;
// bard
const int SPELL_BARD_SONG = 411;
const int SPELL_BARD_SONG = 411;
const int SPELL_BARD_CURSE_SONG = 644;
//:: Complete Warrior
@@ -224,6 +224,13 @@ const int SPELL_APAL_MOUNT = 2052;
// Complete Adv Ninja
const int SPELL_GHOST_STEP = 2742;
//:: Forest Master (Faiths & Pantheons, pg. 193)
const int SPELL_FM_FORESTDOMINION = 2472;
const int SPELL_FM_GREATMALLETRADIALMASTER = 2473;
const int SPELL_FM_ICYMALLET = 2474;
const int SPELL_FM_SHOCKMALLET = 2475;
const int SPELL_FM_DEEPROOTS = 2476;
// Spell Feat Generic
const int SPELL_WANDER_UNSEEN = 4071;
const int SPELL_MANYSHOT2 = 2246;

View File

@@ -27,8 +27,8 @@ const int TEMPLATE_NECROPOLITAN = 105;
const int TEMPLATE_DARK = 25;
const int TEMPLATE_MINERAL_WARRIOR = 27;
const int TEMPLATE_BLOODED_ONE = 28;
const int TEMPLATE_HALF_TROLL = 30;
const int TEMPLATE_SAINT = 31;
const int TEMPLATE_HALF_TROLL = 31;
const int TEMPLATE_SAINT = 32;
//:: Half-dragon sub-templates
const int TEMPLATE_HDRAGON_CHROMATIC_BLACK = 1;

View File

@@ -1027,7 +1027,7 @@ int GetIsDisciplineWeapon(object oWeapon, int nDiscipline)
if(nType == BASE_ITEM_SCIMITAR
|| nType == BASE_ITEM_LIGHTMACE
|| nType == BASE_ITEM_SHORTSPEAR
|| nType == BASE_ITEM_PICK_LIGHT
|| nType == BASE_ITEM_LIGHT_PICK
|| nType == BASE_ITEM_FALCHION)
return TRUE;
}
@@ -1080,7 +1080,7 @@ int GetIsDisciplineWeapon(object oWeapon, int nDiscipline)
if(nType == BASE_ITEM_GREATAXE
|| nType == BASE_ITEM_INVALID
|| nType == BASE_ITEM_GREATSWORD
|| nType == BASE_ITEM_MACE_HEAVY)
|| nType == BASE_ITEM_HEAVY_MACE)
return TRUE;
}
else if(nDiscipline == DISCIPLINE_TIGER_CLAW)