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.
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
/*
|
|
----------------
|
|
Eternal Training racial type
|
|
attack and damage bonus
|
|
|
|
tob_etbl_ettrrace.nss
|
|
----------------
|
|
|
|
10 MAR 09 by GC
|
|
*/ /** @file
|
|
|
|
Sets attack and damage bonus against
|
|
target's racial type.
|
|
*/
|
|
|
|
#include "tob_inc_move"
|
|
#include "tob_movehook"
|
|
////#include "prc_alterations"
|
|
#include "prc_inc_combat"
|
|
|
|
void main()
|
|
{
|
|
object oInitiator = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
|
|
if (!PreManeuverCastCode())
|
|
{
|
|
IncrementRemainingFeatUses(oInitiator, FEAT_ETBL_ETERNAL_TRAINING);
|
|
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
|
|
return;
|
|
}
|
|
// End of Spell Cast Hook
|
|
|
|
// Blade guide check
|
|
if(GetLocalInt(oInitiator, "ETBL_BladeGuideDead"))
|
|
{
|
|
IncrementRemainingFeatUses(oInitiator, FEAT_ETBL_ETERNAL_TRAINING);
|
|
FloatingTextStringOnCreature("*Cannot use ability without blade guide*", oInitiator, FALSE);
|
|
return;
|
|
}
|
|
// Used in encounter already?
|
|
if(GetLocalInt(oInitiator, "ETBL_Eternal_Training_Expended"))
|
|
{
|
|
IncrementRemainingFeatUses(oInitiator, FEAT_ETBL_ETERNAL_TRAINING);
|
|
FloatingTextStringOnCreature("*Eternal Training expended already*", oInitiator, FALSE);
|
|
return;
|
|
}
|
|
// Check Intelligence modifier, exit if <= 0
|
|
int nInt = GetAbilityModifier(ABILITY_INTELLIGENCE, oInitiator);
|
|
if(nInt <= 0)
|
|
{
|
|
IncrementRemainingFeatUses(oInitiator, FEAT_ETBL_ETERNAL_TRAINING);
|
|
FloatingTextStringOnCreature("*Intelligence modifier zero or less*", oInitiator, FALSE);
|
|
return;
|
|
}
|
|
|
|
struct maneuver move = EvaluateManeuver(oInitiator, oTarget, TRUE);
|
|
|
|
if(move.bCanManeuver)
|
|
{
|
|
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oInitiator);
|
|
int nRace = MyPRCGetRacialType(oTarget);
|
|
int nDamageType = GetWeaponDamageType(oWeapon);
|
|
if(DEBUG) DoDebug("Target raialtype: " + IntToString(nRace));
|
|
|
|
effect eLink = VersusRacialTypeEffect(EffectAttackIncrease(nInt), nRace);
|
|
eLink = EffectLinkEffects(eLink, VersusRacialTypeEffect(EffectDamageIncrease(nInt, nDamageType), nRace));
|
|
//eLink = VersusRacialTypeEffect(eLink, nRace);
|
|
eLink = ExtraordinaryEffect(eLink);
|
|
//eLink = SupernaturalEffectEffect(eLink);
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oInitiator);
|
|
|
|
// Expend ability
|
|
SetLocalInt(oInitiator, "ETBL_Eternal_Training_Expended", TRUE);
|
|
}
|
|
else
|
|
IncrementRemainingFeatUses(oInitiator, FEAT_ETBL_ETERNAL_TRAINING);
|
|
} |