55 lines
1.6 KiB
Plaintext
55 lines
1.6 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Order of the Bow Initiate
|
|
//:: prc_ootbi.nss
|
|
//:://////////////////////////////////////////////
|
|
//:: Applies Order of the Bow Initiate Bonuses
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Stratovarius
|
|
//:: Created On: April 20, 2004
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void RemoveGreaterWeaponFocus(object oPC, object oWeap)
|
|
{
|
|
if(DEBUG) DoDebug("prc_ootbi.nss: Remove GreaterWeaponFocus is run");
|
|
|
|
PRCRemoveEffectsFromSpell(oPC, SPELL_OOTBI_GREATER_WEAPON_FOCUS);
|
|
DeleteLocalInt(oWeap, "GreaterWeaponFocus");
|
|
}
|
|
|
|
void GreaterWeaponFocus(object oPC, object oWeap)
|
|
{
|
|
if(GetLocalInt(oWeap, "GreaterWeaponFocus"))
|
|
return;
|
|
|
|
if(DEBUG) DoDebug("prc_ootbi.nss: Add GreaterWeaponFocus is run");
|
|
|
|
RemoveGreaterWeaponFocus(oPC, oWeap);
|
|
// Greater Weapon Focus ability
|
|
DelayCommand(0.1, ActionCastSpellOnSelf(SPELL_OOTBI_GREATER_WEAPON_FOCUS));
|
|
SetLocalInt(oWeap, "GreaterWeaponFocus", TRUE);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
if(GetLevelByClass(CLASS_TYPE_ORDER_BOW_INITIATE, oPC) >= 4)
|
|
{
|
|
object oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
|
object oUnequip = GetItemLastUnequipped();
|
|
int iEquip = GetLocalInt(oPC, "ONEQUIP");
|
|
|
|
if(iEquip == 1)
|
|
RemoveGreaterWeaponFocus(oPC, oUnequip);
|
|
if(iEquip == 2)
|
|
{
|
|
int iType = GetBaseItemType(oWeap);
|
|
if(iType == BASE_ITEM_LONGBOW || iType == BASE_ITEM_SHORTBOW)
|
|
{
|
|
GreaterWeaponFocus(oPC, oWeap);
|
|
}
|
|
}
|
|
}
|
|
} |