Update to PRC 4.1.10a
Update to PRC 4.1.10a
This commit is contained in:
@@ -22,7 +22,7 @@ void main()
|
||||
int nWeapType = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oTarget));
|
||||
if(nWeapType != BASE_ITEM_RAPIER
|
||||
&& nWeapType != BASE_ITEM_LONGSWORD
|
||||
&& nWeapType != BASE_ITEM_ELF_THINBLADE)
|
||||
&& nWeapType != BASE_ITEM_ELVEN_THINBLADE)
|
||||
return;
|
||||
|
||||
effect eLink = EffectLinkEffects(EffectAttackDecrease(2), EffectModifyAttacks(1));
|
||||
|
@@ -14,8 +14,8 @@ int GetIsBladesongWeapon(object oWeapon)
|
||||
|
||||
return nType == BASE_ITEM_RAPIER
|
||||
|| nType == BASE_ITEM_LONGSWORD
|
||||
|| nType == BASE_ITEM_ELF_LIGHTBLADE
|
||||
|| nType == BASE_ITEM_ELF_THINBLADE;
|
||||
|| nType == BASE_ITEM_ELVEN_LIGHTBLADE
|
||||
|| nType == BASE_ITEM_ELVEN_THINBLADE;
|
||||
}
|
||||
|
||||
void RemoveSpellEffectSong(object oPC)
|
||||
|
@@ -67,9 +67,9 @@ void main()
|
||||
if(GetIsObjectValid(oWeapon) &&
|
||||
((nBase == BASE_ITEM_LONGSWORD) ||
|
||||
(nBase == BASE_ITEM_RAPIER) ||
|
||||
(nBase == BASE_ITEM_ELF_LIGHTBLADE) ||
|
||||
(nBase == BASE_ITEM_ELF_THINBLADE) ||
|
||||
(nBase == BASE_ITEM_ELF_COURTBLADE) ||
|
||||
(nBase == BASE_ITEM_ELVEN_LIGHTBLADE) ||
|
||||
(nBase == BASE_ITEM_ELVEN_THINBLADE) ||
|
||||
(nBase == BASE_ITEM_ELVEN_COURTBLADE) ||
|
||||
(nBase == BASE_ITEM_SCIMITAR)
|
||||
))
|
||||
ActionCastSpellOnSelf(SPELL_COC_DAMAGE);
|
||||
|
@@ -22,9 +22,9 @@ void main()
|
||||
int nBase = GetBaseItemType(oWeap); //baseitem type checking
|
||||
int bBase = nBase == BASE_ITEM_LONGSWORD
|
||||
|| nBase == BASE_ITEM_RAPIER
|
||||
|| nBase == BASE_ITEM_ELF_LIGHTBLADE
|
||||
|| nBase == BASE_ITEM_ELF_THINBLADE
|
||||
|| nBase == BASE_ITEM_ELF_COURTBLADE
|
||||
|| nBase == BASE_ITEM_ELVEN_LIGHTBLADE
|
||||
|| nBase == BASE_ITEM_ELVEN_THINBLADE
|
||||
|| nBase == BASE_ITEM_ELVEN_COURTBLADE
|
||||
|| nBase == BASE_ITEM_SCIMITAR;
|
||||
|
||||
//heal if immune to sneak and critical - dex bonus
|
||||
|
@@ -1,27 +1,31 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Command Spiders (Was Turn Undead)
|
||||
//:: Command Spiders
|
||||
//:: dj_s2_comspider.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Checks domain powers and class to determine
|
||||
the proper turning abilities of the casting
|
||||
character.
|
||||
Specifics: As a special dispensation from Lolth,
|
||||
Selvetarm can grant his judicators the ability to
|
||||
command spiders. When a drow judicator reaches 2nd
|
||||
level, he gains the ability to compel spiders in
|
||||
the same way that an evil cleric can rebuke or
|
||||
command undead. The drow judicator can attempt to
|
||||
command spiders a number of times per day equal to
|
||||
3 + his Charisma modifier. He is treated as a cleric
|
||||
of a level equal to his drow judicator level for the
|
||||
purposes of turning checks and damage.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Nov 2, 2001
|
||||
//:: Updated On: Jul 15, 2003 - Georg Zoeller
|
||||
//:://////////////////////////////////////////////
|
||||
//:: MODIFIED MARCH 5 2003 for Blackguards
|
||||
//:: MODIFIED JULY 24 2003 for Planar Turning to include turn resistance hd
|
||||
//:: Modified November 29, 2003 for Evil Cleric Rebuke/Command by Wes Baran
|
||||
//:: Modified December 29, 2003 for 1.61 patch
|
||||
//:: Modified January 1, 2004 by Cole Kleinschmit for use as Command Spiders
|
||||
//:: Modified:
|
||||
//:: 20040101 by Cole Kleinschmit: for use as Command Spiders.
|
||||
//:: 22021020 by Jaysyn: Fixed to actually work on all spiders.
|
||||
|
||||
#include "prc_class_const"
|
||||
#include "prc_alterations"
|
||||
|
||||
int CheckTargetName(object oTarget, string sName);
|
||||
|
||||
int GetIsSpider(object oCreature, int nAppearance);
|
||||
|
||||
int CanCommand(int nClassLevel, int nTargetHD)
|
||||
{
|
||||
int nSlots = GetLocalInt(OBJECT_SELF, "wb_clr_comm_slots");
|
||||
@@ -72,21 +76,23 @@ void RebukeSpider(int nTurnLevel, int nTurnHD, int nVermin, int nClassLevel)
|
||||
//Why are you using GetNearest instead of GetFirstObjectInShape
|
||||
// Because ability description says "gets closest first" :P
|
||||
object oTarget = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC , OBJECT_SELF, nCnt);
|
||||
while(GetIsObjectValid(oTarget) && nHDCount < nTurnHD && GetDistanceToObject(oTarget) <= 20.0)
|
||||
|
||||
int nTargetAppearance = GetAppearanceType(oTarget);
|
||||
|
||||
while(GetIsObjectValid(oTarget) && nHDCount < nTurnHD && GetDistanceToObject(oTarget) <= 20.0)
|
||||
{
|
||||
if(!GetIsFriend(oTarget))
|
||||
{
|
||||
nHD = GetHitDice(oTarget) + GetTurnResistanceHD(oTarget);
|
||||
nRacial = MyPRCGetRacialType(oTarget);
|
||||
|
||||
|
||||
if(nHD <= nTurnLevel && nHD <= (nTurnHD - nHDCount))
|
||||
{
|
||||
//Check the various domain turning types
|
||||
if(nRacial == RACIAL_TYPE_VERMIN)
|
||||
//:: Check for correct turning target.
|
||||
if(GetIsSpider(oTarget, nTargetAppearance))
|
||||
{
|
||||
bValid = TRUE;
|
||||
//debug
|
||||
SpeakString("Vermin Found");
|
||||
SpeakString("Spider Found");
|
||||
}
|
||||
|
||||
//Apply results of the turn
|
||||
@@ -99,7 +105,7 @@ void RebukeSpider(int nTurnLevel, int nTurnHD, int nVermin, int nClassLevel)
|
||||
if((nClassLevel/2) >= nHD && CanCommand(nClassLevel, nHD))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_TURN_UNDEAD));
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_COMMAND_SPIDERS));
|
||||
//Destroy the target
|
||||
DelayCommand(0.1f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDeathLink, oTarget, RoundsToSeconds(nClassLevel + 5)));
|
||||
//AssignCommand(oTarget, ClearAllActions());
|
||||
@@ -113,7 +119,7 @@ void RebukeSpider(int nTurnLevel, int nTurnHD, int nVermin, int nClassLevel)
|
||||
{
|
||||
//Turn the target
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_TURN_UNDEAD));
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_COMMAND_SPIDERS));
|
||||
//AssignCommand(oTarget, ActionMoveAwayFromObject(OBJECT_SELF, TRUE));
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nClassLevel + 5));
|
||||
//debug
|
||||
@@ -132,20 +138,20 @@ void RebukeSpider(int nTurnLevel, int nTurnHD, int nVermin, int nClassLevel)
|
||||
void main()
|
||||
{
|
||||
int nClericLevel = GetLevelByClass(CLASS_TYPE_JUDICATOR);
|
||||
int nTotalLevel = GetHitDice(OBJECT_SELF);
|
||||
int nTotalLevel = nClericLevel;
|
||||
|
||||
int nTurnLevel = nClericLevel;
|
||||
int nClassLevel = nClericLevel;
|
||||
|
||||
//Flags for bonus turning types
|
||||
int nVermin = GetHasFeat(FEAT_PLANT_DOMAIN_POWER) + GetHasFeat(FEAT_ANIMAL_COMPANION);
|
||||
int nVermin = GetHasFeat(FEAT_DOMAIN_POWER_SPIDER);
|
||||
|
||||
//Make a turning check roll
|
||||
int nChrMod = GetAbilityModifier(ABILITY_CHARISMA);
|
||||
int nTurnCheck = d20() + nChrMod; //The roll to apply to the max HD of undead that can be turned --> nTurnLevel
|
||||
int nTurnHD = d6(2) + nChrMod + nClassLevel; //The number of HD of undead that can be turned.
|
||||
int nTurnCheck = d20() + nChrMod; //The roll to apply to the max HD of spiders that can be commanded --> nTurnLevel
|
||||
int nTurnHD = d6(2) + nChrMod + nClassLevel; //The number of HD of spiders that can be commanded.
|
||||
|
||||
//Determine the maximum HD of the undead that can be turned.
|
||||
//Determine the maximum HD of the spiders that can be commanded.
|
||||
if(nTurnCheck <= 0)
|
||||
{
|
||||
nTurnLevel -= 4;
|
||||
@@ -184,5 +190,77 @@ void main()
|
||||
}
|
||||
|
||||
RebukeSpider(nTurnLevel, nTurnHD, nVermin, nClassLevel);
|
||||
|
||||
|
||||
}
|
||||
|
||||
int CheckTargetName(object oTarget, string sName)
|
||||
{
|
||||
return FindSubString(GetStringLowerCase(GetName(oTarget)), sName) > -1;
|
||||
}
|
||||
|
||||
int GetIsSpider(object oTarget, int nAppearance)
|
||||
{
|
||||
|
||||
return (nAppearance == APPEARANCE_TYPE_SPIDER_WRAITH
|
||||
|| nAppearance == APPEARANCE_TYPE_SPIDER_DIRE
|
||||
|| nAppearance == APPEARANCE_TYPE_SPIDER_GIANT
|
||||
|| nAppearance == APPEARANCE_TYPE_SPIDER_SWORD
|
||||
|| nAppearance == APPEARANCE_TYPE_SPIDER_PHASE
|
||||
|| nAppearance == 15045 //:: Spider - Small
|
||||
|| nAppearance == 463 //:: Maggris
|
||||
//:: CEP Appearances
|
||||
|| nAppearance == 1168 //:: Spider: Bloodback [cep]
|
||||
|| nAppearance == 1248 //:: Spider: Redback [cep]
|
||||
|| nAppearance == 1256 //:: Spider: Wraith B [cep]
|
||||
|| nAppearance == 1284 //:: Spider: Ice [cep]
|
||||
|| nAppearance == 1311 //:: Spiderling [cep]
|
||||
|| nAppearance == 1312 //:: Spiderling: Giant [cep]
|
||||
|| nAppearance == 1313 //:: Spiderling: Dire [cep]
|
||||
|| nAppearance == 1314 //:: Spiderling: Sword [cep]
|
||||
|| nAppearance == 1315 //:: Spiderling: Phase [cep]
|
||||
|| nAppearance == 1894 //:: Spider: Giant - Tiny [cep]
|
||||
|| nAppearance == 1895 //:: Spider: Giant - Small [cep]
|
||||
|| nAppearance == 1896 //:: Spider: Giant - Medium [cep]
|
||||
|| nAppearance == 1897 //:: Spider: Giant - Large [cep]
|
||||
|| nAppearance == 1898 //:: Spider: Giant - Gargantuan [cep]
|
||||
|| nAppearance == 1900 //:: Spider: Dire - Tiny [cep]
|
||||
|| nAppearance == 1901 //:: Spider: Dire - Small [cep]
|
||||
|| nAppearance == 1902 //:: Spider: Dire - Medium [cep]
|
||||
|| nAppearance == 1903 //:: Spider: Dire - Large [cep]
|
||||
|| nAppearance == 1904 //:: Spider: Dire - Gargantuan [cep]
|
||||
|| nAppearance == 1906 //:: Spider: Phase - Tiny [cep]
|
||||
|| nAppearance == 1907 //:: Spider: Phase - Small [cep]
|
||||
|| nAppearance == 1908 //:: Spider: Phase - Medium [cep]
|
||||
|| nAppearance == 1909 //:: Spider: Phase - Large [cep]
|
||||
|| nAppearance == 1910 //:: Spider: Phase - Gargantuan [cep]
|
||||
|| nAppearance == 1912 //:: Spider: Sword - Tiny [cep]
|
||||
|| nAppearance == 1913 //:: Spider: Sword - Small [cep]
|
||||
|| nAppearance == 1914 //:: Spider: Sword - Medium [cep]
|
||||
|| nAppearance == 1915 //:: Spider: Sword - Large [cep]
|
||||
|| nAppearance == 1916 //:: Spider: Sword - Gargantuan [cep]
|
||||
|| nAppearance == 1918 //:: Spider: Wraith - Tiny [cep]
|
||||
|| nAppearance == 1919 //:: Spider: Wraith - Small [cep]
|
||||
|| nAppearance == 1920 //:: Spider: Wraith - Medium [cep]
|
||||
|| nAppearance == 1921 //:: Spider: Wraith - Large [cep]
|
||||
|| nAppearance == 1922 //:: Spider: Wraith - Gargantuan [cep]
|
||||
|| nAppearance == 2515 //:: Spider: Small [cep]
|
||||
|| nAppearance == 2996 //:: Spider: Giant: Infensa 1 [cep]
|
||||
|| nAppearance == 2997 //:: Spider: Giant: Infensa 2 [cep]
|
||||
|| nAppearance == 2998 //:: Spider: Giant: Infensa 3 [cep]
|
||||
|| nAppearance == 2999 //:: Spider: Giant: Infensa 4 [cep]
|
||||
|| nAppearance == 3000 //:: Spider: Giant: Infensa 5 [cep]
|
||||
|| nAppearance == 3997 //:: Spider: Tyrant [cep]
|
||||
|| nAppearance == 3998 //:: Spider: Gold Queen [cep]
|
||||
|| nAppearance == 6276 //:: Spider: Purgatory* [cep]
|
||||
|| nAppearance == 6277 //:: Spider: MindEater* [cep]
|
||||
|| nAppearance == 6278 //:: Spider: Night* [cep]
|
||||
|| nAppearance == 6279 //:: Spider: Spinner* [cep]
|
||||
|| nAppearance == 6280 //:: Spider: Zebra* [cep]
|
||||
|| nAppearance == 6281 //:: Spider: Ooze* [cep]
|
||||
|| nAppearance == 6282 //:: Spider: Weirdo* [cep]
|
||||
|| nAppearance == 6283 //:: Spider: Maze [cep]
|
||||
|| nAppearance == 6295 //:: Spider: Bone [cep]
|
||||
|| nAppearance == 6304 //:: Spider: Ravener [cep]
|
||||
|| (CheckTargetName(oTarget, "spider") && (GetRacialType(oTarget) == RACIAL_TYPE_VERMIN)));
|
||||
|
||||
}
|
@@ -114,27 +114,27 @@ void main()
|
||||
/* - Taken out until we have real breath VFX - Fox
|
||||
effect eVis;
|
||||
|
||||
if(GetHasFeat(FEAT_DRAGONSHAMAN_RED, OBJECT_SELF) || GetHasFeat(FEAT_DRAGONSHAMAN_GOLD, OBJECT_SELF))
|
||||
if(GetHasFeat(FEAT_DRAGONSHAMAN_RED, oPC) || GetHasFeat(FEAT_DRAGONSHAMAN_GOLD, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_FNF_DRAGBREATHGROUND);
|
||||
}
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BLUE, OBJECT_SELF) || GetHasFeat(FEAT_DRAGONSHAMAN_BRONZE, OBJECT_SELF))
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BLUE, oPC) || GetHasFeat(FEAT_DRAGONSHAMAN_BRONZE, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_BEAM_LIGHTNING);
|
||||
}
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BLACK, OBJECT_SELF) || GetHasFeat(FEAT_DRAGONSHAMAN_COPPER, OBJECT_SELF))
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BLACK, oPC) || GetHasFeat(FEAT_DRAGONSHAMAN_COPPER, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_FNF_DRAGBREATHGROUND);
|
||||
}
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_WHITE, OBJECT_SELF) || GetHasFeat(FEAT_DRAGONSHAMAN_SILVER, OBJECT_SELF))
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_WHITE, oPC) || GetHasFeat(FEAT_DRAGONSHAMAN_SILVER, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_FNF_DRAGBREATHGROUND);
|
||||
}
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BRASS, OBJECT_SELF))
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_BRASS, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_BEAM_FIRE_W);
|
||||
}
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_GREEN, OBJECT_SELF))
|
||||
else if(GetHasFeat(FEAT_DRAGONSHAMAN_GREEN, oPC))
|
||||
{
|
||||
eVis = EffectVisualEffect(VFX_FNF_DRAGBREATHGROUND);
|
||||
}
|
||||
|
@@ -1547,7 +1547,6 @@ int RacialFeats()
|
||||
if(GetHasFeat(FEAT_LOLTHS_MEAT)
|
||||
&& !(nRace == RACIAL_TYPE_DROW_FEMALE
|
||||
|| nRace == RACIAL_TYPE_DROW_MALE
|
||||
|| nRace == RACIAL_TYPE_ELF
|
||||
|| nRace == RACIAL_TYPE_HALFDROW))
|
||||
{
|
||||
FloatingTextStringOnCreature("You must be a Drow or Half-Drow to take this feat. Please reselect your feats.", OBJECT_SELF, FALSE);
|
||||
@@ -2304,13 +2303,13 @@ int ToB()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (GetHasFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING) && !GetHasFeat(FEAT_AMBIDEXTERITY) && !GetPRCSwitch(PRC_35_TWO_WEAPON_FIGHTING) && !GetLevelByClass(CLASS_TYPE_TEMPEST))
|
||||
if (GetHasFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING) && !GetHasFeat(FEAT_AMBIDEXTERITY) && !GetPRCSwitch(PRC_35_TWO_WEAPON_FIGHTING) && !GetLevelByClass(CLASS_TYPE_TEMPEST) && 9 > GetLevelByClass(CLASS_TYPE_RANGER))
|
||||
{
|
||||
FloatingTextStringOnCreature("You must have ambidexterity to take Improved Two Weapon Fighting", OBJECT_SELF, FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (GetHasFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING) && GetPRCSwitch(PRC_35_TWO_WEAPON_FIGHTING) && 17 > GetAbilityScore(OBJECT_SELF, ABILITY_DEXTERITY, TRUE) && !GetLevelByClass(CLASS_TYPE_TEMPEST))
|
||||
if (GetHasFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING) && GetPRCSwitch(PRC_35_TWO_WEAPON_FIGHTING) && 17 > GetAbilityScore(OBJECT_SELF, ABILITY_DEXTERITY, TRUE) && !GetLevelByClass(CLASS_TYPE_TEMPEST) && 9 > GetLevelByClass(CLASS_TYPE_RANGER))
|
||||
{
|
||||
FloatingTextStringOnCreature("You must have 17 Dexterity to take Improved Two Weapon Fighting under 3.5 rules", OBJECT_SELF, FALSE);
|
||||
return TRUE;
|
||||
|
@@ -86,6 +86,28 @@ void main()
|
||||
//timestop noncombat equip
|
||||
DoTimestopEquip(oPC, oItem);
|
||||
|
||||
//:: Clear Echoblade effect if weapon is changed
|
||||
int nBaseItem = GetBaseItemType(oItem);
|
||||
|
||||
effect eEffect = GetFirstEffect(oPC);
|
||||
|
||||
if (nBaseItem == BASE_ITEM_AMULET || nBaseItem == BASE_ITEM_ARMOR || nBaseItem == BASE_ITEM_ARROW || nBaseItem == BASE_ITEM_BELT || nBaseItem == BASE_ITEM_BOLT || nBaseItem == BASE_ITEM_BOOTS
|
||||
|| nBaseItem == BASE_ITEM_BRACER || nBaseItem == BASE_ITEM_BULLET || nBaseItem == BASE_ITEM_CBLUDGWEAPON || nBaseItem == BASE_ITEM_CLOAK || nBaseItem == BASE_ITEM_CPIERCWEAPON
|
||||
|| nBaseItem == BASE_ITEM_CREATUREITEM || nBaseItem == BASE_ITEM_CSLASHWEAPON || nBaseItem == BASE_ITEM_CSLSHPRCWEAP || nBaseItem == BASE_ITEM_GLOVES || nBaseItem == BASE_ITEM_HELMET
|
||||
|| nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_LARGESHIELD || nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_SMALLSHIELD || nBaseItem == BASE_ITEM_TOWERSHIELD)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
while(GetIsEffectValid(eEffect))
|
||||
{
|
||||
if(GetEffectTag(eEffect) == "Echoblade")
|
||||
RemoveEffect(oPC, eEffect);
|
||||
eEffect = GetNextEffect(oPC);
|
||||
}
|
||||
}
|
||||
|
||||
//:: Saint / Holy Touch doesn't work w/ ranged weapons
|
||||
if (GetHasTemplate(TEMPLATE_SAINT, oPC))
|
||||
{
|
||||
|
@@ -64,14 +64,15 @@ void main()
|
||||
SetLocalInt(oDead, "PC_Damage", 0);
|
||||
|
||||
// Do Lolth's Meat for the killer
|
||||
if(GetAbilityScore(oDead, ABILITY_INTELLIGENCE) > 4 && GetHasFeat(FEAT_LOLTHS_MEAT, oKiller))
|
||||
if(GetAbilityScore(oDead, ABILITY_INTELLIGENCE) >= 4 && GetHasFeat(FEAT_LOLTHS_MEAT, oKiller))
|
||||
{
|
||||
effect eLink = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL);
|
||||
/*effect eLink = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL);
|
||||
eLink = EffectLinkEffects(eLink, EffectAttackIncrease(1, ATTACK_BONUS_MISC));
|
||||
eLink = EffectLinkEffects(eLink, EffectDamageIncrease(DAMAGE_BONUS_1, DAMAGE_TYPE_DIVINE));
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oKiller, RoundsToSeconds(GetHitDice(oKiller)));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_EVIL_HELP), oKiller);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oKiller, RoundsToSeconds(5));
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_EVIL_HELP), oKiller);*/
|
||||
ExecuteScript("prc_lolthmeat", oKiller);
|
||||
}
|
||||
|
||||
// Do Mind Cleave feat
|
||||
|
@@ -266,6 +266,7 @@ void Shifter(object oPC, int iArcSpell, int iDivSpell)
|
||||
|| nRace == RACIAL_TYPE_IRDA
|
||||
|| nRace == RACIAL_TYPE_ZAKYA_RAKSHASA
|
||||
|| nRace == RACIAL_TYPE_CHANGELING
|
||||
|| nRace == RACIAL_TYPE_DOPPELGANGER
|
||||
|| nRace == RACIAL_TYPE_ARANEA
|
||||
|| nRace == RACIAL_TYPE_SHIFTER
|
||||
// not counted since it is just "disguise self" and not alter self or shape change
|
||||
|
@@ -72,9 +72,9 @@ void SmartWound(object oPC, object oSkin, int iStrike, int iEquip)
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_SHORTSWORD ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_SICKLE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_WHIP ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELF_COURTBLADE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELF_LIGHTBLADE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELF_THINBLADE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELVEN_COURTBLADE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELVEN_LIGHTBLADE ? 1 : iLight;
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_ELVEN_THINBLADE ? 1 : iLight;
|
||||
if (GetLevelByClass(CLASS_TYPE_IAIJUTSU_MASTER) > 0)
|
||||
{
|
||||
iLight = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))==BASE_ITEM_KATANA ? 1 : iLight;
|
||||
|
Reference in New Issue
Block a user