• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Spin of Blades Help.

Status
Not open for further replies.
Level 6
Joined
Jul 18, 2009
Messages
200
This is my stupid spell Spin of Blades. It's like DotA's Counter Helix, which is a passive ability that makes the "caster" to spin around dealing damage.

I used GDD for it cause someone told me to. But i wont get it work.


  • Spin of Blades
    • Events
      • Game - GDD_Event becomes Equal to 0.00
    • Conditions
      • (SoB_Caster has buff Blade Spin ) Equal to True
    • Actions
      • Set SoB_Target = (Picked unit)
      • Set SoB_Caster = GDD_DamagedUnit
      • Set SoB_Point = (Position of SoB_Caster)
      • Set SoB_Chance = (10.00 x (Real((Level of Blade Spin for SoB_Caster))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
        • Then - Actions
          • Set SoB_Group = (Units within (70.00 x (Real((Level of Blade Spin for SoB_Caster)))) of SoB_Point matching ((((Matching unit) is A structure) Equal to False) and (((SoB_Target belongs to an enemy of SoB_CasterOwner) Equal to True) and ((((Matching unit) is Magic Immune) Equ
          • Unit Group - Pick every unit in SoB_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause SoB_Caster to damage SoB_Target, dealing ((Real((Agility of SoB_Caster (Include bonuses)))) x (3.00 + ((Real((Level of Blade Spin for SoB_Caster))) x (Random real number between 0.50 and 2.00)))) damage of attack type Spells and damage type Normal
              • Animation - Play SoB_Caster's Spin animation
              • Special Effect - Create a special effect attached to the origin of SoB_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
        • Else - Actions
      • Animation - Reset SoB_Caster's animation
      • Custom script: call RemoveLocation(udg_SoB_Point)
      • Custom script: call DestroyGroup(udg_SoB_Group)
      • Custom script: set udg_SoB_Caster = null
      • Custom script: set udg_SoB_Target = null
      • Custom script: set udg_SoB_CasterOwner = null
 
You should have a damage detection system first of all
  • Trigger1
  • Events
    • Map Initialization
  • Conditions
  • Actions
    • Custom script: set bj_wantDestroyGroup = true
    • Unit Group - Pick every unit in (Units in (Playable Map Area)) and do (Actions)
      • Loop - Actions
        • Trigger - Add to Trigger 3 <gen> the event ((Picked unit) takes damage)
  • Trigger2
  • Events
    • Unit - A unit enters (Playable Map Area)
  • Conditions
  • Actions
    • Trigger - Add to Trigger 3 <gen> the event ((Triggering unit) takes damage)
  • Trigger3
  • Events
  • Conditions
    • (Level of Spin of Blades for (Triggering unit)) Greater than 0
  • Actions
    • //Actions here (the trigger you posted)
 
Level 6
Joined
Jul 18, 2009
Messages
200
It doesnt work.

  • Spin Of Blades 3
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
    • Actions
      • Trigger - Add to Spin of Blades <gen> the event (Unit - (Triggering unit) Takes damage)
  • Spin of Blades 2
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • Trigger - Add to Spin of Blades <gen> the event (Unit - (Picked unit) Takes damage)
  • Spin of Blades
    • Events
    • Conditions
      • (SoB_Caster has buff Blade Spin ) Equal to True
    • Actions
      • Set SoB_Target = (Picked unit)
      • Set SoB_Caster = GDD_DamagedUnit
      • Set SoB_Point = (Position of SoB_Caster)
      • Set SoB_Chance = (10.00 x (Real((Level of Blade Spin for SoB_Caster))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Blade Spin for SoB_Caster) Equal to 1
        • Then - Actions
          • Set SoB_Group = (Units within (70.00 x (Real((Level of Blade Spin for SoB_Caster)))) of SoB_Point matching ((((Matching unit) is A structure) Equal to False) and (((SoB_Target belongs to an enemy of SoB_CasterOwner) Equal to True) and ((((Matching unit) is Magic Immune) Equ
          • Unit Group - Pick every unit in SoB_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause SoB_Caster to damage SoB_Target, dealing ((Real((Agility of SoB_Caster (Include bonuses)))) x (3.00 + ((Real((Level of Blade Spin for SoB_Caster))) x (Random real number between 0.50 and 2.00)))) damage of attack type Spells and damage type Normal
              • Animation - Play SoB_Caster's Spin animation
              • Special Effect - Create a special effect attached to the origin of SoB_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Blade Spin for SoB_Caster) Equal to 2
        • Then - Actions
          • Set SoB_Group = (Units within (70.00 x (Real((Level of Blade Spin for SoB_Caster)))) of SoB_Point matching ((((Matching unit) is A structure) Equal to False) and (((SoB_Target belongs to an enemy of SoB_CasterOwner) Equal to True) and ((((Matching unit) is Magic Immune) Equ
          • Unit Group - Pick every unit in SoB_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause SoB_Caster to damage SoB_Target, dealing ((Real((Agility of SoB_Caster (Include bonuses)))) x (4.00 + ((Real((Level of Blade Spin for SoB_Caster))) x (Random real number between 1.00 and 3.00)))) damage of attack type Spells and damage type Normal
              • Animation - Play SoB_Caster's Spin animation
              • Special Effect - Create a special effect attached to the origin of SoB_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Blade Spin for SoB_Caster) Equal to 3
        • Then - Actions
          • Set SoB_Group = (Units within (70.00 x (Real((Level of Blade Spin for SoB_Caster)))) of SoB_Point matching ((((Matching unit) is A structure) Equal to False) and (((SoB_Target belongs to an enemy of SoB_CasterOwner) Equal to True) and ((((Matching unit) is Magic Immune) Equ
          • Unit Group - Pick every unit in SoB_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause SoB_Caster to damage SoB_Target, dealing ((Real((Agility of SoB_Caster (Include bonuses)))) x (5.00 + ((Real((Level of Blade Spin for SoB_Caster))) x (Random real number between 1.50 and 4.00)))) damage of attack type Spells and damage type Normal
              • Animation - Play SoB_Caster's Spin animation
              • Special Effect - Create a special effect attached to the origin of SoB_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
        • Else - Actions
      • Animation - Reset SoB_Caster's animation
      • Custom script: call RemoveLocation(udg_SoB_Point)
      • Custom script: call DestroyGroup(udg_SoB_Group)
      • Custom script: set udg_SoB_Caster = null
      • Custom script: set udg_SoB_Target = null
      • Custom script: set udg_SoB_CasterOwner = null
 
Pharaoh: GDD is a damage detection system (and far better than the ones you can create with GUI).

Anyway: SoB_Target = picked unit? That returns null, since there is no picked unit (it's only used in unit groups).
If you want the unit that attacks your GDD_DamagedUnit, then you should pick "Damage Source" (which will return the attacking unit).
  • Set SoB_Target = (Damage Source)
There are unit group leaks as well, try to fix those.

Edit: wait... that makes no sense xD
Sob_Target is the attacked unit?

  • Set SoB_Target = GDD_DamagedUnit // This will return the attacked unit.
  • Set SoB_Caster = GDD_DamagedSource // This will return the attacker.
 
Level 6
Joined
Jul 18, 2009
Messages
200
Pharaoh: GDD is a damage detection system (and far better than the ones you can create with GUI).

Anyway: SoB_Target = picked unit? That returns null, since there is no picked unit (it's only used in unit groups).
If you want the unit that attacks your GDD_DamagedUnit, then you should pick "Damage Source" (which will return the attacking unit).
  • Set SoB_Target = (Damage Source)
There are unit group leaks as well, try to fix those.

Edit: wait... that makes no sense xD
Sob_Target is the attacked unit?

  • Set SoB_Target = GDD_DamagedUnit // This will return the attacked unit.
  • Set SoB_Caster = GDD_DamagedSource // This will return the attacker.

That one doesnt work.
 
That one doesnt work.
Can you please send the map? That's the only thing I can spot at first sight.
If you don't want to send it, try checking the units with game messages (after the setup, check which units "SoB_Target" and "SoB_Caster" are).
If those values are correct, then we can move on and put some more game message in some places ^^ (like a game message right before the unit group, one in the unit group etc - this way you can clearly spot where it is failing).

Remember that method (game messages at 'smart' locations), it's one of the best methods for analyzing where a problem is ^^
So instead of just saying "doesn't work, try again", you can actually do something yourself as well.
 
Level 6
Joined
Mar 22, 2009
Messages
276
i think it is much better if you make your spell simple.
you can just create a dummy unit that will cast bladestorm when the skill triggered.
just a thought.
 
Status
Not open for further replies.
Top