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

Axe Spells (not from Dota)

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
This is a hero review(Axe). Contains four new multicastable spells(not from Dota). Sorry for screen shot because I still can't change tga format screen shots into jpg format. I haven't touched World Editor for a year because of my final shool year.
Contents

Axe review (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 09:03, 24th Apr 2014 BPower: Please post the Triggers into the spell description. For this use the Trigger /Trigger BB-code I strongly recommend you take a look into this tutorial You...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

09:03, 24th Apr 2014
BPower:
Please post the Triggers into the spell description. For this use the Trigger /Trigger BB-code
I strongly recommend you take a look into this tutorial
You should avoid needless function calls and stored everything which is used more than once into a variable. This does not only save computation time, but also makes the code look cleaner. For instance "Attacked Unit".
The configuration trigger is lacking.
You need a proper ingame screenshot.
 

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449

  • they don't need to have array
    • Loop - Actions
      • Set oa_target_point[oa_integer] = (Position of oa_target[oa_integer])
      • Set oa_caster_point[oa_integer] = (Position of oa_caster[oa_integer])
      • Set oa_range[oa_integer] = (Distance between oa_caster_point[oa_integer] and oa_target_point[oa_integer])
      • Set oa_angle[oa_integer] = (Angle from oa_caster_point[oa_integer] to oa_target_point[oa_integer])
  • I recommend you to use proper dynamic indexing
  • You don't need that And
    • Multiple ConditionsAnd - All (Conditions) are true
      • Conditions
        • ((Attacked unit) is A structure) Not equal to (!=) True
        • ((Attacking unit) is in ut_group) Equal to (==) True
        • ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to (==) True
    also better store (Attacking unit) into variable first
  • Are you joking?
    • steel skin
      • Events
        • Unit - A unit Learns a skill
      • Conditions
        • (Learned Hero Skill) Equal to (==) Steel Skin
      • Actions
        • Hero - Modify Strength of (Triggering unit): Add 5
  • Use ITE filtering
    • Set m_group = (Units within 500.00 of m_target_point[m_integer2] matching ((((Matching unit) is A structure) Not equal to (!=) True) and ((((Matching unit) is in spell_immune_group) Not equal to (!=) True) and ((((Matching unit) is in m_group) Not equal to (!=) True) and (
  • Store (Picked unit) into variable first
    • Unit Group - Pick every unit in m_group and do (Actions)
      • Loop - Actions
        • Unit - Cause m_caster[m_integer2] to damage (Picked unit), dealing ((Real((Level of m_ability for m_caster[m_integer2]))) x 10.00) damage of attack type Spells and damage type Normal
        • Set m_picked_point = ((Position of (Picked unit)) offset by 50.00 towards (Angle from m_target_point[m_integer2] to (Position of (Picked unit))) degrees)
        • Unit - Turn collision for (Picked unit) Off
        • Unit Group - Add (Picked unit) to spell_immune_group
        • Unit - Move (Picked unit) instantly to m_picked_point, facing (Facing of (Picked unit)) degrees
        • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Doom\DoomDeath.mdl
        • Special Effect - Destroy (Last created special effect)
          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Picked unit)) Less than or equal to (<=) ((Real((Level of m_ability for m_caster[m_integer2]))) x 200.00)
            • Then - Actions
              • Unit - Cause m_caster[m_integer2] to damage (Picked unit), dealing 100000.00 damage of attack type Spells and damage type Normal
            • Else - Actions
        • Custom script: call RemoveLocation(udg_m_picked_point)
        • Unit - Turn collision for (Picked unit) On
        • Unit Group - Remove (Picked unit) from m_group
        • Unit Group - Remove (Picked unit) from spell_immune_group
 
Level 3
Joined
Mar 14, 2013
Messages
15

  • they don't need to have array
    • Loop - Actions
      • Set oa_target_point[oa_integer] = (Position of oa_target[oa_integer])
      • Set oa_caster_point[oa_integer] = (Position of oa_caster[oa_integer])
      • Set oa_range[oa_integer] = (Distance between oa_caster_point[oa_integer] and oa_target_point[oa_integer])
      • Set oa_angle[oa_integer] = (Angle from oa_caster_point[oa_integer] to oa_target_point[oa_integer])
  • I recommend you to use proper dynamic indexing
  • You don't need that And
    • Multiple ConditionsAnd - All (Conditions) are true
      • Conditions
        • ((Attacked unit) is A structure) Not equal to (!=) True
        • ((Attacking unit) is in ut_group) Equal to (==) True
        • ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to (==) True
    also better store (Attacking unit) into variable first
  • Are you joking?
    • steel skin
      • Events
        • Unit - A unit Learns a skill
      • Conditions
        • (Learned Hero Skill) Equal to (==) Steel Skin
      • Actions
        • Hero - Modify Strength of (Triggering unit): Add 5
  • Use ITE filtering
    • Set m_group = (Units within 500.00 of m_target_point[m_integer2] matching ((((Matching unit) is A structure) Not equal to (!=) True) and ((((Matching unit) is in spell_immune_group) Not equal to (!=) True) and ((((Matching unit) is in m_group) Not equal to (!=) True) and (
  • Store (Picked unit) into variable first
    • Unit Group - Pick every unit in m_group and do (Actions)
      • Loop - Actions
        • Unit - Cause m_caster[m_integer2] to damage (Picked unit), dealing ((Real((Level of m_ability for m_caster[m_integer2]))) x 10.00) damage of attack type Spells and damage type Normal
        • Set m_picked_point = ((Position of (Picked unit)) offset by 50.00 towards (Angle from m_target_point[m_integer2] to (Position of (Picked unit))) degrees)
        • Unit - Turn collision for (Picked unit) Off
        • Unit Group - Add (Picked unit) to spell_immune_group
        • Unit - Move (Picked unit) instantly to m_picked_point, facing (Facing of (Picked unit)) degrees
        • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Doom\DoomDeath.mdl
        • Special Effect - Destroy (Last created special effect)
          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Picked unit)) Less than or equal to (<=) ((Real((Level of m_ability for m_caster[m_integer2]))) x 200.00)
            • Then - Actions
              • Unit - Cause m_caster[m_integer2] to damage (Picked unit), dealing 100000.00 damage of attack type Spells and damage type Normal
            • Else - Actions
        • Custom script: call RemoveLocation(udg_m_picked_point)
        • Unit - Turn collision for (Picked unit) On
        • Unit Group - Remove (Picked unit) from m_group
        • Unit Group - Remove (Picked unit) from spell_immune_group

Thank you.
 
Level 3
Joined
Mar 14, 2013
Messages
15
[*]Are you joking?
  • steel skin
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to (==) Steel Skin
    • Actions
      • Hero - Modify Strength of (Triggering unit): Add 5
  • I don't understand about this. Please point my mistake.
 
Top