GammaAge/_content/ga_scripts/mut_t_repulsion.nss

57 lines
2.1 KiB
Plaintext
Raw Permalink Normal View History

//::///////////////////////////////////////////////////////////////////////////
//:: Name Repulsion template test script
//:: FileName mut_t_repulsion.nss
//:: Copyright (c) 2022 NWNDS
//::///////////////////////////////////////////////////////////////////////////
/*
Repulsion (Mental)
The mutant has the ability to project a beam of force that attempts to repulse all things along a line from the mutant. The line extends
up to 20 feet, plus 5 feet per MPS modifier. All creatures (and unattended objects) not more than one size category larger than the
mutant are subjected to a bull rush. A roll of 1d20 + BA + MS mod + MPS mod (instead of the mutants CMB), is compared against the
CMD of each opponent. If the “attack” is successful, a target is pushed back 5 feet. For every 5 by which the attack exceeds the
opponents CMD, the target is pushed back an additional 5 feet. Any opponent that strikes a solid object (or is hit by one) takes 1d6
non-lethal damage per 10 of movement. The power can be used a number of times a day equal to 3 + MPS modifier
[Ranged Bull Rush, see notes]
*/
//:://////////////////////////////////////////////////////////////////////////
//:: Created By: Jaysyn
//:: Created On: 22/03/22
//:://////////////////////////////////////////////////////////////////////////
#include "prc_alterations"
#include "prc_inc_template"
#include "prc_racial_const"
void main()
{
object oPC = OBJECT_SELF;
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_CONTINUE);
//:: Any living genotype except oozes, cyborgs & shapechangers
int nRace = MyPRCGetRacialType(oPC);
if(nRace == RACIAL_TYPE_CONSTRUCT
|| nRace == RACIAL_TYPE_SMLBOT
|| nRace == RACIAL_TYPE_MEDBOT
|| nRace == RACIAL_TYPE_LRGBOT
|| nRace == RACIAL_TYPE_DROID
|| nRace == RACIAL_TYPE_OOZE
|| nRace == RACIAL_TYPE_SHAPECHANGER
|| nRace == RACIAL_TYPE_CYBORG
|| nRace == RACIAL_TYPE_ELEMENTAL
|| nRace == RACIAL_TYPE_UNDEAD)
{
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
}
//:: Can't get this mutation twice.
if(GetHasTemplate(MUT_REPULSION, oPC))
{
SetExecutedScriptReturnValue(X2_EXECUTE_SCRIPT_END);
}
}