If you're talking about dummy unit e, it's not really much of a surprise that they're all facing the same direction.
set e = CreateUnitAtLoc( p, effectID, OffsetLocation(up, t, AngleBetweenPoints(tp, up)), bj_UNIT_FACING )
You used bj_UNIT_FACING as the unit's facing angle.
Some tips about...
This is crude method: You could add an ability that doesn't do anything to all your ward units. Then use GetUnitAbilityLevel(YourUnit,YourWardAbility) > 0 to check if a unit is a ward.
Sorry, but isn't tp referring to the location of the caster? If it is, then why couldn't you just use the variables x and y which already refer to the caster's coordinates?
@Undead.Cow Just look at Tyman2007's post. If you don't want to calculate Pi/180 then here it is in numerical value...
Why not just make a dummy unit with some sight range, place it at the points that you want visible to the player, and use UnitApplyTimedLife?
I'm not really sure what you're asking for.
Shouldn't GetEnumUnit() be GetFilterUnit()? You're using it in a filter function.
Random Comments about other parts of the Spell:
Instead of 360*bj_DEGTORAD, just do 6.283185301(2 times Pi). I think it's faster if you just use the numbers instead.
You forgot to null the variable u.
It's not...
I just wanted to say that Laiev's code is nice, but there is no real need for the location tp. Just use x and y.
If you're extremely crazy about accuracy, you can also inline bj_DEGTORAD.
Oh yeah, you could use Channel for that too, sorry. XD
Yeah, Starfall and Tranquility are channeling spells.
The upside/downside to using Starfall and Tranquility over Channel is that the computer AI will be able cast the spell.
This is just an idea that involves a lot of OE work:
Make an upgrade that can increase the level of the spell.
(Look for "Ability Level Bonus" in the Data - Effect)
(This will be a lot of upgrades...)
(I think you can do this for four abilities per upgrade because there are four Data fields)...
Use Starfall or Tranquility.
To detect whether or not the caster is still casting the spell use this condition periodically:
GetUnitCurrentOrder(YourCaster) == OrderId(SpellOrder)
GUI equivalent:
(Current order of (YourCaster)) Equal to (Order(SpellOrder))
I think punwisp should have actually downloaded this map before making the accusation that Ninva would steal King Leopold's map.
Anyway onto the harsh criticism. ;)
Note: I tested this map only in single-player with computers. I also forgot to set all the slots to computers. The teams were...