Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
Totally dependent on Kingz' projectile system, this spell will create 4 waves of 7 flame missiles (At level 1) that spin it's way onto the target, dealing damage to everything the missiles encounter.
I would like to add some things in the spell that would make it more complete, i.e. make it wait in certain parts of the loop to reduce change of lagging, stop the target from moving when hit, so that the missiles would look more accurate, and making it deal a proper AoE damage; but alas, I do not yet possess the knowledge in triggering to do this, so I thought uploading it would also give me what I'm looking for.
In the spell's current state, I would personally give it a 3/5, but it is still pretty usable in-game, despite some problems I've been having.
I would like and love to hear feedback from the great spell makers of the Hive, especially for their reviews and insights on the spell.
I will gladly take your criticisms and comments about this spell, including the reviewer's feedback, and I will not do so under the assumption that 'a student is only as good as his teacher'.
Now, for the remaining parts:
Since this is just version 1.0, these will be bound to change.
Animation - Change MS_missile[MS_index[3]] flying height to MS_calc_real[4] at 0.00
Else - Actions
Set MS_temp_point[4] = (Position of MS_missile[MS_index[3]])
Custom script: if udg_MS_temp_group[udg_MS_index[3]] == null then
Custom script: set udg_MS_temp_group[udg_MS_index[3]] = CreateGroup()
Custom script: endif
Set MS_temp_group[MS_index[3]] = (Units within 85.00 of MS_temp_point[4] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of MS_player_
Unit Group - Pick every unit in MS_temp_group[MS_index[3]] and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Current flying height of MS_missile[MS_index[3]]) - (Current flying height of (Picked unit))) Less than 35.00
((Current flying height of MS_missile[MS_index[3]]) - (Current flying height of (Picked unit))) Greater than -35.00
Then - Actions
Unit - Cause MS_dmg_source_ex[MS_index[3]] to damage (Picked unit), dealing MS_damage_ex[MS_index[3]] damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the chest of (Picked unit) using MS_unit_hit_eff_ex[MS_index[3]]
Special Effect - Destroy (Last created special effect)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MS_distance_current[MS_index[3]] Greater than or equal to MS_distance_max[MS_index[3]]
Then - Actions
Special Effect - Destroy MS_missile_eff[MS_index[3]]
Special Effect - Create a special effect at MS_temp_point[4] using MS_impact_gfx_ex[MS_index[3]]
Special Effect - Destroy (Last created special effect)
Unit - Remove MS_missile[MS_index[3]] from the game
Custom script: set udg_MS_missile[udg_MS_index[3]] = null
Set MS_index[1] = (MS_index[1] - 1)
Set MS_empty_index[MS_index[3]] = True
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MS_index_selected Equal to False
Then - Actions
Set MS_dyn_index = MS_index[3]
Set MS_index_selected = True
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MS_index[3] Equal to MS_index[2]
MS_index[1] Not equal to 0
Then - Actions
Set MS_index[2] = (MS_index[2] - 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MS_index[1] Equal to 0
Then - Actions
Set MS_index[2] = 0
Set MS_dyn_index = 0
Trigger - Turn off (This trigger)
Else - Actions
As this spell is simple, I would also like to know if a spell or spells like these have been created before, as for my search for an identical spell like this have proven no significant result, I would gladly appreciate it if you found something like this and link it in your post below.
CREDITS:
Kingz - Projectile System
Almia - Inspiration, help
deathismyfriend - help
Version 1.0f
-Improved the Tooltip a little bit.
-Corrected the wrong highlighted letter of the Learn tooltip
-Set the Day/Night vision of the dummy to 0
Version 1.0e
-Added two more configurable variables to the spell, namely the missiles' sfx and the missile-impact sfx.
-Removed the indexing, to make the spell instant.
-Tweaked the dummy object.
-Fixed some nasty leaks.
-Changed the ability's description
Version 1.0d (Maker's initial review given here)
-Added more configurables to the spell
-Optimized the spell a little bit more
Version 1.0c
-Fixed the Hotkey in the description
-Updated the Spell's Description
-Optimized the code a bit
-Remove "Casting Dummy" unit in the Object Editor
Version 1.0b
-Changed Hotkey for testing purposes
-Added special effects that are created when the missiles hit a unit
World's End v.1.0e | Reviewed by Maker | 2nd Jun 2013
APPROVED
The spell is leakless and MUI
I found the spell to be fun to cast and good looking. It uses the the
projectile system well, in fact, most of the spell's work is done...
World's End v.1.0e | Reviewed by Maker | 2nd Jun 2013
APPROVED
The spell is leakless and MUI
I found the spell to be fun to cast and good looking. It uses the the
projectile system well, in fact, most of the spell's work is done by that
Improve the tooltip, look for standard Blizzard abilities
for reference
There's a wrong hotkey highlighted in the lear tooltip
Reduce the sight range of the dummy
[tr]
World's End v.1.0d | Reviewed by Maker | 1st Jun 2013
NEEDS FIX
The dummy gives vision, uses upgrades and has build ability
Load the ability level from a variable in WE Loop
There's a wrong hotkey highlighted in the learn tooltip
and there is one spelling error
The dummy doesn't need invulnerability ability, it has Locust
You could set the effect for the projectile system in setup trigger,
not during every loop
The hardcoded value of 7 in the looping trigger could be
configurable
The main loop only runs once per cast, therefore it is a 0.03 second delay
What do you need that for, you could make it instant and get rid of the indexing
That's the effect that is created when the missiles hit a unit. I figured that all I need was the effect when the missiles expired/reached their target, so I did not bother to put in a string variable there.
But now as I think about it again it might be useful... I might add it in the spell too tomorrow, because, at my place it is really late and I am tired.
Unit - Create 1 Casting Dummy for (Owner of WE_Caster[WE_CurrentIndex]) at WE_TempPoint facing Default building facing degrees
ik u use a timer to remove the unit but creating a unit every .03 is insane lol. u can use one dummy to do all ur spell instances just create the dummy on map init. then move the dummy to the unit to do the effect / buff or whatever. ur creating 34 units a second.
Also u should store the lvl of the ability when the unit casts it.
umm y not make this an instant spell ? it would be in one trigger and u could get rid of the loop and it will still be MUI.
Unit - Create 1 Casting Dummy for (Owner of WE_Caster[WE_CurrentIndex]) at WE_TempPoint facing Default building facing degrees
ik u use a timer to remove the unit but creating a unit every .03 is insane lol. u can use one dummy to do all ur spell instances just create the dummy on map init. then move the dummy to the unit to do the effect / buff or whatever. ur creating 34 units a second.
Also u should store the lvl of the ability when the unit casts it.
umm y not make this an instant spell ? it would be in one trigger and u could get rid of the loop and it will still be MUI.
I don't think the dummy units will be created every .03 seconds because it will only be created MaxIndex times, and within that 'For each CurrentIndex' loop is the turn off trigger, so I don't think there would be a problem. Also, to support this, may game should have lagged while I was creating the spell.
Oh and I would also like to know what the difference is when I store the lvl of the ability when the units casts it or if I store the lvl in the loop.
And when I do make it an instant spell, won't that remove the 'select target' part of the spell?
@Pr0blemBr0 thanks! Though the reason I made the hotkey like that was because of the reason that the hotkeys with other spells might interfere with it, so I thought the user could just change it himself, but then again, just for testing purposes, I will change the hotkey.
Oh the 'select target' happens when you click on the spell icon and then you select which unit it's supposed to target. Pretty weird that you don't see this. It happens all the time with single-target spells like storm bolt, aerial shackles, death coil, etc.
Anyways the MS init is the projectile system's trigger so I don't think I need to show that.
It will take me some time to process this lot, but I think I can pull it off later tonight or first thing tomorrow.
Also, I now see the waste of object, thanks for pointing that out.
Oh and Almia, when you say move the constants in the Setup trigger, do you mean the variables I initialize for the projectile system to use that uses the variables in the setup trigger? (i.e. damage, time to reach, and offset)
@deathismyfriend I see your point now too, I did not know that because this is my first. I will post them later when I have figured my remaining hours of the day out.
@deathismyfriend I see your point now too, I did not know that because this is my first. I will post them later when I have figured my remaining hours of the day out.
I know... I don't like it in some way too, primarily because it doesn't have a homing missile function yet.
I tried many other projectile systems, but most of them have their limitations. I tried Almia's projectile system at Hordestudio, but I can't seem to properly import it.
But give me some time maybe 5 mins and I will post it
EDIT: Took me a while because of the long desc., but I have uploaded the triggers. The Projectile System's triggers.
I know... I don't like it in some way too, primarily because it doesn't have a homing missile function yet.
I tried many other projectile systems, but most of them have their limitations. I tried Almia's projectile system at Hordestudio, but I can't seem to properly import it.
But give me some time maybe 5 mins and I will post it
EDIT: Took me a while because of the long desc., but I have uploaded the triggers. The Projectile System's triggers.
Let me download the spell (I have only looked at it from triggers)
I'll know exactly where and how to add the homing part, after that. If you want, I could show you how ^.^ I know this missile system like the back of my hand.
EDIT 1:
First thing I noticed is you use Firebolt to trigger your spell. I have to advise against this, since it ministuns your target which I believe is an unwanted side effect, and you can't set the "stun duration" in the object editor to 0. If you DID mean for the ministun to happen, disregard this. Otherwise use "Channel", a spell that has no real effect other than registering you triggering your abilities.
Alright. First of all, the formula for calculating arcs is right there. Secondly you have a lot of unnecessary things going on in this whole trigger, I've realized now. This reduces efficiency and thus the performance of the spell (and ultimately of the game too).
Do you want me to edit it, document what I edit so you know what I changed, and send you an optimized version?
Im just saying the truth. Specially when doing something in vJASS. Everytime I code a vJASS code,it always results into Trash. Perhaps not in Spells XD
Wait; after giving it some thought, would this spell work if I de-array the variables which use CurrentIndex and MaxIndex and remove the loop and put those actions in the Cast Trigger so that it would only consist of two triggers?
Would this still work because this is and I quote, 'an instant'?
Im just saying the truth. Specially when doing something in vJASS. Everytime I code a vJASS code,it always results into Trash. Perhaps not in Spells XD
it really is backwards on this site lol.
If its more efficient than GUI and a gui version is up it should be approved. Getting my systems approved is a joke right now. its been pending for months. Updated them plenty of times to were its just about as efficient as possible and still nothing.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.