HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Need to Stormbolt

08-21-2004, 08:49 AM#1
Ez8
Hi.

I'm not a fan of dummy casters, so I try to avoid them whenever possible. However, I need to use them for one of the spell that I am creating now.

Basically, I have a base spell that does something else, but I'll also need the spell to Stormbolt the target. Yes, I can base the spell off Stormbolt and simulate the effects of the other base spell, but I find it easier this way instead.

In short, I need the target unit of my spell to be Stormbolted when my spell is used.

Now, I know I can simply create a dummy caster and tell the caster to Stormbolt the target and all that.

But what I don't know is:

a)How do you provide for damage difference at different levels?

Do I create different dummy casters for different levels of the ability? If so, how do I distinguish between which level of Stormbolt to cast? There's only a "Order unit to Human-Stormbolt" option in the trigger editor, you don't get a choice to choose which level of Stormbolt do you want, neither do any of your custom spells show up in the list as an option.


b)How do you actually give Stormbolt to the dummy caster?

Yes, obviously you do this in the object editor. But when the dummy caster is created, he won't actually have the skill, unless you give him a skill point, and tell him to learn it. Obviously, you can change Stormbolt to a unit ability, but that'll make is a custom ability, and like I said above, custom abilities don't show up in the list when you order a unit to cast a spell via trigggers.


If anyone can suggest a different method that doesn't need to use dummy casters, that'd be even better, because I never liked them in the first place.
08-21-2004, 02:29 PM#2
SpadeZ
You should create a unit variation of storm bolt for each level fo the spell. Then when the hero casts the dummy spell, it will create a dummy caster. Using the if/then/else action, identify what level the dummy spell is and add the unit storm bolt variations according to level of dummy spell. Then order last created unit to "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (unit) <gen>"

You can still make a storm bolt custom ability and use the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action. It still works as long as the Order Strings are the same. The storm bolt spell uses the "thunderbolt" order string, and as long as the custom spell you make has the thunderbolt orderstring then the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action will work perfectly. You might have to put a wait after the unit is created just to be sure he doesn't skip the order.

There are ways other than dummy casters, but they will most likely be alot harder and more complicated. Its actually a pretty good habbit to always use dummy casters. But make sure you remove them to get rid of the mem leaks.

GL on spell.
08-21-2004, 04:18 PM#3
Ez8
Quote:
Originally Posted by SpadeZ
You should create a unit variation of storm bolt for each level fo the spell. Then when the hero casts the dummy spell, it will create a dummy caster. Using the if/then/else action, identify what level the dummy spell is and add the unit storm bolt variations according to level of dummy spell. Then order last created unit to "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (unit) <gen>"

You can still make a storm bolt custom ability and use the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action. It still works as long as the Order Strings are the same. The storm bolt spell uses the "thunderbolt" order string, and as long as the custom spell you make has the thunderbolt orderstring then the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action will work perfectly. You might have to put a wait after the unit is created just to be sure he doesn't skip the order.

There are ways other than dummy casters, but they will most likely be alot harder and more complicated. Its actually a pretty good habbit to always use dummy casters. But make sure you remove them to get rid of the mem leaks.

GL on spell.



Hang on, you're saying that I can use the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action to order my dummy caster to cast pretty much any spell that I want?

Now it makes sense.

Thanks. Rep for you.
08-21-2004, 04:22 PM#4
Coffein
Quote:
Originally Posted by Ez8
Hang on, you're saying that I can use the "Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Unit) <gen>" action to order my dummy caster to cast pretty much any spell that I want?

Now it makes sense.

Thanks. Rep for you.

As long as you use the correct order strings, yes.
08-21-2004, 07:42 PM#5
Anitarf
Not really, changing orderstrings in the object editor doesn't help in that respect, you can't have a curse spell with the thunderbolt orderstring, for example. However, any custom spell based on stormbolt will be cast by that triggered order. Also, you don't need a wait, the order will be understood perfectly. On the other hand, if you do use a wait, you are risking that another unit may be created in the meantime and that it can receive the order instead (since you are ordering the last created unit).

You don't need a bunch of if-then-elses to determine, which unit ability must be given to and cast by the dummy caster to match the level of the hero ability. A simpler way would be to store the various variations of the ability into an ability variable array and then call that directly with the "level of hero ability" as the index. But thats an obsolete method as well.

With patch 1.17, you will get the ability to make multi-level unit abilities (you could do them before too, but didn't have a way to level them up, now you do). So, instead of making a seperate unit ability for each level of the hero ability, you can now make a multi level unit ability, and then set it's level to the level of the hero ability for the hero that is casting it with the new 1.17 trigger action.

Here's a link to another recent thread where I wrote some more about dummy casters and the way to use them.
08-21-2004, 08:04 PM#6
Ez8
Very informative.

With 1.17, how will that affect my current map?

I'm already using a bunch of if-then-else to assign the appropriate skill according to the appropriate hero level.

Will I have to redo them if I apply the 1.17 patch?

Also, I'm still in 1.15. I know about the permenant stun bug stun duration 0.0, so that's ok, I think. Any potential problems that I might encounter when I apply the patch?
08-22-2004, 02:52 AM#7
SpadeZ
Nothing is certain with the 1.17 patch. If you use the new actions it might cause problems with other patches. It's safer to do mostly everything in your current version untill the actual 1.17 is released. But i doubt you will have to redo all the if/then/else actions.

08-22-2004, 03:35 AM#8
Ez8
In other words, I can just keep using 1.15, and just apply whatever is the latest patch when I finish, and my map will work fine, right?

Maybe there'll be a bug or two, but they'll be fixable, right?
08-22-2004, 04:39 AM#9
SpadeZ
Yea dats probably the best way to go atm. Blizzard is abit uncertain about 1.17 since they released 2 betas. But once the official 1.17 patch is release you can update and add or change anything you want without much worry of bugs.
08-22-2004, 09:06 AM#10
Anitarf
Yeah, that's it, once the final version of patch 1.17 is released, you can use it with no worries. You can keep the if-then-elses, the new patch will only give you new ways to do what you want, but you can still do it in the old way (not very nice, though, having a lot of if-then-elses). Alternatively, you can still use the method that is already avaliable to you in 1.15 and is better than if-then-elsing: that is, store the different versions of the unit spell that you have for each level of the hero spell into an ability variable array, and then, when giving the caster the ability, instead of giving him a fixed ability, you give him the variable, and for the index in the array you use the "level of ability for casting unit".