Problem with a spell

[LuDo]-CamuS

New Member
Reaction score
2
hi guys. im makin this orbiting-ball-around-the-caster spell and i dont no but when the effect finishes, if i cast the spell again, the orb wont show again.. plz someone check my triggers =(
Code:
orb begin
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to Orbiting 
    Actions
        Set caster = (Casting unit)
        Unit - Create 1 orb for (Owner of (Casting unit)) at ((Position of (Casting unit)) offset by 200.00 towards 0.00 degrees) facing Default building facing degrees
        Set orb = (Last created unit)
        Trigger - Turn on orb proces <gen>

Code:
orb proces
    Events
        Time - Every 0.03 seconds of game time
    Conditions
    Actions
        Unit - Move orb instantly to ((Position of caster) offset by 200.00 towards ((Angle from (Position of caster) to (Position of orb)) + 3.00) degrees)
        Wait (10.00 x (Real((Level of Orbiting  for caster)))) seconds
        Unit - Kill orb
        Set orb = No unit
        Set caster = No unit
        Trigger - Turn off (This trigger)

NOTE: Orb proces is initialy off :)
please someone help ill +rep
 

Dinowc

don't expect anything, prepare for everything
Reaction score
223
those are bad triggers...

1. use starts the effect of an ability
2. you can't "kill" the dummy, I mean if he has locust and he's invulnerable, he can't be killed so it needs an expiration timer
3. both triggers are uber leaking
4. you don't need that action "set unit_variable = no unit", use rather point variables to remove the leaks + real variable to calculate the angles so the unit will rotate around the caster properly

so it will look something like this:

Code:
e: unit starts the effect of an ability
c: ability being cast equal to "your ability"
a: set caster = triggering unit
   set caster_pos = position of caster
   set angle = 0.00 (or facing of caster to make it look better rather than creating it always at the east side...)
   set offset_point = caster_pos offset by 200 towards angle degrees
   create 1 "unit" at offset_point for owner of caster...
   set unit = last created unit
   call RemoveLocation(udg_caster_pos)
   call RemoveLocation(udg_offset_point))
   turn on "the other trigger"

Code:
e: every 0.03 seconds of game time
c:
a: set angle = angle + 3 
   set caster_pos = position of caster
   set offset_point = caster_pos offset by 200 towards angle degrees
   move unit to offset_point
   call RemoveLocation(udg_caster_pos)
   call RemoveLocation(udg_offset_point))
   if then else
      if angle greater than or equal to 1000,1500... (depends on how many times you want it to rotate, 360 for 1x, 720 for 2x, 1080 for 3x...)
          turn off this trigger
          add a 0.25 seconds generic expiration timer to unit (this could look weird though... the dummy will stop rotating before it gets killed)

there are also problems with my triggers...
for example, they are non-MUI :(

I wrote this fast... not sure will it work though
 
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