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

Burning Destructibles

Status
Not open for further replies.
Level 10
Joined
Jan 19, 2010
Messages
393
So i already posted this. But i want to change this a "little bit". It is on end of my power right now. So anyone. I say anyone can edit it how he wants. It has some leaks that are needed to fix.
So i say anyone of you. Help me to do it to it's end! All i want are credit for idea. Thanks for everyone who will help me.

PS: Let me know if you edit it or use it in your map, cause i want to try out on my email ([email protected]) or on my Skype (zanekok) :)

Burning Destructibles 1.0
 
Level 10
Joined
Jan 19, 2010
Messages
393
1.Leaks
2.Some better effect
3.Less triggers(right now it's chaos only :( )
4.Make it burn even a units-making it stealing HP instead of "timer"
5.Way to stop it(spell)
6.Way to start it(spell)

PS: Because of 5 and 6 i created fire as unit and also because its easier to work with it

EDIT: So will you pick it? Or anyone else?
 
Last edited:

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
Here is an egzample of spell, i guess you were heading to. However, there isn't anything left from your triggers/object editor customizations.
Dummy unit is completely not needed. You wanted to see variation of burning forest? here you are.

EDIT: Wans't think about way to stop it for now, and didn't add a 4th paragrath too - right now its fine mine version of devastation.
 

Attachments

  • Firing Destructibles 1.0.w3x
    25.9 KB · Views: 72
Level 4
Joined
Jun 23, 2011
Messages
70
I think Zanekok was looking for more of a basic function than just a cool effect. He was trying to build it so that you can use it anytime you want a spreading fire, not just for one specific game or type of destructible.

Also, I hate how you can just DO that, Spinnaker. I haven't learned JASS yet, so even though I'm amazing at logic problems (helpful with the GUI), it takes me hours to put stuff together! Please link to whatever JASS tutorial you learned from! :)
 

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
I dont get what are you talking about? whats wrong guys? I just showed a option for this idea, and there it is. Explosions are for terrain deformations.
JASS? there is no single JASS in triggers, all in made in GUI so you shouldn't have problems with understanding it, but even if you do, ask which part you dont get.
Here are triggers:
  • Fire Init
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Eager Fire (Naisha)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Fire_Integer[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Burned out <gen>
        • Else - Actions
      • Set Fire_Integer[1] = (Fire_Integer[1] + 1)
      • Set Fire_Integer[2] = (Fire_Integer[2] + 1)
      • Set Fire_Damage[Fire_Integer[2]] = 10.00
      • Set Fire_Timer[Fire_Integer[2]] = 5.00
      • Set Fire_Destructible[Fire_Integer[2]] = (Target destructible of ability being cast)
      • Set Fire_SfxString[Fire_Integer[2]] = Doodads\Cinematic\TownBurningFireEmitter\TownBurningFireEmitter.mdl
      • Set Fire_Bonusfx[Fire_Integer[2]] = Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
      • Set Fire_Point = (Position of Fire_Destructible[Fire_Integer[2]])
      • Special Effect - Create a special effect at Fire_Point using Fire_SfxString[Fire_Integer[2]]
      • Set Fire_Effect[Fire_Integer[2]] = (Last created special effect)
      • Set Fire_Boolean[Fire_Integer[2]] = True
      • Custom script: call RemoveLocation (udg_Fire_Point)
  • Burned out
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Fire_Integer[3]) from 1 to Fire_Integer[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Fire_Boolean[Fire_Integer[3]] Equal to True
            • Then - Actions
              • Destructible - Set life of Fire_Destructible[Fire_Integer[3]] to ((Current life of Fire_Destructible[Fire_Integer[3]]) - (Fire_Damage[Fire_Integer[3]] x 0.05))
              • Set Fire_Timer[Fire_Integer[3]] = (Fire_Timer[Fire_Integer[3]] - 0.05)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Fire_Destructible[Fire_Integer[3]] is dead) Equal to True
                      • Fire_Timer[Fire_Integer[3]] Less than or equal to 0.00
                • Then - Actions
                  • Set Fire_Boolean[Fire_Integer[3]] = False
                  • Set Fire_Timer[Fire_Integer[3]] = 0.00
                  • Set Fire_Destructible[Fire_Integer[3]] = No destructible
                  • Set Fire_SfxString[Fire_Integer[3]] = <Empty String>
                  • Set Fire_Bonusfx[Fire_Integer[3]] = <Empty String>
                  • Special Effect - Destroy Fire_Effect[Fire_Integer[3]]
                  • Set Fire_Integer[1] = (Fire_Integer[1] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Fire_Integer[1] Equal to 0
                    • Then - Actions
                      • Set Fire_Integer[2] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
                  • Set Fire_Chance[Fire_Integer[3]] = (Random integer number between 1 and 10)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Current life of Fire_Destructible[Fire_Integer[3]]) Less than ((Max life of Fire_Destructible[Fire_Integer[3]]) x 0.50)
                      • Fire_Chance[Fire_Integer[3]] Equal to 1
                    • Then - Actions
                      • Set Temp_point = (Position of Fire_Destructible[Fire_Integer[3]])
                      • Set Temp_region = (Rect centered at Temp_point with size (500.00, 500.00))
                      • Set Temp_tree = (Random destructible in Temp_region matching ((((Matching destructible) is dead) Equal to False) and ((Matching destructible) Not equal to Fire_Destructible[Fire_Integer[3]])))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Temp_tree Not equal to No destructible
                        • Then - Actions
                          • Set Fire_Integer[1] = (Fire_Integer[1] + 1)
                          • Set Fire_Integer[2] = (Fire_Integer[2] + 1)
                          • Set Fire_Damage[Fire_Integer[2]] = 10.00
                          • Set Fire_Destructible[Fire_Integer[2]] = Temp_tree
                          • Set Fire_Timer[Fire_Integer[2]] = 5.00
                          • Set Fire_SfxString[Fire_Integer[2]] = Doodads\Cinematic\TownBurningFireEmitter\TownBurningFireEmitter.mdl
                          • Set Fire_Bonusfx[Fire_Integer[2]] = Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
                          • Set Fire_Point = (Position of Fire_Destructible[Fire_Integer[2]])
                          • Special Effect - Create a special effect at Fire_Point using Fire_SfxString[Fire_Integer[2]]
                          • Set Fire_Effect[Fire_Integer[2]] = (Last created special effect)
                          • Set Fire_Boolean[Fire_Integer[2]] = True
                          • Custom script: call RemoveLocation (udg_Fire_Point)
                        • Else - Actions
                      • Set Fire_Chance[Fire_Integer[3]] = (Random integer number between 1 and 10)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Fire_Chance[Fire_Integer[3]] Equal to 10
                        • Then - Actions
                          • Special Effect - Create a special effect at Temp_point using Fire_Bonusfx[Fire_Integer[3]]
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                      • Set Fire_Chance[Fire_Integer[3]] = 0
                      • Custom script: call RemoveRect (udg_Temp_region)
                      • Custom script: call RemoveLocation (udg_Temp_point)
                    • Else - Actions
            • Else - Actions
EDIT: Btw here is an amzaing Jass tutorial for you guys: Click here.
 

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,140
You need to study Jass/GUI tutorials to really get familiar with coding in wc3. It's strange you could not find it by yourself, despite that fact ,here you are:
  • Set Fire_Chance[Fire_Integer[3]] = (Random integer number between 1 and 10)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • Fire_Chance[Fire_Integer[3]] Equal to 10
      • Then - Actions
        • Special Effect - Create a special effect at Temp_point using Fire_Bonusfx[Fire_Integer[3]]
        • Special Effect - Destroy (Last created special effect)
      • Else - Actions
 
Status
Not open for further replies.
Top