Spell Dark Hole

R@i_no_Wyrm

New Member
Reaction score
43
Dark Hole​

This spell is MUI/GUI

Maybe some of us have known Enigma's dark hole. Why don't make an improved one? This dark hole won't just drag everyone in. It grows... and suck units, even the caster, even the corpse! After, the dark hole will explode, killing units inside and around it.

How to Import the spell :
Copy the 2 units 'dummy' and 'Dark Hole Dummy' on the object editor.
Also, copy the 'Dark Hole' skill on the ability editor.
Then, copy the 2 spell triggers
Edit the numbers and constants if you wish.

Skill Description :
Creates a hole of complete darkness that will absorb every units including you, your allies and even corpses into it while growing bigger and bigger. Units get too close will be sucked in, making the dark hole even bigger. The bigger the hole, the greater is the area of effect. After some time passed or if the dark hole reached its maximum size, the dark hole will explode, dealing damage equal to its size to units in AoE.
Lv1 = 850 max size, 5 seconds duration
Lv2 = 1100 max size, 6 seconds duration
Lv3 = 1350 max size, 7 seconds duration.

Triggers :
1st one, when you cast the skills :
Code:
Dark Hole
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Dark Hole 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                count Equal to 100
            Then - Actions
                Set count = 1
            Else - Actions
                Set count = (count + 1)
        Set leakstop_location = (Target point of ability being cast)
        Unit - Create 1 Dark Hole Dummy for (Owner of (Triggering unit)) at leakstop_location facing Default building facing degrees
        Set darkhole_dummyunit[count] = (Last created unit)
        Set darkhole_maxsize[count] = (600 + (250 x (Level of Dark Hole  for (Triggering unit))))
        Set darkhole_size[count] = (100 + (100 x (Level of Dark Hole  for (Triggering unit))))
        Set darkhole_duration[count] = (200 + (50 x (Level of Dark Hole  for (Triggering unit))))
        Set owner_of_darkhole[count] = (Owner of (Triggering unit))
        Unit Group - Remove all units from darkhole_units_sucked[count]
        Custom script:   call RemoveLocation(udg_leakstop_location)

And second (and the last), dragging units, explode the darkhole, grow it up, and suck units inside :
Code:
Dark Hole Suck
    Events
        Time - Every 0.02 seconds of game time
    Conditions
    Actions
        Set leakstop_unitgroup = (Units of type Dark Hole Dummy)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Number of units in leakstop_unitgroup) Greater than 0
            Then - Actions
            Else - Actions
                Skip remaining actions
        For each (Integer A) from 1 to 100, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        darkhole_dummyunit[(Integer A)] Not equal to No unit
                    Then - Actions
                        Set darkhole_size[(Integer A)] = (darkhole_size[(Integer A)] + 1)
                        Set darkhole_duration[(Integer A)] = (darkhole_duration[(Integer A)] - 1)
                        Animation - Change darkhole_dummyunit[(Integer A)]'s size to ((100.00 + ((Real(darkhole_size[(Integer A)])) / 10.00))%, (100.00 + ((Real(darkhole_size[(Integer A)])) / 10.00))%, 100.00%) of its original size
                        Animation - Change darkhole_dummyunit[(Integer A)] flying height to ((Current flying height of darkhole_dummyunit[(Integer A)]) + 2.00) at 2.00
                        Set point2 = (Position of darkhole_dummyunit[(Integer A)])
                        -------- Explode the darkhole --------
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                Or - Any (Conditions) are true
                                    Conditions
                                        darkhole_size[(Integer A)] Greater than or equal to darkhole_maxsize[(Integer A)]
                                        darkhole_duration[(Integer A)] Less than or equal to 0
                            Then - Actions
                                Set units_around_darkhole = (Units within (Real(darkhole_size[(Integer A)])) of point2 matching (((Matching unit) is A structure) Equal to False))
                                Unit Group - Pick every unit in units_around_darkhole and do (Actions)
                                    Loop - Actions
                                        Unit - Cause darkhole_dummyunit[(Integer A)] to damage (Picked unit), dealing ((Real(darkhole_size[(Integer A)])) / 2.00) damage of attack type Spells and damage type Normal
                                        Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 1000.00
                                Custom script:   call DestroyGroup(udg_units_around_darkhole)
                                Unit - Kill darkhole_dummyunit[(Integer A)]
                                Set darkhole_dummyunit[(Integer A)] = No unit
                                Unit Group - Pick every unit in darkhole_units_sucked[(Integer A)] and do (Actions)
                                    Loop - Actions
                                        Unit - Create 1 Dummy for owner_of_darkhole[(Integer A)] at point2 facing Default building facing degrees
                                        Unit - Cause (Last created unit) to damage (Picked unit), dealing ((Real(darkhole_size[(Integer A)])) / 1.00) damage of attack type Spells and damage type Normal
                                        Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                                        Unit - Move (Picked unit) instantly to point2
                                        Unit - Unhide (Picked unit)
                                Unit Group - Remove all units from darkhole_units_sucked[count]
                                Custom script:   call RemoveLocation(udg_point2)
                                Skip remaining actions
                            Else - Actions
                        -------- Drag to darkhole --------
                        Set units_around_darkhole = (Units within (Real(darkhole_size[(Integer A)])) of point2 matching (((Matching unit) is A structure) Equal to False))
                        Unit Group - Pick every unit in units_around_darkhole and do (Actions)
                            Loop - Actions
                                Unit - Add Storm Crow Form to (Picked unit)
                                Animation - Change (Picked unit) flying height to (Current flying height of darkhole_dummyunit[(Integer A)]) at 75.00
                                Unit - Remove Storm Crow Form from (Picked unit)
                                Set point1 = (Position of (Picked unit))
                                Set leakstop_location = (point1 offset by ((Real(darkhole_size[(Integer A)])) / 200.00) towards (Angle from point1 to point2) degrees)
                                Unit - Move (Picked unit) instantly to leakstop_location
                                Custom script:   call RemoveLocation(udg_point1)
                                Custom script:   call RemoveLocation(udg_leakstop_location)
                        Custom script:   call DestroyGroup(udg_units_around_darkhole)
                        -------- Suck nearby units --------
                        Set units_around_darkhole = (Units within ((Real(darkhole_size[(Integer A)])) / 8.00) of point2 matching (((Matching unit) is A structure) Equal to False))
                        Unit Group - Pick every unit in units_around_darkhole and do (Actions)
                            Loop - Actions
                                Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 1000.00
                                Unit Group - Add (Picked unit) to darkhole_units_sucked[(Integer A)]
                                Unit - Hide (Picked unit)
                                Set darkhole_size[(Integer A)] = (darkhole_size[(Integer A)] + 75)
                                Animation - Change darkhole_dummyunit[(Integer A)]'s size to ((100.00 + ((Real(darkhole_size[(Integer A)])) / 10.00))%, (100.00 + ((Real(darkhole_size[(Integer A)])) / 10.00))%, 100.00%) of its original size
                        Custom script:   call DestroyGroup(udg_units_around_darkhole)
                        Custom script:   call RemoveLocation(udg_point2)
                    Else - Actions
        Custom script:   call DestroyGroup(udg_leakstop_unitgroup)

wc3scrnshot012808011723ah1.jpg

wc3scrnshot012808011925ph5.jpg


Bugs, Errors, leaks and typo please post here.
 

Attachments

  • darkhole.w3x
    27.3 KB · Views: 623
Instead of counting to 100 in the loop, why not simple loop till count? (So you can have more instances..)
 
>>Everyone knows Enigma's dark hole
False.

You forgot to add a [spell] tag?
 
Because the count will be reverted down to one after 100.

>>You forgot to add a [spell] tag?
Sorry.

Updated. Found a leak and add flying effects
 
I was to lazy to overlook the spell. Instead of killing units can't you just damage them instead?
And are units able to walk away (although slower) to avoid getting in the dark hole?
 
no they arent they arent even able to cast spells (i wanted to make 10 dark holes but one draged me in and i got killed)
 
Isn't it supposed to be Black Hole? Anyway, I found a bug. I didn't read through the triggers but when 2 Dark Holes are casted and exploded, the hero was missing o_O. Here's the replay.
 

Attachments

  • LastReplay.w3g
    3 KB · Views: 327
Ah... I see the bug. It should be fixed by now. Also, a new system is implemented, you can give the dark hole max duration aside from just size.

@MCR-ELSKER What do you mean?
 
It's not fully MUI, it's limited to 100 casts at once :p although we cannot possibly cast 100 times at such short duration

Anyway, this Black Hole looks veery similar to waaaks!'s Black Hole in his RotG, except that his doesn't grow.

Nevertheless, a good spell.

EDIT:
> Units get too close will be sucked in, making the dark hole even bigger.

Wrong :p The Black Hole grows overtime, not because it sucks units

Why Dark Hole? I thought it's Black Hole...
 
>> Units get too close will be sucked in, making the dark hole even bigger.

>Wrong The Black Hole grows overtime, not because it sucks units

>Why Dark Hole? I thought it's Black Hole...

because black holes dont grow if they suck units in but dark holes do.

Nice spell <3
 
Waaks!'s Black Hole spell at least gives you a chance to run away , :rolleyes:
 
It's not fully MUI, it's limited to 100 casts at once :p although we cannot possibly cast 100 times at such short duration

Anyway, this Black Hole looks veery similar to waaaks!'s Black Hole in his RotG, except that his doesn't grow.

Nevertheless, a good spell.

EDIT:
> Units get too close will be sucked in, making the dark hole even bigger.

Wrong :p The Black Hole grows overtime, not because it sucks units

Why Dark Hole? I thought it's Black Hole...

Yes, it grows over time; but it also grows more faster when it sucks an unit.

>Everyone's telling me that this skill has been made? (well, I don't know)

The big difference is... (I don't know in RotG but compared to Enigma's and Gals's) This dark hole's not only pull units near. It sucks unit inside and once sucked, the unit can't see itself, and it'll go BOOM and deals 2x damage to units trapped inside it.
 
That is just minor, yes! Minor modification. You still can't leave the main [del]part[/del] theme of the "Black Hole". (Sucking units.)
 
Oh, okay. Then I'll try to make another original spell...

(your avatar... really surprise me out when I see it. Where did you get that?)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good
  • The Helper The Helper:
    I would like to see it again like Ghan had it the first time with pagination though - without the pagination that view will not work but with pagination it just might...
  • The Helper The Helper:
    This drink recipe I have had more than a few times back in the day! Mind Eraser https://www.thehelper.net/threads/cocktail-mind-eraser.194720/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top