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

59 lines
1.9 KiB
Plaintext

#include "prc_inc_clsfunc"
void OnEquip(object oPC,object oSkin,int iLevel,object oWeapR)
{
object oItem=oWeapR;
int bCore = 10 + GetLevelByClass(CLASS_TYPE_MANATARMS,oPC);
if(GetHasFeat(FEAT_STRIKE_AT_CORE)&& GetLocalInt(oItem, "ManArmsCore")!= bCore)
{
if (GetLocalInt(oItem, "ManArmsCore"))
RemoveSpecificProperty(oItem,ITEM_PROPERTY_ON_HIT_PROPERTIES,IP_CONST_ONHIT_ABILITYDRAIN, GetLocalInt(oItem, "ManArmsCore"),1,"ManArmsCore", IP_CONST_ABILITY_CON, DURATION_TYPE_TEMPORARY);
DelayCommand(0.10,AddItemProperty(DURATION_TYPE_TEMPORARY,ItemPropertyOnHitProps(IP_CONST_ONHIT_ABILITYDRAIN,bCore,IP_CONST_ABILITY_CON),oItem,9999.0));
SetLocalInt(oItem,"ManArmsCore",bCore);
}
}
void OnUnEquip(object oPC,object oSkin,int iLevel,object oWeapR )
{
object oItem=oWeapR;
RemoveSpecificProperty(oItem,ITEM_PROPERTY_ON_HIT_PROPERTIES,IP_CONST_ONHIT_ABILITYDRAIN, -1,1,"ManArmsCore", IP_CONST_ABILITY_CON, DURATION_TYPE_TEMPORARY);
DeleteLocalInt(oItem, "ManArmsCore");
}
void main()
{
//Declare main variables.
object oPC = OBJECT_SELF;
object oSkin = GetPCSkin(oPC);
int iEquip= GetLocalInt(oPC,"ONEQUIP");
int iAtk = GetHasFeat(FEAT_LEGENDARY_PROWESS, oPC) ? 3 : 1;
if (GetHasFeat(FEAT_LEGENDARY_PROWESS,oPC))
SetCompositeBonus(oSkin,"ManArmsAC",2,ITEM_PROPERTY_AC_BONUS);
if (GetHasFeat(FEAT_MASTER_CRITICAL,oPC))
DelayCommand(6.0f, ImpCrit(oPC, oSkin));
if (iEquip ==1)
{
OnUnEquip(oPC,oSkin,iAtk,GetItemLastUnequipped());
}
else
{
OnEquip(oPC,oSkin,iAtk,GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC));
OnEquip(oPC,oSkin,iAtk,GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC));
}
if (GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)))
{
ActionCastSpellOnSelf(SPELL_MANATARMS_DAMAGE);
}
else
{
PRCRemoveEffectsFromSpell(oPC, SPELL_MANATARMS_DAMAGE);
}
}