1. This spell doesn't pause or stun the target anymore. I just bind him with poison.
2. Some major fixes done. (Please, see the triggers)
3. No more Dummy unit required.
4. No more special effect for the caster.
Stored damage as an array
Date: 18:59, 22nd Apr 2012
Could be further improved, but it's approvable.
• The way you are damaging the units is not user-friendly. If one user wants to damage for 50 static damage, the loop trigger forces that...
• The way you are damaging the units is not user-friendly. If one user wants to damage for 50 static damage, the loop trigger forces that damage to be multiplied by the level of the caster's ability.
Store the damage with the array, like BP_RealDamage[BP_integer].
• Storing the AoE_Effect, when you instantly destroy it is not needed. Just use Special Effect - Destroy (Last created special effect).
• You still don't configure the special effects' paths, such as AnimateDeadTarget, ImmolationTarget and AnimateDeadTarget in your BPDuration trigger.
• The Pause's duration (Storm bolt ability) should be 0 in the Object Editor, so that a user can manage everything in the spell only by triggers. Do not forget to check if the target has other instances running on it, before removing the buff, otherwise previous endings of duration will dissolve the effect of the newer instances.
• Skip remaining actions is not necessary, especially when they are in the end of an if then else branch and after a trigger turn-off.
• Set Art - Death time of the dummy to 0.
• You don't need to store the caster's special effect, especially when you use the AnimateDeadTarget effect. It does not have a stand animation anyway. Just destroy it right after it has been used in BPCasting (don't forget to additionally remove the action of destruction in the BPDuration trigger).
• Rename the triggers; their names are too generic (speaking of the ones specifically used by this spell).
• Use global variables in the map initialization trigger (or even better, create a map initialization trigger for this spell only, to init values), in order to configure special effect paths (string variables). Mark the "duration" variable with a comment, to let a user noticeably know that this variable pertains to duration of the spell per level.
• Stun the unit, like Maker suggested in his review. Use Storm Bolt-based ability, with a duration of 0 and remove the buff, when the instance has ended. Make sure you check if that particular index'd target has more than one instances running on it, before removing the buff. This will help you a) to avoid removing the buff, in case other instances are used on the same unit, b) avoid spamming the special effects on the target more than once.
• Use Stats - Hide Minimap Display = True for the dummy.
• Avoid posting the triggers over and over again in the description, for every update. Use the triggers of the current version.
• It's more preferable to use the sfx on the target, not on a dummy, this will save performance. Make configurable values for the attachment points as well (e.g. "origin"/"chest"/etc.).
I'd also suggest adding some height onto that lightning effect by using AddLightningEx - this is so that it won't stick to the ground.
If you need to know how to use it I'd suggest looking at other spells with it, there are quite a few.
Also if you have problems with hashtables, just use dynamic indexing.
When I try to save in the TFT version that can use hastables, all triggers are being disabled. It says there are some errors and plenty of them. Even the triggers used for melee maps cannot be saved. IDK.
If anyone leaves good advice on how to make something MUI let me be the first. If you simply cannot use hashtables then use a indexing system without hashtables.
Example: Bribe's Indexer
Or, use JNPG and do custom script hashtables (Or regular editor for that matter, though it might not compile without jasshelper)
Well you still only run the last instance and are not looping thru all of them... the one referenced with Index... and oh, Integer A is non-existent on your trigger becoz its not inside a For integer A loop...
TempPosition whatsoever and DamageGroup should not be an array... AbilLevel is the one that needs to be an array...
I suggest removing the checking part which checks if the dummy is dead and move those actions inside of it to the second if-then-else, before anything that is currently on that block... and so remove the life timer too...
and as the mods suggest, use stun rather than pausing coz pausing is bad...
Thanks Adiktuz. I did that on this update, actually I did so much update today to include: using storm bolt to stun target, some edits that the moderator requires including renaming the triggers and putting up some comments. Also, some stuff on the dummy thingy, and other updates to the spell.
AoE + Level would result 251, 252, 253, etc. aoe, while the main comment for the aoe states 250, 500, 750, etc.. Is this indeed what you're after?
You can guide yourself through this, for future reference, because frankly, the current formula is too overpowered to use. http://world-editor-tutorials.thehelper.net/formula.php
Damn, didn't see this:
Set BP_DamageInflict[BP_integer] = (BP_RealDamage x (Real((Level of Binding Poison for BP_Caster[BP_integer]))))
Use this in the cast trigger, not the looping one. Also, Level of ability is already saved; use that variable for reference.
Update it with the changes I told you, it would be a lot better.
In the enumeration, check if matching unit belongs to an enemy of caster, not an ally of target, so as to include every enemy possible. It's early in the morning here, I didn't really spot these stuff. Make sure you update your rest spells with the same fixes.