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,93 @@
/*:://////////////////////////////////////////////
//:: Spell Name Charm Animal
//:: Spell FileName SMP_S_CharmAnima
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Enchantment (Charm) [Mind-Affecting]
Level: Drd 1, Rgr 1
Components: V, S
Casting Time: 1 standard action
Range: Close (8M)
Target: One animal
Duration: 1 hour/level
Saving Throw: Will negates
Spell Resistance: Yes
This spell functions like charm person, except that it affects a creature of
the animal type. The charming makes an animal creature regard you as its
trusted friend and ally. If the creature is currently being threatened or
attacked by you or your allies, however, it receives a +5 bonus on its saving
throw.
Any act by you or your apparent allies that threatens the charmed animal
breaks the spell. You cannot control a charmed creature directly, but it
may help in battle and not attack you.
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
Charms using Biowares EffectCharmed(), which, as tests show, just increases
personal reputation.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "SMP_INC_SPELLS"
void main()
{
// Spell Hook Check.
if(!SMP_SpellHookCheck()) return;
//Declare major variables
object oCaster = OBJECT_SELF;
object oTarget = GetSpellTargetObject();
int nSpellSaveDC = SMP_GetSpellSaveDC();
int nMetaMagic = SMP_GetMetaMagicFeat();
int nCasterLevel = SMP_GetCasterLevel();
// Duration is 1 hour/level.
float fDuration = SMP_GetDuration(SMP_HOURS, nCasterLevel, nMetaMagic);
// Lower save DC by 5 if they are in combat
if(GetIsInCombat(oTarget))
{
nSpellSaveDC -= 5;
}
// Declare Effects
effect eVis = EffectVisualEffect(VFX_IMP_CHARM);
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE);
effect eCharm = EffectCharmed();
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
// Link effects
effect eLink = EffectLinkEffects(eMind, eCharm);
eLink = EffectLinkEffects(eLink, eCessate);
// Always fire spell cast at event
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_CHARM_ANIMAL, FALSE);
// Make sure they are an anmial
if(GetRacialType(oTarget) == RACIAL_TYPE_ANIMAL &&
// Make sure they are not immune to spells
!SMP_TotalSpellImmunity(oTarget))
{
// Must check reaction type for PvP
if(!GetIsReactionTypeFriendly(oTarget))
{
// Check spell resistance and immunities, and immunity to charm
if(!SMP_SpellResistanceCheck(oCaster, oTarget) &&
!SMP_ImmunityCheck(oTarget, IMMUNITY_TYPE_CHARM) &&
!SMP_ImmunityCheck(oTarget, IMMUNITY_TYPE_MIND_SPELLS))
{
//Make Will Save to negate effect
if(!SMP_SavingThrow(SAVING_THROW_WILL, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_MIND_SPELLS))
{
// Apply VFX Impact and daze effect
SMP_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
}
}
}
}
}