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.
66 lines
2.6 KiB
Plaintext
66 lines
2.6 KiB
Plaintext
|
|
#include "prc_alterations"
|
|
|
|
void main()
|
|
{
|
|
object oCreature = PRCGetSpellTargetObject();
|
|
object oRighthand = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oCreature);
|
|
object oLefthand = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oCreature);
|
|
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oCreature);
|
|
int iExtraAttacks = 0;
|
|
int iBrawlerAttacks = GetLocalInt(oCreature, "BrawlerAttacks");
|
|
|
|
// Calculate the number of extra attacks
|
|
if (GetHasFeat(FEAT_BRAWLER_EXTRAATT_1, oCreature))
|
|
{
|
|
if (!GetIsObjectValid(oRighthand))
|
|
{
|
|
if (!GetIsObjectValid(oLefthand) || GetBaseItemType(oLefthand) == BASE_ITEM_TORCH)
|
|
{
|
|
if (!GetLevelByClass(CLASS_TYPE_MONK, oCreature))
|
|
{
|
|
if (GetHasFeat(FEAT_BRAWLER_EXTRAATT_3, oCreature))
|
|
{
|
|
iExtraAttacks = 3;
|
|
FloatingTextStringOnCreature("*Extra unarmed attacks enabled: Three extra attacks per round*", oCreature, FALSE);
|
|
}
|
|
else if (GetHasFeat(FEAT_BRAWLER_EXTRAATT_2, oCreature))
|
|
{
|
|
iExtraAttacks = 2;
|
|
FloatingTextStringOnCreature("*Extra unarmed attacks enabled: Two extra attacks per round*", oCreature, FALSE);
|
|
}
|
|
else
|
|
{
|
|
iExtraAttacks = 1;
|
|
FloatingTextStringOnCreature("*Extra unarmed attack enabled: One extra attack per round*", oCreature, FALSE);
|
|
}
|
|
}
|
|
else FloatingTextStringOnCreature("*Extra unarmed attack not enabled: Cannot stack with monk*", oCreature, FALSE);
|
|
}
|
|
else FloatingTextStringOnCreature("*Extra unarmed attack not enabled: Shield equipped*", oCreature, FALSE);
|
|
}
|
|
else FloatingTextStringOnCreature("*Extra unarmed attack not enabled: Weapon equipped*", oCreature, FALSE);
|
|
}
|
|
|
|
// No change, skip doing anything
|
|
if(iExtraAttacks == iBrawlerAttacks) return;
|
|
|
|
|
|
// Remove the old effects
|
|
if (GetHasSpellEffect(SPELL_BRAWLER_EXTRA_ATT, oCreature))
|
|
{
|
|
PRCRemoveSpellEffects(SPELL_BRAWLER_EXTRA_ATT, oCreature, oCreature);
|
|
}
|
|
|
|
if (!iExtraAttacks)
|
|
DeleteLocalInt(oCreature, "BrawlerAttacks");
|
|
else
|
|
{
|
|
SetLocalInt(oCreature, "BrawlerAttacks", iExtraAttacks);
|
|
|
|
effect eExtraAttacks = SupernaturalEffect(EffectModifyAttacks(iExtraAttacks));
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eExtraAttacks, oCreature);
|
|
}
|
|
}
|