🏆 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!
🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece!🔗 Click here to enter!
Create a dummy unit and move it with acceleration? And for the damage part have like a real like 1.0 at the start and for every hit it does reduce it 0.1 (this makes it deal 10% less dmg each hit). Quite a basic projectile spell
Create a dummy unit and move it with acceleration? And for the damage part have like a real like 1.0 at the start and for every hit it does reduce it 0.1 (this makes it deal 10% less dmg each hit). Quite a basic projectile spell
Tried too make this one in GUI but havnt used GUI in like 2 years now, so it was very confusing ^^ You have so bad over view of the triggers. JASS ftw! (Could make you a VJass script in a sec if you'd like)
EDIT: Made a basic projectile spell for you, so you can see how you make the movement and stuff
Power Shot Setup
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Set PowerShot_Hashtable = (Last created hashtable)
Power Shot Cast
Events
Unit - A unit Finishes casting an ability
Conditions
(Ability being cast) Equal to 'YourSpell'
Actions
-------- Casting Unit --------
Set TempUnit = (Triggering unit)
-------- Location of the casting unit --------
Set TempLoc = (Position of TempUnit)
-------- Location where the spell was casted --------
Set TempLoc2 = (Target point of ability being cast)
I already know exactly how to code the spell to do damage in a line, but it is impossible to make MUI.
All I need is how they make the spell MUI.
My problem is with my spell Infernal Wave, it causes damage in a line.
I make it pick all enemy units in 200 range of the projectile and do the following:
Deal damage
Add unit to "was hit" unit group
I can't have it MUI if the "was hit" group is a global variable (I am not going to make an 8192 array for it). But there is no way I can see, even with hashtables, to make it MUI. Since the hashtable unit group handle must refer to a global unit group.
For now, I have it MPI with "was hit [number of triggering player]" but this is still half-assed and it must be MUI if at all possible.
I think you dont need local groups really, just save the group in a hashtable and evrything will be okay(considering you know how to work with hashtables)...
Unit Group - Pick every unit in (Units within 128.00 of loc matching ((((((Matching unit) is A structure) Equal to False) and (((Matching unit) is dead) Equal to False)) and (((Matching unit) is A flying unit) Equal to False)) and ((((Matching unit) is Magic Immune) Equal to False) and (((( and do (Actions)
Loop - Actions
Unit Group - Add (Picked unit) to Missile_Struck[i]
Unit - Cause Missile_Caster[i] to damage (Picked unit), dealing Missile_Damage[i] damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\DemolisherFireMissile\DemolisherFireMissile.mdl
Special Effect - Destroy (Last created special effect)
-------- this decreases the damage by 10% every hit --------
Set Missile_Damage[i] = (Missile_Damage[i] x 0.90)
Custom script: call RemoveLocation( udg_loc )
Else - Actions
Unit - Kill Missile_Unit[i]
-------- this shifts data --------
Set Missile_Unit[i] = Missile_Unit[Missile_Max]
Set Missile_Caster[i] = Missile_Caster[Missile_Max]
Set Missile_Damage[i] = Missile_Damage[Missile_Max]
Unit Group - Remove all units from Missile_Struck[i]
Unit Group - Add all units of Missile_Struck[Missile_Max] to Missile_Struck[i]
Unit Group - Remove all units from Missile_Struck[Missile_Max]
Set Missile_Speed[(i x 3)] = Missile_Speed[(Missile_Max x 3)]
Set Missile_Speed[((i x 3) + 1)] = Missile_Speed[((Missile_Max x 3) + 1)]
Set Missile_Speed[((i x 3) + 2)] = Missile_Speed[((Missile_Max x 3) + 2)]
Set Missile_Distance[(i x 2)] = Missile_Distance[(Missile_Max x 2)]
Set Missile_Distance[((i x 2) + 1)] = Missile_Distance[((Missile_Max x 2) + 1)]
Set Missile_Max = (Missile_Max - 1)
Set i = (i - 1)
-------- if there are no units left this trigger will be stopped --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Missile_Max Less than 1
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
right now the periodic unit group pic is the biggest performance eater so you should look out for some JASS dude who'll make you a function or something which damages units in an aoe around x/y-coordinates, adds them to a unit group and creates a special effect
the other stuff should be perfect (I hope)
at least you can spam it a few times without breaking the game
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.