Critic my Spell, Please.

tooltiperror

Super Moderator
Reaction score
231
Would anyone mind criticizing my Spell, telling me if there's a bug, if it leaks, or if I need to fix something?

Swap places with an enemy unit, then deal 125 damage. Targets Land and Air units.​

Trigger:
  • Swap
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Swap
    • Actions
      • Set Caster = (Position of (Casting unit))
      • Set Target = (Position of (Target unit of ability being cast))
      • Set CasterUnit = (Casting unit)
      • Set TargetUnit = (Target unit of ability being cast)
      • Unit - Pause CasterUnit
      • Unit - Pause TargetUnit
      • Unit - Move TargetUnit instantly to Caster
      • Unit - Move CasterUnit instantly to Target
      • Unit - Make CasterUnit face Target over 0.00 seconds
      • Unit - Make TargetUnit face Caster over 0.00 seconds
      • Unit - Unpause TargetUnit
      • Unit - Unpause CasterUnit
      • Unit - Set life of TargetUnit to ((Life of TargetUnit) - 125.00)
      • Special Effect - Create a special effect at Caster using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
      • Wait 1.00 seconds
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_Target)
      • Custom script: call RemoveLocation (udg_Caster)
 

Nighthawk

New Member
Reaction score
9
Don't see a reason to pause the units since you have no wait period between the pause/unpause actions, could be wrong though. Also it might look cooler if you placed the special effect on both units.

Instead of changing health of the target you can use the (Unit - damage unit) action. The advantage of this, is that if the unit dies via the action then he/she will get credit for the kill.

Trigger:
  • Swap
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Swap
    • Actions
      • Set Swap_Target_Unit = (Target unit of ability being cast)
      • Set Swap_Caster_Unit = (Triggering unit)
      • Set Swap_Target_Position = (Position of Swap_Target_Unit)
      • Set Swap_Caster_Position = (Position of Swap_Caster_Unit)
      • Unit - Move Swap_Target_Unit instantly to Swap_Caster_Position
      • Unit - Move Swap_Caster_Unit instantly to Swap_Target_Position
      • Unit - Make Swap_Target_Unit face Swap_Caster_Unit over 0.00 seconds
      • Unit - Make Swap_Caster_Unit face Swap_Target_Unit over 0.00 seconds
      • Unit - Cause Swap_Caster_Unit to damage Swap_Target_Unit, dealing 125.00 damage of attack type Spells and damage type Normal
      • Special Effect - Create a special effect attached to the origin of Swap_Target_Unit using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
      • Special Effect - Create a special effect attached to the origin of Swap_Caster_Unit using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
 

tooltiperror

Super Moderator
Reaction score
231
Don't see a reason to pause the units since you have no wait period between the pause/unpause actions, could be wrong though. Also it might look cooler if you placed the special effect on both units.

Instead of changing health of the target you can use the (Unit - damage unit) action. The advantage of this, is that if the unit dies via the action then he/she will get credit for the kill.

Thanks!

Also, how would I go about making this into MUI? I read a tutorial, but I do not see how to do it.
 

Sarj14

New Member
Reaction score
9
Besides what Nighthawk said it looks fine to me. Good luck! About the MUI stuff, I have no clue, sorry!
 

tooltiperror

Super Moderator
Reaction score
231
Besides what Nighthawk said it looks fine to me. Good luck! About the MUI stuff, I have no clue, sorry!

Oh, well, thanks anyway! [:

Oh, god, sorry, forgot to +Rep Nighthawk!

Edit: Oh, wait, yes I did >.<
 

tooltiperror

Super Moderator
Reaction score
231
No you didn't *cough*

That doesn't work on me anymore.
 

zxczxzczx

New Member
Reaction score
2
to make it mui you should remove the waits or add local variables then use the waits.

Trigger:
  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Swap
    • Actions
      • Custom script: local unit Swap_Target_Unit
      • Custom script: local unit Swap_Caster_Unit
      • Custom script: local location Swap_Target_Position
      • Custom script: local location Swap_Caster_Position
      • Custom script: local effect SFX1
      • Custom script: local effect SFX2
      • Custom script: set Swap_Caster_Unit = GetTriggerUnit()
      • Custom script: set Swap_Target_Unit = GetSpellTargetUnit()
      • Custom script: set Swap_Caster_Position = GetUnitLoc(Swap_Caster_Unit)
      • Custom script: set Swap_Target_Position = GetUnitLoc(Swap_Target_Unit)
      • Custom script: call SetUnitPositionLoc( Swap_Target_Unit, Swap_Caster_Position )
      • Custom script: call SetUnitPositionLoc( Swap_Caster_Unit, Swap_Target_Position )
      • Custom script: call SetUnitFacingToFaceUnitTimed( Swap_Caster_Unit, Swap_Target_Unit, 0 )
      • Custom script: call SetUnitFacingToFaceUnitTimed( Swap_Target_Unit, Swap_Caster_Unit, 0 )
      • Custom script: call UnitDamageTargetBJ( Swap_Caster_Unit, Swap_Target_Unit, 125, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
      • Custom script: call AddSpecialEffectTargetUnitBJ( &quot;origin&quot;, Swap_Caster_Unit, &quot;Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl&quot; )
      • Custom script: set SFX1 = GetLastCreatedEffectBJ()
      • Custom script: call AddSpecialEffectTargetUnitBJ( &quot;origin&quot;, Swap_Target_Unit, &quot;Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl&quot; )
      • Custom script: set SFX2 = GetLastCreatedEffectBJ()
      • Custom script: call PolledWait( 1.00 )
      • Custom script: call DestroyEffectBJ( SFX1 )
      • Custom script: call DestroyEffectBJ( SFX2 )
      • Custom script: call RemoveLocation (Swap_Target_Position)
      • Custom script: call RemoveLocation (Swap_Caster_Position)
      • Custom script: set Swap_Caster_Unit = null
      • Custom script: set Swap_Target_Unit = null


or just remove the waits :)
 

tooltiperror

Super Moderator
Reaction score
231
to make it mui you should remove the waits or add local variables then use the waits.
or just remove the waits :)

So if I remove the Wait, it is MUI?
 

zxczxzczx

New Member
Reaction score
2
yes, but GUI is very limited interms of making a spell MUI, it will come to the point that when you create a complicated spell you would need jass. hehehe
 

tooltiperror

Super Moderator
Reaction score
231
yes, but GUI is very limited interms of making a spell MUI, it will come to the point that when you create a complicated spell you would need jass. hehehe

I'm in the process of learning, but I'm kind of lazy at it, taking it in bits.
 

zxczxzczx

New Member
Reaction score
2
hehe, i have a suggestion for the skill, why not add more eye candies and you could add a slow effect around the area of the 2 swaped units. :rolleyes: and make the area wave a little so that it would look like gravity did it
 

tooltiperror

Super Moderator
Reaction score
231
hehe, i have a suggestion for the skill, why not add more eye candies and you could add a slow effect around the area of the 2 swaped units. :rolleyes: and make the area wave a little so that it would look like gravity did it

Been thinking of a lot of effects, thanks for the ideas.
 

Ph[o]bia

New Member
Reaction score
7
Would anyone mind criticizing my Spell, telling me if there's a bug, if it leaks, or if I need to fix something?

Swap places with an enemy unit, then deal 125 damage. Targets Land and Air units.​

Trigger:
  • Swap
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Swap
    • Actions
      • Set Caster = (Position of (Casting unit))
      • Set Target = (Position of (Target unit of ability being cast))
      • Set CasterUnit = (Casting unit)
      • Set TargetUnit = (Target unit of ability being cast)
      • Unit - Pause CasterUnit
      • Unit - Pause TargetUnit
      • Unit - Move TargetUnit instantly to Caster
      • Unit - Move CasterUnit instantly to Target
      • Unit - Make CasterUnit face Target over 0.00 seconds
      • Unit - Make TargetUnit face Caster over 0.00 seconds
      • Unit - Unpause TargetUnit
      • Unit - Unpause CasterUnit
      • Unit - Set life of TargetUnit to ((Life of TargetUnit) - 125.00)
      • Special Effect - Create a special effect at Caster using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
      • Wait 1.00 seconds
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_Target)
      • Custom script: call RemoveLocation (udg_Caster)

1.
Trigger:
  • Unit - Set life of TargetUnit to ((Life of TargetUnit) - 125.00)

Instead of this, maybe you should use
Trigger:
  • Unit - Cause CasterUnit to damage TargetUnit. Dealing 125.00 damage of type Spells and damage type Normal
 

tooltiperror

Super Moderator
Reaction score
231
Instead of this, maybe you should use
Trigger:
  • Unit - Cause CasterUnit to damage TargetUnit. Dealing 125.00 damage of type Spells and damage type Normal

Already did that, but thanks!

Edit: I had an idea to make three variations of this spell, doing different things.

Do you think that would be sufficient for a Spellpack, or do they have to be big and fancy and stuff?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top