//:://///////////////////////////////////////////// //:: Shining Blade of Heironeous - Brilliant Weapon //:: prc_sbheir_holy.nss //::////////////////////////////////////////////// //:: Applies a temporary 1d6 Electric Bonus and a //:: 2d6 Bonus vs evil creatures to the //:: Shining Blade's weapon. Duration based on Cha //:: and Class level. Also adds +20 to Attack. //::////////////////////////////////////////////// //:: Created By: Stratovarius //:: Created On: July 13, 2004 //::////////////////////////////////////////////// #include "prc_alterations" #include "prc_class_const" #include "prc_inc_sbheir" void main() { object oPC = OBJECT_SELF; //Calculate bonus duration int nCharisma = GetAbilityModifier(ABILITY_CHARISMA); if(nCharisma < 0) nCharisma = 0; int nDuration = GetLevelByClass(CLASS_TYPE_SHINING_BLADE) + nCharisma; //Get the wielded weapons object oOnHandWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND); object oOffHandWeapon = GetItemInSlot(INVENTORY_SLOT_LEFTHAND); int bOnHand = (GetBaseItemType(oOnHandWeapon) == BASE_ITEM_LONGSWORD); int bOffHand = (GetBaseItemType(oOffHandWeapon) == BASE_ITEM_LONGSWORD); //Apply the bonuses if (bOnHand) BrilliantBlade_ApplyProperties(oOnHandWeapon, nDuration); if (bOffHand) BrilliantBlade_ApplyProperties(oOffHandWeapon, nDuration); BrilliantBlade_ApplyAttackBonuses(oPC, bOnHand, bOffHand); //Schedule the bonuses to expire SetLocalInt(oPC, PRC_ShiningBlade_Duration, nDuration); SetLocalInt(oPC, PRC_ShiningBlade_Level, SHINING_BLADE_LEVEL_BRILLIANT); ShiningBlade_ScheduleBonusExpiration(oPC, nDuration, SHINING_BLADE_LEVEL_BRILLIANT); //If bonuses not applied, tell why if(!bOnHand && !bOffHand) { FloatingTextStringOnCreature(GetStringByStrRef(60543+0x01000000), oPC, FALSE); IncrementRemainingFeatUses(oPC, FEAT_BRILLIANT_BLADE); } }