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

[Trigger] need help with complex spell

Status
Not open for further replies.
Level 15
Joined
Jul 9, 2008
Messages
1,552
ok iv got a spell that needs to show a fire vortex around the hero(caster) with 250/275/300...AOE. and when the units are inside they take dps and every x seconds the a fireball from the middle of the vortex will do instand damage to a random unit within 300/325/350 AOE

here is what i need help with
  • the effect for some reason when u move the vortex moves realy creazily around you indead of staying in the right place (also if u have any better ideas for the effect please tell me)you will see what i mean when you test
  • also how to deal the dps in the loop(i have forgotten the process its been a long time)
  • what would be a good dummy spell to use for the fire balls that deal instant damage

here is what i have so far please tell me what ill need to add to make it work
 

Attachments

  • FIRE TITAN SPELL PACK.w3x
    16.9 KB · Views: 42
Level 33
Joined
Mar 27, 2008
Messages
8,035
This is taken from Glaive of the Flame from Trydene's Spell Pack
I'll answer the 2nd and 3rd question

2nd.
  • GOTF Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Glaive of the Flame
    • Actions
      • Set Caster = (Triggering unit)
      • Set Target = (Target unit of ability being cast)
      • Set TargetLoc = (Position of Target)
      • Unit - Create 1 GOTF Dummy for (Owner of Caster) at TargetLoc facing Default building facing degrees
      • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
      • Countdown Timer - Start (Last started timer) as a One-shot timer that will expire in 10.00 seconds
      • Trigger - Turn on Damage Per Second <gen>
  • Damage Per Second
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set AOE = (Units within 1000.00 of TargetLoc matching (((Matching unit) belongs to an enemy of (Owner of Caster)) Equal to True))
      • Unit Group - Pick every unit in AOE and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Remaining time for (Last started timer)) Greater than 0.00
            • Then - Actions
              • Unit - Cause Caster to damage (Picked unit), dealing 200.00 damage of attack type Spells and damage type Normal
              • Custom script: call DestroyGroup(udg_AOE)
            • Else - Actions
              • Custom script: call RemoveLocation(udg_TargetLoc)
              • Trigger - Turn off (This trigger)
If you have any question regarding the trigger, please do so =D
In second trigger, every 1 second, a unit group is created AND destroyed every time it is used
Therefore, it doesn't leak + deals damage to surrounding enemy in 1000 AOE (as set in the variable, matching unit)

3rd.
You can base it off of Storm Bolt spell ?
Change the duration to 0.01
OR use Chain Lightning-based spell ?
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
  • Custom script: local unit udg_Caster
Use a local variable instead ?
Even with Waits, it will be MUI since it is declared on local variable
Though, the cons of local variable is you can't use it in other trigger
It is meant for single-time use trigger
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Save the angle and distance from caster to the created unit in the trigger you create the units with. Then load the angle and dist when you are about to move the units in the looping trigger. Remember to increase the angle by 5 and save the new angle.

I guarantee that it works.
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
Use "Slow" for 2nd problem
Set the duration to 0.01
The unit will have "Slow" buff for 0.01 seconds ONLY

OR, you can just create a new spell, based on "Channel"
Object Editor -> Ability Tab -> Neutral Hostile -> Heroes -> Channel
Change its "Data - Base Order ID" to something else, instead of "channel"
Also, change its "Text - Order String - Use/Turn On" to same as your changed data of base order ID
"Data - Art Duration" changed to 0
"Data - Follow Through Time" changed to 0
"Data - Target Type" changed to Unit Target
"Data - Options" tick the "Visible" box"
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
  • Actions
    • set r1 = Real((Level of Fire Vortex for FV_caster[FV_MUI]
    • For each (Integer A) from 1 to 10, do (Actions)
      • Loop - Actions
        • For each (Integer B) from 1 to 5, do (Actions)
          • Loop - Actions
            • set r2 = the offset
            • set r3 = the angle
            • set p2 = FV_center[FV_MUI] offset by r2 towards r3
            • Unit - Create 1 dummy for (Owner of FV_caster[FV_MUI]) at p2
            • *SAVE R2*
            • *SAVE R3*
            • Unit Group - Add (Last created unit) to FV_vortex_group[FV_MUI]
            • Custom script: call RemoveLocation(udg_p2)
  • Unit Group - Pick every unit in FV_vortex_group[FV_loop] and do (Actions)
    • Loop - Actions
      • Custom script: set r1 = *LOAD THE ANGLE* + 5
      • Custom script: set r2 = *LOAD THE DISTANCE*
      • Unit - Move (Picked unit) instantly to (FV_center[FV_loop] offset by r2 towards (r1) degrees), facing spincenter
      • *SAVE r1*
I tested it and it works.
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
iAcce said:
Name: Fire Vortex
Levels: 10
Description: The Fire Titan creates a vortex out of fire around it dealing [(Spell level * Caster level) * (Spell level * 2)] to enemies in an AoE of 250 increasing by 25 each level. Also it the vortex shoots out balls of fire to enemies in an AoE of 350 increasing by 40 each level. The damage of the balls are [(Spell level * (Caster level + Target level)/100) * (Spell level * (Caster level / 100)] and the amount of balls it shoots out each [(((Spell level + Caster level)/200)/2)] seconds is equal to [(Spell level * Caster level)/100 – (Spell level * 2.5)

Originally quoted from the original requester
Maker, if possible, can you create this spell ?
Credits will be given to you though =D
millzy is having his hard time lol
 
Status
Not open for further replies.
Top