public void FuryOfTheStorm_EnergizeOff(FuryOfTheStormAttack attackNumber) { int index; index = (int)attackNumber; if (actualParticles[index] != null) { actualParticles[index].Stop(); } }
int CalculateDamage(FuryOfTheStormAttack attackNumber) { double regularHitDamage = Math.Round((double)(abilityDamage / (noOfRegularHits + finalHitMultiplier))); int finalHitDamage = (int)regularHitDamage * finalHitMultiplier; if ((finalHitDamage + (noOfRegularHits * regularHitDamage)) != abilityDamage) { finalHitDamage = abilityDamage - (noOfRegularHits * (int)regularHitDamage); } if (attackNumber == FuryOfTheStormAttack.FifthFuryAttack) { return(finalHitDamage); } else { return((int)regularHitDamage); } }
//used via animation event public void FuryOfTheStorm_DealDamage(FuryOfTheStormAttack attackNumber) { int dmg; DamageEffect dmgEffect; if (attackNumber == FuryOfTheStormAttack.FifthFuryAttack) { dmg = CalculateDamage(attackNumber); dmgEffect = DamageEffect.Knockback; SpecialParticlesOn(false); } else { dmg = CalculateDamage(attackNumber); dmgEffect = abilityDamageEffect; } GetComponent <CharacterCombat2D>().DealCombatDamage(dmg, dmgEffect); Debug.Log("FuryOfTheStorm dealt: " + dmg); }
bool DeterminePrimarySpawnPoint(FuryOfTheStormAttack attackNumber) { bool isPrimary; switch (attackNumber) { case FuryOfTheStormAttack.SecondFuryAttack: isPrimary = false; break; case FuryOfTheStormAttack.FourthFuryAttack: isPrimary = false; break; default: isPrimary = true; break; } return(isPrimary); }
//used via animation event public void FuryOfTheStorm_Energize(FuryOfTheStormAttack attackNumber) { int index; index = (int)attackNumber; if (DeterminePrimarySpawnPoint(attackNumber)) { actualParticles[index] = Instantiate(particles[index], primaryParticleSpawnPoint.position, primaryParticleSpawnPoint.rotation); actualParticles[index].GetComponent <Renderer>().sortingLayerName = SortingLayers.DetermineParticleLayer(true, playerStats); } else { actualParticles[index] = Instantiate(particles[index], secondaryParticleSpawnPoint.position, secondaryParticleSpawnPoint.rotation); actualParticles[index].GetComponent <Renderer>().sortingLayerName = SortingLayers.DetermineParticleLayer(true, playerStats); } if (attackNumber == FuryOfTheStormAttack.FifthFuryAttack) { SpecialParticlesOn(true); } }