Rhys Map Maker
Number of posts : 719 Registration date : 2008-05-23 Age : 42 Location : Massachusetts
Your Character Level: 1 Primary Move: Atomic Tea-Bag
| Subject: Redo of Winged Steps Sat Jul 12, 2008 7:44 pm | |
| Winged Steps (3 levels) [E] Passive Effect: Increases Movement Speed based on your distance from the nearest enemy Use Effect: Increases your movement speed to its maximum for a few seconds.
Mana Cost: 65/100/135 Casting Type: Instant Casting Range: Personal Cooldown: 23 seconds Duration: 2/4/6 seconds Skill Point Cost: 5/5/5 Total Skill Point Cost: 15
So I would Suggest that keepign this spell exactly as is however adding a passive effect to self that would make you faster the farther away from the nearest enemy you are starting at a certain range, whatever combat is, with 7.11 i think thats 1050 now.
So basically lets say I die while my team is at the enemies base, i rez 60 seconds later and am extremely far from the battle, so winged steps registers that Im far away and makes my move speed max, as I get closer to the battle I gradually lose that move speed untill finally Im within Combat range of any enemy unit. | |
|
Guest Guest
| Subject: Re: Redo of Winged Steps Wed Jul 16, 2008 12:43 pm | |
| i like it, sounds great for people to go back to battle. but CAN IT BE DONE?? if so i totally support it. |
|
diaster Ultimate Sage
Number of posts : 1378 Registration date : 2008-05-21 Age : 34 Location : behind you
Your Character Level: 1 Primary Move: Wind Control
| Subject: Re: Redo of Winged Steps Wed Jul 16, 2008 8:54 pm | |
| hmmm...it could be done but it would probably cause rather nasty lag since you would have to constantly refresh unit positions. If you did it so it was not gradual it could be done, like enter 3k within enemy you go x speed 2k y speed 1k z speed. | |
|
Piddagoras Map Maker
Number of posts : 592 Registration date : 2008-05-22 Age : 36 Location : California
Your Character Level: 1 Primary Move: Cosines and Sines.
| Subject: Re: Redo of Winged Steps Wed Jul 16, 2008 11:46 pm | |
| - diaster wrote:
- hmmm...it could be done but it would probably cause rather nasty lag since you would have to constantly refresh unit positions. If you did it so it was not gradual it could be done, like enter 3k within enemy you go x speed 2k y speed 1k z speed.
It shouldnt actually be that bad at all, if the period of the speed update isnt more than 5x per second. native GroupEnumUnitsInRange is very fast, if i was going to do it, I would do: - Code:
-
struct WingedStepsBuff integer duration unit mage static method create takes integer d, unit mage returns WingedStepsBuff local WingedStepsBuff data=WingedStepsBuff.allocate() set data.duration=d set data.mage=mage return data endmethod method onDestroy takes nothing returns nothing set this.mage=null endmethod endstruct
scope WingedSteps
globals private constant real minimum=1050 private constant real maximum=3000 private constant real checkRadiusIncrement=100 private constant integer abilId=<ability id> private constant real loopPeriod=0.20 player globalPlayer endglobals
private function EnemyCheck takes nothing returns nothing return IsUnitEnemy(GetFilterUnit(), globalPlayer) endfunction
private function Periodic takes WingedStepsBuff i returns nothing local real x=GetUnitX(i.mage) local real y=GetUnitY(i.mage) local unit t local group g local real r=minimum if(i.duration>0) then loop set globalPlayer=GetOwningPlayer(i.mage) call GroupEnumUnitsInRange(g, x, y, r, Filter(function EnemyCheck)) set t=FirstOfGroup(g) exitwhen t!=null exitwhen r>maximum set r=r+checkRadiusIncrement endloop call SetUnitMoveSpeed(i.mage, GetUnitDefaultMoveSpeed(i.mage)+(522-GetUnitDefaultMoveSpeed(i.mage))*r/3000 set i.duration=i.duration-1 else call SetUnitMoveSpeed(i.mage, GetUnitDefaultMoveSpeed(i.mage)) call i.destroy() endif call ReleaseGroup(g) set g=null set t=null endfunction
public function Loop takes nothing returns nothing local WingedStepsBuff n=1 loop exitwhen Integer(n)>si__WingedStepsBuff_I if(si__WingedStepsBuff_V[n]==-1) then call Periodic(n) endif endloop endfunction
private function Conditions takes nothing returns boolean return GetSpellAbilityId()==abilId endfunction
private function Actions takes nothing returns nothing local WingedStepsBuff n=WingedStepsBuff.create(R2I(I2R(GetUnitAbilityLevel(GetTriggerUnit(), abilId))*2/loopPeriod), GetTriggerUnit()) endfunction
public function InitTrig takes nothing returns nothing local trigger trig=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(trig, EVENT_PLAYER_UNIT_SPELL_EFFECT) call TriggerAddCondition(trig, Condition(function Conditions)) call TriggerAddAction(trig, function Actions) endfunction
public function Initialization takes nothing returns nothing local timer t=NewTimer() call TimerStart(t, loopPeriod, true, function WingedSteps_Loop) endfunction endscope
Sorry if there are any errors in the code, I don't have access to my laptop and this isn't my computer, so this never touched a Jass editor. I'm in another state and I'm bored or I wouldn't have done this. Requires the CSSafety library and a function to call the initialization for the timer. Edit: Epic failure, the spell already maxes out your movespeed, If the code above was used, the minimum and maximum ranges would have to be lowered, and the actual duration of the spell would have to be increased to make it effective in any way. Redoing the spell in this way to have the same duration but not be a complete nerf would be to make an entire movement system, and those are a bitch to make, with cliffs and trees and things. And a movement system like that would in fact require a lot more rapid use of GroupEnumUnitsInRange, which could cause slowdown. | |
|
SinisteRing Webmaster
Number of posts : 2032 Registration date : 2008-05-21 Age : 31 Location : New Hampshire
Your Character Level: 1 Primary Move: Telekinetic Choke
| Subject: Re: Redo of Winged Steps Thu Jul 17, 2008 4:04 am | |
| Sigh, I'll look at that later, Pyth. Simply don't have the time or awakedness to do it now... | |
|
Piddagoras Map Maker
Number of posts : 592 Registration date : 2008-05-22 Age : 36 Location : California
Your Character Level: 1 Primary Move: Cosines and Sines.
| Subject: Re: Redo of Winged Steps Thu Jul 17, 2008 10:47 pm | |
| - SinisteRing wrote:
- Sigh, I'll look at that later, Pyth. Simply don't have the time or awakedness to do it now...
I havent tested it, but it should work if you just straight paste it into a trigger named WingedSteps and change the abilID=<ability ID> to the ability id for the spell. I'd recommend increasing the 2 multiplier in the Actions function, if this is going to be used, to 2.5 or 3. Increase the tooltip and buff durations attached to the GUI dummy spell to the appropriate durations per level and decreasing the movement speed effect to 0% | |
|
Sponsored content
| Subject: Re: Redo of Winged Steps | |
| |
|