How to multicast?

RueK

New Member
Reaction score
11
My hero has a storm bolt skill, and his ulti is minded to be a pasive ability that lets his first skill (storm bolt) to be casted 2/4/7 more times like the multicast on dota but without a casting chance.

how the trigger would look like ?
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Does this mean you essentially want it to have a 100% chance to multicast?

Code:
Events: Unit starts the effect of an ability
Conditions: Ability being cast equal to (Storm Bolt)
Actions: If: Level of (Multicast) for (Casting unit) equal to 1
            Then: [B]Set GeneralPoint equal to (Position of (Casting unit))
                     Create 1 Dummy Caster at (GeneralPoint) for (Owner of (Casting unit)) facing default building facing degrees
                     Add a 3.00 second expiration timer to (Last created unit)
                     Add (Dummy Storm Bolt) to (Last created unit)
                     Set level of (Dummy Storm Bolt) for (Last created unit) equal to (Level of (Multicast) for (Casting unit))
                     Order (Last created unit) to (Human Mountain King -- Storm Bolt) (Target unit of ability being cast)
                     call RemoveLocation(udg_GeneralPoint)[/B]

Include a wait after the bolded stuff, and copy the bolded stuff for every time you want an extra Storm Bolt to fire. This trigger causes a dummy to shoot 1 Storm Bolt at the target when you have level 1 Multicast.
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Every time you copy the bolded set of actions, it will create another Storm Bolt. Change the condition in the "If" portion of the If-Then-Else so it detects levels 2 and 3.
 

Anti-krazy

New Member
Reaction score
5
just copy the if/then/else function and copy it BELLOW if/then/else

then change the level number from 1 to 2 then so on and so on
 

RueK

New Member
Reaction score
11
Code:
Multicast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fireblast 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Multicast  for (Casting unit)) Equal to 1
            Then - Actions
                Set MulticastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of MulticastCaster) at (Position of MulticastCaster) facing Default building facing degrees
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for MulticastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
                Custom script:   call RemoveLocation(udg_MulticastCaster)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Multicast  for (Casting unit)) Equal to 3
            Then - Actions
                Set MulticastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of MulticastCaster) at (Position of MulticastCaster) facing Default building facing degrees
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for MulticastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
                Custom script:   call RemoveLocation(udg_MulticastCaster)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Multicast  for (Casting unit)) Equal to 3
            Then - Actions
                Set MulticastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of MulticastCaster) at (Position of MulticastCaster) facing Default building facing degrees
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for MulticastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
                Custom script:   call RemoveLocation(udg_MulticastCaster)
            Else - Actions

it gives script errors are ELSE location =s and where i am supsoe to add the extra shot fired to happen? yes i am making something like fireblst of dota but withotu chance,
 

Anti-krazy

New Member
Reaction score
5
no dont put the if/then/else action on else. ignore the else action put it under the level 1 if/then/else condition like this

If (All Conditions are True) then do (Then Actions) else do (Else Actions)
put the if/then/else here >>> (underneath this action and you will end up like this

Code:
Test
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Triggering unit) is A structure) Equal to True
            Then - Actions
                Do nothing
                Do nothing
                Do nothing
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Triggering unit) is A structure) Equal to True
            Then - Actions
                Do nothing
                Do nothing
                Do nothing
            Else - Actions

And umm u didnt change much of level 2 and 3 trigger

(the level 2 trigger has the number 3
 

RueK

New Member
Reaction score
11
i did do that. =s they if then else is not in the else.

and also i dont know where to add extra shots to happen. damn i suck at this =( ..
 

Igor_Z

You can change this now in User CP.
Reaction score
61
I think a much easier way is to make several dummy units for example lvl 1 as u said u want to be casted 2 times, level2 to be casted 4 times and level3 to be casted 7 times... I think u could make 1 dummy unit for the first lvl, 3 dummy units for the second lvl and 6 dummy units for the third lvl. Ofcourse add ur ability to them and order them to cast it... Don't think that it won't lag but try u haven't got anything to lose... GOOD LUCK
 

RueK

New Member
Reaction score
11
I think a much easier way is to make several dummy units for example lvl 1 as u said u want to be casted 2 times, level2 to be casted 4 times and level3 to be casted 7 times... I think u could make 1 dummy unit for the first lvl, 3 dummy units for the second lvl and 6 dummy units for the third lvl. Ofcourse add ur ability to them and order them to cast it... Don't think that it won't lag but try u haven't got anything to lose... GOOD LUCK


but how to order all the units? and how to add the ability to all the units.

(lst created unit) just triggers the LAST unit.
 

dragonhord

Knowledge is true opinion. - Plato
Reaction score
82
Event -
Unit Starts effect of Ability
Condition -
Ability being cast = Firebolt
Actions -
Set Caster=Casting Unit
Set Target=Target Unit of Ability Being Cast
For Loop Integer A from 1 to 2+Level of Multicast for *Triggering Unit* do actions
Actions -
Unit - Create 1 dummy unit for blah blah blah at position of caster blah
Unit - Set a 2 second generic expiration timer for last created unit
Unit - Add Firebolt Dummy to last created unit
Unit - Set level of Firebolt Dummy to level of Firebolt for Caster
Unit - Order Last Created Unit to Neutral Firebolt Target
Wait .25 seconds.

Then of course you want to remove leaks and perhaps you have noticed I freehanded that, so if you need any clarifying I could be of assistance :p. I will actually make a real one that's neat if you need it..
 

Flare

Stops copies me!
Reaction score
662
You need to do a loop like so
(just change the 10 to the number of repeat casts you want)
Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
                Set MulticastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of MulticastCaster) at (Position of MulticastCaster) facing Default building facing degrees
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for MulticastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
---And you fix the leak (Position of MulticastCaster)---

You can add a wait at the end of the loop if you want a delay between each recast, otherwise it'll just be one big, instant effect

And you are getting script errors because
JASS:
call RemoveLocation(udg_MulticastCaster)

MulticastCaster is a unit, but RemoveLocation needs to take a point and units =/= points
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
You can add a wait + Target unit of ability being cast = awesomeness, as in, it will fail.

Casting unit does not need a variable (use triggering/casting unit throughout the trigger without problem), you should add "target unit of ability being cast" into the variable instead. Then order last created unit to target "UnitVariable".

Only one unit may activate this spell at a time, if you want more, you need locals, jass or do some various things with a unit group...
 

RueK

New Member
Reaction score
11
You need to do a loop like so
(just change the 10 to the number of repeat casts you want)
Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
                Set MulticastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of MulticastCaster) at (Position of MulticastCaster) facing Default building facing degrees
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for MulticastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
---And you fix the leak (Position of MulticastCaster)---

You can add a wait at the end of the loop if you want a delay between each recast, otherwise it'll just be one big, instant effect

And you are getting script errors because
JASS:
call RemoveLocation(udg_MulticastCaster)

MulticastCaster is a unit, but RemoveLocation needs to take a point and units =/= points



Code:
Multicast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fireblast 
        (Level of Multicast  for (Casting unit)) Equal to 1
    Actions
        For each (Integer A) from 1 to 2, do (Actions)
            Loop - Actions
                Set FireblastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of FireblastCaster) at (Position of FireblastCaster) facing Default building facing degrees
                Unit - Add a 4.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for FireblastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)

it is ok? i tried and i still dont got any extra damage
 

dragonhord

Knowledge is true opinion. - Plato
Reaction score
82
You may also want to consider adding like a .10 second wait and setting the target unit to a variable as well, just so all the bonus damage isn't done in an instant.
 

RueK

New Member
Reaction score
11
Does the dummy have enough mana/spell have 0 mana cost?

Casting range of the dummy spell?

Is Fireblast based on the Firebolt ability? If not, that order won't work


i forgot to set the range of the fireblast for unit to 99999 ^^ thx for reminder XD! it works fine now

Code:
Multicast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fireblast 
        (Level of Multicast  for (Casting unit)) Equal to 1
    Actions
        For each (Integer A) from 1 to 2, do (Actions)
            Loop - Actions
                Set FireblastCaster = (Casting unit)
                Unit - Create 1 Dummy Caster for (Owner of FireblastCaster) at (Position of FireblastCaster) facing Default building facing degrees
                Unit - Add a 4.00 second Generic expiration timer to (Last created unit)
                Unit - Add Fireblast  to (Last created unit)
                Unit - Set level of Fireblast  for (Last created unit) to (Level of Fireblast  for FireblastCaster)
                Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)

Now i need to check for every level (3) of multicast, i added a casting time for the fireblast (unit) so it can do the effect ! btw i need to destroy the location of fireblast caster , what script was it?
 

dragonhord

Knowledge is true opinion. - Plato
Reaction score
82
call RemoveLocation(udg_FireblastCaster)

And to check for the levels, assuming you want to make it do more casts w/ higher levels, you could just do For Loop Integer A from 1 to 2*Level of Multicast for Triggering Unit
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though

      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