#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()); }