Updated Vow of Poverty. Added Sanctify Ki Strike, Holy Strike, Fist of Heavens, Vow of Abstinence, Vow of Chastity & Gift of Faith. (@fenac). Turned off the Taunt & Parry skills. Re-disabled AC & save bonuses from Tumble & Spellcraft. Updated min() & max() to PRCmin() & PRCmax() to not conflict with similarly named NUI adjacent functions. Set Point Blank Shot to 30' per PnP. Added icon for Chosen of Evil. Started work on Hidden Talent. Created Psionics function cheatsheet. Updated release archive.
70 lines
3.3 KiB
Plaintext
70 lines
3.3 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Complete Warrior Samurai Staredown class ability
|
|
//:: prc_cwsm_stare
|
|
//::///////////////////////////////////////////////
|
|
/** @file
|
|
Staredown (Ex):
|
|
At 6th level, a samurai becoms able to strike
|
|
fear into his foes by his mere presence. He gains
|
|
+4 on Intimidate checks and can demoralize an
|
|
opponent.
|
|
|
|
SRD on Intimidate - Demoralize Opponent:
|
|
You can also use Intimidate to weaken an
|
|
opponent's resolve in combat. To do so, make an
|
|
Intimidate check opposed by the target's modified
|
|
level check (1d20 + hit dice + wisdom bonus,
|
|
if any). If you win, the targe becomes shaken for
|
|
1 round. A shaken character takes a -2 penalty
|
|
on attack rolls, ability checks and saving
|
|
throws.
|
|
|
|
@date Modified - 2006.07.04
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
|
|
// Target validity check
|
|
if(oTarget != oPC && // Can't stare self down
|
|
spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oPC) // PVP settings stuff
|
|
)
|
|
{
|
|
// Let the target know something hostile happened
|
|
SignalEvent(oTarget, EventSpellCastAt(oPC, PRCGetSpellId(), TRUE));
|
|
|
|
// Intimidate DC calculation
|
|
int nDC = d20() // Die roll
|
|
+ GetHitDice(oTarget) // Hit dice
|
|
+ PRCMax(0, GetAbilityModifier(ABILITY_WISDOM, oTarget)) // Wisdom bonus, no wisdom penalty
|
|
+ (4 * (PRCGetCreatureSize(oTarget) - PRCGetCreatureSize(oPC))) // Adjust by 4 in favor of the bigger creature for each size category it is bigger than the smaller one
|
|
;
|
|
// Construct Intimidate effect
|
|
effect eLink = EffectAttackDecrease(2);
|
|
eLink = EffectLinkEffects(eLink, EffectSavingThrowDecrease(SAVING_THROW_ALL,2));
|
|
eLink = EffectLinkEffects(eLink, EffectSkillDecrease(SKILL_ALL_SKILLS,2));
|
|
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE));
|
|
eLink = ExtraordinaryEffect(eLink);
|
|
// Determine duration. Normally 2 rounds, with Improved Staredown, 5
|
|
float fDuration = RoundsToSeconds(GetHasFeat(FEAT_CWSM_IMPROVED_STAREDOWN, oPC) ?
|
|
5 :
|
|
2
|
|
);
|
|
|
|
// Make the skill roll and display results
|
|
if(GetIsSkillSuccessful(oPC, SKILL_INTIMIDATE, nDC) && !GetIsImmune(oTarget, IMMUNITY_TYPE_FEAR, oPC))
|
|
{// "* Staredown - success! *"
|
|
FloatingTextStringOnCreature("* " + GetStringByStrRef(16826174) + " - " + GetStringByStrRef(5353) + "! *", oPC);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration);
|
|
}
|
|
else// "* Staredown - failure! *"
|
|
FloatingTextStringOnCreature("* " + GetStringByStrRef(16826174) + " - " + GetStringByStrRef(5354) + "! *", oPC);
|
|
}
|
|
}
|