Is there a way to raise a dummycasters height?

Level 8
Joined
Mar 17, 2016
Messages
132
I have a custom spell that will shoot out a bunch of arrows, but the only problem now is that the arrows spawn on the ground
upload_2020-2-25_17-41-20.png


I have tried setting the dummy unit's move type to "fly" and its height/height minimum to 150, and still the arrows spawn on the floor.
I've tried making an action in the trigger that will make (last created unit)'s flying height to 100 over 0.01 seconds and still, they spawn on the floor.
Is it because dummy casters have no model? Or can this be remedied


Am I missing something?

Edit: Btw, the dummy spell is using "Carrion Swarm".

Edit 2: I found a thread and tried using the trigger "Unit - add Crow Form to Last Created Unit" and then "Set flying height" and still the arrows spawn on the floor.
 
Last edited:
Level 5
Joined
Jun 12, 2018
Messages
145
Try to set dummy missile movement type to "Hover", keep the height/minimal height you've set. Then set Art - Elevation - Sample Points and Art - Elevation - Sample Radius to 0.
 
Level 8
Joined
Mar 17, 2016
Messages
132
Carrion swarm always travels on ground level, regardless of caster height and/or projectile Z launch.

Base your spell on a different ability.
Crushing wave also triggers through the 'carrionswarm' Order string and seems to have the same problem, I tried breath of fire as well and it seems to have the same problem. Shockwave is out of the question because it distorts the terrain beneath and is unfitting for an arrow ability, but im worried it would have the same issue anyways.

Is the only way to do this with triggers? Because I'm not sure that would work very well with how the spell functions as it shoots out many many projectiles within 1 second (it fires off every 0.04 seconds).

It's not the biggest priority as the spell still works and looks cool, but it would definitely complete it.

Btw, thanks for all the help to everyone. +rep
 
Level 8
Joined
Mar 17, 2016
Messages
132
Perhaps there is a trigger we're not seeing, could you post them?

I'd suggest opting for special effects instead~
Even my resource Teeth could be modified for this kind of thing...

Perhaps special effects could be the way to go... Maybe I'll look into that later if it looks like the best route.
Here is the trigger cycle I'm using:


  • DB On
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Death Blossom (BL)
    • Actions
      • Set VariableSet UnitPlayerCaster[4] = (Triggering unit)
      • Set VariableSet UnitAbilPoint[4] = (Position of UnitPlayerCaster[4])
      • Set VariableSet GenericReal[0] = (Facing of UnitPlayerCaster[4])
      • Set VariableSet PulsesInteger[1] = 0
      • Special Effect - Create a special effect attached to the overhead of UnitPlayerCaster[4] using Abilities\Spells\NightElf\shadowstrike\shadowstrike.mdl
      • Set VariableSet SpecialEffectAbil[6] = (Last created special effect)
      • Countdown Timer - Start LoopTimer[3] as a One-shot timer that will expire in 1.33 seconds
      • Trigger - Turn on DB Loopy <gen>
      • Wait 1.00 seconds
      • Special Effect - Destroy SpecialEffectAbil[6]
  • DB Off
    • Events
      • Unit - A unit Stops casting an ability
    • Conditions
      • (Ability being cast) Equal to Death Blossom (BL)
    • Actions
      • Trigger - Turn off DB Loopy <gen>
      • Custom script: call RemoveLocation (udg_UnitAbilPoint[4])
  • DB Loopy
    • Events
      • Time - LoopTimer[3] expires
    • Conditions
    • Actions
      • Unit - Create 1 dummy6 (DeathBlossom) for (Owner of UnitPlayerCaster[4]) at UnitAbilPoint[4] facing Default building facing degrees
      • Animation - Change (Last created unit) flying height to 200.00 at 0.01
      • Unit - Order (Last created unit) to Neutral Brewmaster - Breath Of Fire (UnitAbilPoint[4] offset by 200.00 towards GenericReal[0] degrees.)
      • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
      • Unit - Make UnitPlayerCaster[4] face GenericReal[0]
      • Animation - Play UnitPlayerCaster[4]'s attack animation
      • Set VariableSet GenericReal[0] = (GenericReal[0] + 20.00)
      • Set VariableSet PulsesInteger[1] = (PulsesInteger[1] + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PulsesInteger[1] Less than 120
        • Then - Actions
          • Countdown Timer - Start LoopTimer[3] as a One-shot timer that will expire in 0.03 seconds
        • Else - Actions
          • Custom script: call RemoveLocation (udg_UnitAbilPoint[4])
          • Trigger - Turn off (This trigger)

 
Level 8
Joined
Mar 17, 2016
Messages
132
Instead of casting multiple dummy units to cast the carrion swarm at different angles, why not make the dummy unit(s) as a missile(s) so you can control the height of every missile units? Or if you're modding in 1.30+ you can use the recently added Special Effects triggers where you can change the Z height of the SFX.
How would you make the special effects move in a line? As far as I know you can only spawn them on points and then cause them to move instantly. Also, how would you do that using a unit? I actually have another spell that I was planning on looking into that for.
 
Top