Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8e2cfc9779 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -163,3 +163,4 @@ nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
/Release
|
||||
/old_backup
|
||||
*.7z
|
||||
|
@@ -72,15 +72,15 @@
|
||||
68 Epic_Psionic_Focus_9 4865 1 2 0
|
||||
69 Epic_Psionic_Focus_10 4866 1 2 0
|
||||
70 Expanded_Knowledge_1 4867 0 2 0
|
||||
71 Expanded_Knowledge_2 4868 0 2 0
|
||||
72 Expanded_Knowledge_3 4869 0 2 0
|
||||
73 Expanded_Knowledge_4 4870 0 2 0
|
||||
74 Expanded_Knowledge_5 4871 0 2 0
|
||||
75 Expanded_Knowledge_6 4872 0 2 0
|
||||
76 Expanded_Knowledge_7 4873 0 2 0
|
||||
77 Expanded_Knowledge_8 4874 0 2 0
|
||||
78 Expanded_Knowledge_9 4875 0 2 0
|
||||
79 Expanded_Knowledge_10 4876 0 2 0
|
||||
71 Expanded_Knowledge_2 4868 0 0 0
|
||||
72 Expanded_Knowledge_3 4869 0 0 0
|
||||
73 Expanded_Knowledge_4 4870 0 0 0
|
||||
74 Expanded_Knowledge_5 4871 0 0 0
|
||||
75 Expanded_Knowledge_6 4872 0 0 0
|
||||
76 Expanded_Knowledge_7 4873 0 0 0
|
||||
77 Expanded_Knowledge_8 4874 0 0 0
|
||||
78 Expanded_Knowledge_9 4875 0 0 0
|
||||
79 Expanded_Knowledge_10 4876 0 0 0
|
||||
80 Epic_Expanded_Knowledge_1 4877 1 2 0
|
||||
81 Epic_Expanded_Knowledge_2 4878 1 2 0
|
||||
82 Epic_Expanded_Knowledge_3 4879 1 2 0
|
||||
@@ -111,46 +111,46 @@
|
||||
107 Improved_Manifestation_8 4904 1 2 0
|
||||
108 Improved_Manifestation_9 4905 1 2 0
|
||||
109 Improved_Manifestation_10 4906 1 2 0
|
||||
110 Power_Knowledge_Psion_1 4907 0 2 0
|
||||
111 Power_Knowledge_Psion_2 4908 0 2 0
|
||||
112 Power_Knowledge_Psion_3 4909 0 2 0
|
||||
113 Power_Knowledge_Psion_4 4910 0 2 0
|
||||
114 Power_Knowledge_Psion_5 4911 0 2 0
|
||||
115 Power_Knowledge_Psion_6 4912 0 2 0
|
||||
116 Power_Knowledge_Psion_7 4913 0 2 0
|
||||
117 Power_Knowledge_Psion_8 4914 0 2 0
|
||||
118 Power_Knowledge_Psion_9 4915 0 2 0
|
||||
119 Power_Knowledge_Psion_10 4916 0 2 0
|
||||
120 Power_Knowledge_PsyWar_1 4917 0 2 0
|
||||
121 Power_Knowledge_PsyWar_2 4918 0 2 0
|
||||
122 Power_Knowledge_PsyWar_3 4919 0 2 0
|
||||
123 Power_Knowledge_PsyWar_4 4920 0 2 0
|
||||
124 Power_Knowledge_PsyWar_5 4921 0 2 0
|
||||
125 Power_Knowledge_PsyWar_6 4922 0 2 0
|
||||
126 Power_Knowledge_PsyWar_7 4923 0 2 0
|
||||
127 Power_Knowledge_PsyWar_8 4924 0 2 0
|
||||
128 Power_Knowledge_PsyWar_9 4925 0 2 0
|
||||
129 Power_Knowledge_PsyWar_10 4926 0 2 0
|
||||
130 Power_Knowledge_Wilder_1 4927 0 2 0
|
||||
131 Power_Knowledge_Wilder_2 4928 0 2 0
|
||||
132 Power_Knowledge_Wilder_3 4929 0 2 0
|
||||
133 Power_Knowledge_Wilder_4 4930 0 2 0
|
||||
134 Power_Knowledge_Wilder_5 4931 0 2 0
|
||||
135 Power_Knowledge_Wilder_6 4932 0 2 0
|
||||
136 Power_Knowledge_Wilder_7 4933 0 2 0
|
||||
137 Power_Knowledge_Wilder_8 4934 0 2 0
|
||||
138 Power_Knowledge_Wilder_9 4935 0 2 0
|
||||
139 Power_Knowledge_Wilder_10 4936 0 2 0
|
||||
140 Power_Knowledge_FistOfZuoken_1 4945 0 2 0
|
||||
141 Power_Knowledge_FistOfZuoken_2 4946 0 2 0
|
||||
142 Power_Knowledge_FistOfZuoken_3 4947 0 2 0
|
||||
143 Power_Knowledge_FistOfZuoken_4 4948 0 2 0
|
||||
144 Power_Knowledge_FistOfZuoken_5 4949 0 2 0
|
||||
145 Power_Knowledge_FistOfZuoken_6 4950 0 2 0
|
||||
146 Power_Knowledge_FistOfZuoken_7 4951 0 2 0
|
||||
147 Power_Knowledge_FistOfZuoken_8 4952 0 2 0
|
||||
148 Power_Knowledge_FistOfZuoken_9 4953 0 2 0
|
||||
149 Power_Knowledge_FistOfZuoken_10 4954 0 2 0
|
||||
110 Power_Knowledge_Psion_1 4907 0 0 0
|
||||
111 Power_Knowledge_Psion_2 4908 0 0 0
|
||||
112 Power_Knowledge_Psion_3 4909 0 0 0
|
||||
113 Power_Knowledge_Psion_4 4910 0 0 0
|
||||
114 Power_Knowledge_Psion_5 4911 0 0 0
|
||||
115 Power_Knowledge_Psion_6 4912 0 0 0
|
||||
116 Power_Knowledge_Psion_7 4913 0 0 0
|
||||
117 Power_Knowledge_Psion_8 4914 0 0 0
|
||||
118 Power_Knowledge_Psion_9 4915 0 0 0
|
||||
119 Power_Knowledge_Psion_10 4916 0 0 0
|
||||
120 Power_Knowledge_PsyWar_1 4917 0 0 0
|
||||
121 Power_Knowledge_PsyWar_2 4918 0 0 0
|
||||
122 Power_Knowledge_PsyWar_3 4919 0 0 0
|
||||
123 Power_Knowledge_PsyWar_4 4920 0 0 0
|
||||
124 Power_Knowledge_PsyWar_5 4921 0 0 0
|
||||
125 Power_Knowledge_PsyWar_6 4922 0 0 0
|
||||
126 Power_Knowledge_PsyWar_7 4923 0 0 0
|
||||
127 Power_Knowledge_PsyWar_8 4924 0 0 0
|
||||
128 Power_Knowledge_PsyWar_9 4925 0 0 0
|
||||
129 Power_Knowledge_PsyWar_10 4926 0 0 0
|
||||
130 Power_Knowledge_Wilder_1 4927 0 0 0
|
||||
131 Power_Knowledge_Wilder_2 4928 0 0 0
|
||||
132 Power_Knowledge_Wilder_3 4929 0 0 0
|
||||
133 Power_Knowledge_Wilder_4 4930 0 0 0
|
||||
134 Power_Knowledge_Wilder_5 4931 0 0 0
|
||||
135 Power_Knowledge_Wilder_6 4932 0 0 0
|
||||
136 Power_Knowledge_Wilder_7 4933 0 0 0
|
||||
137 Power_Knowledge_Wilder_8 4934 0 0 0
|
||||
138 Power_Knowledge_Wilder_9 4935 0 0 0
|
||||
139 Power_Knowledge_Wilder_10 4936 0 0 0
|
||||
140 Power_Knowledge_FistOfZuoken_1 4945 0 0 0
|
||||
141 Power_Knowledge_FistOfZuoken_2 4946 0 0 0
|
||||
142 Power_Knowledge_FistOfZuoken_3 4947 0 0 0
|
||||
143 Power_Knowledge_FistOfZuoken_4 4948 0 0 0
|
||||
144 Power_Knowledge_FistOfZuoken_5 4949 0 0 0
|
||||
145 Power_Knowledge_FistOfZuoken_6 4950 0 0 0
|
||||
146 Power_Knowledge_FistOfZuoken_7 4951 0 0 0
|
||||
147 Power_Knowledge_FistOfZuoken_8 4952 0 0 0
|
||||
148 Power_Knowledge_FistOfZuoken_9 4953 0 0 0
|
||||
149 Power_Knowledge_FistOfZuoken_10 4954 0 0 0
|
||||
150 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 533 1 2 0
|
||||
151 FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 534 1 2 0
|
||||
152 FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 535 1 2 0
|
||||
|
@@ -17,7 +17,7 @@
|
||||
13 FEAT_ADEPT_REDUCTION 3003 3 6 0
|
||||
14 FEAT_DRAGON_IMMUNE_PARALYSIS 963 3 19 0
|
||||
15 Fire_Effect 4979 3 1 1
|
||||
16 EPIC_DRAGONFIRE_ADEPT 25057 3 11 0
|
||||
16 EPIC_DRAGONFIRE_ADEPT 25057 3 21 0
|
||||
17 Frost_Cone 4980 2 2 1
|
||||
18 Electric_Line 4981 2 2 1
|
||||
19 Sickening_Cone 4982 2 2 1
|
||||
|
@@ -185,6 +185,7 @@ int GetIsShaken(object oTarget);
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_castlvl" // get prc_racial_const, prc_inc_nwscript, prc_inc_newip
|
||||
#include "inc_epicspelldef"
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Internal functions */
|
||||
@@ -746,7 +747,6 @@ effect EffectImmunityMiscAll()
|
||||
//:: Immunity to all gaze attacks
|
||||
effect EffectGazeImmune()
|
||||
{
|
||||
effect eBlank;
|
||||
|
||||
effect eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CHARM);
|
||||
eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CONFUSION);
|
||||
@@ -768,6 +768,23 @@ effect EffectGazeImmune()
|
||||
return eReturn;
|
||||
}
|
||||
|
||||
//:: Immunity to all perification attacks
|
||||
effect EffectPetrificationImmune()
|
||||
{
|
||||
effect eReturn = EffectSpellImmunity(SPELLABILITY_TOUCH_PETRIFY);
|
||||
eReturn = EffectSpellImmunity(SPELLABILITY_BREATH_PETRIFY);
|
||||
eReturn = EffectSpellImmunity(SPELL_FLESH_TO_STONE);
|
||||
eReturn = EffectSpellImmunity(SPELL_STONEHOLD);
|
||||
eReturn = EffectSpellImmunity(SPELL_EPIC_A_STONE);
|
||||
eReturn = EffectSpellImmunity(POWER_CRYSTALLIZE);
|
||||
eReturn = EffectSpellImmunity(MELD_BASILISK_MASK);
|
||||
eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_PETRIFY);
|
||||
|
||||
eReturn = TagEffect(eReturn, "PRCPetrificationImmune");
|
||||
|
||||
return eReturn;
|
||||
}
|
||||
|
||||
int GetIsShaken(object oTarget)
|
||||
{
|
||||
effect eEffect = GetFirstEffect(oTarget);
|
||||
|
@@ -308,7 +308,7 @@ int FindUnarmedDamage(object oCreature)
|
||||
if (GetHasFeat(FEAT_INCREASE_DAMAGE2, oCreature)) iDieIncrease = 2;
|
||||
else if (GetHasFeat(FEAT_INCREASE_DAMAGE1, oCreature)) iDieIncrease = 1;
|
||||
|
||||
//:: Expansion / Compression powers
|
||||
/* //:: Expansion / Compression powers (Double dipping?)
|
||||
int nExpansion = GetLocalInt(oCreature, "PRC_Power_Expansion_SizeIncrease");
|
||||
int nCompression = GetLocalInt(oCreature, "PRC_Power_Compression_SizeReduction");
|
||||
|
||||
@@ -320,7 +320,7 @@ int FindUnarmedDamage(object oCreature)
|
||||
if (nCompression)
|
||||
{
|
||||
iSize -= nCompression;
|
||||
}
|
||||
} */
|
||||
|
||||
iMonkDamage += iDieIncrease;
|
||||
iShouDamage += iDieIncrease;
|
||||
|
@@ -2736,6 +2736,47 @@ object HorseSummonPaladinMount(int bPHBDuration=FALSE)
|
||||
return oMount;
|
||||
} // HorseSummonPaladinMount()
|
||||
|
||||
object HorseSummonPhantomSteed(int nCasterLvl, int nDuration)
|
||||
{ // PURPOSE: Summon Phantom Steed
|
||||
object oSummoner=OBJECT_SELF;
|
||||
object oMount;
|
||||
location lLoc;
|
||||
int nDespawnTime;
|
||||
int nCurrentTime;
|
||||
int nMountNum=1;
|
||||
string sResRef=HORSE_PALADIN_PREFIX;
|
||||
effect eVFX;
|
||||
oMount=HorseGetPaladinMount(oSummoner);
|
||||
if (!GetIsObjectValid(oMount) && GetObjectType(oSummoner) == OBJECT_TYPE_CREATURE)
|
||||
{ // okay to summon - only one mount at a time
|
||||
if ((GetIsPC(oSummoner) || GetIsDM(oSummoner))&&!GetHasFeat(FEAT_HORSE_MENU,oSummoner)) HorseAddHorseMenu(oSummoner);
|
||||
if (nCasterLvl < 11) nMountNum = 2;
|
||||
else if (nCasterLvl > 10 && nCasterLvl < 15) nMountNum = 3;
|
||||
else if (nCasterLvl > 14 && nCasterLvl < 25) nMountNum = 4;
|
||||
else if (nCasterLvl > 24 && nCasterLvl < 30) nMountNum = 5;
|
||||
else if (nCasterLvl > 29 && nCasterLvl < 35) nMountNum = 6;
|
||||
else if (nCasterLvl > 34 && nCasterLvl < 40) nMountNum = 7;
|
||||
else if (nCasterLvl > 39) nMountNum = 8;
|
||||
lLoc=HORSE_SupportGetMountLocation(oSummoner,oSummoner);
|
||||
oMount=HorseCreateHorse(sResRef+IntToString(nMountNum),lLoc,oSummoner);
|
||||
if (!GetIsObjectValid(oMount)) oMount=HorseCreateHorse(sResRef+IntToString(nMountNum),GetLocation(oSummoner),oSummoner);
|
||||
if (GetIsObjectValid(oMount))
|
||||
{ // oMount created
|
||||
eVFX=EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX,oMount,3.0);
|
||||
eVFX=EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2);
|
||||
if (nMountNum>3) eVFX=EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVFX,GetLocation(oMount));
|
||||
nCurrentTime=HORSE_SupportAbsoluteMinute();
|
||||
nDespawnTime=(nDuration*60)+nCurrentTime;
|
||||
SetLocalInt(oSummoner,"nX3_PALADIN_UNSUMMON",nDespawnTime);
|
||||
if (GetLocalInt(GetModule(),"X3_ENABLE_MOUNT_DB")&&GetIsPC(oSummoner)) SetLocalInt(oSummoner,"bX3_STORE_MOUNT_INFO",TRUE);
|
||||
SetLocalObject(oSummoner,"oX3PaladinMount",oMount);
|
||||
} // oMount created
|
||||
} // okay to summon - only one paladin mount at a time
|
||||
else { oMount=OBJECT_INVALID; }
|
||||
return oMount;
|
||||
} // HorseSummonPaladinMount()
|
||||
|
||||
void HorseUnsummonPaladinMount()
|
||||
{ // PURPOSE: Unsummon Paladin Mount
|
||||
|
@@ -131,7 +131,7 @@ void main()
|
||||
case BREATH_BAHAMUT_LINE:
|
||||
//evil characters can't use this breath
|
||||
if(nAlignment == ALIGNMENT_EVIL) return;
|
||||
BaseBreath = CreateBreath(oPC, TRUE, fRange * 2, DAMAGE_TYPE_MAGICAL, 6, nDice * 2, ABILITY_CONSTITUTION, nSaveDCBonus, BREATH_NORMAL, 0);
|
||||
BaseBreath = CreateBreath(oPC, TRUE, fRange * 2, DAMAGE_TYPE_MAGICAL, 6, nDice * 2, ABILITY_CONSTITUTION, nSaveDCBonus, BREATH_NORMAL, 0, SAVING_THROW_FORT);
|
||||
ApplyBreath(BaseBreath, lTarget);
|
||||
if(nAlignment == ALIGNMENT_GOOD) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nClass * 2, DAMAGE_TYPE_POSITIVE, DAMAGE_POWER_ENERGY), oPC);
|
||||
if(nAlignment == ALIGNMENT_NEUTRAL) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nClass * 4, DAMAGE_TYPE_POSITIVE, DAMAGE_POWER_ENERGY), oPC);
|
||||
|
@@ -270,15 +270,15 @@ void InlindlSchool(object oInitiator)
|
||||
void XaniqosSchool(object oInitiator, object oTarget, object oItem, int nEvent)
|
||||
{
|
||||
int nType = GetBaseItemType(oItem);
|
||||
if(nEvent == EVENT_ITEM_ONHIT)
|
||||
/* if(nEvent == EVENT_ITEM_ONHIT) //:: handled in prc_onhitcast becuase it wasn't stacking w/ Skirmish
|
||||
{
|
||||
if(GetLocalInt(oInitiator, "XaniqosSchool") && IPGetIsProjectile(oItem)) // oItem is the ammo, since it's only applies to crossbows
|
||||
{
|
||||
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_PIERCING);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
}
|
||||
}
|
||||
else if(nEvent == EVENT_ONPLAYEREQUIPITEM)
|
||||
} */
|
||||
if(nEvent == EVENT_ONPLAYEREQUIPITEM)
|
||||
{
|
||||
if (nType == BASE_ITEM_LIGHTCROSSBOW || nType == BASE_ITEM_HEAVYCROSSBOW)
|
||||
{
|
||||
@@ -369,7 +369,7 @@ void CrossbowSniper(object oInitiator, object oItem, int nEvent)
|
||||
(nType == BASE_ITEM_HEAVYCROSSBOW && GetHasFeat(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW, oInitiator)))
|
||||
{
|
||||
object oAmmo = GetItemInSlot(INVENTORY_SLOT_BOLTS, oInitiator);
|
||||
IPSafeAddItemProperty(oAmmo, ItemPropertyDamageBonus(DAMAGE_TYPE_PIERCING, nDex/2), 99999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
IPSafeAddItemProperty(oAmmo, ItemPropertyDamageBonus(DAMAGE_TYPE_PIERCING, IPDamageConstant(nDex/2)), 99999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
else if(nEvent == EVENT_ONPLAYERUNEQUIPITEM)
|
||||
@@ -378,7 +378,7 @@ void CrossbowSniper(object oInitiator, object oItem, int nEvent)
|
||||
(nType == BASE_ITEM_HEAVYCROSSBOW && GetHasFeat(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW, oInitiator)))
|
||||
{
|
||||
object oAmmo = GetItemInSlot(INVENTORY_SLOT_BOLTS, oInitiator);
|
||||
RemoveSpecificProperty(oAmmo, ITEM_PROPERTY_DAMAGE_BONUS, DAMAGE_TYPE_PIERCING, nDex/2, 1, "", -1, DURATION_TYPE_TEMPORARY);
|
||||
RemoveSpecificProperty(oAmmo, ITEM_PROPERTY_DAMAGE_BONUS, DAMAGE_TYPE_PIERCING, IPDamageConstant(nDex/2), 1, "", -1, DURATION_TYPE_TEMPORARY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -51,7 +51,7 @@
|
||||
47 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
48 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
49 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
50 Drider 406 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
50 Drider 406 **** **** **** **** 3063 **** **** **** **** **** **** **** **** **** ****
|
||||
51 Wemic 97 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
52 Plant **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
53 Brownie 55 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
@@ -229,6 +229,20 @@ void main()
|
||||
}
|
||||
}
|
||||
|
||||
// Xaniqos School
|
||||
if (iItemBaseType == BASE_ITEM_BOLT && GetLocalInt(oSpellOrigin, "XaniqosSchool") > 0)
|
||||
{
|
||||
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_PIERCING);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oSpellTarget);
|
||||
|
||||
/* // Prevents the heartbeat script from running multiple times
|
||||
if(GetLocalInt(oSpellOrigin, "ImpRicochetVarRunning") != 1)
|
||||
{
|
||||
DelayCommand(6.0, SetImprovedRicochetVar(oSpellOrigin) );
|
||||
SetLocalInt(oSpellOrigin, "ImpRicochetVarRunning", 1);
|
||||
} */
|
||||
}
|
||||
|
||||
// Warchief Devoted Bodyguards
|
||||
if(iItemBaseType == BASE_ITEM_ARMOR && GetLevelByClass(CLASS_TYPE_WARCHIEF, oSpellOrigin) > 7)
|
||||
{
|
||||
@@ -451,6 +465,7 @@ void main()
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpellTarget);
|
||||
}
|
||||
}
|
||||
|
||||
/* if (GetHasSpellEffect(MOVE_TC_BLOOD_WATER, oSpellOrigin) && GetBaseItemType(oItem) != BASE_ITEM_ARMOR)
|
||||
{
|
||||
// Fake critical hit check
|
||||
|
Binary file not shown.
@@ -5257,7 +5257,8 @@ REQUIREMENTS:
|
||||
|
||||
Race: Living Elf.
|
||||
Skills: Concentration 5, Spellcraft 14.
|
||||
Class : 11 levels in Sorcerer, Wizard, or Cleric
|
||||
Spellcasting: Able to cast 6th level arcane or divine spells.
|
||||
Feat: Craft Wonderous Item.
|
||||
Alignment: Any Good
|
||||
|
||||
CLASS FEATURES:
|
||||
@@ -16506,7 +16507,7 @@ Levels
|
||||
5: Major Oozy Touch
|
||||
6: Charisma Penalty -3
|
||||
Oozy Glob - Can use three times per day.
|
||||
Indiscernible Anatomy - Immunity to critical hits and sneak attacks.
|
||||
Indiscernible Anatomy - The oozemaster gains Light Fortification.
|
||||
7: Major Oozy Touch - Can choose a major ooze for a touch attack or another minor ooze.
|
||||
8: Charisma Penalty -4
|
||||
Oozy Glob - Can use four times a day.
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user