Periodics

Arcane

You can change this now in User CP.
Reaction score
87
This is basically a non-channel Starfall - or is supposed to be.

I have no idea how to periodically move the dummy unit to the location of the caster, and I guess through that periodically check if the caster is still alive.

Halp?

JASS:
function Trig_Star_Light_Star_Bright_GUI_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'ANcl' ) ) then
        return false
    endif
    return true
endfunction

globals
    unit caster
    unit dummy
    location casterloc
    player casterown
    timer T=CreateTimer()
    integer Total=15
endglobals

function Actions takes nothing returns nothing
    set caster = GetTriggerUnit()
    set casterown = GetOwningPlayer(caster)
    set casterloc = GetUnitLoc(caster)
    call CreateNUnitsAtLoc( 1, 'nvlk', casterown, casterloc, bj_UNIT_FACING)
    set dummy = GetLastCreatedUnit()
    call UnitAddAbility(dummy, 'AEsf')
    call SetUnitAbilityLevel(dummy, 'AEsf', GetUnitAbilityLevel(caster, 'ANcl'))
    call IssueImmediateOrder(dummy, "starfall")
endfunction

//===========================================================================
function InitTrig_JASS takes nothing returns nothing
    set gg_trg_JASS = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_JASS, Condition( function Trig_Star_Light_Star_Bright_GUI_Conditions ) )
    call TriggerAddAction( gg_trg_JASS, function Actions)
endfunction
 

BlackRose

Forum User
Reaction score
239
JASS:
function Trig_Star_Light_Star_Bright_GUI_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'ANcl' ) ) then
        return false
    endif
    return true
endfunction

Why not:
JASS:
function Trig_Star_Light_Star_Bright_GUI_Conditions takes nothing returns boolean
     return GetSpellAbilityId() == 'ANcl'
endfunction


Why don't you actually start with trying to accomplish this in GUI rather than JASS? Just do what you did in GUI first, make the unit, then turn on some trigger that runs every 0.25? seconds and move the dummy unit to the position of unit.

Trigger:
  • Starfall
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Animate Dead
    • Actions
      • Set Caster = (Triggering unit)
      • Set CLoc = (Position of Caster)
      • Unit - Create 1 Footman for (Owner of Caster) at CLoc facing Default building facing degrees
      • Set Dummy = (Last created unit)
      • Unit - Order Dummy to Night Elf Priestess Of The Moon - Starfall
      • Custom script: call RemoveLocation( udg_CLoc )
      • Trigger - Turn on StarfallMove <gen>

Trigger:
  • StarfallMove
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Caster is dead) Equal to True
        • Then - Actions
          • Unit - Remove Dummy from the game
        • Else - Actions
          • Custom script: call SetUnitX( udg_Dummy, GetUnitX( udg_Caster ) )
          • Custom script: call SetUnitY( udg_Dummy, GetUnitY( udg_Caster ) )



SetUnitX and SetUnitY don't interrupt the dummy's channeling.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
NO, use polarprojection.

JASS:
function Actions takes nothing returns nothing
    local unit caster = GetTriggerUnit()
    local player casterown = GetOwningPlayer(caster)
    local location casterloc = GetUnitLoc(caster)
    local unit dummy = CreateNUnitsAtLoc( 1, 'nvlk', casterown, casterloc, bj_UNIT_FACING)
    call UnitAddAbility(dummy, 'AEsf')
    call SetUnitAbilityLevel(dummy, 'AEsf', GetUnitAbilityLevel(caster, 'ANcl'))
    call IssueImmediateOrder(dummy, "starfall")
    call RemoveLocation(casterloc)
    set caster = null
    set casterown = null
    set casterloc = null
    set dummy = null
endfunction


Use this, it is MUI. If you want to use timer, then you need a attach system.
 

Arcane

You can change this now in User CP.
Reaction score
87
Does it have to be split into two triggers then?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top