Update to PRC 4.1.10a

Update to PRC 4.1.10a
This commit is contained in:
Jaysyn904
2022-12-09 19:08:32 -05:00
parent edc1ff70e3
commit 6c305aecc5
128 changed files with 48777 additions and 47646 deletions

View File

@@ -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));

View File

@@ -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)

View File

@@ -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);

View File

@@ -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

View File

@@ -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)));
}

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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))
{

View File

@@ -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

View File

@@ -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

View File

@@ -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;