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,81 @@
//////////////////////////////////////////////////
// Profane Life Leech
// prc_prflflch.nss
//////////////////////////////////////////////////
/** @file Profane Lifeleech [Divine]
Prerequisite: Ability to rebuke undead.
Benefit: As a standard action, you can spend two of your rebuke attempts to deal
1d6 points of damage to all living creatures within a 30-foot burst. You are healed of
an amount of damage equal to the total amount of hit points that you drain from
affected creatures, but this healing does not allow you to exceed your full normal
hit point total.
Special: This feat deals no damage to constructs or undead.
*/
///////////////////////////////////////////////////////////////////////////////////
// Author: Tenjac
// Created: 4/22/08
///////////////////////////////////////////////////////////////////////////////////
#include "prc_inc_spells"
void main()
{
object oPC = OBJECT_SELF;
location lLoc = GetLocation(oPC);
//Rebuke check
if(GetAlignmentGoodEvil(oPC) != ALIGNMENT_EVIL && !GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC))
{
SendMessageToPC(oPC, "You must be able to Rebuke Undead to use this feat.");
return;
}
//If they have zero left, uncermoniously boot them without incrementing
if(!GetHasFeat(FEAT_TURN_UNDEAD, oPC))
{
SendMessageToPC(oPC, "You do not have enough uses of Rebuke Undead left.");
return;
}
DecrementRemainingFeatUses(oPC, FEAT_TURN_UNDEAD);
//Check for a remaining use
if(GetHasFeat(FEAT_TURN_UNDEAD, oPC))
{
//burn the other use required
DecrementRemainingFeatUses(oPC, FEAT_TURN_UNDEAD);
//VFX
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), lLoc);
int nDam;
float fRange = FeetToMeters(30.0);
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, fRange, lLoc, FALSE, OBJECT_TYPE_CREATURE);
while(GetIsObjectValid(oTarget))
{
if(oTarget != oPC)
{
if(PRCGetIsAliveCreature(oTarget) && !GetIsReactionTypeFriendly(oTarget))
{
nDam = d6(1);
//Damage
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDam, DAMAGE_TYPE_DIVINE), oTarget);
//Heal
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(nDam), oPC);
}
}
oTarget = MyNextObjectInShape(SHAPE_SPHERE, fRange, lLoc, FALSE, OBJECT_TYPE_CREATURE);
}
}
else
{
IncrementRemainingFeatUses(oPC, FEAT_TURN_UNDEAD);
SendMessageToPC(oPC, "You do not have enough uses of Rebuke Undead left.");
}
}