Further file organization
Further file organization
This commit is contained in:
56
nwn/nwnprc/trunk/scripts/prc_sbheir_holy.nss
Normal file
56
nwn/nwnprc/trunk/scripts/prc_sbheir_holy.nss
Normal file
@@ -0,0 +1,56 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Shining Blade of Heironeous - Holy 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.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: 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, oPC);
|
||||
if (nCharisma < 0) nCharisma = 0;
|
||||
int nDuration = (GetLevelByClass(CLASS_TYPE_SHINING_BLADE,oPC)) + nCharisma;
|
||||
|
||||
//Get the wielded weapons
|
||||
|
||||
object oOnHandWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
||||
object oOffHandWeapon = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
|
||||
int bOnHand = (GetBaseItemType(oOnHandWeapon) == BASE_ITEM_LONGSWORD);
|
||||
int bOffHand = (GetBaseItemType(oOffHandWeapon) == BASE_ITEM_LONGSWORD);
|
||||
|
||||
//Apply the bonuses
|
||||
|
||||
if (bOnHand)
|
||||
HolyBlade_ApplyProperties(oOnHandWeapon, nDuration);
|
||||
|
||||
if (bOffHand)
|
||||
HolyBlade_ApplyProperties(oOffHandWeapon, nDuration);
|
||||
|
||||
//Schedule the bonuses to expire
|
||||
|
||||
SetLocalInt(oPC, PRC_ShiningBlade_Duration, nDuration);
|
||||
SetLocalInt(oPC, PRC_ShiningBlade_Level, SHINING_BLADE_LEVEL_HOLY);
|
||||
ShiningBlade_ScheduleBonusExpiration(oPC, nDuration, SHINING_BLADE_LEVEL_HOLY);
|
||||
|
||||
//If bonuses not applied, tell why
|
||||
|
||||
if(!bOnHand && !bOffHand)
|
||||
{
|
||||
FloatingTextStringOnCreature(GetStringByStrRef(60541+0x01000000), oPC, FALSE);
|
||||
IncrementRemainingFeatUses(oPC, FEAT_HOLY_BLADE);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user