Spell Help - Knockback

Battlemapsta

I am the Conduit of Change
I am working on a map right now and need some help. I want to make an abiltity that does damage and knocks the target back for a long range. How can I make the unit be knocked back from the spell?

Is there also a nonjass way to make it since I am clueless in it.

Also which general spell is good for doing the damage? I was thinking firebolt with very very low stun duration like .001

Thanks in advance
 
I

IKilledKEnny

Guest
Code:
Untitled Trigger 001
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to <<Ability>>
    Actions
        Set PointVariable = ((Position of (Target unit of ability being cast)) offset by <<Integer>> towards (Facing of (Casting unit)) degrees)
        Unit - Move (Target unit of ability being cast) instantly to PointVariable
 

uberfoop

~=Admiral Stukov=~
Quick knockback I just threw together:
Obviously you need the kattanna system in yer map for it:

Code:
function KnockbackSlide takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer steps = GetHandleInt(t,"steps")
local unit target = GetHandleUnit(t,"target")
local location l = GetUnitLoc(target)
local location ll = PolarProjectionBJ(l,GetHandleReal(t,"dist"),GetHandleReal(t,"angle"))
call SetUnitPositionLoc(target,ll)
call RemoveLocation(l)
call RemoveLocation(ll)
set l = null
set ll = null
set target = null
if ( steps <= 1 ) then
call FlushHandleLocals(t)
call DestroyTimer(t)
return
endif
call SetHandleInt(t, "steps", steps-1)
endfunction

function SimpleKnockback takes unit target, real interval, real dist, real duration, real angle, boolean collision returns nothing
local timer t = CreateTimer()
local integer time = R2I(duration)
local unit targett = target
call SetHandleInt(t,"steps", R2I(duration/interval))
call SetHandleHandle(t,"target",target)
call SetHandleReal(t,"dist",dist)
call SetHandleReal(t,"angle",angle)
if collision == false then
call SetUnitPathing(target,false)
endif
call TimerStart(t,interval,true,function KnockbackSlide)
call PolledWait(time)
set t = null
if collision == false then
call SetUnitPathing(target,true)
endif
set targett = null
endfunction
the parameters are as follows:
unit being knockbacked, movement interval, distance per interval, total duration, angle of knockback, true/false for whether you want unit to still have collision or not.
 

Battlemapsta

I am the Conduit of Change
Thanks for the help guys :D I will test IKilledEnny's idea first since I suck at triggers :D and if it won't work I'll go with uberfoop's trigger. I'll reply the results
 
M

Mythic Fr0st

Guest
Or the harder GUI way
Variables:
Knockback_Unit, unit, array 1
Stop, boolean, array 1,
X, integer, no array
IA, integer, no array
Loc, point, array 1
Exitwhen_Loc, point, array 1


Code:
    Events
        Time - Every 0.03 seconds
    Conditions
    Actions
        For each Integer A from 1 to X do MULTIPLE Actions
            Loop - Actions
                If / Then / Else, Multiple Functions
                    If - Conditions
                            Knockback_Unit[Integer A] is alive equal to true
                            Stop[Integer A] equal to false
                    Then - Actions
                                  Set Loc[0] = Position of Knockback_Unit[Integer A]
                                  Set Loc[1] = Loc[0] offset by 12 towards facing of Knockback_Unit[Integer A]
                                  Set IA = Integer A
                                  Unit - Move instantly Knockback_Unit[Integer A] to Loc[1]
                                  If / Then / Else, Multiple Functions
                                      If - Conditions
                                            Distance Between Loc[1] and Exitwhen_Loc[Integer A] less than or equal to 50
                                      Then - Actions
                                                    Set Stop[Integer A] = true
                                                    Unit - Unpause Knockback_Unit[Integer A]
                                      Else - Actions
                                  Custom script:   call RemoveLocation(udg_Loc[1])
                                  Custom script:   call RemoveLocation(udg_Loc[0])
                                  Custom script:   call RemoveLocation(udg_Exitwhen_Loc[udg_IA]
                     Else - Actions
NOTE the Custom script: actions, are not in the Else - Actions of the loop!
(DO NOT PUT THEM IN THE Else - Actions)

Code:
    Events
        Unit - A unit begins casting an ability
    Conditions Ability being cast equal to knockknockwhosthere
    Actions
        Set Knockback_Unit[X] = target unit of ability being cast
        Set Loc[2] = Position of Target Unit Of Ability Being Cast
        Set Exitwhen_Loc[X] = Loc[2] offset by 600 towards facing of Knockback_Unit[X] - Facing of Casting Unit
        Unit - Pause Knockback_Unit[X]
        Set X = X + 1
I not sure if it will work

PS (Does anyone notice I hand type all my code O_O?)
 

lh2705

Just another Helper
Yeah, I do..
Battlemapsta, You can check out the spells section. I made a passive version, maybe you can tweak it to become an active spell..
 

Battlemapsta

I am the Conduit of Change
Yeah, I do..
Battlemapsta, You can check out the spells section. I made a passive version, maybe you can tweak it to become an active spell..

Sorry I didn't reply but ih2705 thanks so much for your trigger :D. I decided to turn it passive while thinking a lot and your trigger works perfectly with my unit.

+rep
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    It is possible to automate it so that instead of moving to Archive if it has the Science, technology or sci tech tag that it gets archived there instead. I am considering a new Weird News Tag
  • tom_mai78101 tom_mai78101:
    Please do. I'll try to tag the news appropriately when I get the chance.
  • The Helper The Helper:
    The new Discourse forum software we are moving to next does alot with the tags and also hashtags
  • The Helper The Helper:
    OK I found the source of your burrito post stuff it is from Reddit and possibly a facebook post too but definitely reddit
  • The Helper The Helper:
    Happy Monday!
  • The Helper The Helper:
    Happy Tuesday :)
  • Blackveiled Blackveiled:
    Happy Tuesday
  • The Helper The Helper:
    Blackveiled! What is up?
  • The Helper The Helper:
    I saw XXXConan on here the other day I dont know if you remember him
  • The Helper The Helper:
    blasts from the past
  • Blackveiled Blackveiled:
    I remember him, buncha old faces
  • jonas jonas:
    He's a software engineer at a hiring platform now I think
  • The Helper The Helper:
    I wanna know if his mom is still single LOL
  • tom_mai78101 tom_mai78101:
    I need context.
    +1
  • The Helper The Helper:
    Back in the day conan was a young one and his mom was single and I used to tease him that I was going to date his mom and be his daddy - yeah sounds bad now but it was funny at the time
  • The Helper The Helper:
    his mom is my age
  • The Helper The Helper:
    i know right it was pretty funny
  • thewrongvine thewrongvine:
    its pretty funny
    +1
  • tom_mai78101 tom_mai78101:
    Thanks for the context.
    +1
  • The Helper The Helper:
    Happy Hump Day!!!
  • Blackveiled Blackveiled:
    TH old fart gotta have a beer with me one of these days
  • The Helper The Helper:
    I am down anytime Blackveiled
  • Blackveiled Blackveiled:
    count on it then cause you don't live that far from me hah
  • The Helper The Helper:
    really that is cool! I am in Houston in the 77079 area

    Staff online

    Members online

    Affiliates

    Hive Workshop NUON Dome World Editor Tutorials

    Network Sponsors

    Apex Steel Pipe - Buys and sells Steel Pipe.
    Top