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

TorrentSystem v2.1.0

  • Like
Reactions: Kakerate and SebioL
Torrent System v2.1.0


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.



v2.1.0
- Additional API
- explodeTimed()
- handler registration taking code instead of boolexpr
- handler clearing methods
- Fixed possible thread crashes caused by division by 0
- Fixed possible recursion issues in the explode() method

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

v1.0
- First Upload
Contents

TorrentSystem v2.1.0 (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 ...

Notes:

  • API seems straightforward and easy to understand.
  • JASS:
    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!
 
Top