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

Spectre Spellpack v1.0

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Spectre Spellpack v1.0
By: AGD.Aloever91939

=======================================================================================

[Instructions]

How to Import:

1. Copy the Custom Abilities
2. Copy the Variables
3. Copy the Triggers

Note: Be sure to check "automatically create unknown variables when pasting trigger data" in the preference menu to avoid inconvenience.

=======================================================================================

[Contents]

The spells here aren't necessarilly the spells of Spectre in DotA.
The spellpack includes the following spells:

- Phantom Strike -
Description:
Gives 40 percent chance to create a phantom double which deals 15 percent of your damage and takes 400 percent damage.
Level 1 - Phantom Duration: 0.75 seconds
Level 2 - Phantom Duration: 1 second
Level 3 - Phantom Duration: 1.25 second
Level 4 - Phantom Duration: 1.5 seconds
Level 5 - Phantom Duration: 1.75 seconds
Level 6 - Phantom Duration: 2 seconds
Phantom Limit: 5

- Mana Void -
Description:
Mercurial's attacks drain the target's energy, causing it to lose mana points. Targets take additional damage equal to 20 percent of their missing mana. If the target's mana points is equal or below 40 percent of its maximum mana points, it will be stunned for a certain duration. If the target's mana pool is empty, it will take additional damage equal to its mana pool capacity.
Level 1 - Drains 2 mana points.
Level 2 - Drains 3 mana points.
Level 3 - Drains 4 mana points.
Level 4 - Drains 5 mana points.
Level 5 - Drains 6 mana points.
If the target's mana is equal or below 40 percent of its maximum mana pool, it will be stunned for 0.1/0.15/0.2/0.25/0.3 seconds.

- Dispersion -
Description:
Mercurial is able to lessen the damage she recieves by sharing a portion of the damage she takes to enemy units within 2000 AOE.
Level 1 - Reflects 20 percent of damage taken.
Level 2 - Reflects 28 percent of damage taken.
Level 3 - Reflects 36 percent of damage taken.
Level 4 - Reflects 44 percent of damage taken.
Level 5 - Reflects 52 percent of damage taken.

=======================================================================================

Keywords:
Spell, Spellpack, Spectre, Specter, Mercurial, Shadow, Phantom, Phantom Strike, Juxtapose, Illusion, Dispersion, AOE Damage return, Mana Void, Soul Dr
Contents

Specter Spellpack (Map)

Reviews
10:04, 14th Apr 2016 Tank-Commander: The spellpack needs complete restructuring in order to be approved, I recommend not converting GUI to JASS - it doesn't make the code any better and just visually makes it a mess to go through. Either write it...

Moderator

M

Moderator

10:04, 14th Apr 2016
Tank-Commander: The spellpack needs complete restructuring in order to be approved, I recommend not converting GUI to JASS - it doesn't make the code any better and just visually makes it a mess to go through. Either write it from the start as JASS or leave it as GUI. Please read my post and update accordingly
 
Level 11
Joined
Jul 25, 2014
Messages
490
Yeah no, that's not how you upload spells. Look at the other ones in the hive database and compare.

If you want to use JASS, look at some tutorials in how you should properly write in it, using converted gui is unacceptable.

Your description should consist of not only the tooltips, but of some actual mechanics of the spell. You should also post your triggers/jass code in their respective tags so users could see how it is made and make comments without having to open the map itself.
 
There's no point uploading converted GUI resources
- Converted GUI resources will be judged like normal JASS resources, and then be rejected because Converted GUI is terrible
- It's hard to update the JASS code if you do not know it already since it involves restructuring the entire code, it makes more sense to leave it in the GUI format (converting also makes it harder to read given the terrible structure of converted GUI) or writing it in JASS to begin with
- Most of the functions when converted are not natives which we avoid in most cases when working with JASS due to their slow speed

Now that all said here's some things that the code needs changed in order to approve it, I'll separate it into issues caused by converting (judging like a normal JASS resource) and general issues that would exist even if you had not done this:

JASS:
- Structure is awful, all "Trig_xxxxxx_Conditions" functions can have the conditional statements reduced to a single line instead of the minimum of 4 it has when converted
- Use condition evens only and nest the actions into it when the condition would return true - this makes the code run faster and gets rid of unnecessary functions
- Replace BJ functions (they code highlight as red) with their respective native functions
- All spells can and should be reduced to use a single trigger each
- Utilise local variables where necessary

General:
- Lacks a configuration
- Use Triggering Unit instead of things like Dying Unit
- You use an inefficient structure for checking ability levels: you can just check if they're greater than 0 to see if a unit has an ability
- Avoid using custom values for units they're generally not accepted due to easily conflicting with each other making it hard to have multiple abilities in a single map, we make exceptions to things that are universal systems like unit indexers which allow that to be avoided
- Do Nothing functions do nothing, so do not put them in the code
- Dummies should be created for neutral players and not specific ones in order to avoid messing with the scorescreen at the end of play
- Your importing instructions fail to mention that you have dummy units
- Your importing instructions fail to mention that you have items
- Phantom strike setup has a terrible conditional structure that could easily be avoided (using a dummy unit)
- Spells are really simple, which is very apparent if you consider how elongated they are by the conversion (this isn't inherently an issue but warrants near-perfection)

There's probably more but it's hard to see when the code is structured so badly and that's enough to get started on improving the spellpack

I strongly suggest reading JASS tutorials if you want to keep the spellpack in this format, but I'd also strongly suggest leaving it in GUI because it'd take forever and a day to modify to be clean (aside from building it all again from the ground up) and fixing all the general problems it has
 
Top