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
|
nwn/nwnprc/trunk/makefile.temp
|
||||||
/Release
|
/Release
|
||||||
/old_backup
|
/old_backup
|
||||||
|
*.7z
|
||||||
|
@@ -72,15 +72,15 @@
|
|||||||
68 Epic_Psionic_Focus_9 4865 1 2 0
|
68 Epic_Psionic_Focus_9 4865 1 2 0
|
||||||
69 Epic_Psionic_Focus_10 4866 1 2 0
|
69 Epic_Psionic_Focus_10 4866 1 2 0
|
||||||
70 Expanded_Knowledge_1 4867 0 2 0
|
70 Expanded_Knowledge_1 4867 0 2 0
|
||||||
71 Expanded_Knowledge_2 4868 0 2 0
|
71 Expanded_Knowledge_2 4868 0 0 0
|
||||||
72 Expanded_Knowledge_3 4869 0 2 0
|
72 Expanded_Knowledge_3 4869 0 0 0
|
||||||
73 Expanded_Knowledge_4 4870 0 2 0
|
73 Expanded_Knowledge_4 4870 0 0 0
|
||||||
74 Expanded_Knowledge_5 4871 0 2 0
|
74 Expanded_Knowledge_5 4871 0 0 0
|
||||||
75 Expanded_Knowledge_6 4872 0 2 0
|
75 Expanded_Knowledge_6 4872 0 0 0
|
||||||
76 Expanded_Knowledge_7 4873 0 2 0
|
76 Expanded_Knowledge_7 4873 0 0 0
|
||||||
77 Expanded_Knowledge_8 4874 0 2 0
|
77 Expanded_Knowledge_8 4874 0 0 0
|
||||||
78 Expanded_Knowledge_9 4875 0 2 0
|
78 Expanded_Knowledge_9 4875 0 0 0
|
||||||
79 Expanded_Knowledge_10 4876 0 2 0
|
79 Expanded_Knowledge_10 4876 0 0 0
|
||||||
80 Epic_Expanded_Knowledge_1 4877 1 2 0
|
80 Epic_Expanded_Knowledge_1 4877 1 2 0
|
||||||
81 Epic_Expanded_Knowledge_2 4878 1 2 0
|
81 Epic_Expanded_Knowledge_2 4878 1 2 0
|
||||||
82 Epic_Expanded_Knowledge_3 4879 1 2 0
|
82 Epic_Expanded_Knowledge_3 4879 1 2 0
|
||||||
@@ -111,46 +111,46 @@
|
|||||||
107 Improved_Manifestation_8 4904 1 2 0
|
107 Improved_Manifestation_8 4904 1 2 0
|
||||||
108 Improved_Manifestation_9 4905 1 2 0
|
108 Improved_Manifestation_9 4905 1 2 0
|
||||||
109 Improved_Manifestation_10 4906 1 2 0
|
109 Improved_Manifestation_10 4906 1 2 0
|
||||||
110 Power_Knowledge_Psion_1 4907 0 2 0
|
110 Power_Knowledge_Psion_1 4907 0 0 0
|
||||||
111 Power_Knowledge_Psion_2 4908 0 2 0
|
111 Power_Knowledge_Psion_2 4908 0 0 0
|
||||||
112 Power_Knowledge_Psion_3 4909 0 2 0
|
112 Power_Knowledge_Psion_3 4909 0 0 0
|
||||||
113 Power_Knowledge_Psion_4 4910 0 2 0
|
113 Power_Knowledge_Psion_4 4910 0 0 0
|
||||||
114 Power_Knowledge_Psion_5 4911 0 2 0
|
114 Power_Knowledge_Psion_5 4911 0 0 0
|
||||||
115 Power_Knowledge_Psion_6 4912 0 2 0
|
115 Power_Knowledge_Psion_6 4912 0 0 0
|
||||||
116 Power_Knowledge_Psion_7 4913 0 2 0
|
116 Power_Knowledge_Psion_7 4913 0 0 0
|
||||||
117 Power_Knowledge_Psion_8 4914 0 2 0
|
117 Power_Knowledge_Psion_8 4914 0 0 0
|
||||||
118 Power_Knowledge_Psion_9 4915 0 2 0
|
118 Power_Knowledge_Psion_9 4915 0 0 0
|
||||||
119 Power_Knowledge_Psion_10 4916 0 2 0
|
119 Power_Knowledge_Psion_10 4916 0 0 0
|
||||||
120 Power_Knowledge_PsyWar_1 4917 0 2 0
|
120 Power_Knowledge_PsyWar_1 4917 0 0 0
|
||||||
121 Power_Knowledge_PsyWar_2 4918 0 2 0
|
121 Power_Knowledge_PsyWar_2 4918 0 0 0
|
||||||
122 Power_Knowledge_PsyWar_3 4919 0 2 0
|
122 Power_Knowledge_PsyWar_3 4919 0 0 0
|
||||||
123 Power_Knowledge_PsyWar_4 4920 0 2 0
|
123 Power_Knowledge_PsyWar_4 4920 0 0 0
|
||||||
124 Power_Knowledge_PsyWar_5 4921 0 2 0
|
124 Power_Knowledge_PsyWar_5 4921 0 0 0
|
||||||
125 Power_Knowledge_PsyWar_6 4922 0 2 0
|
125 Power_Knowledge_PsyWar_6 4922 0 0 0
|
||||||
126 Power_Knowledge_PsyWar_7 4923 0 2 0
|
126 Power_Knowledge_PsyWar_7 4923 0 0 0
|
||||||
127 Power_Knowledge_PsyWar_8 4924 0 2 0
|
127 Power_Knowledge_PsyWar_8 4924 0 0 0
|
||||||
128 Power_Knowledge_PsyWar_9 4925 0 2 0
|
128 Power_Knowledge_PsyWar_9 4925 0 0 0
|
||||||
129 Power_Knowledge_PsyWar_10 4926 0 2 0
|
129 Power_Knowledge_PsyWar_10 4926 0 0 0
|
||||||
130 Power_Knowledge_Wilder_1 4927 0 2 0
|
130 Power_Knowledge_Wilder_1 4927 0 0 0
|
||||||
131 Power_Knowledge_Wilder_2 4928 0 2 0
|
131 Power_Knowledge_Wilder_2 4928 0 0 0
|
||||||
132 Power_Knowledge_Wilder_3 4929 0 2 0
|
132 Power_Knowledge_Wilder_3 4929 0 0 0
|
||||||
133 Power_Knowledge_Wilder_4 4930 0 2 0
|
133 Power_Knowledge_Wilder_4 4930 0 0 0
|
||||||
134 Power_Knowledge_Wilder_5 4931 0 2 0
|
134 Power_Knowledge_Wilder_5 4931 0 0 0
|
||||||
135 Power_Knowledge_Wilder_6 4932 0 2 0
|
135 Power_Knowledge_Wilder_6 4932 0 0 0
|
||||||
136 Power_Knowledge_Wilder_7 4933 0 2 0
|
136 Power_Knowledge_Wilder_7 4933 0 0 0
|
||||||
137 Power_Knowledge_Wilder_8 4934 0 2 0
|
137 Power_Knowledge_Wilder_8 4934 0 0 0
|
||||||
138 Power_Knowledge_Wilder_9 4935 0 2 0
|
138 Power_Knowledge_Wilder_9 4935 0 0 0
|
||||||
139 Power_Knowledge_Wilder_10 4936 0 2 0
|
139 Power_Knowledge_Wilder_10 4936 0 0 0
|
||||||
140 Power_Knowledge_FistOfZuoken_1 4945 0 2 0
|
140 Power_Knowledge_FistOfZuoken_1 4945 0 0 0
|
||||||
141 Power_Knowledge_FistOfZuoken_2 4946 0 2 0
|
141 Power_Knowledge_FistOfZuoken_2 4946 0 0 0
|
||||||
142 Power_Knowledge_FistOfZuoken_3 4947 0 2 0
|
142 Power_Knowledge_FistOfZuoken_3 4947 0 0 0
|
||||||
143 Power_Knowledge_FistOfZuoken_4 4948 0 2 0
|
143 Power_Knowledge_FistOfZuoken_4 4948 0 0 0
|
||||||
144 Power_Knowledge_FistOfZuoken_5 4949 0 2 0
|
144 Power_Knowledge_FistOfZuoken_5 4949 0 0 0
|
||||||
145 Power_Knowledge_FistOfZuoken_6 4950 0 2 0
|
145 Power_Knowledge_FistOfZuoken_6 4950 0 0 0
|
||||||
146 Power_Knowledge_FistOfZuoken_7 4951 0 2 0
|
146 Power_Knowledge_FistOfZuoken_7 4951 0 0 0
|
||||||
147 Power_Knowledge_FistOfZuoken_8 4952 0 2 0
|
147 Power_Knowledge_FistOfZuoken_8 4952 0 0 0
|
||||||
148 Power_Knowledge_FistOfZuoken_9 4953 0 2 0
|
148 Power_Knowledge_FistOfZuoken_9 4953 0 0 0
|
||||||
149 Power_Knowledge_FistOfZuoken_10 4954 0 2 0
|
149 Power_Knowledge_FistOfZuoken_10 4954 0 0 0
|
||||||
150 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 533 1 2 0
|
150 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 533 1 2 0
|
||||||
151 FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 534 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
|
152 FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 535 1 2 0
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
13 FEAT_ADEPT_REDUCTION 3003 3 6 0
|
13 FEAT_ADEPT_REDUCTION 3003 3 6 0
|
||||||
14 FEAT_DRAGON_IMMUNE_PARALYSIS 963 3 19 0
|
14 FEAT_DRAGON_IMMUNE_PARALYSIS 963 3 19 0
|
||||||
15 Fire_Effect 4979 3 1 1
|
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
|
17 Frost_Cone 4980 2 2 1
|
||||||
18 Electric_Line 4981 2 2 1
|
18 Electric_Line 4981 2 2 1
|
||||||
19 Sickening_Cone 4982 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 "prc_inc_castlvl" // get prc_racial_const, prc_inc_nwscript, prc_inc_newip
|
||||||
|
#include "inc_epicspelldef"
|
||||||
|
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
/* Internal functions */
|
/* Internal functions */
|
||||||
@@ -746,7 +747,6 @@ effect EffectImmunityMiscAll()
|
|||||||
//:: Immunity to all gaze attacks
|
//:: Immunity to all gaze attacks
|
||||||
effect EffectGazeImmune()
|
effect EffectGazeImmune()
|
||||||
{
|
{
|
||||||
effect eBlank;
|
|
||||||
|
|
||||||
effect eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CHARM);
|
effect eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CHARM);
|
||||||
eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CONFUSION);
|
eReturn = EffectSpellImmunity(SPELLABILITY_GAZE_CONFUSION);
|
||||||
@@ -768,6 +768,23 @@ effect EffectGazeImmune()
|
|||||||
return eReturn;
|
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)
|
int GetIsShaken(object oTarget)
|
||||||
{
|
{
|
||||||
effect eEffect = GetFirstEffect(oTarget);
|
effect eEffect = GetFirstEffect(oTarget);
|
||||||
|
@@ -308,7 +308,7 @@ int FindUnarmedDamage(object oCreature)
|
|||||||
if (GetHasFeat(FEAT_INCREASE_DAMAGE2, oCreature)) iDieIncrease = 2;
|
if (GetHasFeat(FEAT_INCREASE_DAMAGE2, oCreature)) iDieIncrease = 2;
|
||||||
else if (GetHasFeat(FEAT_INCREASE_DAMAGE1, oCreature)) iDieIncrease = 1;
|
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 nExpansion = GetLocalInt(oCreature, "PRC_Power_Expansion_SizeIncrease");
|
||||||
int nCompression = GetLocalInt(oCreature, "PRC_Power_Compression_SizeReduction");
|
int nCompression = GetLocalInt(oCreature, "PRC_Power_Compression_SizeReduction");
|
||||||
|
|
||||||
@@ -320,7 +320,7 @@ int FindUnarmedDamage(object oCreature)
|
|||||||
if (nCompression)
|
if (nCompression)
|
||||||
{
|
{
|
||||||
iSize -= nCompression;
|
iSize -= nCompression;
|
||||||
}
|
} */
|
||||||
|
|
||||||
iMonkDamage += iDieIncrease;
|
iMonkDamage += iDieIncrease;
|
||||||
iShouDamage += iDieIncrease;
|
iShouDamage += iDieIncrease;
|
||||||
|
@@ -2736,6 +2736,47 @@ object HorseSummonPaladinMount(int bPHBDuration=FALSE)
|
|||||||
return oMount;
|
return oMount;
|
||||||
} // HorseSummonPaladinMount()
|
} // 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()
|
void HorseUnsummonPaladinMount()
|
||||||
{ // PURPOSE: Unsummon Paladin Mount
|
{ // PURPOSE: Unsummon Paladin Mount
|
||||||
|
@@ -131,7 +131,7 @@ void main()
|
|||||||
case BREATH_BAHAMUT_LINE:
|
case BREATH_BAHAMUT_LINE:
|
||||||
//evil characters can't use this breath
|
//evil characters can't use this breath
|
||||||
if(nAlignment == ALIGNMENT_EVIL) return;
|
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);
|
ApplyBreath(BaseBreath, lTarget);
|
||||||
if(nAlignment == ALIGNMENT_GOOD) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nClass * 2, DAMAGE_TYPE_POSITIVE, DAMAGE_POWER_ENERGY), oPC);
|
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);
|
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)
|
void XaniqosSchool(object oInitiator, object oTarget, object oItem, int nEvent)
|
||||||
{
|
{
|
||||||
int nType = GetBaseItemType(oItem);
|
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
|
if(GetLocalInt(oInitiator, "XaniqosSchool") && IPGetIsProjectile(oItem)) // oItem is the ammo, since it's only applies to crossbows
|
||||||
{
|
{
|
||||||
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_PIERCING);
|
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_PIERCING);
|
||||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
else if(nEvent == EVENT_ONPLAYEREQUIPITEM)
|
if(nEvent == EVENT_ONPLAYEREQUIPITEM)
|
||||||
{
|
{
|
||||||
if (nType == BASE_ITEM_LIGHTCROSSBOW || nType == BASE_ITEM_HEAVYCROSSBOW)
|
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)))
|
(nType == BASE_ITEM_HEAVYCROSSBOW && GetHasFeat(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW, oInitiator)))
|
||||||
{
|
{
|
||||||
object oAmmo = GetItemInSlot(INVENTORY_SLOT_BOLTS, 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)
|
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)))
|
(nType == BASE_ITEM_HEAVYCROSSBOW && GetHasFeat(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW, oInitiator)))
|
||||||
{
|
{
|
||||||
object oAmmo = GetItemInSlot(INVENTORY_SLOT_BOLTS, 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 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
47 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
48 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
48 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
49 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
49 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
50 Drider 406 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
50 Drider 406 **** **** **** **** 3063 **** **** **** **** **** **** **** **** **** ****
|
||||||
51 Wemic 97 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
51 Wemic 97 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
52 Plant **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
52 Plant **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||||
53 Brownie 55 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
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
|
// Warchief Devoted Bodyguards
|
||||||
if(iItemBaseType == BASE_ITEM_ARMOR && GetLevelByClass(CLASS_TYPE_WARCHIEF, oSpellOrigin) > 7)
|
if(iItemBaseType == BASE_ITEM_ARMOR && GetLevelByClass(CLASS_TYPE_WARCHIEF, oSpellOrigin) > 7)
|
||||||
{
|
{
|
||||||
@@ -451,6 +465,7 @@ void main()
|
|||||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpellTarget);
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpellTarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if (GetHasSpellEffect(MOVE_TC_BLOOD_WATER, oSpellOrigin) && GetBaseItemType(oItem) != BASE_ITEM_ARMOR)
|
/* if (GetHasSpellEffect(MOVE_TC_BLOOD_WATER, oSpellOrigin) && GetBaseItemType(oItem) != BASE_ITEM_ARMOR)
|
||||||
{
|
{
|
||||||
// Fake critical hit check
|
// Fake critical hit check
|
||||||
|
Binary file not shown.
@@ -5257,7 +5257,8 @@ REQUIREMENTS:
|
|||||||
|
|
||||||
Race: Living Elf.
|
Race: Living Elf.
|
||||||
Skills: Concentration 5, Spellcraft 14.
|
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
|
Alignment: Any Good
|
||||||
|
|
||||||
CLASS FEATURES:
|
CLASS FEATURES:
|
||||||
@@ -16506,7 +16507,7 @@ Levels
|
|||||||
5: Major Oozy Touch
|
5: Major Oozy Touch
|
||||||
6: Charisma Penalty -3
|
6: Charisma Penalty -3
|
||||||
Oozy Glob - Can use three times per day.
|
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.
|
7: Major Oozy Touch - Can choose a major ooze for a touch attack or another minor ooze.
|
||||||
8: Charisma Penalty -4
|
8: Charisma Penalty -4
|
||||||
Oozy Glob - Can use four times a day.
|
Oozy Glob - Can use four times a day.
|
||||||
|
Binary file not shown.
Reference in New Issue
Block a user