I was wondering

n1mr0d

Member
Reaction score
1
Ok so i was wondering if i can make a spell, which dummy moves like a homing missile,
My spell cast 1 dummy, the dummy goes to the target point , and casts 1 spell then returns to the caster's place where he casted the spell, but the caster is no longer there, i want to make that the dummy to go to the casters real point, after using the spell to come back the dummy.

And my second question, how can i make to slow the unit for each 5% missing hp, with 5% ?
 

envenger

Active Member
Reaction score
3
Ok so i was wondering if i can make a spell, which dummy moves like a homing missile,
My spell cast 1 dummy, the dummy goes to the target point , and casts 1 spell then returns to the caster's place where he casted the spell, but the caster is no longer there, i want to make that the dummy to go to the casters real point, after using the spell to come back the dummy.

And my second question, how can i make to slow the unit for each 5% missing hp, with 5% ?

Well first thing is easy. You can just make the dummy move to the position of the caster every 1 second. So it will move to the position of the caster. Then you can check the condition if the dummy is in the area of the caster you can do what you want.

Well 2 ways to do this. I have not used world editor since a very long time so i can't remember.
1st is make 20 levels of slow have 5%, 10%, 15%..
And make your dummy cast the level of the spell depending upon the health missing.

2nd not sure but there is a slow which can stack. You can cast it the number of times needed but i am not sure about this.
 

n1mr0d

Member
Reaction score
1
Well first thing is easy. You can just make the dummy move to the position of the caster every 1 second. So it will move to the position of the caster. Then you can check the condition if the dummy is in the area of the caster you can do what you want.

Well 2 ways to do this. I have not used world editor since a very long time so i can't remember.
1st is make 20 levels of slow have 5%, 10%, 15%..
And make your dummy cast the level of the spell depending upon the health missing.

2nd not sure but there is a slow which can stack. You can cast it the number of times needed but i am not sure about this.

Hmm you miss understood the 1st question, beetween the dummy and the caster there is a distance. And if i move the dummy to the caster's location there won't be anymore.
 

n1mr0d

Member
Reaction score
1
ok so here is the image. the Dummy is at the A point, and the caster is at B point at 1., in the 2. the dummy is going back to the C point what was originaly caster's point, but instead of going to C, i want the dummy to go to B point, making an circle arc.
 

Attachments

  • untitled1.JPG
    untitled1.JPG
    9.3 KB · Views: 278

thorhunter

You can change this now in User CP.
Reaction score
32
I happen to have spell that works very similar. There's much data that you need to filter through though, but it's better than nothing.

Trigger:
  • Lancet Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Tiamat's Lancet
    • Actions
      • Set ALancetNumber = (ALancetNumber + 1)
      • Set ALancetSpeed = 35.00
      • Set Temp_Point = (Position of (Triggering unit))
      • Set ALancetTarget[ALancetNumber] = (Target unit of ability being cast)
      • Set ALancetCaster[ALancetNumber] = (Triggering unit)
      • Set ALancetPath[ALancetNumber] = strike
      • Unit - Create 1 Lancet (skill) for (Owner of (Triggering unit)) at Temp_Point facing Default building facing degrees
      • Unit - Pause (Last created unit)
      • Set ALancetUnit[ALancetNumber] = (Last created unit)
      • Trigger - Turn on Lancet Loop <gen>
      • Custom script: call RemoveLocation (udg_Temp_Point)

Trigger:
  • Lancet Loop
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • Set Temp_Boolean = True
      • For each (Integer A) from 1 to ALancetNumber, do (Actions)
        • Loop - Actions
          • Set Temp_Boolean = False
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ALancetPath[(Integer A)] Equal to strike
            • Then - Actions
              • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
              • Set Temp_Point2 = (Position of ALancetTarget[(Integer A)])
              • Set TempReal = (Angle from Temp_Point to Temp_Point2)
              • Unit - Make ALancetUnit[(Integer A)] face ALancetTarget[(Integer A)] over 0.00 seconds
              • Set Temp_Point3 = (Temp_Point offset by ALancetSpeed towards TempReal degrees)
              • Set TempReal = (X of Temp_Point3)
              • Set TempReal2 = (Y of Temp_Point3)
              • Set Temp_unit = ALancetUnit[(Integer A)]
              • Custom script: call SetUnitX(udg_Temp_unit, udg_TempReal)
              • Custom script: call SetUnitY(udg_Temp_unit, udg_TempReal2)
              • Custom script: call RemoveLocation(udg_Temp_Point)
              • Custom script: call RemoveLocation(udg_Temp_Point2)
              • Custom script: call RemoveLocation(udg_Temp_Point3)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ALancetPath[(Integer A)] Equal to back
            • Then - Actions
              • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
              • Set Temp_Point2 = (Position of ALancetCaster[(Integer A)])
              • Set TempReal = (Angle from Temp_Point to Temp_Point2)
              • Unit - Make ALancetUnit[(Integer A)] face ALancetCaster[(Integer A)] over 0.00 seconds
              • Set Temp_Point3 = (Temp_Point offset by ALancetSpeed towards TempReal degrees)
              • Set TempReal = (X of Temp_Point3)
              • Set TempReal2 = (Y of Temp_Point3)
              • Set Temp_unit = ALancetUnit[(Integer A)]
              • Custom script: call SetUnitX(udg_Temp_unit, udg_TempReal)
              • Custom script: call SetUnitY(udg_Temp_unit, udg_TempReal2)
              • Custom script: call RemoveLocation(udg_Temp_Point)
              • Custom script: call RemoveLocation(udg_Temp_Point2)
              • Custom script: call RemoveLocation(udg_Temp_Point3)
            • Else - Actions
          • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
          • Set Temp_Point2 = (Position of ALancetTarget[(Integer A)])
          • Set Temp_Point3 = (Position of ALancetCaster[(Integer A)])
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Distance between Temp_Point and Temp_Point2) Less than (ALancetSpeed + 10.00)
              • ALancetPath[(Integer A)] Equal to strike
            • Then - Actions
              • Set TempC = (5 + (10 x (Hero level of ALancetCaster[(Integer A)])))
              • Set TempReal = (Life of ALancetTarget[(Integer A)])
              • Unit - Cause ALancetCaster[(Integer A)] to damage ALancetTarget[(Integer A)], dealing (1.00 x (Real(TempC))) damage of attack type Chaos and damage type Divine
              • Special Effect - Create a special effect attached to the chest of ALancetTarget[(Integer A)] using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
              • Special Effect - Destroy (Last created special effect)
              • Set ALancetLifeTransfer[(Integer A)] = (TempReal - (Life of ALancetTarget[(Integer A)]))
              • Set TempC = (Integer(((Max mana of ALancetCaster[(Integer A)]) - (Mana of ALancetCaster[(Integer A)]))))
              • Set TempC = ((5 + (TempC / 2)) / 1)
              • Set ALancetLifeTransfer[(Integer A)] = (TempReal - (Life of ALancetTarget[(Integer A)]))
              • Unit - Set mana of ALancetTarget[(Integer A)] to ((Mana of ALancetTarget[(Integer A)]) - ((Real(TempC)) + 0.00))
              • Set ALancetManaTransfer[(Integer A)] = (Real(TempC))
              • Set ALancetPath[(Integer A)] = back
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Distance between Temp_Point and Temp_Point3) Less than (ALancetSpeed + 10.00)
              • ALancetPath[(Integer A)] Equal to back
            • Then - Actions
              • Special Effect - Create a special effect attached to the chest of ALancetCaster[(Integer A)] using Abilities\Spells\Undead\ReplenishMana\SpiritTouchTarget.mdl
              • Special Effect - Destroy (Last created special effect)
              • Unit - Set mana of ALancetCaster[(Integer A)] to ((Mana of ALancetCaster[(Integer A)]) + ALancetManaTransfer[(Integer A)])
              • Unit - Set life of ALancetCaster[(Integer A)] to ((Life of ALancetCaster[(Integer A)]) + ALancetLifeTransfer[(Integer A)])
              • Unit - Remove ALancetUnit[(Integer A)] from the game
              • For each (Integer B) from (Integer A) to (ALancetNumber - 1), do (Actions)
                • Loop - Actions
                  • Set ALancetCaster[(Integer B)] = ALancetCaster[((Integer B) + 1)]
                  • Set ALancetLifeTransfer[(Integer B)] = ALancetLifeTransfer[((Integer B) + 1)]
                  • Set ALancetManaTransfer[(Integer B)] = ALancetManaTransfer[((Integer B) + 1)]
                  • Set ALancetPath[(Integer B)] = ALancetPath[((Integer B) + 1)]
                  • Set ALancetTarget[(Integer B)] = ALancetTarget[((Integer B) + 1)]
                  • Set ALancetUnit[(Integer B)] = ALancetUnit[((Integer B) + 1)]
              • Set ALancetNumber = (ALancetNumber - 1)
            • Else - Actions
          • Custom script: call RemoveLocation(udg_Temp_Point)
          • Custom script: call RemoveLocation(udg_Temp_Point2)
          • Custom script: call RemoveLocation(udg_Temp_Point3)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Temp_Boolean Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
 

n1mr0d

Member
Reaction score
1
I happen to have spell that works very similar. There's much data that you need to filter through though, but it's better than nothing.

Trigger:
  • Lancet Cast
    • Events
    • Unit - A unit Starts the effect of an ability
    • Conditions
    • (Ability being cast) Equal to Tiamat's Lancet
    • Actions
    • Set ALancetNumber = (ALancetNumber + 1)
    • Set ALancetSpeed = 35.00
    • Set Temp_Point = (Position of (Triggering unit))
    • Set ALancetTarget[ALancetNumber] = (Target unit of ability being cast)
    • Set ALancetCaster[ALancetNumber] = (Triggering unit)
    • Set ALancetPath[ALancetNumber] = strike
    • Unit - Create 1 Lancet (skill) for (Owner of (Triggering unit)) at Temp_Point facing Default building facing degrees
    • Unit - Pause (Last created unit)
    • Set ALancetUnit[ALancetNumber] = (Last created unit)
    • Trigger - Turn on Lancet Loop <gen>
    • Custom script: call RemoveLocation (udg_Temp_Point)

Trigger:
  • Lancet Loop
    • Events
    • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
    • Set Temp_Boolean = True
    • For each (Integer A) from 1 to ALancetNumber, do (Actions)
    • Loop - Actions
    • Set Temp_Boolean = False
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • ALancetPath[(Integer A)] Equal to strike
    • Then - Actions
    • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
    • Set Temp_Point2 = (Position of ALancetTarget[(Integer A)])
    • Set TempReal = (Angle from Temp_Point to Temp_Point2)
    • Unit - Make ALancetUnit[(Integer A)] face ALancetTarget[(Integer A)] over 0.00 seconds
    • Set Temp_Point3 = (Temp_Point offset by ALancetSpeed towards TempReal degrees)
    • Set TempReal = (X of Temp_Point3)
    • Set TempReal2 = (Y of Temp_Point3)
    • Set Temp_unit = ALancetUnit[(Integer A)]
    • Custom script: call SetUnitX(udg_Temp_unit, udg_TempReal)
    • Custom script: call SetUnitY(udg_Temp_unit, udg_TempReal2)
    • Custom script: call RemoveLocation(udg_Temp_Point)
    • Custom script: call RemoveLocation(udg_Temp_Point2)
    • Custom script: call RemoveLocation(udg_Temp_Point3)
    • Else - Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • ALancetPath[(Integer A)] Equal to back
    • Then - Actions
    • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
    • Set Temp_Point2 = (Position of ALancetCaster[(Integer A)])
    • Set TempReal = (Angle from Temp_Point to Temp_Point2)
    • Unit - Make ALancetUnit[(Integer A)] face ALancetCaster[(Integer A)] over 0.00 seconds
    • Set Temp_Point3 = (Temp_Point offset by ALancetSpeed towards TempReal degrees)
    • Set TempReal = (X of Temp_Point3)
    • Set TempReal2 = (Y of Temp_Point3)
    • Set Temp_unit = ALancetUnit[(Integer A)]
    • Custom script: call SetUnitX(udg_Temp_unit, udg_TempReal)
    • Custom script: call SetUnitY(udg_Temp_unit, udg_TempReal2)
    • Custom script: call RemoveLocation(udg_Temp_Point)
    • Custom script: call RemoveLocation(udg_Temp_Point2)
    • Custom script: call RemoveLocation(udg_Temp_Point3)
    • Else - Actions
    • Set Temp_Point = (Position of ALancetUnit[(Integer A)])
    • Set Temp_Point2 = (Position of ALancetTarget[(Integer A)])
    • Set Temp_Point3 = (Position of ALancetCaster[(Integer A)])
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • (Distance between Temp_Point and Temp_Point2) Less than (ALancetSpeed + 10.00)
    • ALancetPath[(Integer A)] Equal to strike
    • Then - Actions
    • Set TempC = (5 + (10 x (Hero level of ALancetCaster[(Integer A)])))
    • Set TempReal = (Life of ALancetTarget[(Integer A)])
    • Unit - Cause ALancetCaster[(Integer A)] to damage ALancetTarget[(Integer A)], dealing (1.00 x (Real(TempC))) damage of attack type Chaos and damage type Divine
    • Special Effect - Create a special effect attached to the chest of ALancetTarget[(Integer A)] using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
    • Special Effect - Destroy (Last created special effect)
    • Set ALancetLifeTransfer[(Integer A)] = (TempReal - (Life of ALancetTarget[(Integer A)]))
    • Set TempC = (Integer(((Max mana of ALancetCaster[(Integer A)]) - (Mana of ALancetCaster[(Integer A)]))))
    • Set TempC = ((5 + (TempC / 2)) / 1)
    • Set ALancetLifeTransfer[(Integer A)] = (TempReal - (Life of ALancetTarget[(Integer A)]))
    • Unit - Set mana of ALancetTarget[(Integer A)] to ((Mana of ALancetTarget[(Integer A)]) - ((Real(TempC)) + 0.00))
    • Set ALancetManaTransfer[(Integer A)] = (Real(TempC))
    • Set ALancetPath[(Integer A)] = back
    • Else - Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • (Distance between Temp_Point and Temp_Point3) Less than (ALancetSpeed + 10.00)
    • ALancetPath[(Integer A)] Equal to back
    • Then - Actions
    • Special Effect - Create a special effect attached to the chest of ALancetCaster[(Integer A)] using Abilities\Spells\Undead\ReplenishMana\SpiritTouchTarget.mdl
    • Special Effect - Destroy (Last created special effect)
    • Unit - Set mana of ALancetCaster[(Integer A)] to ((Mana of ALancetCaster[(Integer A)]) + ALancetManaTransfer[(Integer A)])
    • Unit - Set life of ALancetCaster[(Integer A)] to ((Life of ALancetCaster[(Integer A)]) + ALancetLifeTransfer[(Integer A)])
    • Unit - Remove ALancetUnit[(Integer A)] from the game
    • For each (Integer B) from (Integer A) to (ALancetNumber - 1), do (Actions)
    • Loop - Actions
    • Set ALancetCaster[(Integer B)] = ALancetCaster[((Integer B) + 1)]
    • Set ALancetLifeTransfer[(Integer B)] = ALancetLifeTransfer[((Integer B) + 1)]
    • Set ALancetManaTransfer[(Integer B)] = ALancetManaTransfer[((Integer B) + 1)]
    • Set ALancetPath[(Integer B)] = ALancetPath[((Integer B) + 1)]
    • Set ALancetTarget[(Integer B)] = ALancetTarget[((Integer B) + 1)]
    • Set ALancetUnit[(Integer B)] = ALancetUnit[((Integer B) + 1)]
    • Set ALancetNumber = (ALancetNumber - 1)
    • Else - Actions
    • Custom script: call RemoveLocation(udg_Temp_Point)
    • Custom script: call RemoveLocation(udg_Temp_Point2)
    • Custom script: call RemoveLocation(udg_Temp_Point3)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • Temp_Boolean Equal to True
    • Then - Actions
    • Trigger - Turn off (This trigger)
    • Else - Actions

Can you upload your map :)?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
Is it possible to issue a Move command to the Caster, causing the dummy unit to follow the Caster? (That has the effect of moving to the Caster's real position, wherever the Caster moves.)
 

n1mr0d

Member
Reaction score
1
yes it is possible, but still it will have some distance beetween the caster and the dummy.
 

thorhunter

You can change this now in User CP.
Reaction score
32
Can you upload your map :)?
If you just want to copy/paste the code, I'll extract it to other map and upload it. If you just want to see how the spell works, I'll upload the protected version of the map. This is part of my rather extended personal project and is kinda copyrighted :).
 

n1mr0d

Member
Reaction score
1
upload with protected, i just wanna see your spell. and if it works how i typed XD, cuz my english is not so good :p. And you might miss understood me.
 

thorhunter

You can change this now in User CP.
Reaction score
32
Aight, here's some guidelanes how to access the ability:

1. Pick character by entering a circle.
2. Pick a book of experience north of where you will spawn.
3. Access Equipment skill -> Skill Learning Menu -> Dragoon -> use this until you learn Tiamat's Lancet
4. Acess Equipment skill -> Skill Picking Menu -> click Switch Skill Type once
5. Access Equipment skill -> Skill Picking Menu -> Battle (on the left) -> click Dragon Magic once
6. The spell will appear in the spellbook o your character menu, there are units walking around that wander around, you can also test it on neutral hostile units on the west.
 

Attachments

  • SpellTest.w3x
    3.6 MB · Views: 302

n1mr0d

Member
Reaction score
1
Aight, here's some guidelanes how to access the ability:

1. Pick character by entering a circle.
2. Pick a book of experience north of where you will spawn.
3. Access Equipment skill -> Skill Learning Menu -> Dragoon -> use this until you learn Tiamat's Lancet
4. Acess Equipment skill -> Skill Picking Menu -> click Switch Skill Type once
5. Access Equipment skill -> Skill Picking Menu -> Battle (on the left) -> click Dragon Magic once
6. The spell will appear in the spellbook o your character menu, there are units walking around that wander around, you can also test it on neutral hostile units on the west.
Nice map and thanks for help :D.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?

      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