Further file organization

Further file organization
This commit is contained in:
Jaysyn904
2023-08-23 22:11:00 -04:00
parent 3062876237
commit d87fe14826
22364 changed files with 0 additions and 3253 deletions

View File

@@ -0,0 +1,58 @@
/*
23/1/21 by Stratovarius
A soulspark attacks by focusing soul energy on its target as a ranged attack. This doesn<73>t provoke attacks of opportunity.
*/
#include "moi_inc_moifunc"
#include "prc_inc_sp_tch"
void main()
{
object oSoulspark = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
//SendMessageToPC(GetFirstPC(),"moi_mld_slspkatk: we have target "+GetName(oTarget));
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
effect eRay = EffectBeam(VFX_BEAM_ODD, OBJECT_SELF, BODY_NODE_HAND);
int iAttackRoll, nDam, nAtk;
string sType = GetResRef(oSoulspark);
if (sType == "moi_slspk_least") nDam = d4()+1;
else if (sType == "moi_slspk_lesser") nDam = d6()+2;
else if (sType == "moi_slspk_medium")
{
nDam = d8()+3;
nAtk = 1;
}
else if (sType == "moi_slspk_greatr")
{
nDam = d12()+5;
nAtk = 1;
}
object oMeldshaper = GetMaster(OBJECT_SELF);
if (!GetLocalInt(oMeldshaper, "SoulsparkEssentiaChoice"))
{
nDam += GetEssentiaInvested(oMeldshaper, MELD_SOULSPARK_FAMILIAR);
nAtk += GetEssentiaInvested(oMeldshaper, MELD_SOULSPARK_FAMILIAR);
}
if(!GetIsReactionTypeFriendly(oTarget))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_RAY_OF_FROST));
iAttackRoll = PRCDoRangedTouchAttack(oTarget, FALSE, oSoulspark, nAtk);
if(iAttackRoll > 0)
{
// perform ranged touch attack and apply sneak attack if any exists
ApplyTouchAttackDamage(oSoulspark, oTarget, iAttackRoll, nDam, DAMAGE_TYPE_POSITIVE);
//Apply the VFX impact and damage effect
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRay, oTarget, 1.7,FALSE);
}
}