• 🏆 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!

Fire Ward (GUI)

Detail
Status

Forum: http://septimus.invisionplus.net
Coding: GUI
Current Version: 1.07

Ability Description

Unleash 5 fire ward that would unleash a fire to the middle of the target point; each ward unleash a fire that deal a initial 65 damage. Higher level increase the amount of fire a ward unleash.

Level 1 - Unleash 1 fire.
Level 2 - Unleash 2 fire.
Level 3 - Unleash 3 fire.

Version 1.07 Update

Fix documentation.

Version 1.06

Fix documentation.

Version 1.05

Reconstruct the entire spell, now it was fully MUI (Full credit for reconstruct goes to Dark Dragon).

Amount of fire unleash by fire ward increase by 1 per level instead of 2 for balance purpose.

Version 1.04

Optimize the code.

Version 1.03

Add lives checking condition.

Version 1.02

Optimize the code.

Version 1.01

Further optimize the maths to enable beginner to modify this spell easier.





-BerZeKeR- - Showing a efficient maths coding.
Kingz - Pointing a requirement for a condition.
xxdingo93xx - Advise in code optimize.
Dark Dragon - For fully reconstruct the entire spell to be fully MUI instead of semi MUI.

  • Initialization Fire Ward
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set FW_Point = (Center of (Playable map area))
      • Unit - Create 1 Fire Ward for Neutral Passive at FW_Point facing Default building facing degrees
      • Unit - Add Fire Ward (Ward Ability) to (Last created unit)
      • Special Effect - Create a special effect attached to the origin of (Last created unit) using Abilities\Spells\Other\BreathOfFire\BreathOfFireMissile.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Remove (Last created unit) from the game
      • Custom script: call RemoveLocation(udg_FW_Point)
      • Custom script: call DestroyGroup( udg_FW_Ward_Group[0] )
      • Custom script: call DestroyGroup( udg_FW_Ward_Group[1] )
      • Custom script: set udg_FW_Ward_Group[0] = null
      • Custom script: set udg_FW_Ward_Group[1] = null
  • Fire Ward
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire Ward
    • Actions
      • Set FW_Target_Location[FW_Cast_Id] = (Target point of ability being cast)
      • Set FW_Cast_Level[FW_Cast_Id] = (Level of (Ability being cast) for (Triggering unit))
      • Set FW_Cast_Duration[FW_Cast_Id] = FW_Cast_Level[FW_Cast_Id]
      • Custom script: set udg_FW_Ward_Group[udg_FW_Cast_Id] = CreateGroup()
      • Set FW_Loop_Number = 5
      • For each (Integer FW_Loop) from 1 to FW_Loop_Number, do (Actions)
        • Loop - Actions
          • Set FW_Point = (FW_Target_Location[FW_Cast_Id] offset by 500.00 towards (72.00 x (Real(FW_Loop))) degrees)
          • Unit - Create 1 Fire Ward for (Owner of (Triggering unit)) at FW_Point facing FW_Target_Location[FW_Cast_Id]
          • Unit - Add a ((Real(FW_Cast_Duration[FW_Cast_Id])) + 0.25) second Generic expiration timer to (Last created unit)
          • Unit - Add Fire Ward (Ward Ability) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Breath Of Fire FW_Target_Location[FW_Cast_Id]
          • Unit Group - Add (Last created unit) to FW_Ward_Group[FW_Cast_Id]
          • Custom script: call RemoveLocation(udg_FW_Point)
      • If (FW_Cast_Id Equal to 0) then do (Trigger - Turn on Fire Ward Shoot <gen>) else do (Do nothing)
      • Set FW_Cast_Id = (FW_Cast_Id + 1)
  • Fire Ward Shoot
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer FW_Loop) from 0 to (FW_Cast_Id - 1), do (Actions)
        • Loop - Actions
          • Unit Group - Pick every unit in FW_Ward_Group[FW_Loop] and do (Actions)
            • Loop - Actions
              • Unit - Order (Picked unit) to Neutral Pandaren Brewmaster - Breath Of Fire FW_Target_Location[FW_Loop]
          • Set FW_Cast_Duration[FW_Loop] = (FW_Cast_Duration[FW_Loop] - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FW_Cast_Duration[FW_Loop] Equal to 0
            • Then - Actions
              • Custom script: call DestroyGroup(udg_FW_Ward_Group[udg_FW_Loop])
              • Custom script: call RemoveLocation(udg_FW_Target_Location[udg_FW_Loop])
              • Set FW_Cast_Id = (FW_Cast_Id - 1)
              • Set FW_Cast_Duration[FW_Loop] = FW_Cast_Duration[FW_Cast_Id]
              • Set FW_Ward_Group[FW_Loop] = FW_Ward_Group[FW_Cast_Id]
              • Set FW_Target_Location[FW_Loop] = FW_Target_Location[FW_Cast_Id]
              • Custom script: set udg_FW_Ward_Group[udg_FW_Cast_Id] = null
              • Custom script: set udg_FW_Target_Location[udg_FW_Cast_Id] = null
              • If (FW_Cast_Id Equal to 0) then do (Trigger - Turn off (This trigger)) else do (Do nothing)
            • Else - Actions
Keywords:
Fire, Hot, Wards
Contents

Fire Ward Spells (Map)

Reviews
16:56, 18th Jun 2009 hvo-busterkomo: Looks leak free, MUI, is well documented, and has an acceptable effect. The only problem is that it doesn't support multiple levels. Approved with a 4/5 rating.
Status
Not open for further replies.

Moderator

M

Moderator

16:56, 18th Jun 2009
hvo-busterkomo:

Looks leak free, MUI, is well documented, and has an acceptable effect. The only problem is that it doesn't support multiple levels. Approved with a 4/5 rating.
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
As far as i know this is not MUI, because transferring units from one trigger to another, isn't that simple, but its ok, so far ;D

Try to do this, and you won't need to calculate degrees

  • Set Location = (Target point of ability being cast)
  • Set Loop_Number = 5
  • For each (Integer A) from 1 to Loop_Number, do (Actions)
    • Loop - Actions
      • Set Loop_Location = Location offset by 500.00 towards (360.00 x ((Real((Integer A))) / (Real(Loop_Number)))) degrees)
      • Custom Script - You know how to clear leaks right? :D
If you use this you can get rid of FW_Real Variables


Testing...

Seems like a good Spell with a good idea, its useful many maps.

Only problem is in triggering (don't get me wrong, triggering is good, even I don't know how to make such spell MUI D:)

Oh, one more thing, take a look in your Tooltip, there are some grammar mistakes like 5 ward, it should be 5 wards ^^
 
Level 31
Joined
May 3, 2008
Messages
3,155
Try to do this, and you won't need to calculate degrees

Yeah, my maths is bad. That is why I use a rather long way to do it... :p

Thanks for pointing out.

Oh, one more thing, take a look in your Tooltip, there are some grammar mistakes like 5 ward, it should be 5 wards ^^

Yeah, I need somebody who are good in English to help me.
 
Level 15
Joined
Jul 19, 2007
Messages
618
well again nice idea and is leakless...

however its not MUI if its casted 1 seconds or less after first cast.

i would suggest you to use sleep of 0.9 seconds since it will be around 1 second and then make it MUI in same trigger.

sleeps are bad coz they are unprecious but it will help you make your spell MUI faster if you are beginner.

well if you still want to use timers then maybe asking Paladon or Kingz would be good idea. Check there spells or ask them ~via private messages and they will try to help you.

i wont rate it until its MUI but you have some nice ideas and spell making for beginner.

Keep it up!
~Dark Dragon
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
Unleashes 5 fire wards that shoots flames of fire to the middle of the target point, fire deals damage to every enemy unit being hit by it.
Level 1 - 2 charges, 65 damage per unit
Level 2 - 3 charges, 65 damage per unit
Level 3 - 4 charges, 65 damage per unit

Dunno, try it like this =)

Its a bit hard to read, I hope it shows the point what the spell does :p
 
Level 37
Joined
Mar 5, 2008
Messages
3,887
Somehow put "Chargesr"(Integer variable) in the Main Trigger

set Charges = Level of (ability being cast) + 1 (so on level 1, 2 charges, on level 2, 3 charges, on level 3, 4 charges

Then put a counter in your periodic trigger (Another integer variable and name it (dunno) Charges_Counter)

so it would look like:

set Charges_Counter = Charges_Counter + 1
If
Charges_Counter is equal to Charges
Then
set Charges = 0
set Charges_Counter = 0
turn off this trigger
Else
/

If you don't understand fell free to ask :D

Edit:

Here is the Trigger:
  • Fire Ward
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire Ward
    • Actions
      • Set FW_Target_Point = (Target point of ability being cast)
      • Set FW_Target_Position = FW_Target_Point
      • Set FW_Integer = (Level of Fire Ward (Ward Ability) for (Triggering unit))
      • Set FW_Level = (Level of Fire Ward for (Triggering unit))
      • Set FW_Charges = (FW_Level + 1)
      • For each (Integer FW_Integer) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set FW_Spawn_Point = (FW_Target_Position offset by 500.00 towards (FW_Real + 72.00) degrees)
          • Unit - Create 1 Fire Ward for (Owner of (Triggering unit)) at FW_Spawn_Point facing FW_Target_Point
          • Unit - Add a ((Real(FW_Level)) + 3.00) second Generic expiration timer to (Last created unit)
          • Unit - Add Fire Ward (Ward Ability) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Breath Of Fire FW_Target_Position
          • Set FW_Real = (FW_Real + 72.00)
          • Custom script: call RemoveLocation(udg_FW_Spawn_Point)
      • Custom script: call RemoveLocation(udg_FW_Target_Point)
      • Custom script: call RemoveLocation(udg_FW_Target_Position)
      • Trigger - Turn on Fire Ward Shoot <gen>
  • Fire Ward Shoot
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set FW_Group = (Units of type Fire Ward)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in FW_Group) Greater than 0
        • Then - Actions
          • Unit Group - Pick every unit in FW_Group and do (Actions)
            • Loop - Actions
              • Set FW_Facing_Real = (Facing of (Picked unit))
              • Set FW_Spell_Position = (Position of (Picked unit))
              • Set FW_Spell_Position_2 = (FW_Spell_Position offset by 500.00 towards FW_Facing_Real degrees)
              • Unit - Order (Picked unit) to Neutral Pandaren Brewmaster - Breath Of Fire FW_Spell_Position_2
              • Custom script: call RemoveLocation(udg_FW_Spell_Position)
              • Custom script: call RemoveLocation(udg_FW_Spell_Position_2)
        • Else - Actions
          • Set Charges_Counter = (Charges_Counter + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Charges_Counter Equal to FW_Charges
            • Then - Actions
              • Set Charges_Counter = 0
              • Set FW_Charges = 0
              • Custom script: call DestroyGroup(udg_FW_Group)
              • Trigger - Turn off (This trigger)
            • Else - Actions
Edit;

Oh....I forgot to include the trigger i posted in my first post D:
Will you manage to put that in? ;D
 
Level 25
Joined
Jun 5, 2008
Messages
2,572
Since you are new to spellmaking i won't bug you how inefficent is the way you made it MUI.
Yes i tested it, put cooldown to 0 and it is MUI.
Possible improvements:
  • better loop trigger coding
  • implementation of indexes
  • arrayed variables
When i said better loop trigger i meant that it looks non unique like this, every single ward on the map will fire on the same moment even if they are summoned in difrent time intervals.
Example:
1 cast i summon the wards, i wait 1.6 seconds, the wards fired 2 times by now.
2 cast i summon the wards, i before waited 1.6 seconds, the wards fire immediatly and after 0.4 seconds again.
Well nice for a beginer but you should now try to make something more complex and try to make a spell more trigger, less object based.
That way you will improve your triggering.
Just to notify you, dead units are picked when using Units of Type in the unit group. This doesn't make a big difrence though, only ~2-3 seconds wait before the trigger turns off.
Only thing i can recommend you is to take a look at tutorials about indexing that is how to make MUI spells via index's.
There is one tutorial about it in my signature...
Hope this helped.
 
Level 25
Joined
Jun 5, 2008
Messages
2,572
No you need a condition to check unit status.
Dead units stay memorised some time in warcraft until it removes them.
And you don't need to change anything in your spell it is MUI.
I only said i tested it by spamming it and it didn't bug.
That is what i meant when i said: "I put the cooldown to 0"
How else could i spam it?
 
Level 31
Joined
May 3, 2008
Messages
3,155
Yep spammed it as fast as i can and it didn't crashed^^
Well it is a matter of 3 seconds, the thing you should try is to get better at triggering.

I have add the life condition just like you told, hopefully everything work even better now.

And of course it won't crash, I have test it before I release it to the public.. :=P

I have to take time to learn about indexing, loop and array. Those involves maths and my maths was rather bad. :=/
 
Level 15
Joined
Jul 19, 2007
Messages
618
I only said i tested it by spamming it and it didn't bug.

many spells which are casted at same time but are not MUI do not bug.
however there are things which make it non-MUI.
spamming spell is a bad way of testing is spell MUI, but checking code is always the safe method.

i am not saying that every non-MUI spell does not bug so user can see quickly that its non-MUI.

ill tell you why this spell is not MUI.

if we look like this someone uses this spell so trigger is executed and second time someone else casts it trigger is again executed so first trigger reaches its timer limit and it says pick every unit of type... there are 2x of this unit types in map now coz there are 2 casts. i think one cast summons 5 units so if there are 2 casts that means there are now 10 units. His action tells for each of this units cause dummy to cast spell... but wait it should be only 5 units coz this is first cast but his second cast is now executed as well so damage for both spells is done now but second cast is just now to be executed and will deal even more damage.

in fact he will always deal extra damage on spell casts, when casted in less then or equil 1 second right?

so its logical that he will deal this amount of damage

Code:
damage dealt = 100*number of instant casts^2 %

so lets see example you cast it once at a time:
100*1^2 = 100% damage -> good it works well

now cast it 2 times at same time
100*2^2 = 400% damage -> bad two casts deal 400% damage it should be 200%

3 casts at same time
100*3^2 = 900% damage -> bad it should be 300% damage coz 3 casts


i hope you can understand now that its not MUI... and i hope i described it well
try to make it MUI, if you need help and cant find it ask me and ill help you!
~Dark Dragon
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
Review

Idea/Creativity : 8.5/10
Trigering/Scripting : 5/10
Balanced in Gameplay : 8/10
Description/Originality : 8.5/10
Efficiency : 6/10
User Friendly : 3/10

Is Multi Instanceable : [X] (-2)

Final Rating : 37
Status : Usefull

Rating System
0 - 15 = SHIT
16 - 25 = Unacceptable
26 - 35 = Lacking
36 - 45 = Useful
46 - 55 = Recommended - Highly Recommended
56 - 60 = EPIC *Highly Recommended *


My View of the spell.
I'm keeping a close Look at ur work Septimus, and it's getting better and better.

Well the spells seems Not MUI, also it not that efficient coz the wards of fire, in
all the map fires at the same time Always.


How to improve : Make MUI and more efficient also more user friendly
like putting some help comments also try to avoid unit groups in MUI :) keep up the GJ .
 
Level 17
Joined
Mar 17, 2009
Messages
1,349
I'm a bit late on commenting on this spell, well I'll do it briefly then.

[+]

1. I like the idea; simple and nice.


2. The star like fire after each fire charge is special!


3. Leakless.


4. Documentation on how to import and credits are available.



[-]

5. Not MUI


6. Tooltips need a lot of fixing...



My Advice:

Read Kingz tutorial (found as the last link in his signature) in which he explains an Indexing system on how to make spells MUI.

About the tooltips, you can PM me for help (if I have time tonight I'll fix them even before you PM :p) and I can also help you with making it MUI...
 
  • Like
Reactions: Rmx
Level 31
Joined
May 3, 2008
Messages
3,155
This is just a badass, and dont worry if the spell makers are to harsch, they just give constructive critism ;)

Nah, don't worry about it. I know how to distinguish a constructive critism and none constructive. If I do not accept what they told me, I won't be doing an update non-stop by now.

well you asked me to make it MUI since you needed help with it... so i made it MUI:

Thanks Dragon, I would update it asap.
 
Level 31
Joined
May 3, 2008
Messages
3,155
Everyone says it's not MUI. Im not even going to try it. Im going to wait for the changelog or a new post to say it's now MUI.

Are you blind or illiterate? (No offense, but you are currently showing the sign of it and I want to know if you really are blind or illiterate) It clearly written it was fully MUI by now. Previously it was consider as MUI as well, it just have bad interval damage which it had been fix by Dark Dragon.
 
Level 17
Joined
Mar 17, 2009
Messages
1,349
Septimus said:
Version 1.05 Update

Reconstruct the entire spell, now it was fully MUI (Full credit for reconstruct goes to Dark Dragon).

Amount of fire unleash by fire ward increase by 1 per level instead of 2 for balance purpose.

Guishiu said:
Everyone says it's not MUI. Im not even going to try it. Im going to wait for the changelog or a new post to say it's now MUI.
Who said it's not MUI!? Read the changelog! It is MUI!

And second, why do you care on whether the spell MUI or not?

MUI doesn't affect on whether the spell is good or not, but it just comes as an extra to the spell...


And please, please stop being childish. Your sole purpose here is trying to give Septimus a bad image by negatively criticizing him and whatever he does!

And if that's what your trying to do, than you're acting stupid - believe me. Why?

You're the one getting a bad reputation by doing so.

And I'm not talking about that BIG RED GEM you've got, but about your real reputation which is as bad as you can imagine...
 
Level 8
Joined
Apr 7, 2008
Messages
176
As far as i know this is not MUI, because transferring units from one trigger to another, isn't that simple, but its ok, so far ;D

You know how to clear leaks right? :D
Oh, one more thing, take a look in your Tooltip, there are some grammar mistakes like 5 ward, it should be 5 wards ^^

Is this guy not saying it's not MUI? The very FIRST post. ROFL And so when i said that, it was still not MUI. Thank you, and good nite. Now the spell is, I shall give it a looksee.

Ok, i tested it. (5/5) Great Job! + rep
You, wow. Awesome. The spell works great and, not only that but, you showed me how to make a spell MUI with variables. Previously when I taught myself how this works I had been using (Playernumberoftriggeringplayer), you used a variable to set it to the triggering UNIT.
 
Last edited:

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
Edit : Did another Review when it has been reconstructed ....

Review

Idea/Creativity : 9/10
Trigering/Scripting : 9/10
Balanced in Gameplay : 9/10
Description/Originality : 9/10
Efficiency : 9/10
User Friendly : 6/10

Is Multi Instanceable : [√]

Final Rating : 51
Status : Highly Recommended

Rating System
0 - 15 = SHIT
16 - 25 = Unacceptable
26 - 35 = Lacking
36 - 45 = Useful
46 - 55 = Recommended - Highly Recommended
56 - 60 = EPIC *Highly Recommended *


Edit : Reviewed the Spell when it has been reconstructed...
 
Level 18
Joined
Mar 13, 2009
Messages
1,411
Nice spell, but 2 things:
Won't huge AoE damage kill the wards?
Setting the amount higher as 5 with the triggering as it is now would give problems since they are created with a 72 degree angle between them :p
Easy for others to fix of course, but since you made a variable to easily change the amount of wards I wanted to tell you ;)
 
Status
Not open for further replies.
Top