• 🏆 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!

Magic Stream v.1.0

64
Spell Description:


Creates a powerful stream of arcane energy that travels between units, dealing INT based damage and casts one of the following spells: Innerfire, Frostarmor, Rejuvination, Bloodlust, Invisibility, Polymorph, Slow, Faeriefire, Cripple, Curse.

Level 1 - Deals 1.75 x INT spell damage, jumps 4 times.
Level 2 - Deals 2.25 x INT spell damage, jumps 5 times.
Level 3 - Deals 2.75 x INT spell damage, jumps 6 times.

[!] Quest: Hit 45 enemy heroes with this spell.

[?] Reward: Removes targets limit.

Cast Range: 650
Mana Cost: 135/155/185
Cooldown: 18/15/10 sec.


giphy.gif


How to import:

Tested patch - 1.32 (SD)

[ ] Copy/Import dummy.mdx model
[ ] Copy all custom units
[ ] Copy all custom abilities
[ ] Copy all custom buffs
[ ] Copy Triggers
[ ] Configure xebasic: XE_DUMMY_UNITID
[ ] Configure AutoIndex: LeaveDetectAbilityID
[ ] Configure MagicStream trigger
[ ] Disable DEBUG_MODE


Credits:

Vexorian - XE, TimerUtils
Magtheridon96 - RegisterPlayerUnitEvent
Maker - Arcing Text Tag
grim001 - AutoIndex
Contents

Magic Stream v.1.0 (Map)

Reviews
MyPad
A short review: Spell: Thematically, the Magic Stream shows an abject perspective on the essence of magic as a force of innate chaos. Nothing that can be done with magic can be predicted, and the spell delivers on that. Still, I find the concept...
A short review:

Spell:

Thematically, the Magic Stream shows an abject perspective on the essence of magic as a force of innate chaos. Nothing that can be done with magic can be predicted, and the spell delivers on that. Still, I find the concept behind the spell a bit wanting at its' core, as it tacks in multiple base spells in order to give off a nuanced feel.

Code:

  • static method MagicStream.chainJump
    • Inside the FoG loop, GroupClear can be replaced with a break statement. In the case of normal vJASS, it's exitwhen true
  • method MagicStream.singleEffect
    • Unless it's intentional, this.questHandle appears to be an auxiliary part of the spell. If it is intentional, the option of letting users decide on how to display the upgraded ability notification should be given, and should not be solely based on BJDebugMsg.
  • (Suggestion only) The function names in the library should follow the FunctionCase convention. At the moment, it can be confusing to discern whether something is a function or a method.

I'd give this a rating of 4.1/5, with some points taken off due to originality of the concept (-0.3), and functional libraries which are quite dated and might have more modern replacements (-0.6).
 
Top