• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Spear of Ragnarok 2.03

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.

Zeatherann Presents:

An Anthro-Vixen Spell


Spear of Ragnarok


Spell Description

The legendary Spear was recovered and repaired again, now its devastating power can be wielded by the mortals of this realm once more. Calling down an explosion capable of leveling cities in a single instant, moving mountains, and obliterating armies.


Configurables
  • AoE
  • Special Effect for the rings.
  • Special Effect dummy unit for the main blast.
  • Number of rings.
  • How far the points on the rings are placed from eachother.
  • Main blast damage.
  • Ring Damage.
  • Min and Max speeds for Rings.
  • If the same unit can be hit by the same ring multiple times or not.
  • Changing between percent [0.0 to 1.0] dmg to absolute damage.
Installing
  1. Copy the Trigger 'Folder' SoR.
  2. Check 'create unknown variables'
  3. Paste into your map.
JASS:


2.0
  • Spell Uploaded!
2.01
  • Made it use FirstofGroup.
  • Removed the location use.
  • Fixed minor script errors.
2.02
  • Fixed the Actions function.
  • Added SoR_Ability to change the ability code for the spell.
2.03
  • Fixed a few leaks.
  • Added Configurability for the speed of the rings.
  • Localized the settings for each ring, that way each instance of the spell should hold its own pool of data, allowing for this spell to be used in different spells, or leveled spells.
  • Optimized a few parts of the spell, most notably made it only use one timer for all rings, versus one timer per ring.
  • Added ability to say if a ring can damage a unit multiple times or not. This is a global setting for all instances.


Notes
  • This spell's eye candy can get pretty laggy when the spell is spammed over four time in the same spot, though considering the main purpose of this spell; that shouldn't matter.
  • This spell is not some overpowered super-killer! It is designed to be balanced, i find it quite balanced with these values: BurstDmg=0.25, RingDmg=0.01, Percent=true, RingDetail=64.
  • The terrain is Blizzard's map Bridge Too Near.
Disclaimer: Even though this is a JASS spell, it is intended to be very GUI friendly, hence the global variables.

Spell is made in JASS.

Keywords:
Spear of Ragnarok, Zeatherann, AoE, Area of Effect, destruction, boom, explosion
Contents

(Spell) Spear of Ragnarok (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 16:01, 8th Sep 2012 Magtheridon96: Since you have a loop inside a loop inside a loop, I'm going to urge you to optimize it as much as possible :P - Get rid of the 0.405 life check...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

16:01, 8th Sep 2012
Magtheridon96:

Since you have a loop inside a loop inside a loop, I'm going to urge you to optimize it as much as possible :p

- Get rid of the 0.405 life check. The IsUnitType check is accurate enough, and the life check makes it less accurate because the life could be pretty much anything while a unit is dead. If it reaches 0.405 or less just once, the unit is dead and any changes to life will not make it live, so it is technically possible to have a unit with more than 0.405 HP that is dead.
- Instead of comparing something to false, change the expression from the form (expression == false) to (not expression). Apply this transformation across all your code for a nice little optimization.
- Make the damage/attack types configurable.
- Instead of (not IsUnitAlly(...)), just use IsUnitEnemy.
- In the Init function, use TriggerRegisterAnyUnitEventBJ. It's actually one of the few BJs that are good.
- Don't use the trigger global variable, use a local trigger in the Init function because the global variable is useless anyway. It's cleaner with the local trigger too ^.^
 
Level 22
Joined
Nov 14, 2008
Messages
3,256
Just a few things that I spotted right away.

Put all things you have in actions function into the conditions function, make an if at the top checking the spell ID and return false at the end.

WHy are you using locations? JASS is so wonderful compared to GUI that coordinates is so easily retrieved by calling simple functions. Like GetSpellTargetX/Y().

You should use GetWidgetLife(u) > 0.405 instead of GetUnitState but also add IsUnitType(u, UNIT_TYPE_DEAD).

Use a FirstofGroup loop instead of ForGroup as it's faster. And for pure temporary enumerations I suggest using a global group instead of creating/destroying.

Instead of PI*2, use 6,2831.

WEAPON_TYPE_WHOKNOWS -> null. Basically the same thing.

If you really want pure damage, you should use DAMAGE_TYPE_UNIVERSAL instead of magic which will result in normal spell damage anyway.
 
Level 5
Joined
May 13, 2012
Messages
66
Whatta hell!

Ok, the screeny says it all!
I was thinking of putting Odin's legendary spear (Gugnir) into my Avengers map as a legendary item. Guess this spell is whatthe spear can do.

BTW, Ragnarok is technically known as the "twilight of the gods" so unleashing it indicates the end of everything.
 
errrmmm the test map is terrible, no units to test it with.
Also, the ability in the OE was poorly designed, with no description.

And as for the name, I didn't see a spear. Also, Ragnarok is a fire titan... this is more along the lines of arcane.
The code itself is fine, but you must remember this is the spells section, not a snippet section lol
 
maddeem, the 'spell' is an item spell currently, thus there is no description. The spell itself it based off of Channel and has it's art removed. The test map is a perfect map, since my intention was to balance this in a melee setting. If you look at the icon of the item it is indeed a spear. Ragnarok may be based on fire, but the beam the spear emits is always represented as an arcane/lightning beam, I categorized it under 'Chaos' (hence the damage type) and made it more arcane because i had to use a small SFX that played nicely with animation.

Furthermore, the eyecandy of this spell is very easy to modify, change the SoR_RingSFX string and the model of the dummy unit to match your needs.
 
Top