Snippet Illusion

Dirac

22710180
Reaction score
147
JASS:
library Illusion initializer onInit uses/*

*/  RegisterPlayerUnitEvent /* hiveworkshop.com/forums/jass-functions-413/snippet-registerplayerunitevent-203338/
*/  Dummy                   /* thehelper.net/forums/showthread.php/167231-Dummy

Special thanks:
    -Jedi (Detection of new illusions)
    
***********************************************************************
*
*   function UnitCreateIllusionById takes unit whichUnit, player forPlayer, integer abilityId, integer level returns unit
*       -   The ability must be based off Item Illusion
*
**********************************************************************/

    globals
        private unit LastCreatedIllusion
    endglobals
    
    function UnitCreateIllusion takes unit whichUnit, player forPlayer, integer abilityId, integer level returns unit
        call Dummy[abilityId].load()
        set Dummy[abilityId].level=level
        set Dummy.owner=forPlayer
        call Dummy[852274].castOnTarget(whichUnit)
        call Dummy[abilityId].unload()
        return LastCreatedIllusion
    endfunction
    
    private function onCreate takes nothing returns boolean
        if Dummy.is(GetSummoningUnit()) then
            set LastCreatedIllusion=GetSummonedUnit()
        endif
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_SUMMON,function onCreate)
    endfunction
    
endlibrary
 

Laiev

Hey Listen!!
Reaction score
188
I suggest you to allow something like:

[ljass]function SetIllusionTimedLife takes unit illusion returns nothing[/ljass]

Noone want a illusion with infinity time
 

Dirac

22710180
Reaction score
147
I suggest you to allow something like:

[ljass]function SetIllusionTimedLife takes unit illusion returns nothing[/ljass]

Noone want a illusion with infinity time
True, updated the system
 

Dirac

22710180
Reaction score
147
Updated.
-Now the system takes RegisterPlayerUnitEvent as a requirement
-Changed some of the code for it to work with the new version of Dummy
 

Dirac

22710180
Reaction score
147
Updated:
-Removed the external block (the user should create it's own illusion ability)
-Changed the API
 

Laiev

Hey Listen!!
Reaction score
188
The old is better IMO

You just need one ability to generate any type of illusion

Also, this function as a CreateIllusionEx should be good if people change the damage values of illusion.
 

Dirac

22710180
Reaction score
147
The thing is that the damage / duration of the illusions can't be changed through triggers and the default one doesn't always fit the user's needs, thats why i removed the default illusion ability
 
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