Spellpack Shadowstep and Inoculate

D

Dr.Mercure

Guest
JASS / GUI : GUI
MUI : No

Shadowstep

Haven't find a good tooltip yet >< but i'll describe it. It's a kind of teleport but when you arrive at the destinate point, your attack speed and your movement speed is increased.

Code:
Code:
Shadowstep
Events
    Unit - A unit Starts the effect of an ability
Conditions
    (Ability being cast) Equal to Shadowstep 
Actions
    Set SS_Caster = (Triggering unit)
    Set SS_Point = (Target point of ability being cast)
    Unit - Pause SS_Caster
    Unit - Create 1 SS Dummy for (Owner of SS_Caster) at SS_Point facing (Random angle) degrees
    Set SS_Effect = (Last created unit)
    Animation - Play SS_Caster's morph animation
    Animation - Change SS_Caster's vertex coloring to (20.00%, 20.00%, 20.00%) with 50.00% transparency
    Wait 0.01 seconds
    Special Effect - Create a special effect at SS_Point using Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
    Special Effect - Destroy (Last created special effect)
    Animation - Change SS_Caster's vertex coloring to (10.00%, 10.00%, 10.00%) with 70.00% transparency
    Wait 0.01 seconds
    Animation - Change SS_Caster's vertex coloring to (0.00%, 0.00%, 0.00%) with 90.00% transparency
    Wait 0.01 seconds
    Unit - Hide SS_Caster
    Unit - Move SS_Caster instantly to SS_Point, facing (Facing of SS_Caster) degrees
    Wait 0.01 seconds
    Unit - Unhide SS_Caster
    Wait 0.10 seconds
    Animation - Play SS_Caster's stand animation
    Unit - Set level of Bloodlust for SS_Effect to ((Level of Inoculate  for SS_Caster) x 1)
    Unit - Order SS_Effect to Orc Shaman - Bloodlust SS_Caster
    Unit - Unpause SS_Caster
    Selection - Select SS_Caster for (Owner of SS_Caster)
    Animation - Change SS_Caster's vertex coloring to (0.00%, 0.00%, 0.00%) with 90.00% transparency
    Wait 0.01 seconds
    Animation - Change SS_Caster's vertex coloring to (5.00%, 5.00%, 5.00%) with 70.00% transparency
    Wait 0.01 seconds
    Animation - Change SS_Caster's vertex coloring to (10.00%, 10.00%, 10.00%) with 50.00% transparency
    Wait 0.01 seconds
    Animation - Change SS_Caster's vertex coloring to (15.00%, 15.00%, 15.00%) with 30.00% transparency
    Wait 0.01 seconds
    Animation - Change SS_Caster's vertex coloring to (20.00%, 20.00%, 20.00%) with 0.00% transparency
    Unit - Remove SS_Effect from the game
    Custom script:   call RemoveLocation (udg_SS_Point)

Screenshots:
ss1ms5.png
ss2tg9.png

Inoculate

Haven't find a tooltip yet :banghead:. Description : Throw a parasite at the targeted enemy unit. Damage the victim after a few seconds. If the unit dies from the damage or during the time the parasite is inside her, it deals damage the the units around her (deal more damage to the nearest enemy / 300 aoe).

Code:
Code:
Inoculate
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Inoculate 
    Actions
        Set Ino_Target = (Target unit of ability being cast)
        Set Ino_Caster = (Triggering unit)
        Set Ino_Level = (Level of Inoculate for Ino_Caster)
        Trigger - Turn on InoculateDead <gen>
        Wait 0.01 seconds
        Animation - Change Ino_Target's size to (105.00%, 105.00%, 105.00%) of its original size
        Animation - Change Ino_Target's vertex coloring to (100.00%, 85.00%, 85.00%) with 0.00% transparency
        Wait 0.01 seconds
        Animation - Change Ino_Target's size to (110.00%, 110.00%, 110.00%) of its original size
        Animation - Change Ino_Target's vertex coloring to (100.00%, 70.00%, 70.00%) with 0.00% transparency
        Wait 0.01 seconds
        Animation - Change Ino_Target's size to (115.00%, 115.00%, 115.00%) of its original size
        Animation - Change Ino_Target's vertex coloring to (100.00%, 50.00%, 50.00%) with 0.00% transparency
        Wait (Random real number between 1.00 and 3.00) seconds
        Unit - Remove Inoculate  buff from Ino_Target
        Special Effect - Create a special effect at (Position of Ino_Target) using Objects\Spawnmodels\Human\HumanBlood\HumanBloodFootman.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Cause Ino_Caster to damage Ino_Target, dealing ((Real(Ino_Level)) x 75.00) damage of attack type Spells and damage type Normal
        Animation - Change Ino_Target's size to (100.00%, 100.00%, 100.00%) of its original size
        Animation - Change Ino_Target's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
        Trigger - Turn off InoculateDead <gen>
Code:
InoculateDead
    Events
        Unit - A unit Dies
    Conditions
        (Triggering unit) Equal to Ino_Target
    Actions
        Special Effect - Create a special effect at (Position of Ino_Target) using Objects\Spawnmodels\Human\HumanLargeDeathExplode\HumanLargeDeathExplode.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Create 1 Ino Dummy for Player 1 (Red) at (Position of Ino_Target) facing 0.00 degrees
        Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
        Unit - Remove Ino_Target from the game
        Unit Group - Pick every unit in (Units within 300.00 of (Position of Ino_Target) matching (((((Matching unit) belongs to an ally of (Owner of Ino_Target)) Equal to True) and (((Matching unit) is A structure) Equal to False)) and ((((Matching unit) is alive) Equal to True) and (((Matching un and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                Unit - Cause Ino_Caster to damage (Picked unit), dealing (((Real(Ino_Level)) x 75.00) - ((Distance between (Position of Ino_Target) and (Position of (Picked unit))) x ((Real(Ino_Level)) x 0.25))) damage of attack type Spells and damage type Normal
        Unit Group - Remove all units from (Last created unit group)

Screenshots:
ino1ks0.png
ino2ae9.png

Maybe you guys could help me to find a good tooltip for my both spells and btw its my first spells. Give me some feedback please :)
 

Attachments

  • Shadowstep and Inoculate.w3x
    60 KB · Views: 245

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
Neither of your spells are MUI, but the second one could be with periodic triggers and some unit groups.

The first is just screwed mainly because a 0.01 second wait isn't a 0.01 second wait; it's more like a 0.27 second wait. You're going to need timers if you want it to be that precise.
 
D

Dr.Mercure

Guest
>You're going to need timers if you want it to be that precise.

How can i make a timer?
 
D

Dr.Mercure

Guest
>Um they both leak, Lots

Maybe u could tell me how I can make my spells leakless (or tell me where the leaks are). Thanks
 

Insane!

Shh I didn't edit this, go away.
Reaction score
122
you have to clear all the variables

Code:
Set Unit = No unit
(that sets it to null)
JASS:
Custom Scrpit: call RemoveLocation (udg_point)

that sets the point to null
 

0zaru

Learning vJASS ;)
Reaction score
60
No. Global units don't need to be setted to null. Also you aren't there setting the point to null, you are just removing the location stored in the variable.
 
D

Dr.Mercure

Guest
Thanks for your comments... added Custom script: call RemoveLocation (udg_SS_Point) at the end of shadowstep trigger and fixed a bug (uploaded the map).
 

Insane!

Shh I didn't edit this, go away.
Reaction score
122
you could make the parisite effect longer

and shadow step is like blink but just has a lot of little sugary bits to it
 

Flare

Stops copies me!
Reaction score
662
>You're going to need timers if you want it to be that precise.

How can i make a timer?

open your variable editor, make new variable, give it a name and make its variable type Timer.

in the inoculatedead trigger, ur unit group at the end of the trigger leaks. removing all units from the unit group just leaves you with an empty unit group. it may not have anything in it, but it still exists. set a unit group variable to units within the specified range matching the specified conditions, pick all units within that group variable and do actions, THEN add

Code:
call DestroyGroup (udg_<Unit group variable's EXACT name>)

thatll remove all traces of that particular setting of the unit group from existance, so it wont cause a leak

overall, spells look nice. might wanna change the War Stomp SFX to be on the ground, rather than on the unit. looks a bit odd with a war stomp flailing around wildly according to the units death animation.
 

Tinki3

Special Member
Reaction score
418
You need to add the tooltips to the abilities yourself :p.

In the "Inoculate" trigger, this line leaks:

> Special Effect - Create a special effect at (Position of Ino_Target) using Objects\Spawnmodels\Human\HumanBlood\HumanBloodFootman.mdl

You need to store what's in bold inside a point variable, reference that content
via that variable, and then simply remove the variable with custom script
when your finished using it, just like the way you did in the other spell's trigger.


More leaks:
Code:
InoculateDead
    Events
        Unit - A unit Dies
    Conditions
        (Triggering unit) Equal to Ino_Target
    Actions
        Special Effect - Create a special effect at ([COLOR="Red"]Position of Ino_Target[/COLOR]) using Objects\Spawnmodels\Human\HumanLargeDeathExplode\HumanLargeDeathExplode.mdl [COLOR="Green"]//Point leak[/COLOR]
        Special Effect - Destroy (Last created special effect)
        Unit - Create 1 Ino Dummy for [COLOR="Red"]Player 1 (Red)[/COLOR] at ([COLOR="Red"]Position of Ino_Target[/COLOR]) facing 0.00 degrees [COLOR="Green"]//"Player 1 (Red)" needs to be "Owner of (Triggering unit)" | Point leak[/COLOR]
        Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
        Unit - Remove Ino_Target from the game
        Unit Group - [COLOR="Red"]Pick every unit in (Units within 300.00 of ([COLOR="Red"]Position of Ino_Target[/COLOR]) matching (((((Matching unit) belongs to an ally of (Owner of Ino_Target)) Equal to True) and (((Matching unit) is A structure) Equal to False)) and ((((Matching unit) is alive) Equal to True) and (((Matching un[/COLOR] and do (Actions) [COLOR="Green"]//Unit group leak | Point leak[/COLOR]
            Loop - Actions
                [COLOR="Red"]Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl[/COLOR] [COLOR="Green"]//Special Effect leak[/COLOR]
                Unit - Cause Ino_Caster to damage (Picked unit), dealing (((Real(Ino_Level)) x 75.00) - [COLOR="Red"]((Distance between (Position of Ino_Target) and (Position of (Picked unit)))[/COLOR] x ((Real(Ino_Level)) x 0.25))) damage of attack type Spells and damage type Normal [COLOR="Green"]//2 Point leaks[/COLOR]
        [COLOR="Red"]Unit Group - Remove all units from (Last created unit group)[/COLOR] [COLOR="Green"]//Not required[/COLOR]
I highly advise you to read this tutorial, excellent for memory leak cleaning.
 
Reaction score
107
couldn't innoculate have been done with doom or parasite?
Just give the spawned creep 1hp and -1hp regeneration, explosive death, and the model as whatever sfx you want?
just a thought...
 
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