Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
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);
|
|
}
|
|
}
|