Fixed CCOH, Fixed starting GP, Fixed DMFI languages, Fix cep weapon appearances, Fixed new player start up system. Added PC deleter. Added ACP 4.1. Full compile. Updated release archive.
64 lines
2.1 KiB
Plaintext
64 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Salt Mephit Breath
|
|
//:: NW_S1_MephSalt
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Salt Mephit shoots out a bolt of corrosive material
|
|
that causes 1d4 damage and reduces AC and Attack by 2
|
|
|
|
This should be a cone - Jaysyn
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: May 11, 2001
|
|
//:://////////////////////////////////////////////
|
|
#include "prc_inc_spells"
|
|
//#include "wm_include"
|
|
|
|
void main()
|
|
{
|
|
//if (WildMagicOverride()) { return; }
|
|
|
|
//:: Declare major variables
|
|
object oNPC = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
|
|
int nHD = GetHitDice(oNPC);
|
|
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
|
|
int nDC = 10 +nCONMod+ (nHD/2);
|
|
int nDamage = d4();
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
|
effect eBolt, eAttack, eAC;
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
|
|
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
|
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ACID);
|
|
|
|
//Make a ranged touch attack
|
|
int nTouch = TouchAttackRanged(oTarget);
|
|
if(nDamage == 0) {nTouch = 0;}
|
|
if(nTouch > 0)
|
|
{
|
|
if(nTouch == 2)
|
|
{
|
|
nDamage *= 2;
|
|
}
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_MEPHIT_SALT_BREATH));
|
|
|
|
//Set damage, AC mod and attack mod effects
|
|
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
|
|
eAC = EffectACDecrease(2);
|
|
eAttack = EffectAttackDecrease(2);
|
|
effect eLink = EffectLinkEffects(eAttack, eAC);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
|
|
//Apply the VFX impact and effects
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(3));
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
}
|
|
}
|