2025/08/15 Update

Added Verdant Lord PrC.
Added Create Infusion feat & crafting system.
Added Magical Artisan: Create Infusion feat.
Added Plant Defiance feat.
Added Plant Control feat.
Added Control Plants spell.
Added Forestfold spell.
Added Immunity from Elements spell.
Added Creeping Cold & Greater Creeping Cold spells.
Added Adrenaline Surge spell.
Added Mundane & Infused Herb baseitem types.
Added Mundane & Enchanted Scepter baseitem types.
Added EffectGazeImmunity() effect.
Added Botanical material type.
Created json library for summoning support.
Updated Plant Domain spells.
Fixed bug w/ Regen Circle.
Fixed weapon size bug with Enlarge & Reduce Person.
Fixed TMI bug in Swarm of Arrows (hopefully)
Fixed Blood in the Water.
Fixed Iron Soul / Master of Nine prereq bug.
Fixed Happo Zanshin to work more like PnP.
Fixed targeting bug w/ Ultrablast.
Fixed Ubiquitous Vision.
Fixed Magic Staves for small creatures.
Gave the summoned "treant" from Treebrother a Barkskin vfx.
Radial spells can now be scribed w/ Scribe Scroll.
Fixed Martial Stances not counting bug w/ levelup NUI (@Rakiov)
This commit is contained in:
Jaysyn904
2025-08-15 13:42:37 -04:00
parent dd67019103
commit 9c7b452b9a
3518 changed files with 50047 additions and 45886 deletions

View File

@@ -716,6 +716,56 @@ void reqLionOfTalisid(object oPC)
}
}
void reqVerdantLord(object oPC)
{
//:: Get casting ability scores
int iWis = GetAbilityScore(oPC, ABILITY_WISDOM, TRUE);
int iInt = GetAbilityScore(oPC, ABILITY_INTELLIGENCE, TRUE);
//:: Check if the character Control Plants
int bKnowsCtrlPlants = PRCGetIsRealSpellKnown(SPELL_CONTROL_PLANTS, oPC);
int bHasPlantDomain = GetHasFeat(DOMAIN_PLANT) || GetHasFeat(FEAT_BONUS_DOMAIN_PLANT) || GetHasFeat(FEAT_PLANT_DOMAIN_POWER);
//:: Archivist (INT-based)
if(iInt >= 14 && GetLevelByClass(CLASS_TYPE_ARCHIVIST) >= 7 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Druid (WIS-based)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_DRUID) >= 7 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Ranger (WIS-based) <20> Rangers get Plant Control at 3rd level
//:: Rangers get 3rd lvl spells at level 11 w/ a 16 WIS
if(iWis >= 16 && GetLevelByClass(CLASS_TYPE_RANGER) >= 11 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Ranger (WIS-based) <20> Rangers get Plant Control at 3rd level
if(iWis >= 13 && GetLevelByClass(CLASS_TYPE_RANGER) >= 12 && bKnowsCtrlPlants)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Shaman (WIS-based & must have plant domain to cast Control Plants)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_SHAMAN) >= 7 && bHasPlantDomain)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
//:: Cleric (WIS-based & must have plant domain to cast Control Plants)
if(iWis >= 14 && GetLevelByClass(CLASS_TYPE_CLERIC) >= 7 && bHasPlantDomain)
{
SetLocalInt(oPC, "PRC_PrereqVerdantLord", 0);
return;
}
}
void RedWizard(object oPC)
{
@@ -1095,6 +1145,9 @@ void TomeOfBattle(object oPC = OBJECT_SELF)
int nCount = 0;
int nTotal = 0;
int nIron = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_IRON_HEART); //:: Some dumbass forgot this was a discipline -Jaysyn
if (nIron > 0) nCount += 1;
int nDesert = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_DESERT_WIND);
if (nDesert > 0) nCount += 1;
@@ -1119,8 +1172,9 @@ void TomeOfBattle(object oPC = OBJECT_SELF)
int nRaven = _CheckPrereqsByDiscipline(oPC, DISCIPLINE_WHITE_RAVEN);
if (nRaven > 0) nCount += 1;
nTotal = nDevoted + nDiamond + nTiger + nShadow + nStone + nSun + nRaven + nDesert;
nTotal = nDevoted + nDiamond + nTiger + nShadow + nStone + nSun + nRaven + nDesert +nIron;
if (DEBUG) DoDebug("You have "+IntToString(nIron)+" Iron Heart Maneuvers");
if (DEBUG) DoDebug("You have "+IntToString(nDevoted)+" Devoted Spirit Maneuvers");
if (DEBUG) DoDebug("You have "+IntToString(nDiamond)+" Diamond Mind Maneuvers");
if (DEBUG) DoDebug("You have "+IntToString(nTiger)+" Tiger Claw Maneuvers");