1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. The 15th Mini-Mapping Contest came to an end. The Secrets of Warcraft 3 are soon to be revealed! Come and vote in the public poll for your favorite maps.
    Dismiss Notice
  4. The 12th incarnation of the Music Contest is LIVE! The theme is Synthwave. Knight Rider needs a song to listen to on his journey. You should definitely have some fun with this theme!
    Dismiss Notice
  5. Join other hivers in a friendly concept-art contest. The contestants have to create a genie coming out of its container. We wish you the best of luck!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

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,258
    Resources:
    6
    Models:
    1
    Icons:
    1
    Spells:
    3
    JASS:
    1
    Resources:
    6


    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!