Spell Paralyzing Cask

Naminator

Coming Back To Life
Reaction score
76
Here's another DotA Spell made by me. Paralyzing Cask from Witch Doctor. How to implement this in your map inside.

JASS/GUI: GUI
Lagless: Yes
Leakless: Yes (I think)
MUI: Don't think so

Paralyzing Cask:
Vol'jin launches a cask of paralyzing powder that bounces between foes, stunning those affected for a short period of time (1 sec on Hero, 5 on creeps). Deals damage per bounce to non-hero units.

Code:
Code:
Paralyzing Cask
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Paralyzing Cask
    Actions
        Countdown Timer - Pause PC_StartTimer
        Unit - Remove PC_Dummy from the game
        Set PC_Caster = (Triggering unit)
        Set PC_Caster_Loc = (Position of PC_Caster)
        Set PC_Target = (Target unit of ability being cast)
        Set PC_Target_Loc = (Position of PC_Target)
        Set PC_Jumps = (2 x (Level of Paralyzing Cask  for PC_Caster))
        Set PC_Movement = 13.00
        Set PC_Detect = 50.00
        Set PC_Timer = 0.03
        Set PC_AoE = 500.00
        Unit - Create 1 Dummy Effect for (Owner of PC_Caster) at PC_Caster_Loc facing PC_Target_Loc
        Set PC_Dummy = (Last created unit)
        Countdown Timer - Start PC_StartTimer as a Repeating timer that will expire in PC_Timer seconds
        Custom script:   call RemoveLocation(udg_PC_Caster_Loc)
        Custom script:   call RemoveLocation(udg_PC_Target_Loc)

Code:
Paralyzing Cask Action
    Events
        Time - PC_StartTimer expires
    Conditions
    Actions
        Set PC_Dummy_Loc = (Position of PC_Dummy)
        Set PC_Target_Loc = (Position of PC_Target)
        Set PC_Offset = (PC_Dummy_Loc offset by PC_Movement towards (Angle from PC_Dummy_Loc to PC_Target_Loc) degrees)
        Set PC_Distance = (Distance between PC_Dummy_Loc and PC_Target_Loc)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                PC_Distance Greater than PC_Detect
            Then - Actions
                Unit - Move PC_Dummy instantly to PC_Offset, facing (Angle from PC_Dummy_Loc to PC_Target_Loc) degrees
            Else - Actions
                Unit - Move PC_Dummy instantly to PC_Target_Loc
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (PC_Target is A Hero) Equal to True
                    Then - Actions
                        Unit - Remove Paralyzing Cask (Pause) buff from PC_Target
                        Unit - Create 1 Dummy Unit for (Owner of PC_Caster) at PC_Target_Loc facing Default building facing degrees
                        Unit - Add Stun for Heroes  to (Last created unit)
                        Unit - Order (Last created unit) to Neutral - Firebolt PC_Target
                        Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
                    Else - Actions
                        Unit - Remove Paralyzing Cask (Pause) buff from PC_Target
                        Unit - Create 1 Dummy Unit for (Owner of PC_Caster) at PC_Target_Loc facing Default building facing degrees
                        Unit - Add Stun for Creeps  to (Last created unit)
                        Unit - Set level of Stun for Creeps  for (Last created unit) to (Level of Stun for Creeps  for PC_Caster)
                        Unit - Order (Last created unit) to Human Mountain King - Storm Bolt PC_Target
                        Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
                Set PC_Jumps = (PC_Jumps - 1)
                Set PC_Group = (Units within PC_AoE of PC_Dummy_Loc matching ((((Matching unit) belongs to an enemy of (Owner of PC_Caster)) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((Matching unit) Not equal
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Number of units in PC_Group) Greater than 0
                        PC_Jumps Greater than 0
                    Then - Actions
                        Set PC_Target = (Random unit from PC_Group)
                    Else - Actions
                        Countdown Timer - Pause PC_StartTimer
                        Unit - Remove PC_Dummy from the game
                Custom script:   call DestroyGroup (udg_PC_Group)
        Custom script:   call RemoveLocation (udg_PC_Dummy_Loc)
        Custom script:   call RemoveLocation (udg_PC_Target_Loc)
        Custom script:   call RemoveLocation (udg_PC_Offset)
 

Attachments

  • [Spell]-Paralyzing Cask.w3x
    15.1 KB · Views: 939
Last edited by a moderator:

NetherHawk

New Member
Reaction score
26
i dont think it's that, this forum is pretty quiet anyway.. haha


edit: hey nami, animation -wise, why dont you change the missle art to acid bomb and missle speed to 10000, then u get the exploding green effect.
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
As said above, nice nami :p Btw, the cask won't hit one alone unit over and over again, right /lazy to read all ur code/?
 

NetherHawk

New Member
Reaction score
26
lol, the conditions are too long to be seen, its just has to be matching unit not equal to pc_target and it would be fine.
 

Naminator

Coming Back To Life
Reaction score
76
As said above, nice nami Btw, the cask won't hit one alone unit over and over again, right /lazy to read all ur code/?

No. It won't hit only one unit, over and over again.

lol, the conditions are too long to be seen, its just has to be matching unit not equal to pc_target and it would be fine.

Also Thanks! But no. Cause if you put that only, you may stun your units or hero. They are just conditions..

Nice one! I see it might be used as other chain spell.

Thanks!
 

Tinki3

Special Member
Reaction score
418
This is good.

Though you need to change the hotkey to a key that isn't the hotkey for
any of a unit's general orders (patrol, attack, stop, etc).

The spell also needs some more eyecandy IMO; it has no sound or effects
when the cask hits a unit - quite dry.

Also, "PC_Distance" doesn't appear to have been used at all in the code.

All else seems fine.
 

Naminator

Coming Back To Life
Reaction score
76
This is good.

Though you need to change the hotkey to a key that isn't the hotkey for
any of a unit's general orders (patrol, attack, stop, etc).

The spell also needs some more eyecandy IMO; it has no sound or effects
when the cask hits a unit - quite dry.

Also, "PC_Distance" doesn't appear to have been used at all in the code.

All else seems fine.

Thanks Tinki3. :D. I added the effect of the ability, has sound and effect. And also use the PC_Distance.

Fixed it and Update it!
 

FireBladesX

Eating my wings!
Reaction score
123
Just wondering, would it be a bit simpler to do this...
Multiple triggers heh

Trigger one:
Map initiation, get all units, for each unit...
[Trigger] (Add event to trigger)
Add [(Picked unit) takes damage] to (DamageTrigger)
Make sure there are no leaks. I'm assuming that would be fairly common knowledge.

Trigger two:
unit enters (playable map area)
[Trigger] (Add event to trigger)
Add [(Entering unit) takes damage] to (DamageTrigger)
Make a condition, ((matching unit) is a (hero)) equal to (false)

Trigger three:
When you buy a hero,
[Trigger] (Add event to trigger)
Add [(Last created unit) takes damage] to (DamageTrigger)
or
Add [(Purchased unit) takes damage] to (DamageTrigger),
depending on how heros are purchased.
This is so that if heros are revived, you don't have it stacked.
So, now, there's a damage trigger.
So, when a unit takes damage, the condition being [level of (dummy storm bolt) for damage source is greater than or equal to 1),
pick one random unit in a 400 radius matching [(matching unit is alive), (matching unit is an enemy of owner of damage source), (matching unit is triggering unit equal to false).
Create a dummy unit to cast a storm bolt "paralyzing cask" on the picked unit. Add a special effect acid bomb on the targeted unit if needed, I'm not sure if it is.


I don't have WE open in front of me, a lot of the stuff i just put down might be just plain wrong.
 
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