Spell Genesis

Ayanami

칼리
Reaction score
288
Introduction - Version 1.1


Details
- The spell is GUI.
- It is leakless (hope so) and lagless (at least for me).
- The spell is MUI.
- Easy to import. Easy to edit.
- A spell based on Maple Story's Genesis.


Genesis

Description:
Holy rays of light are summoned from the heavens, dealing massive damage to enemies or healing allies.

Level 1 - Conjures 10 rays. Each ray damages or heals by 500 damage.
Level 2 - Conjures 15 rays. Each ray damages or heals by 750 damage.
Level 3 - Conjures 20 rays. Each ray damages or heals by 1000 damage.

Cooldown - 90/80/70 seconds

Screenshot:

genesish.jpg

Code:
Trigger:
  • Genesis
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Genesis
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • GeCustomValue Less than 100
        • Then - Actions
          • Set GeCustomValue = (GeCustomValue + 1)
        • Else - Actions
          • Set GeCustomValue = 1
      • Set GeCaster[GeCustomValue] = (Triggering unit)
      • Set GeCasterLoc[GeCustomValue] = (Position of GeCaster[GeCustomValue])
      • Set GeRealTimer[GeCustomValue] = 1.00
      • Set GeInteger[GeCustomValue] = (5 + (5 x (Level of Genesis for GeCaster[GeCustomValue])))
      • For each (Integer A) from 1 to GeInteger[GeCustomValue], do (Actions)
        • Loop - Actions
          • Set TempPoint = (Random point in (Region centered at GeCasterLoc[GeCustomValue] with size (1000.00, 1000.00)))
          • Unit - Create 1 Genesis Dummy for (Owner of GeCaster[GeCustomValue]) at TempPoint facing Default building facing degrees
          • Set GeDummyLoc[((GeCustomValue x 21) + (Integer A))] = (Position of (Last created unit))
          • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation(udg_TempPoint)
      • Special Effect - Create a special effect attached to the origin of GeCaster[GeCustomValue] using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Set TempPoint = (Center of (Playable map area))
      • Unit - Create 1 Hidden Dummy for (Owner of GeCaster[GeCustomValue]) at TempPoint facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to GeCustomValue
      • Unit Group - Add (Last created unit) to GeDummyGroup
      • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Genesis Periodic
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
      • (GeDummyGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in GeDummyGroup and do (Actions)
        • Loop - Actions
          • Set GeTempInt = (Custom value of (Picked unit))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • GeRealTimer[GeTempInt] Less than or equal to 0.00
            • Then - Actions
              • For each (Integer A) from 1 to GeInteger[GeTempInt], do (Actions)
                • Loop - Actions
                  • Set TempGroup = (Units within 200.00 of GeDummyLoc[((GeTempInt x 21) + (Integer A))] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of GeCaster[GeTempInt])) Equal to True)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (TempGroup is empty) Equal to False
                    • Then - Actions
                      • Unit Group - Pick every unit in TempGroup and do (Actions)
                        • Loop - Actions
                          • Unit - Cause GeCaster[GeTempInt] to damage (Picked unit), dealing (250.00 + (250.00 x (Real((Level of Genesis for GeCaster[GeTempInt]))))) damage of attack type Spells and damage type Normal
                    • Else - Actions
                  • Custom script: call DestroyGroup(udg_TempGroup)
                  • Set TempGroup = (Units within 200.00 of GeDummyLoc[((GeTempInt x 21) + (Integer A))] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an ally of (Owner of GeCaster[GeTempInt])) Equal to True)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (TempGroup is empty) Equal to False
                    • Then - Actions
                      • Unit Group - Pick every unit in TempGroup and do (Actions)
                        • Loop - Actions
                          • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (250.00 + (250.00 x (Real((Level of Genesis for GeCaster[GeTempInt]))))))
                    • Else - Actions
                  • Custom script: call DestroyGroup(udg_TempGroup)
                  • Special Effect - Create a special effect at GeDummyLoc[((GeTempInt x 21) + (Integer A))] using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Custom script: call RemoveLocation(udg_GeDummyLoc[( ( udg_GeTempInt * 21 ) + GetForLoopIndexA() )])
              • Custom script: call RemoveLocation(udg_GeCasterLoc[udg_GeTempInt])
              • Unit - Remove (Picked unit) from the game
            • Else - Actions
              • Set GeRealTimer[GeTempInt] = (GeRealTimer[GeTempInt] - 0.05)


Changelogs
Code:
Version 1.0
- Initial relase
Version 1.1
- Increased the maximum custom value to 100

Feedbacks will be appreciated.
 

Attachments

  • Genesis Spell v1.1.w3x
    33.5 KB · Views: 269

Komaqtion

You can change this now in User CP.
Reaction score
469
Trigger:
  • Set TempPoint = (Center of (Playable map area))


Huh ?! At least use (Position of (GeCaster[GeCustomValue])) :D

Trigger:
  • GeCustomValue Less than 10


That's a ridiculusly small MUI amount...
Change to at least 1000 or so !

Though, as TriggerHappy said, it's almost only a "spam-effects" spell...
 

Ayanami

칼리
Reaction score
288
Trigger:
  • Set TempPoint = (Center of (Playable map area))


Huh ?! At least use (Position of (GeCaster[GeCustomValue])) :D

Well, there's nothing wrong with this is there?

Trigger:
  • GeCustomValue Less than 10


That's a ridiculusly small MUI amount...
Change to at least 1000 or so !

Changed it to 100.

Though, as TriggerHappy said, it's almost only a "spam-effects" spell...

Hmm, then any suggestions on what other features that I could possibly add-on to the spell?

Glenphir
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Well, there's nothing wrong with this is there?

Well, seems much more logical to do at the casters feet, than center of map :D

Changed it to 100.

Why 100 !!!???

It's not that hard to put in another "0", is it ? :p
Or, at least 500 or something...

And, what's with the "Crystal Ball" effect...
It doesn't really fit in.

Maybe you can use some kind of darker stuff when you damage the enemies, and light when you heal allies ? :eek:
 

Ayanami

칼리
Reaction score
288
Why 100 !!!???

It's not that hard to put in another "0", is it ? :p
Or, at least 500 or something...

From what I understand, 8192 is the max value for an array? Here, I'm using 2D Array. Now take a look at this line.

Trigger:
  • Set GeDummyLoc[((GeCustomValue x 21) + (Integer A))] = (Position of (Last created unit))


If i was to use 1000 as maximum, it would overshoot the value of 8192. So I had to stick with 100, as 100 does not overshoot the value of 8192.

And, what's with the "Crystal Ball" effect...
It doesn't really fit in.

Actually this is like an indicator of which area that would be hit. And it's an imitation of the spell 'Genesis' from Maple Story.

Maybe you can use some kind of darker stuff when you damage the enemies, and light when you heal allies ? :eek:

You mean keep the beam of light but add a special effect for allies when healed (eg: Holy Light) and for enemies when damaged (eg: Death Coil)?

Glenphir
 

Azlier

Old World Ghost
Reaction score
461
Why is this a very destructive spell called Genesis?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top