Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
66 lines
2.6 KiB
Plaintext
66 lines
2.6 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Black Flame Zealot
|
|
//:: prc_bfz.nss
|
|
//:://////////////////////////////////////////////
|
|
//:: Check to see which Black Flame Zealot feats a PC
|
|
//:: has and apply the appropriate bonuses.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Stratovarius
|
|
//:: Created On: July 6, 2004
|
|
//:://////////////////////////////////////////////
|
|
#include "inc_item_props"
|
|
#include "prc_x2_itemprop"
|
|
|
|
void main()
|
|
{
|
|
//Declare main variables.
|
|
object oPC = OBJECT_SELF;
|
|
object oSkin = GetPCSkin(oPC);
|
|
|
|
// Zealous Heart
|
|
if(!GetLocalInt(oSkin, "BFZHeart"))
|
|
{
|
|
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_FEAR), oSkin);
|
|
SetLocalInt(oSkin, "BFZHeart", TRUE);
|
|
}
|
|
|
|
// Sacred Flame
|
|
if(GetHasFeat(FEAT_SACRED_FLAME, oPC))
|
|
{
|
|
object oItem;
|
|
int iEquip = GetLocalInt(oPC, "ONEQUIP");
|
|
//OnEquip - add bonus damage
|
|
if(iEquip == 2)
|
|
{
|
|
oItem = GetItemLastEquipped();
|
|
if(IPGetIsMeleeWeapon(oItem))
|
|
{
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6), oItem, 999999.0);
|
|
return;
|
|
}
|
|
}
|
|
//OnUnequip - remove bonus damage
|
|
else if(iEquip == 1)
|
|
{
|
|
oItem = GetItemLastUnequipped();
|
|
if(IPGetIsMeleeWeapon(oItem))
|
|
{
|
|
RemoveSpecificProperty(oItem, ITEM_PROPERTY_DAMAGE_BONUS, IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6, 1, "", -1, DURATION_TYPE_TEMPORARY);
|
|
return;
|
|
}
|
|
}
|
|
//everything else - update damage if DEX changed
|
|
oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
|
if(IPGetIsMeleeWeapon(oItem))
|
|
{
|
|
RemoveSpecificProperty(oItem, ITEM_PROPERTY_DAMAGE_BONUS, IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6, 1, "", -1, DURATION_TYPE_TEMPORARY);
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6), oItem, 999999.0);
|
|
}
|
|
oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
|
|
if(IPGetIsMeleeWeapon(oItem))
|
|
{
|
|
RemoveSpecificProperty(oItem, ITEM_PROPERTY_DAMAGE_BONUS, IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6, 1, "", -1, DURATION_TYPE_TEMPORARY);
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6), oItem, 999999.0);
|
|
}
|
|
}
|
|
} |