Custom Pulverise

DuelPlayer

Member
Reaction score
21
Is there any ways to make a custom pulverise with stun?? which means it will stun nearby units.
I tried to used Damage Detection but the attack animation will be played
I also tried to use EVENT_PLAYER_UNIT_ATTACKED, but the attack animation will be played sometimes, other times it will not
I hope anyone can help me???
 

DuelPlayer

Member
Reaction score
21
I tried it with 100% first
but the stun didnt even appear
JASS:
scope Pulverise initializer Init
    private function Conditions takes nothing returns boolean
        return GetUnitAbilityLevel(GetTriggerUnit(), 'A038') >= 1
    endfunction
    
    private function ForGroupConditions takes nothing returns boolean
        return GetWidgetLife(GetFilterUnit()) >= 0.405 and IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true and IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false 
    endfunction
    
    private function ForGroupActions takes nothing returns nothing
        call Damage_Physical(GetTriggerUnit(), GetEnumUnit(), 10., ATTACK_TYPE_HERO, false, false)
        call Status[GetEnumUnit()].addStun()
        call PolledWait(100.)
    endfunction
    
    private function Actions takes nothing returns nothing
        local group g = CreateGroup()
        local location p = GetUnitLoc(GetTriggerUnit())
        call SetUnitTimeScale(GetTriggerUnit(), 1.7)
        call SetUnitAnimation(GetTriggerUnit(), "attack slam")
        call SetUnitTimeScale(GetTriggerUnit(), 1)
        call GroupEnumUnitsInRangeOfLoc(g, p, 250., Condition(function ForGroupConditions))
        call ForGroup(g, function ForGroupActions)
        call RemoveLocation(p)
        call DestroyGroup(g)
        set g = null
        set p = null
        call PolledWait(0.9)
        call SetUnitAnimation(GetTriggerUnit(), "stand")
    endfunction
    
    private function Init takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_ATTACKED)
        call TriggerAddCondition(t, Condition(function Conditions))
        call TriggerAddAction(t, function Actions)
        set t = null
    endfunction
endscope
 

Dinowc

don't expect anything, prepare for everything
Reaction score
223
GetTriggerUnit() should be GetAttacker() if you're reffering to the attacker
 

Laiev

Hey Listen!!
Reaction score
188
Event - Unit Attacked
Trigger unit - Attacked unit
Other unit - Attacker unit


the 'trigger unit' always refers to the event thing.


Event - Unit die
Trigger unit - Dying Unit
Other unit - Killing Unit
 

DioD

New Member
Reaction score
57
you cant wait inside callbacks, triggering unit in this case, unit who UNDER attack.
 

DuelPlayer

Member
Reaction score
21
but how to fix the animation problem? the unit attacks and hit unit with the totem then stop then change to slam animation any other ways to fix it?? maybe the stun i can fix it
 

DioD

New Member
Reaction score
57
there is no way to fix animation inside your code.

to animate unit properly you must calculate chances and set animation BEFORE unit attacks, its hard to predict this moment, since there is no events.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top