Spell Blink Back

wraithseeker

Tired.
Reaction score
122
JASS:
scope blinkback initializer requires TimerUtils // Add that <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile    :)" loading="lazy" data-shortname=":)" />
 

LiveSsenkrad

Member
Reaction score
3
I found that if you use the ability, and stack the previous location with spiders, the unit won't be able to blink back, but will do the AoE damage at the previous area the caster was. Is this intended?
 

WolfieeifloW

WEHZ Helper
Reaction score
372
You mean if he can't reach where he blinked from?
Wasn't coding with that in mind, but I'd keep it like that anyways.
 

Devrak

New Member
Reaction score
17
This is one awesome spell idea, I can imagine tons of uses for this spell! ;)

I will probably not use your code/spell (suck at jass, for one) and make my own trigger of it, if you don't mind. All credits go to you of course.
 

SerraAvenger

Cuz I can
Reaction score
234
we have found hints that this spell or the timerutils it uses might conflict with the new 1.24 patch...

EDIT: It is the H2I in the timerutils you provided for upload.
 

Sim

Forum Administrator
Staff member
Reaction score
534
Thanks!

Naturally, if the author is to fix these spells, they will most probably be approved once again!
 

Dirac

22710180
Reaction score
147
This spell could use these things:

-Instead of using [ljass]method onDestroy[/ljass] override the destroy method and add [ljass].deallocate()[/ljass]
-Delete the [ljass]TriggerAddAction()[/ljass] and call the actions from the conditions
 

Ayanami

칼리
Reaction score
288
Just a few things:

- You should use GTrigger in my opinion
- Instead of using functions, why not use methods directly?
- You don't need the [ljass]WEAPON_TYPE_WHOKNOWS[/ljass] i believe, just set that field as [ljass]null[/ljass]
- I see that you're doing [ljass]GroupEnumUnitsInRange()[/ljass] and then a [ljass]ForGroup[/ljass] to do a group callback. This isn't necessary, you can just do:
JASS:
private function FilterFunc takes nothing returns boolean
    local unit u = GetFilterUnit() // this is your &quot;enum&quot; unit

    if // all your conditions for the &quot;enum&quot; unit
        // your actions
    endif

    set u = null
    return false
endfunction

private function Actions takes nothing returns nothing
    call GroupEnumUnitsInRange(ENUM_GROUP, x, y, radius, Filter(function FilterFunc))
    // ENUM_GROUP is a global variable that is just used for this filter enumeration purpose
endfunction

Doing this saves you from creating a group on every spell and doing a [ljass]ForGroup()[/ljass].
- Your configuration functions should be a [ljass]private constant function[/ljass]

Other than that, looks good.
 

Dirac

22710180
Reaction score
147
Hmm curious, I always do things in Ayanami's way and i wasn't unable to spot those issues, well...

Using methods directly is better if you want to change the name of the struct at any time and saves you from typing the prefix of the struct
JASS:
private static method Actions takes nothing returns nothing
   local thistype this=thistype.create() //if the struct changes it&#039;s name this would be unaffected
   set .i=1234 //no need to use prefix
endmethod

private static method Conditions takes nothing returns boolean
   call thistype.Actions() //to call static methods within the structs use the &quot;thistype&quot; prefix
   return false
endmethod


And this:
[ljass]Filter(function FilterFunc))[/ljass]
Why is it a Filter() call? You can just write the function there and it would be the same
 

BlackRose

Forum User
Reaction score
239
Why is it a Filter() call? You can just write the function there and it would be the same

Good practice. Either way, even if you write just the function there, it would be compiled to Condition(), I think.
 

Romek

Super Moderator
Reaction score
963
> Instead of using functions, why not use methods directly?
Why should he? It's just personal preference, and there're no real advantages of doing so.

> Why is it a Filter() call? You can just write the function there and it would be the same
GroupEnum.. Functions take a boolexpr, not a code variable. It wouldn't compile otherwise.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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