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

Flare Star v1.25

  • Like
Reactions: Legion_King
Flare Star is a recreration of the ff9 boss spell 'Flare Star'

it creates a five pointed star with 'Flares' the flares then set fire to the ground before flying back into the centre of the star witch then causes a reaction creating a megaflare witch engulfs the entire star.

It's a fairly simple spell, however very powerful. It is a hero ability and is leveled.

you can change quite easily the amount of points on your star there are and how large it is, if you just want to modify damages though most of it can be done in the object editor with the dummy spells.

contains documentation on modifications and recommendations & genral information about the spell.

This spell is a non channel spell.
casted from a distance.
standard AOE is large.

Keep inmind the main objective of this spell is too look like the origional more than anything so there is a large amount of sfx used in it.

Changes v1.10:
Made less object data relient (50% of damage is trigger based)
added another part to the spell to make it more like the origional
reduced waiting times to a minimum
Hopefully removed leaks
Added a uses counter into the test map, not an essential but too see if you can now cast over 8191 times.
changed main explosion calculation.
Improved documentation drastically

Changes v1.20:
added the mustard bomb effect.
removed the waits as an alternative was found

Changes v1.21:
tiny change to be honest, just removed the last of the leaks.

Changes v1.25:
another particularly small update.
Added a Flame star out of sfx to make the star alot more odvious
fixed the very last leak (there was just one)
inproved screenshot

Requirements for approval completed: 3/5
unsure wether it's ready for re-review

Credit to paladon for help with removing array leaks.

Give credit if you use in your map please.

Keywords:
Final, Fantasy, 9, nine, Japan, recreation, Flare, star, flare star, megaflare, mega flare, fire, explode, explosion, ff, ff9, ffx, mustard, bomb.
Contents

Flare Star (Map)

Reviews
19:15, 14th Oct 2009 Hanky: I don't like the fact that the Main Burning Star Pattern Creation trigger is always active, but well I think your spell is useful enough.

Moderator

M

Moderator

19:15, 14th Oct 2009
Hanky:
I don't like the fact that the Main Burning Star Pattern Creation trigger is always active, but well I think your spell is useful enough.
 
Level 9
Joined
Aug 2, 2008
Messages
219
I looked a bit at the code and i must say i´ve seen better ones. I couldn´t spot any leaks so far and you included some documentation but the spell is not MUI and it´s using waits and you should also avoid the usage of UnitUserData (or whatever it´s called in GUI). The spell is mainly made of huge dummy effects and for my taste it´s using a bit too many stuff from the object editor, furthermore the spell shouldn´t damage alleys by default (even if it´s configureable). I guess this might help you if you´re going to fix your spell.

~TNT
 
Level 31
Joined
May 3, 2008
Messages
3,155
This spells cannot be approve cause

1) It use wait, which are a bad thing to use as it could overwrite the execution if it was cast twice at the same time. To make this even worst, you are using loop along with wait.

2) Use custom values was a bad idea.

3) It does leak, you leak unit group. I generally does not see any custom script that are use to destroy the group upon use.

Your documentation was weak as well, especially the trigger documentation.
 
I see your point septimus, the waits where only to make it more like the origional, but i dont think it can be overriten because i used custom values. however ofcource using custom values is also a bad idea, and i will replace it with a variable as soon as possible as well as remove waits.
But how would i go about replacing the custom values? I'm not too sure.

as for the leaks i will fix them however i beleive i did put in some removing custom script in there but i will double check. (they are removed later in it if i remember because some of the variables are needed to be used again.)

As for the mostpart of the spell being in the objaect editor, that will soon change. I am creating another part to it to make it even more like the origional witch will use a calculated formula to damage and add a stasus ailment.

and yes i will make it not damage allies.

This is my first spell and i intend for the end result to be as good as i can make it.
 
Fair enough.

currant progress on upgrade:
Waits are set to as miniumum (they come to a total of 0.76 seconds) these waits I found are required (especially the 0.01 wait) as if i remove them then the spell just wont work.
Added more trigger based damage calculated by hero's stats. (now 50% of damage is triggered the remaining 50% objec editor based damage will be left so the spell doesn't become stupidly powerful)
Improved documentation (still in progress)
Hopefully removed Leaks.

to do list:
Replace use of custom values
allow more then 8191 uses before stopping <- hopefully completed

  • Flare Star
    • Events
      • Unit - A unit Starts the effect of an ability
      • Unit - A unit Is attacked
      • Unit - A unit Dies
    • Conditions
    • Actions
      • -------- Star initial creation --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Flare Star
        • Then - Actions
          • -------- Star formation creation --------
          • Set Real = 0.00
          • Set Caster[ID_set] = (Triggering unit)
          • Set Centre = (Target point of ability being cast)
          • -------- Summon sfx --------
          • Unit - Create 1 Flare Summoner for (Owner of Caster[ID_set]) at Centre facing Default building facing degrees
          • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
          • Unit - Add a 2.50 second Generic expiration timer to (Last created unit)
          • -------- Star main setup --------
          • For each (Integer Star_Segment) from 1 to 5, do (Actions)
            • Loop - Actions
              • -------- Dummy unit creatioin --------
              • Unit - Create 1 Flare. for (Owner of Caster[ID_set]) at Centre facing Default building facing degrees
              • Unit - Set the custom value of (Last created unit) to ID_set
              • -------- Dummy ability level set --------
              • Unit - Set level of Flare Burn for (Last created unit) to (Level of Flare Star for Caster[ID_set])
              • Unit - Set level of Inferno for (Last created unit) to (Level of Flare Star for Caster[ID_set])
              • Unit - Set level of Central Explosion for (Last created unit) to (Level of Flare Star for Caster[ID_set])
              • Set Centre_offset[Star_Segment] = (Centre offset by 400.00 towards Real degrees)
              • Unit - Order (Last created unit) to Human Blood Mage - Flame Strike Centre_offset[Star_Segment]
              • -------- Centre Flares creation --------
              • Unit - Create 1 Flare Star Segment. for (Owner of Caster[ID_set]) at Centre facing Default building facing degrees
              • Unit - Set the custom value of (Last created unit) to ID_set
              • Unit - Set mana of (Last created unit) to ((Real((Intelligence of Caster[ID_set] (Include bonuses)))) / 6.00)
              • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
              • -------- Centre Flares Damage set --------
              • Unit - Create 1 invisible Flare. for (Owner of Caster[ID_set]) at Centre facing Default building facing degrees
              • Unit - Set level of Inferno for (Last created unit) to (Level of Flare Star for Caster[ID_set])
              • Unit - Order (Last created unit) to Human Blood Mage - Flame Strike Centre_offset[Star_Segment]
              • -------- Alter this is you are trying to change the amount of points in your star --------
              • Set Real = (Real + 72.00)
              • Custom script: call RemoveLocation(udg_Centre_offset[udg_Star_Segment])
          • -------- Creates the burning star pattern --------
          • For each (Integer Star_Segment) from 1 to 5, do (Actions)
            • Loop - Actions
              • Set Star_Picture_Point = (Centre offset by 400.00 towards Real degrees)
              • Unit - Create 1 Flare Summoner for (Owner of Caster[ID_set]) at Star_Picture_Point facing Default building facing degrees
              • Animation - Change (Last created unit)'s size to (100.00%, 100.00%, 100.00%) of its original size
              • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
              • Unit - Create 1 Mini Flare for (Owner of Caster[ID_set]) at Star_Picture_Point facing Default building facing degrees
              • Unit - Set the custom value of (Last created unit) to ID_set
              • Set Generic_Time_left[(Custom value of (Last created unit))] = 5.00
              • Set Real = (Real + 144.00)
              • Custom script: call RemoveLocation(udg_Star_Picture_Point)
              • Set Star_Picture_Point = (Centre offset by 400.00 towards Real degrees)
              • Unit - Order (Last created unit) to Move To Star_Picture_Point
              • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation(udg_Star_Picture_Point)
          • Set Explode_Centre[ID_set] = (Target point of ability being cast)
          • Set ID_set = (ID_set + 1)
          • If (ID_set Equal to 8000) then do (Set ID_set = 0) else do (Do nothing)
          • Custom script: call RemoveLocation(udg_Centre)
        • Else - Actions
      • -------- Return to middle acitvation --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Inferno
          • (Unit-type of (Triggering unit)) Equal to Flare.
        • Then - Actions
          • -------- Return to centre --------
          • Unit - Order (Triggering unit) to Neutral Tinker - Cluster Rockets Explode_Centre[(Custom value of (Triggering unit))]
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Ability being cast) Equal to Central Explosion
            • Then - Actions
              • Unit - Hide (Triggering unit)
              • Unit - Add a 0.75 second Generic expiration timer to (Triggering unit)
            • Else - Actions
      • -------- Return to middle & explosion --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Dying unit)) Equal to Flare Star Segment.
        • Then - Actions
          • -------- Megaflare --------
          • Unit - Add a 1.00 second Generic expiration timer to (Dying unit)
          • Set ID2 = (Custom value of (Triggering unit))
          • -------- Explosion sfx --------
          • For each (Integer Star_Segment) from 1 to 6, do (Actions)
            • Loop - Actions
              • Unit - Create 1 Central explosion for (Owner of (Triggering unit)) at Explode_Centre[(Custom value of (Triggering unit))] facing Default building facing degrees
              • Unit - Add a 15.00 second Generic expiration timer to (Last created unit)
          • -------- Damage --------
          • Set Damage_Group = (Units within 600.00 of Explode_Centre[ID2] matching (((Owner of (Matching unit)) is an enemy of (Owner of (Triggering unit))) Equal to True))
          • For each (Integer Star_Segment) from 1 to 5, do (Actions)
            • Loop - Actions
              • Unit Group - Pick every unit in Damage_Group and do (Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((100.00 + (Real((Intelligence of Caster[ID2] (Include bonuses))))) x (Real((Level of Central Explosion for (Triggering unit))))) damage of attack type Chaos and damage type Demolition)
          • Custom script: call RemoveLocation(udg_Explode_Centre[udg_ID2])
          • Custom script: call DestroyGroup (udg_Damage_Group)
        • Else - Actions
      • -------- Mini Flare Explosion Retargeting --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Attacking unit)) Equal to Flare Star Segment.
        • Then - Actions
          • -------- Centre Flares Damage and injury effect --------
          • Unit - Cause (Attacking unit) to damage (Attacked unit), dealing (Mana of (Attacking unit)) damage of attack type Chaos and damage type Demolition
          • Set Flare_Centre_Targets = (Units within 600.00 of (Position of (Attacking unit)) matching (((Owner of (Matching unit)) is an ally of (Owner of (Attacking unit))) Equal to False))
          • Set Injury_Randomizer = (Random integer number between 1 and 10)
          • Unit - Order (Attacking unit) to Attack (Random unit from Flare_Centre_Targets)
          • If (Injury_Randomizer Equal to 1) then do (Unit - Set mana of (Attacked unit) to ((Mana of (Attacked unit)) - (Mana of (Attacking unit)))) else do (Do nothing)
          • If (Injury_Randomizer Equal to 2) then do (Unit - Set mana of (Attacking unit) to ((Mana of (Attacking unit)) + 1.00)) else do (Do nothing)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Attacking unit) has buff Mustard Bomb ) Equal to True
            • Then - Actions
              • -------- Mustard Bomb Damage Calculation --------
              • Unit - Cause (Attacked unit) to damage (Attacking unit), dealing (((Max life of (Attacked unit)) - (Life of (Attacked unit))) / 2.00) damage of attack type Chaos and damage type Demolition
            • Else - Actions
Damage calculation :
Standard Damage formula (recommended maximum strength):
Flare mini burn: +10 each level, starts at 10 (Damage delt evry second to nearby enemy units)
Flare Strike: 15+ each level, starts at 15 (this is the flames created when the star is complete)
Flare mini explosions: 1/6 of hero's intelligence (the mini explosions)
Added effects per hit: cause enemy to lose mana = to damage
Increase mini explosions damage by 1
Chance of occuring: 2/10
Flare Main Explosion: (100 + Heros intelligence) x Level of Flare star x amount of star segments (standard is 5).
Standard level 3 paladin expected minimum damage per unit = 675.5
 
Last edited:
Level 9
Joined
Aug 2, 2008
Messages
219
Waits are set to as miniumum (they come to a total of 0.76 seconds) these waits I found are required (especially the 0.01 wait) as if i remove them then the spell just wont work.
Just to let you know, the minimal duration of a Waits are 0.27. If you enter something less than that it will be still treated as 0.27 so your 0.01 will not work.
 
i kno that... i trying rly hard to make the spell mui but i just cannot do it :S, if i could i would gladly remove the waits. i best go look for some help (i read all the tutorials but to no avail)

woot I've done it ^^ no more waits, let me just go clean up the mess of the triggers i made, and get rid of dsome pointless functions.
 
Last edited:
Top