• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Spell] Arcane Missiles spell like WOW

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,564
The missile Model is under the variable MissileModel in the Loop trigger. Damage is calculated in the Impact trigger, you can see it's 20 * level of ability. Additional Mana Cost is not something I accounted for but you'd just reduce the Caster's mana inside of the Loop trigger where the Missile is being fired.

It should only take a couple of minutes to make these changes once you know where to look.
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,564
Copy and paste the Ability and then the Triggers starting with the systems first and then the Arcane triggers afterwards since they rely on the systems. It'd be smart to put everything in one folder to make it easier. You can have multiple maps open in the editor at once and copied data will remain in your "clipboard" when switching between them. You can switch between different maps using the Window tab.
 
Level 12
Joined
Feb 13, 2012
Messages
403
Copy and paste the Ability and then the Triggers starting with the systems first and then the Arcane triggers afterwards since they rely on the systems. It'd be smart to put everything in one folder to make it easier. You can have multiple maps open in the editor at once and copied data will remain in your "clipboard" when switching between them. You can switch between different maps using the Window tab.
i am trying so set damege per level and i am gessing i am doing something wrong can you pleass help my ?
 

Attachments

  • 1697401099083.png
    1697401099083.png
    526.3 KB · Views: 20

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,564
i am trying so set damege per level and i am gessing i am doing something wrong can you pleass help my ?
There is no (Triggering unit) since there isn't even an Event. Remember that an Event Response is a response to an Event so if the Event section is empty then it's very likely that you won't have access to Event Responses. It's like cause and effect, there is no effect without any cause.

In this case, the Impact trigger is run by the Missile System when the missile impacts it's target. Since this is a user made system we don't have access to blizzard's Event Responses but we do have essentially the same exact thing -> Variables. User made systems like these take advantage of Variables to give you, the user, access to the data that the system has been managing all of this time. In this case, we can access all of the information related to our Missile by using the Missile variables.

You can see two Missile variables being used in that Unit - Cause Damage action. It shouldn't be too difficult to figure out what they mean when we read the Action and understand what it's doing.
 
Last edited:
Level 12
Joined
Feb 13, 2012
Messages
403
to be honest its a bit to complax for my ,is there a way less complex or with triggers to have some of the same effect or at least something like in Maxwell map pack for the naga arcenist spells ?

 
Level 20
Joined
Jun 27, 2011
Messages
1,864
Less complex, more Object Editor-oriented version: You can use a dummy unit with an attack then just set the attack cooldown as the missile interval and the lifespan of the unit to determine how long the spell should be casted. So for example if you want the ability to shoot 3 missiles over 1 second then set the attack cooldown of the dummy unit to 0.33 and the lifespan of the unit to 1 second (Either via trigger, or just by limiting the health of the dummy unit and having a negative health regen). This still requires a little trigger knowledge for handling the ability cast, creating the dummy unit, setting the target of the dummy unit, and optionally setting its lifespan.

It's a bit more complicated if you want it to be channeled. You need to base it off an ability that's target channeling by default (e.g. Life Drain), then you need to set the dummy unit to a variable that's attached to the caster (simplest way would be via a library that assigns a custom value to each unit, like Bribe's Unit Indexer). This will require two triggers: One that handles the start of the channel event, and one that handles the stopping of the channel event.

I recommend learning more about triggers though and generally how custom spells are made so you can use Uncle's version instead. It's a lot more efficient than this way.
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,564
to be honest its a bit to complax for my ,is there a way less complex or with triggers to have some of the same effect or at least something like in Maxwell map pack for the naga arcenist spells ?

What else do you want to change about it? If you're still struggling with the damage per level thing - It's literally a 5 second fix. All you have to do is change (Triggering unit) to MissileSource, since that's the SOURCE of the Missile.

Like I said before, (Triggering unit) is an Event Response, and there is no Event in that trigger, so it doesn't make sense to use it. You had the right idea, but you're using a Missile SYSTEM, and custom systems like these often rely on Variables instead of Event Responses.

The system is rather easy to use once you learn what to focus on:

Step 1: You define a Missile -> Set Model, Speed, Position, Source (which unit launched the missile), Target (which unit is getting hit by the missile), etc...

Step 2: You create a trigger that runs when the Missile hits the Target. In this trigger you deal your damage and do any other effects. The variables you use here are the same variables that you used when you defined the Missile. The MissileSource and MissileTarget are the same units from before.

Step 3: You launch the Missile by running that last CreateMissile trigger. (I'm doing all of this for you already).
 
Last edited:
Level 12
Joined
Feb 13, 2012
Messages
403
What else do you want to change about it? If you're still struggling with the damage per level thing - It's literally a 5 second fix. All you have to do is change (Triggering unit) to MissileSource, since that's the SOURCE of the Missile.

Like I said before, (Triggering unit) is an Event Response, and there is no Event in that trigger, so it doesn't make sense to use it. You had the right idea, but you're using a Missile SYSTEM, and custom systems like these often rely on Variables instead of Event Responses.

The system is rather easy to use once you learn what to focus on:

Step 1: You define a Missile -> Set Model, Speed, Position, Source (which unit launched the missile), Target (which unit is getting hit by the missile), etc...

Step 2: You create a trigger that runs when the Missile hits the Target. In this trigger you deal your damage and do any other effects. The variables you use here are the same variables that you used when you defined the Missile. The MissileSource and MissileTarget are the same units from before.

Step 3: You launch the Missile by running that last CreateMissile trigger. (I'm doing all of this for you already).
you mean in missil impact ? its origenely 20 × missile deta im not sure how to implement correctly ability level with missile deta any advice ?
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,564
you mean in missil impact ? its origenely 20 × missile deta im not sure how to implement correctly ability level with missile deta any advice ?
MissileData is the level of the ability. So I had it dealing (20 x 1/2/3/4/5) damage.

MissileSource is the unit that launched the Missile.

I already explained to you that you need to use these Missile variables. There is no Event Response to be used in that trigger.

To quote myself, this is the fix in your picture:
All you have to do is change (Triggering unit) to MissileSource

With that information, you should be able to figure out how to change the damage to whatever you want.
 
Level 12
Joined
Feb 13, 2012
Messages
403
MissileData is the level of the ability. So I had it dealing (20 x 1/2/3/4/5) damage.

MissileSource is the unit that launched the Missile.

I already explained to you that you need to use these Missile variables. There is no Event Response to be used in that trigger.

To quote myself, this is the fix in your picture:


With that information, you should be able to figure out how to change the damage to whatever you want.
thx i think i am starting to get it now :ogre_haosis:
 
Top