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

Spell Request

Status
Not open for further replies.
Level 12
Joined
Apr 26, 2008
Messages
830
Alright, here's my request:

Spell Name: Fire Spin

Description:The user creates a strong whirlwind-like fire around the target wich becomes trapped in it for 3 seconds it also deals damage (INT X 5.50) , also it has 40% to burn the target, meaning it would be damage over time, the burn lasts 10 seconds, dealing (INT (of the caster) X 0,50).

MUI/GUI

Here is a GIF.
Fire_Spin.png

(also try to make the whirlwind last 3 second)

+rep, and credits for the maker.
 
Level 12
Joined
Apr 26, 2008
Messages
830
Here's my version of the spell. I hope it's what you were looking for. And as always, I focused on making the spell rather than test map :grin:.

Very nice made =), hope this is leakless ^^, anyways it's great but could you change the animation like could you make the fire move swirl around the target and not just stand it's okay if you can't do it but would be more awesome :thumbs_up:

EDIT:I will give credits =)
 
Level 12
Joined
Apr 26, 2008
Messages
830
It should be leakless, but there's always a chance that I've missed some leak. I reduced the number of dummy units and swirling speed, so it looks a little more swirling now.

Why do you need the footman?!

  • Fire Spin Cast
    • Ereignisse
      • Einheit - A unit Startet den Effekt einer Fähigkeit
    • Bedingungen
      • (Ability being cast) Gleich Fire Spin
    • Aktionen
      • Set FireSpin_caster = (Triggering unit)
      • Set FireSpin_target = (Target unit of ability being cast)
      • Custom script: call SetUnitPropWindow( udg_FireSpin_target , 0)
      • Set FireSpin_damage = (Real((Intelligenz of FireSpin_caster (Einschließen bonuses))))
      • Set FireSpin_targetPoint = (Position of FireSpin_target)
      • -------- Here you can set duration: in else-actions, set duration of the spell --------
      • -------- in then-actions, set duration of spell + duration of burn --------
      • -------- if you change duration, also change duration in damage section below --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Bedingungen
          • (Random integer number between 1 and 100) Kleiner gleich 40
        • 'THEN'-Aktionen
          • Set FireSpin_burn = True
          • Set FireSpin_duration = 13.00
        • 'ELSE'-Aktionen
          • Set FireSpin_burn = False
          • Set FireSpin_duration = 3.00
      • Einheit - Create 1 Soldat for Neutral passiv at (Center of (Playable map area)) facing Vorgabe für Gebäude-Ausrichtung degrees
      • Einheit - Hide (Last created unit)
      • Hashtabelle - Save FireSpin_duration as 0 of (Key (Last created unit)) in FireSpin_hash
      • -------- Here you can set damage. 5.5*damage is the total damage --------
      • -------- 0.04/3 means that loop is run every 0.04 seconds and that duration is 3 sec --------
      • Hashtabelle - Save ((5.50 x FireSpin_damage) x (0.04 / 3.00)) as 1 of (Key (Last created unit)) in FireSpin_hash
      • Hashtabelle - Save ((0.50 x FireSpin_damage) x (0.04 / 10.00)) as 2 of (Key (Last created unit)) in FireSpin_hash
      • Hashtabelle - Save FireSpin_burn as 3 of (Key (Last created unit)) in FireSpin_hash
      • Hashtabelle - Save Handle OfFireSpin_caster as 4 of (Key (Last created unit)) in FireSpin_hash
      • Hashtabelle - Save Handle OfFireSpin_target as 5 of (Key (Last created unit)) in FireSpin_hash
      • Hashtabelle - Save Handle OfFireSpin_targetPoint as 6 of (Key (Last created unit)) in FireSpin_hash
      • Set FireSpin_effectGroup = (Units in (Playable map area) matching (True Gleich False))
      • Hashtabelle - Save Handle OfFireSpin_effectGroup as 7 of (Key (Last created unit)) in FireSpin_hash
      • Einheitengruppe - Add (Last created unit) to FireSpin_group
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Bedingungen
          • FireSpin_burn Gleich True
        • 'THEN'-Aktionen
          • Spezialeffekt - Create a special effect attached to the chest of FireSpin_target using Environment\LargeBuildingFire\LargeBuildingFire1.mdl
          • Set FireSpin_burnEffect = (Last created special effect)
          • Hashtabelle - Save Handle OfFireSpin_burnEffect as 8 of (Key (Last created unit)) in FireSpin_hash
        • 'ELSE'-Aktionen
      • Auslöser - Turn on Fire Spin Loop <gen>
 
Level 10
Joined
Jun 6, 2007
Messages
392
I use a footman as a kind of dummy unit. A new footman is created every time the spell is cast, and the handle id of the footman is used as an index in hashtable. If I used id of caster/target as an index instead, the spell wouldn't stack. It could be any other unit type as well.
 
Fire Spin [GUI] [MUI]

I have created Fire Spin for you. It uses:
1 ability
3 buffs
2 triggers (not including the indexer)

It is fully MUI, lagless, and leakless.
Enjoy, no credit required.
View attachment Fire Spin.w3x
Triggers
  • Fire Spin Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire Spin
    • Actions
      • Set TempUnit = (Triggering unit)
      • Set TempUnit2 = (Target unit of ability being cast)
      • Set TempInteger = (Custom value of TempUnit2)
      • Unit - Cause TempUnit to damage TempUnit2, dealing ((Real((Intelligence of TempUnit (Include bonuses)))) x 5.50) damage of attack type Magic and damage type Fire
      • Set FSsource[TempInteger] = TempUnit
      • Unit Group - Add TempUnit2 to FireSpinGroup
      • Trigger - Turn on Fire Spin PRD <gen>
  • Fire Spin PRD
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in FireSpinGroup and do (Actions)
        • Loop - Actions
          • Set TempUnit = (Picked unit)
          • Set TempInteger = (Custom value of TempUnit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FSboolean[TempInteger] Not equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (TempUnit has buff Fire Spin ) Not equal to True
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Random real number between 0.00 and 100.00) Less than or equal to 40.00
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of TempUnit using Environment\LargeBuildingFire\LargeBuildingFire2.mdl
                      • Set FSeffect[TempInteger] = (Last created special effect)
                      • Set FSduration[TempInteger] = 10
                      • Set FSboolean[TempInteger] = True
                    • Else - Actions
                      • Unit Group - Remove TempUnit from FireSpinGroup
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Number of units in FireSpinGroup) Equal to 0
                        • Then - Actions
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
                • Else - Actions
            • Else - Actions
              • Set FSduration[TempInteger] = (FSduration[TempInteger] - 1)
              • Set TempUnit2 = FSsource[TempInteger]
              • Unit - Cause TempUnit2 to damage TempUnit, dealing ((Real((Intelligence of TempUnit2 (Include bonuses)))) x 0.50) damage of attack type Magic and damage type Fire
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FSduration[TempInteger] Equal to 0
                • Then - Actions
                  • Special Effect - Destroy FSeffect[TempInteger]
                  • Set FSboolean[TempInteger] = False
                  • Unit Group - Remove TempUnit from FireSpinGroup
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Number of units in FireSpinGroup) Equal to 0
                    • Then - Actions
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
 
Level 12
Joined
Apr 26, 2008
Messages
830
I have created Fire Spin for you. It uses:
1 ability
3 buffs
2 triggers (not including the indexer)

It is fully MUI, lagless, and leakless.
Enjoy, no credit required.
View attachment 109753
Triggers
  • Fire Spin Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire Spin
    • Actions
      • Set TempUnit = (Triggering unit)
      • Set TempUnit2 = (Target unit of ability being cast)
      • Set TempInteger = (Custom value of TempUnit2)
      • Unit - Cause TempUnit to damage TempUnit2, dealing ((Real((Intelligence of TempUnit (Include bonuses)))) x 5.50) damage of attack type Magic and damage type Fire
      • Set FSsource[TempInteger] = TempUnit
      • Unit Group - Add TempUnit2 to FireSpinGroup
      • Trigger - Turn on Fire Spin PRD <gen>
  • Fire Spin PRD
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in FireSpinGroup and do (Actions)
        • Loop - Actions
          • Set TempUnit = (Picked unit)
          • Set TempInteger = (Custom value of TempUnit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FSboolean[TempInteger] Not equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (TempUnit has buff Fire Spin ) Not equal to True
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Random real number between 0.00 and 100.00) Less than or equal to 40.00
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of TempUnit using Environment\LargeBuildingFire\LargeBuildingFire2.mdl
                      • Set FSeffect[TempInteger] = (Last created special effect)
                      • Set FSduration[TempInteger] = 10
                      • Set FSboolean[TempInteger] = True
                    • Else - Actions
                      • Unit Group - Remove TempUnit from FireSpinGroup
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Number of units in FireSpinGroup) Equal to 0
                        • Then - Actions
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
                • Else - Actions
            • Else - Actions
              • Set FSduration[TempInteger] = (FSduration[TempInteger] - 1)
              • Set TempUnit2 = FSsource[TempInteger]
              • Unit - Cause TempUnit2 to damage TempUnit, dealing ((Real((Intelligence of TempUnit2 (Include bonuses)))) x 0.50) damage of attack type Magic and damage type Fire
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FSduration[TempInteger] Equal to 0
                • Then - Actions
                  • Special Effect - Destroy FSeffect[TempInteger]
                  • Set FSboolean[TempInteger] = False
                  • Unit Group - Remove TempUnit from FireSpinGroup
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Number of units in FireSpinGroup) Equal to 0
                    • Then - Actions
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions

Thanks but i think the one erkki made is better, but thanks anyways =)
 
Status
Not open for further replies.
Top