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.
This commit is contained in:
Jaysyn904
2024-02-11 14:01:05 -05:00
parent 618cd42b82
commit 6ec137a24e
24762 changed files with 1528530 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
///////////////////////////////////////////////////
//:: Name Hound of Doom
//:: FileName sp_hound_doom.nss
//////////////////////////////////////////////////
/**@file Hound of Doom
Illusion (Shadow)
Level: Hexblade 3
Components: V,S
Casting Time: 1 round
Range: Close
Duration: 1 minute/level (D) or until destroyed
Saving Throw: None
Spell Resistance: No
You shape the essence of the Plane of Shadow to
create a powerful doglike companion that serves you
for the duration of the spell. The hound of doom has
the statistics of a dire wolf with the following
adjustments: It gains a deflection bonus to Armor
Class equal to your Charisma bonus, it's hit points
when created are equal to you fill normal hit points,
and it uses your base attack bonus instad of its own
(adding its +7 bonus from Strength and -1 penalty from
size as normal).
You can command a hound of doom as a move action just
as if it were fully trained to perform all the tricks
listed in the Handle Animal skill.
If a hound of doom's hit points are reduced to 0, it is
destroyed. A hound of doom is treated as a magical
beast for the purpose of spells and effects, but it can
also be dispelled. You can only have one hound of doom
in existence at a time. If you cast a second hound of
doom spell while the first is still active, the first
hound is instantly dispelled.
**/
///////////////////////////////////////////////////////
//:: Author: Tenjac
//:: Date: 8.9.2006
///////////////////////////////////////////////////////
#include "prc_inc_spells"
#include "prc_inc_assoc"
void HoundBuff(object oPC)
{
int i = 1;
object oHound = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC, i);
while(GetIsObjectValid(oHound))
{
if(GetTag(oHound) == "PRC_Hound_Doom")
break;
i++;
oHound = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC, i);
}
int nHP = max(0, GetMaxHitPoints(oPC) - GetCurrentHitPoints(oHound));
effect eHP = EffectTemporaryHitpoints(nHP);
int nABBonus = GetBaseAttackBonus(oPC);
int nAttacks = nABBonus/5;
nABBonus = nABBonus - GetBaseAttackBonus(oHound);
if(nAttacks > 3)
nAttacks = 3;//this give us max 4 attacks per round
effect eVis = EffectVisualEffect(VFX_DUR_PROT_PRC_SHADOW_ARMOR);
effect eBuff = EffectACIncrease(GetAbilityModifier(ABILITY_CHARISMA, oPC), AC_DEFLECTION_BONUS);
eBuff = EffectLinkEffects(eBuff, EffectAttackIncrease(nABBonus));
eBuff = EffectLinkEffects(eBuff, eVis);
if(nAttacks > 0)
eBuff = EffectLinkEffects(eBuff, EffectModifyAttacks(nAttacks));
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBuff, oHound);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eHP, oHound);
SetLocalObject(oPC, "PRC_Hound_Doom", oHound);
}
void main()
{
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_ILLUSION);
object oPC = OBJECT_SELF;
location lLoc = PRCGetSpellTargetLocation();
int nMetaMagic = PRCGetMetaMagicFeat();
int nCasterLvl = PRCGetCasterLevel(oPC);
float fDur = TurnsToSeconds(nCasterLvl);
if(nMetaMagic & METAMAGIC_EXTEND)
fDur += fDur;
object oHound = GetLocalObject(oPC, "PRC_Hound_Doom");
if(GetIsObjectValid(oHound))
DestroyAssociate(oHound);
effect eSummon = EffectSummonCreature("PRC_Hound_Doom", VFX_FNF_SUMMON_UNDEAD);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lLoc, fDur);
DelayCommand(0.1f, HoundBuff(oPC));
PRCSetSchool();
}