PRC8/nwn/nwnprc/trunk/scripts/prc_arcduel.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

58 lines
1.6 KiB
Plaintext

#include "prc_alterations"
#include "inc_utility"
// * Applies the Arcane Duelist's AC bonus as a CompositeBonus on object's skin.
void ApparentDefense(object oPC, object oSkin)
{
if(GetLocalInt(oSkin, "ADDef") == GetAbilityModifier(ABILITY_CHARISMA, oPC)) return;
SetCompositeBonus(oSkin, "ADDef", GetAbilityModifier(ABILITY_CHARISMA, oPC), ITEM_PROPERTY_AC_BONUS);
}
// * Removes the Arcane Duelist's Enchant Chosen Weapon bonus
void RemoveEnchantCW(object oPC, object oWeap)
{
if (GetLocalInt(oWeap, "ADEnchant"))
{
SetCompositeBonusT(oWeap, "ADEnchant", 0, ITEM_PROPERTY_ENHANCEMENT_BONUS);
}
}
// * Applies the Arcane Duelist's Enchant Chosen Weapon bonus
void EnchantCW(object oPC, object oWeap)
{
int iBonus = 0;
if (GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, oPC) >= 1)
iBonus += 1;
if (GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, oPC) >= 4)
iBonus += 1;
if (GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, oPC) >= 6)
iBonus += 1;
if (GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, oPC) >= 8)
iBonus += 1;
//SendMessageToPC(oPC, "Enchant Chosen Weapon has been run");
DelayCommand(0.1,SetCompositeBonusT(oWeap, "ADEnchant", iBonus, ITEM_PROPERTY_ENHANCEMENT_BONUS));
}
void main()
{
object oPC = OBJECT_SELF;
object oSkin = GetPCSkin(oPC);
object oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
if (GetHasFeat(FEAT_AD_APPARENT_DEFENSE, oPC)) ApparentDefense(oPC, oSkin);
if (GetLocalInt(oWeap,"CHOSEN_WEAPON") == 2)
EnchantCW(oPC, oWeap);
if (GetLocalInt(oPC,"ONEQUIP") == 1)
RemoveEnchantCW(oPC, GetItemLastUnequipped());
}