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.
59 lines
1.9 KiB
Plaintext
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);
|
|
}
|
|
}
|