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

Crow Swarm v. 1.10

  • Like
Reactions: Aspard and tjordell
The hero channels the power of allied birds. Slowly rises 3*Level of Ability Crows from behind the caster then the hero sends them forward. Each bird deals damage and reduces Enemies Armor.


  • Crow Swarm Init
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Crow Swarm
    • Actions
      • Unit Group - Add (Triggering unit) to Caster_Group
      • Set Caster_Loc = (Position of (Triggering unit))
      • Set Target_Loc = (Target point of ability being cast)
      • Set Crow_Spawn = (Caster_Loc offset by 130.00 towards ((Facing of (Triggering unit)) + 180.00) degrees)
      • Set Crow_angle_Standard = (Angle from Caster_Loc to Target_Loc)
      • Set Crow_Number = ((Level of Crow Swarm for (Triggering unit)) x 3)
      • Set Temp_Boolean = True
      • Hashtable - Save Handle OfCrow_Spawn as 2 of (Key (Triggering unit)) in table
      • Hashtable - Save Crow_angle_Standard as 3 of (Key (Triggering unit)) in table
      • Hashtable - Save Crow_Number as 4 of (Key (Triggering unit)) in table
      • Hashtable - Save Temp_Boolean as 8 of (Key (Triggering unit)) in table
      • Trigger - Turn on Crow Swarm Spawn <gen>
      • Custom script: call RemoveLocation(udg_Caster_Loc)
      • Custom script: call RemoveLocation(udg_Target_Loc)
  • Crow Swarm Spawn
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in Caster_Group) Greater than or equal to 1
        • Then - Actions
          • Unit Group - Pick every unit in Caster_Group and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is Stunned) Equal to False
                  • ((Picked unit) is alive) Equal to True
                  • (Load 4 of (Key (Picked unit)) from table) Greater than or equal to 1
                  • (Load 8 of (Key (Picked unit)) from table) Equal to True
                • Then - Actions
                  • Set Crow_Spawn = (Load 2 of (Key (Picked unit)) in table)
                  • Set Crow_angle_Standard = (Load 3 of (Key (Picked unit)) from table)
                  • Special Effect - Create a special effect at Crow_Spawn using Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
                  • Unit - Create 1 Druid of the Talon (Storm Crow Form) for (Owner of (Picked unit)) at Crow_Spawn facing Crow_angle_Standard degrees
                  • Special Effect - Destroy (Last created special effect)
                  • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
                  • Hashtable - Save Handle Of(Last created special effect) as 6 of (Key (Last created unit)) in table
                  • Set Crow_Angle = (Crow_angle_Standard - (Random real number between -20.00 and 20.00))
                  • Hashtable - Save Crow_Angle as 5 of (Key (Last created unit)) in table
                  • Hashtable - Save 830 as 7 of (Key (Last created unit)) in table
                  • Unit Group - Add (Last created unit) to Crow_Group
                  • Set Count = ((Load 4 of (Key (Picked unit)) from table) - 1)
                  • Hashtable - Save Count as 4 of (Key (Picked unit)) in table
                  • Hashtable - Save (Level of Crow Swarm for (Picked unit)) as 4 of (Key (Last created unit)) in table
                  • Trigger - Turn on Crow Fly Loop <gen>
                  • Trigger - Turn on Crow Dead <gen>
                • Else - Actions
                  • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in table
                  • Unit Group - Remove (Picked unit) from Caster_Group
        • Else - Actions
          • Trigger - Turn off (This trigger)
  • Crow Fly Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in Crow_Group) Greater than 0
        • Then - Actions
          • Unit Group - Pick every unit in Crow_Group and do (Actions)
            • Loop - Actions
              • Set Crow = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 7 of (Key (Picked unit)) from table) Greater than or equal to 0
                • Then - Actions
                  • Set Crow_Loc_Temp = (Position of Crow)
                  • Set Crow_Target_Temp = (Crow_Loc_Temp offset by 20.00 towards (Load 5 of (Key (Picked unit)) from table) degrees)
                  • Set Crow_Angle = (Load 5 of (Key (Picked unit)) from table)
                  • Unit - Move Crow instantly to Crow_Target_Temp, facing Crow_Angle degrees
                  • Custom script: call RemoveLocation(udg_Crow_Loc_Temp)
                  • Set Target_Group = (Units within 100.00 of Crow_Target_Temp matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner o
                  • Set Level = (Load 4 of (Key (Picked unit)) from table)
                  • Set SFX = (Load 6 of (Key (Picked unit)) in table)
                  • Unit Group - Pick every unit in Target_Group and do (Actions)
                    • Loop - Actions
                      • Set Target_Loc_Temp = (Position of (Picked unit))
                      • Unit - Cause Crow to damage (Picked unit), dealing (Real(Damage[Level])) damage of attack type Spells and damage type Normal
                      • Unit - Create 1 Dummy for (Owner of Crow) at Target_Loc_Temp facing Default building facing degrees
                      • Unit - Set level of Armor Reduction for (Last created unit) to Level
                      • Unit - Order (Last created unit) to Attack (Picked unit)
                      • Special Effect - Create a special effect at Crow_Target_Temp using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Special Effect - Create a special effect at Crow_Target_Temp using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                      • Unit Group - Remove Crow from Crow_Group
                      • Unit - Hide Crow
                      • Unit - Add a 1.00 second Generic expiration timer to Crow
                      • Special Effect - Destroy (Last created special effect)
                      • Special Effect - Destroy SFX
                      • Custom script: call RemoveLocation(udg_Target_Loc)
                  • Custom script: call RemoveLocation(udg_Crow_Target_Temp)
                  • Hashtable - Save ((Load 7 of (Key (Picked unit)) from table) - 20) as 7 of (Key (Picked unit)) in table
                  • Custom script: call DestroyGroup(udg_Target_Group)
                • Else - Actions
                  • Set SFX = (Load 6 of (Key (Picked unit)) in table)
                  • Unit Group - Remove Crow from Crow_Group
                  • Unit - Hide Crow
                  • Unit - Add a 1.00 second Generic expiration timer to Crow
                  • Special Effect - Destroy SFX
        • Else - Actions
          • Trigger - Turn off Crow Dead <gen>
          • Trigger - Turn off (This trigger)
  • Crow Dead
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Druid of the Talon (Storm Crow Form)
    • Actions
      • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in table
  • Crow Disable
    • Events
      • Unit - A unit Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Crow Swarm
    • Actions
      • Set Temp_Boolean = False
      • Hashtable - Save Temp_Boolean as 8 of (Key (Triggering unit)) in table


This Spell was Created by me with some help of Tjordell in v.1.10 (+rep)
Idea by Hex.16
This Spell is GUI/MUI
Please give Credits to me AND Hex.16 if you use this Spell
Please rate and comment


v. 1.00 upload
v. 1.10 added some SFX and made the spell channeling the correct way


Keywords:
Crow, Bird, Grantuu, Swarm, Hex.16, Dark, Armor, Reduction, GUI, MUI
Contents

Crow Swarm (Map)

Reviews
11:20, 2nd Mar 2010 TriggerHappy: Coding seemed fine and the spell worked.

Moderator

M

Moderator

11:20, 2nd Mar 2010
TriggerHappy:

Coding seemed fine and the spell worked.
 
The ability itself is rather simple, but I can say I liked it.
I suggest using one variable with array for the points, because spamming so many point variables is not good. :)
Before you kill Druid of the talon, destroy the effect you saved on him, as "6" (speaking of the Avenger Missile).
  • (Number of units in Caster_Group) Greater than or equal to 1
You can also use
  • ((Caster_Group) is empty) Equal to False
 
Level 6
Joined
Dec 8, 2009
Messages
179
The ability itself is rather simple, but I can say I liked it.
I suggest using one variable with array for the points, because spamming so many point variables is not good. :)
Before you kill Druid of the talon, destroy the effect you saved on him, as "6" (speaking of the Avenger Missile).
  • (Number of units in Caster_Group) Greater than or equal to 1
You can also use
  • ((Caster_Group) is empty) Equal to False

k thanks I try to fix that
 
Level 11
Joined
Jan 25, 2009
Messages
572
  • Unit - Hide Crow
    • Unit - Add a 1.00 second Standard expiration timer to Crow
Why not just:
  • Unit - Remove Crow
  • // or
  • Unit - Kill Crow
- No documentation
- "... Also please give +rep", you can't ask peoples to give you rep.

Ofc he can ask ppls if they can give him +rep.
There's no crime of doing that? Everyone has their own will if they want to give him +rep or not.
 
Level 10
Joined
Jul 12, 2009
Messages
318
Ofc he can ask ppls if they can give him +rep.
There's no crime of doing that? Everyone has their own will if they want to give him +rep or not.

It is against this site's rules:
Advertising for Reputation: Requesting / offering reputation in any way is strictly prohibited. Doing so may result in negative reputation punishments. Reputation awards in official contests are allowed.
 
Level 11
Joined
Jul 2, 2008
Messages
601
Spell could be better:
1) Should be really channeling in order to prevent different bugs. I mean, it should be possibly stopped anytime by just moving the hero.
2) On collision of ravens with enemies there could be some effect, showing us that the damage has occures, now that looks like the raves disappear just in front of enemy :)

Also I'm not good in hashtables, but what will happen, if the hero is stunned?
 
Level 11
Joined
Jan 25, 2009
Messages
572
Catch_ya, I'll read it then =P.

Aspard, the effect will still be done. That's why the "verision" exist. I'm sure he will fix that bug when he's back. He's currnetly doing something else.

EDIT: Aspard, since i saw you'r first post, you've ONLY complain on other peoples. Can you please stop with that. Someone MUST the you that you will not be respected if you keep just complain.
 
Level 10
Joined
Mar 30, 2009
Messages
255
Catch_ya, I'll read it then =P.

Aspard, the effect will still be done. That's why the "verision" exist. I'm sure he will fix that bug when he's back. He's currnetly doing something else.

EDIT: Aspard, since i saw you'r first post, you've ONLY complain on other peoples. Can you please stop with that. Someone MUST the you that you will not be respected if you keep just complain.

i think its called "constructiv critism" and should help the spell maker to improve the spell maybe making it approve-able....
whatever..
 
Level 12
Joined
May 21, 2009
Messages
994
Spell could be better:
1) Should be really channeling in order to prevent different bugs. I mean, it should be possibly stopped anytime by just moving the hero.
2) On collision of ravens with enemies there could be some effect, showing us that the damage has occures, now that looks like the raves disappear just in front of enemy :)

Also I'm not good in hashtables, but what will happen, if the hero is stunned?

This is not complaining, this is constructive critism.
 
Level 6
Joined
Dec 8, 2009
Messages
179
@ Mortar I'll leave the expiration timer 'cause I never had any Troubles with it

@ Weep I'll remove the request for +rep thanks for telling me that it`s a rulesviolation (+rep)

@ Aspard I'll work on it soon
 
Level 11
Joined
Jan 25, 2009
Messages
572
Aspard, Well, you dont tell anyone that their spell is nice, just what it could be more likely or what's the bad with it. Thats is, in some reasons, really annoying. That's just what i have to say about what you post all the time. You mbt think it's good to do that ALL the time, but i don't.
 
Level 11
Joined
Jul 2, 2008
Messages
601
Hem... I wanted to post something about criticism... Then I saw that people already told you that, but you are still promoting your opinion about how bad am I. That's your personal view of me, but I'll still do the way I do, okay?

When the author (which has responded clever) makes sufficient changes, I'll write: "Good job!" and give +rep (Even for listening to me) and "Vote for approval".
 
i think its called "constructiv critism" and should help the spell maker to improve the spell maybe making it approve-able....
whatever..

Constructive Criticism is telling good points and telling them how it is done well, and then telling them what things need improvement.

This is not complaining, this is constructive critism.

Read below quote above.

Hem... I wanted to post something about criticism... Then I saw that people already told you that, but you are still promoting your opinion about how bad am I. That's your personal view of me, but I'll still do the way I do, okay?

When the author (which has responded clever) makes sufficient changes, I'll write: "Good job!" and give +rep (Even for listening to me) and "Vote for approval".

You should atleast tell them the good points of the work and what is lacking afterwards, rather then just tellin the bad aspects of it. That is a good way to make people stop doing things, Much like how enjoy stopped modding due to everyone saying the flaws in her work.
 
Level 11
Joined
Jul 2, 2008
Messages
601
If that wasn't good at all, I'd say that a piece of you know what or copied idea or "That's not mui! Rejected!" etc ;)

So I didn't have any offence, I just asked for some improvements, with which I can give the spell a high rate and vote for approval.
 
Top