1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. The long-awaited results for Concept Art Contest #11 have finally been released!
    Dismiss Notice
  3. Join Texturing Contest #30 now in a legendary battle of mythological creatures!
    Dismiss Notice
  4. The 20th iteration of the Terraining Contest is upon us! Join and create exquisite Water Structures for it.
    Dismiss Notice
  5. Hivers united and created a bunch of 2v2 melee maps. Vote for the best in our Melee Mapping Contest #4 - Poll!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice

TorrentSystem v2.0b

Submitted by AGD
This bundle is marked as approved. It works and satisfies the submission rules.
Torrent System v2.0b


A system that allows you to easily create Torrents - a vertical column of water that knocks units upward and damages them. You can it in spells, maze traps, cinematics, etc.

All documentation can be found in the resource itself.
Click Preview Triggers below to view the resource code.

A sample usage can be found in the demo map.


Version History

v2.0b
- Fixed many bugs
- Significantly shortened the code size
- Other relevant changes

v1.0
- First Upload
Contents

TorrentSystem v2.0b (Map)

Reviews
MyPad
I will try out this commonly-accepted format of moderation for spells, so do not be surprised if some things have changed Notes: API seems straightforward and easy to understand. method explode takes boolean tossUnits returns nothing ......
  1. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,221
    Resources:
    5
    Models:
    1
    Icons:
    1
    Spells:
    2
    JASS:
    1
    Resources:
    5


    Notes:


    • API seems straightforward and easy to understand.
    • Code (vJASS):

      method explode takes boolean tossUnits returns nothing
          ...
          set triggerInstance = this
          call GroupEnumUnitsInRange(tempGroup, .centerX, .centerY, .radius, .filterExpr)
          set triggerInstance = 0
       


      The possibility of a recursion error, though remote, should be addressed. The recursion error can occur when the explode() method is called on a .filterExpr member.

    • The system relies on an index being assigned to a dummy unit. If said dummy unit is excluded from the filter requirement for indexing, this may cause unintended behavior. (Documentation should suffice in addressing this issue).

    Suggestions:


    • Method operator damagePerSecond and derivatives can be shortened to just dps.
    • Add two wrapper methods for registerExplosionHandler and registerVanishHandler respectively, expecting a code parameter.

    Addendum:


    • Most of the issues addressed in the Notes section are reportedly minor (being unlikely to occur), and will not significantly affect the state of the bundle. However, minor updates resolving these issues are appreciated.

    Status:


    • Approved!