Fandom

NWN2Wiki

Hellball

3,791pages on
this wiki
Add New Page
Talk0 Share
Is hellball
Hellball
Spell Information
Spell level : Innate level: Epic
School : Evocation
Components : Verbal and Somatic
Range : Long
Target/Area : Huge
Duration : Instant
Save : Reflex 1/2 (DC +5)
Spell resistance : No










DescriptionEdit

You unleash a massive blast of energy that detonates upon all in the AoE, dealing 10d6 fire, 10d6 acid, 10d6 electrical and 10d6 sonic damage. The Hellball ignores Evasion and Improved Evasion.

Gameplay notesEdit

  • The in-game description incorrectly states that this spell is subject to spell resistance.
  • The NWN2 version functions very differently from the NWN1 version. It is possible to restore the spell to its former glory and to fix some bugs along the way. Check the NWN2 toolset for the NWN1 version (X2_S2_HELLBALL) and NWN2 version (nx_s2_hellball).

The caster is supposed to take 10d6 negative energy damage upon casting if the switch MODULE_SWITCH_EPIC_SPELLS_HURT_CASTER has been enabled for the module:

Module load script (k_mod_load for Mask of Betrayer):

SetModuleSwitch (MODULE_SWITCH_EPIC_SPELLS_HURT_CASTER, TRUE);

nx_s2_hellball:

if (GetModuleSwitchValue(MODULE_SWITCH_EPIC_SPELLS_HURT_CASTER)) {

ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_HIT_SPELL_INFLICT_6), OBJECT_SELF); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(d6(10), DAMAGE_TYPE_NEGATIVE), OBJECT_SELF); }


If the spell deals more than 50 damage to a target the target is knocked down:

The problem here is the actual damage dealt calculation. Just because the script calculates 120 points damage doesn't mean the target will actually suffer 120 points damage due to various immunities, damage reductions and resistances. The script needs to check the ACTUAL damage dealt by each particular energy type (except negative damage) and then check if total actual damage dealt exceeds 50. GetTotalDamageDealt() or GetDamageDealtByType() can be used for this purpose, but the damage needs to be checked after each particular damage is dealt, because the game engine only remembers last dealt damage. So several loops are required, during the final loop total damage is checked and the target is knocked down (or not, depending on damage amount):


void CheckKnockdown(int nDamageAcid, int nDamageElectrical, int nDamageFire, int nDamageSonic, int nTotal, int nCurrent) {

if(nCurrent==DAMAGE_TYPE_ACID) {

ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageAcid, nCurrent), OBJECT_SELF);

nTotal+=GetDamageDealtByType(nCurrent);

nCurrent=DAMAGE_TYPE_ELECTRICAL; }

else if(nCurrent==DAMAGE_TYPE_ELECTRICAL) {

ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageElectrical, nCurrent), OBJECT_SELF);

nTotal+=GetDamageDealtByType(nCurrent);

nCurrent=DAMAGE_TYPE_FIRE; } else if(nCurrent==DAMAGE_TYPE_FIRE) {

ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageFire, nCurrent), OBJECT_SELF);

nTotal+=GetDamageDealtByType(nCurrent);

nCurrent=DAMAGE_TYPE_SONIC; } else {

ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageSonic, nCurrent),OBJECT_SELF); nTotal+=GetDamageDealtByType(nCurrent); nCurrent=0; } if (!nCurrent) {

if(nTotal>50)

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), OBJECT_SELF,3.0f); return; }

CheckKnockdown(nDamageAcid, nDamageElectrical,nDamageFire,nDamageSonic,nTotal,nCurrent); }

The function above is called by the affected targets themselves later in the script:

DelayCommand(fDelay+0.0f,AssignCommand(oTarget, CheckKnockdown(nDamageAcid,nDamageElectrical,nDamageFire,nDamageSonic,0,DAMAGE_TYPE_ACID)));

See also epic spell.


AcquisitionEdit

To learn this spell, a character must take the feat Epic Spell: Hellball.

Type of feat: Epic

Prerequisite: Ability to cast 9th level spells1, Spellcraft 30 ranks

Classes: Druid, Wizard, Sorcerer, Spirit Shaman, Warlock2, Arcane Scholar of Candlekeep, Arcane Trickster, Eldritch Knight, Pale Master, Red Wizard, Stormlord

NotesEdit

1 Any level 9 spell qualifies, regardless of class. Any dark invocation also qualifies, regardless of its equivalent spell level.

2 This feat may be taken on a Warlock level if and only if the character is able to cast dark invocations. This is because there are actually two feats corresponding to this epic spell: one for warlocks and one for non-warlocks. It should be noted that no character will ever be eligible for both feats due to the character level cap of 30.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.