By Damage - Nothing

Chaos_Knight

New Member
Reaction score
39
When i just used Damage( By J4L ), i added it to my passive spell. But now it does nothing. :eek: i think this quite simple to solve, but i can't get why. :p

JASS:
library MovingStrike initializer Init requires Damage
// +-------------------------------------------------------------------------------+
// |     Moving Strikes - Created by Chaos_Knight.  Requires a vJass preprocessor! |   
// +-------------------------------------------------------------------------------+
// | Gives a small chance to move the Attacker to the GetAttacker() and            |
// | deals damage to the GetTriggerUnit()                                          |
// +-------------------------------------------------------------------------------+
// | How to Import:                                                                |
// |  - Create a new trigger                                                       |
// |  - Convert it to Custom text (Edit > Convert to Custom Text)                  |
// |  - Replace everything there with this code                                    |
// |  - Change the constants to suit yourself                                      |
// |  - Enjoy!                                                                     |
// +-------------------------------------------------------------------------------+

// |-------------|
// | Constants:  |
// |-------------|
    globals
        // The effect created on the target when it is being possessed:
        private constant string EFFECT = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl"
        private constant string EFFECT2 = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl"
        private constant string EFFECT3 = "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl"
        private constant string EFFECT4 = "Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl"
        private constant string EFFECT6 = "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl"
        // Which is attached to the targets:
        private constant string EFFECT_POSITION = "weapon,left"
        private constant string EFFECTPOSITION = "hand,right"
        private constant string EFFECTPOS = "origin"
        private constant boolean SHOWEFFECT = true //Will Show the effects(6).
        private constant boolean IS_RANGED = true //If the damage is ranged
        private constant boolean IS_MEELE = true //If the damage is from meele combat(128 Warcraft metres).
        private constant integer RED = 90 //Red color.
        private constant integer GREEN = 0 //Green color.
        private constant integer BLUE = 110 //Blue color.
        private constant integer ALPHA = 255 //Alpha(how much the TextTag's visible).
        private constant boolean SHOWDAMAGE = true //Will create the TextTag, if true.
        private constant integer DAMAGE = 35
        private constant integer C = 100 // Testing Purposes.
        //I Reccomend having it 1% chance. setting beyond this value may make it unbalanced.
        private constant integer FROMTARGET = 128 //How Far you are moving
        private constant attacktype AtkType = ATTACK_TYPE_CHAOS //Selfexplaining
        private constant damagetype DmgType = DAMAGE_TYPE_FIRE//^ same
        private constant weapontype WepType = WEAPON_TYPE_WHOKNOWS//No idea...
        // The Raw code of the ability
        private constant integer ID = 'A000'
    endglobals
    
    private constant function CHANCE takes integer level returns integer
        return C * level
    endfunction
    
    private constant function DMG takes integer Lvl returns integer
        return DAMAGE * Lvl
    endfunction
// |------------------|
// | End of Constants |
// |------------------|

// DO NOT EDIT BELOW THIS LINE!
    
    private function Cons takes nothing returns boolean
        return IsUnitEnemy(GetTriggerUnit() , GetOwningPlayer(GetAttacker())) and GetRandomInt(0, 100) <= CHANCE(GetUnitAbilityLevel(GetAttacker(), ID)) and not IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) and GetUnitAbilityLevel(GetAttacker() , ID) > 0
    endfunction    

        
        private function Moving takes nothing returns nothing
            local unit u = GetAttacker()
            local unit t = GetTriggerUnit()
            local real x1 = GetUnitX( u )
            local real y1 = GetUnitY( u )
            local real x2 = GetUnitX( t )
            local real y2 = GetUnitY( t )
            local real angle = Atan2(y2 - y1, x2 - x1)
            local texttag TT = CreateTextTag()
            
            if SHOWEFFECT then
                call DestroyEffect(AddSpecialEffectTarget(EFFECT, u, EFFECT_POSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT2, u, EFFECTPOSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT3, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT4, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT6, t, EFFECTPOS))
            endif
               if SHOWDAMAGE then
                    call SetTextTagText (TT,R2S(DMG(GetUnitAbilityLevel(u, ID))) + "!", 0.023)
                    call SetTextTagPosUnit (TT, u, 10 )
                    call SetTextTagColor (TT, RED, GREEN, BLUE, 255 )
                    call SetTextTagVelocity (TT, 0.0355 * Cos(90. * bj_DEGTORAD), 0.0355 * Sin(90. * bj_DEGTORAD))
                    call SetTextTagVisibility (TT, true)
                    call SetTextTagFadepoint (TT, 2.00)
                    call SetTextTagLifespan (TT, 2.00)
                    call SetTextTagPermanent (TT, false)
                endif
        
            call SetUnitX( u , x2 + FROMTARGET * Cos(angle))
            call SetUnitY( u , y2 + FROMTARGET * Sin(angle))
            call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
        
        set u = null
        set TT = null
        set t = null
    endfunction
  
  
//------------------------------------------------------------------  
private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call Damage_RegisterEvent(t)
    call TriggerAddAction( t , function Moving)
endfunction
endlibrary


Thanks

//Chaos_Knight :cool:
 

dudeim

New Member
Reaction score
22
Don't think it solves your problem but you don't seem to use the Cons function it's there for well nothing atm maybe try adding it and see if it solves it.
 

Chaos_Knight

New Member
Reaction score
39
Nope, that didnt work.

JASS:
library MovingStrike initializer Init requires Damage
// +-------------------------------------------------------------------------------+
// |     Moving Strikes - Created by Chaos_Knight.  Requires a vJass preprocessor! |   
// +-------------------------------------------------------------------------------+
// | Gives a small chance to move the Attacker to the GetAttacker() and            |
// | deals damage to the GetTriggerUnit()                                          |
// +-------------------------------------------------------------------------------+
// | How to Import:                                                                |
// |  - Create a new trigger                                                       |
// |  - Convert it to Custom text (Edit > Convert to Custom Text)                  |
// |  - Replace everything there with this code                                    |
// |  - Change the constants to suit yourself                                      |
// |  - Enjoy!                                                                     |
// +-------------------------------------------------------------------------------+

// |-------------|
// | Constants:  |
// |-------------|
    globals
        // The effect created on the target when it is being possessed:
        private constant string EFFECT = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl"
        private constant string EFFECT2 = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl"
        private constant string EFFECT3 = "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl"
        private constant string EFFECT4 = "Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl"
        private constant string EFFECT6 = "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl"
        // Which is attached to the targets:
        private constant string EFFECT_POSITION = "weapon,left"
        private constant string EFFECTPOSITION = "hand,right"
        private constant string EFFECTPOS = "origin"
        private constant boolean SHOWEFFECT = true //Will Show the effects(6).
        private constant boolean IS_RANGED = true //If the damage is ranged
        private constant boolean IS_MEELE = true //If the damage is from meele combat(128 Warcraft metres).
        private constant integer RED = 90 //Red color.
        private constant integer GREEN = 0 //Green color.
        private constant integer BLUE = 110 //Blue color.
        private constant integer ALPHA = 255 //Alpha(how much the TextTag's visible).
        private constant boolean SHOWDAMAGE = true //Will create the TextTag, if true.
        private constant integer DAMAGE = 35
        private constant integer C = 100 // Testing Purposes.
        //I Reccomend having it 1% chance. setting beyond this value may make it unbalanced.
        private constant integer FROMTARGET = 128 //How Far you are moving
        private constant attacktype AtkType = ATTACK_TYPE_CHAOS //Selfexplaining
        private constant damagetype DmgType = DAMAGE_TYPE_FIRE//^ same
        private constant weapontype WepType = WEAPON_TYPE_WHOKNOWS//No idea...
        // The Raw code of the ability
        private constant integer ID = 'A000'
    endglobals
    
    private constant function CHANCE takes integer level returns integer
        return C * level
    endfunction
    
    private constant function DMG takes integer Lvl returns integer
        return DAMAGE * Lvl
    endfunction
// |------------------|
// | End of Constants |
// |------------------|

// DO NOT EDIT BELOW THIS LINE!
    
    private function Cons takes nothing returns boolean
        return IsUnitEnemy(GetTriggerUnit() , GetOwningPlayer(GetAttacker())) and GetRandomInt(0, 100) <= CHANCE(GetUnitAbilityLevel(GetAttacker(), ID)) and not IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) and GetUnitAbilityLevel(GetAttacker() , ID) > 0
    endfunction    

        
        private function Moving takes nothing returns nothing
            local unit u = GetAttacker()
            local unit t = GetTriggerUnit()
            local real x1 = GetUnitX( u )
            local real y1 = GetUnitY( u )
            local real x2 = GetUnitX( t )
            local real y2 = GetUnitY( t )
            local real angle = Atan2(y2 - y1, x2 - x1)
            local texttag TT = CreateTextTag()
            
            if SHOWEFFECT then
                call DestroyEffect(AddSpecialEffectTarget(EFFECT, u, EFFECT_POSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT2, u, EFFECTPOSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT3, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT4, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT6, t, EFFECTPOS))
            endif
               if SHOWDAMAGE then
                    call SetTextTagText (TT,R2S(DMG(GetUnitAbilityLevel(u, ID))) + "!", 0.023)
                    call SetTextTagPosUnit (TT, u, 10 )
                    call SetTextTagColor (TT, RED, GREEN, BLUE, 255 )
                    call SetTextTagVelocity (TT, 0.0355 * Cos(90. * bj_DEGTORAD), 0.0355 * Sin(90. * bj_DEGTORAD))
                    call SetTextTagVisibility (TT, true)
                    call SetTextTagFadepoint (TT, 2.00)
                    call SetTextTagLifespan (TT, 2.00)
                    call SetTextTagPermanent (TT, false)
                endif
        
            call SetUnitX( u , x2 + FROMTARGET * Cos(angle))
            call SetUnitY( u , y2 + FROMTARGET * Sin(angle))
            call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
        
        set u = null
        set TT = null
        set t = null
    endfunction
  
  
//------------------------------------------------------------------  
private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call Damage_RegisterEvent(t)
    call TriggerAddCondition( t , function Cons)
    call TriggerAddAction( t , function Moving)
endfunction
endlibrary
 

Laiev

Hey Listen!!
Reaction score
188
[ljass]GetAttacker[/ljass]?

-.-

Jesus4Lyf said:
use [ljass]GetTriggerUnit()[/ljass] for damaged unit, [ljass]GetEventDamageSource()[/ljass] for damager (your 'GetAttacker'), [ljass]GetEventDamage()[/ljass] for damage amount.
 

Chaos_Knight

New Member
Reaction score
39
Now i causes Heavy lag. I mean i cant move and close my WC3 in 45 seconds.
:eek:

JASS:
library MovingStrike initializer Init requires Damage
// +-------------------------------------------------------------------------------+
// |     Moving Strikes - Created by Chaos_Knight.  Requires a vJass preprocessor! |   
// +-------------------------------------------------------------------------------+
// | Gives a small chance to move the Attacker to the GetAttacker() and            |
// | deals damage to the GetTriggerUnit()                                          |
// +-------------------------------------------------------------------------------+
// | How to Import:                                                                |
// |  - Create a new trigger                                                       |
// |  - Convert it to Custom text (Edit > Convert to Custom Text)                  |
// |  - Replace everything there with this code                                    |
// |  - Change the constants to suit yourself                                      |
// |  - Enjoy!                                                                     |
// +-------------------------------------------------------------------------------+

// |-------------|
// | Constants:  |
// |-------------|
    globals
        // The effect created on the target when it is being possessed:
        private constant string EFFECT = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl"
        private constant string EFFECT2 = "Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl"
        private constant string EFFECT3 = "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl"
        private constant string EFFECT4 = "Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl"
        private constant string EFFECT6 = "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl"
        // Which is attached to the targets:
        private constant string EFFECT_POSITION = "weapon,left"
        private constant string EFFECTPOSITION = "hand,right"
        private constant string EFFECTPOS = "origin"
        private constant boolean SHOWEFFECT = true //Will Show the effects(6).
        private constant boolean IS_RANGED = true //If the damage is ranged
        private constant boolean IS_MEELE = true //If the damage is from meele combat(128 Warcraft metres).
        private constant integer RED = 90 //Red color.
        private constant integer GREEN = 0 //Green color.
        private constant integer BLUE = 110 //Blue color.
        private constant integer ALPHA = 255 //Alpha(how much the TextTag's visible).
        private constant boolean SHOWDAMAGE = true //Will create the TextTag, if true.
        private constant integer DAMAGE = 35
        private constant integer C = 100 // Testing Purposes.
        //I Reccomend having it 1% chance. setting beyond this value may make it unbalanced.
        private constant integer FROMTARGET = 128 //How Far you are moving
        private constant attacktype AtkType = ATTACK_TYPE_CHAOS //Selfexplaining
        private constant damagetype DmgType = DAMAGE_TYPE_FIRE//^ same
        private constant weapontype WepType = WEAPON_TYPE_WHOKNOWS//No idea...
        // The Raw code of the ability
        private constant integer ID = 'A000'
    endglobals
    
    private constant function CHANCE takes integer level returns integer
        return C * level
    endfunction
    
    private constant function DMG takes integer Lvl returns integer
        return DAMAGE * Lvl
    endfunction
// |------------------|
// | End of Constants |
// |------------------|

// DO NOT EDIT BELOW THIS LINE!
    
    private function Cons takes nothing returns boolean
        return IsUnitEnemy(GetTriggerUnit() , GetOwningPlayer(GetEventDamageSource())) and GetRandomInt(0, 100) <= CHANCE(GetUnitAbilityLevel(GetEventDamageSource(), ID)) and not IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) and GetUnitAbilityLevel(GetEventDamageSource() , ID) > 0
    endfunction    

        
        private function Moving takes nothing returns nothing
            local unit u = GetEventDamageSource()
            local unit t = GetTriggerUnit()
            local real x1 = GetUnitX( u )
            local real y1 = GetUnitY( u )
            local real x2 = GetUnitX( t )
            local real y2 = GetUnitY( t )
            local real angle = Atan2(y2 - y1, x2 - x1)
            local texttag TT = CreateTextTag()
            
            if SHOWEFFECT then
                call DestroyEffect(AddSpecialEffectTarget(EFFECT, u, EFFECT_POSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT2, u, EFFECTPOSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT3, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT4, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT6, t, EFFECTPOS))
            endif
               if SHOWDAMAGE then
                    call SetTextTagText (TT,R2S(DMG(GetUnitAbilityLevel(u, ID))) + "!", 0.023)
                    call SetTextTagPosUnit (TT, u, 10 )
                    call SetTextTagColor (TT, RED, GREEN, BLUE, 255 )
                    call SetTextTagVelocity (TT, 0.0355 * Cos(90. * bj_DEGTORAD), 0.0355 * Sin(90. * bj_DEGTORAD))
                    call SetTextTagVisibility (TT, true)
                    call SetTextTagFadepoint (TT, 2.00)
                    call SetTextTagLifespan (TT, 2.00)
                    call SetTextTagPermanent (TT, false)
                endif
        
            call SetUnitX( u , x2 + FROMTARGET * Cos(angle))
            call SetUnitY( u , y2 + FROMTARGET * Sin(angle))
            call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
        
        set u = null
        set TT = null
        set t = null
    endfunction
  
  
//------------------------------------------------------------------  
private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call Damage_RegisterEvent(t)
    call TriggerAddCondition( t , Condition(function Cons))
    call TriggerAddAction( t , function Moving)
endfunction
endlibrary
 

13lade619

is now a game developer :)
Reaction score
398
>_<

Recursive damage detection.. turn off before dealing the bonus damage then turn on again.

JASS:
//Disable
call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
//Enable


*forgot the syntax.. but hoprfully you get the idea.
 

Chaos_Knight

New Member
Reaction score
39
Did as you wrote.
Still heavy lag.

JASS:
library MovingStrike initializer Init requires Damage
// +-------------------------------------------------------------------------------+
// |     Moving Strikes - Created by Chaos_Knight.  Requires a vJass preprocessor! |   
// +-------------------------------------------------------------------------------+
// | Gives a small chance to move the Attacker to the GetAttacker() and            |
// | deals damage to the GetTriggerUnit()                                          |
// +-------------------------------------------------------------------------------+
// | How to Import:                                                                |
// |  - Create a new trigger                                                       |
// |  - Convert it to Custom text (Edit &gt; Convert to Custom Text)                  |
// |  - Replace everything there with this code                                    |
// |  - Change the constants to suit yourself                                      |
// |  - Enjoy!                                                                     |
// +-------------------------------------------------------------------------------+

// |-------------|
// | Constants:  |
// |-------------|
    globals
        // The effect created on the target when it is being possessed:
        private constant string EFFECT = &quot;Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl&quot;
        private constant string EFFECT2 = &quot;Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl&quot;
        private constant string EFFECT3 = &quot;Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl&quot;
        private constant string EFFECT4 = &quot;Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl&quot;
        private constant string EFFECT6 = &quot;Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl&quot;
        // Which is attached to the targets:
        private constant string EFFECT_POSITION = &quot;weapon,left&quot;
        private constant string EFFECTPOSITION = &quot;hand,right&quot;
        private constant string EFFECTPOS = &quot;origin&quot;
        private constant boolean SHOWEFFECT = true //Will Show the effects(6).
        private constant boolean IS_RANGED = true //If the damage is ranged
        private constant boolean IS_MEELE = true //If the damage is from meele combat(128 Warcraft metres).
        private constant integer RED = 90 //Red color.
        private constant integer GREEN = 0 //Green color.
        private constant integer BLUE = 110 //Blue color.
        private constant integer ALPHA = 255 //Alpha(how much the TextTag&#039;s visible).
        private constant boolean SHOWDAMAGE = true //Will create the TextTag, if true.
        private constant integer DAMAGE = 35
        private constant integer C = 100 // Testing Purposes.
        //I Reccomend having it 1% chance. setting beyond this value may make it unbalanced.
        private constant integer FROMTARGET = 128 //How Far you are moving
        private constant attacktype AtkType = ATTACK_TYPE_CHAOS //Selfexplaining
        private constant damagetype DmgType = DAMAGE_TYPE_FIRE//^ same
        private constant weapontype WepType = WEAPON_TYPE_WHOKNOWS//No idea...
        // The Raw code of the ability
        private constant integer ID = &#039;A000&#039;
    endglobals
    
    private constant function CHANCE takes integer level returns integer
        return C * level
    endfunction
    
    private constant function DMG takes integer Lvl returns integer
        return DAMAGE * Lvl
    endfunction
// |------------------|
// | End of Constants |
// |------------------|

// DO NOT EDIT BELOW THIS LINE!
    
    private function Cons takes nothing returns boolean
        return IsUnitEnemy(GetTriggerUnit() , GetOwningPlayer(GetEventDamageSource())) and GetRandomInt(0, 100) &lt;= CHANCE(GetUnitAbilityLevel(GetEventDamageSource(), ID)) and not IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) and GetUnitAbilityLevel(GetEventDamageSource() , ID) &gt; 0
    endfunction    

        
        private function Moving takes nothing returns nothing
            local unit u = GetEventDamageSource()
            local unit t = GetTriggerUnit()
            local real x1 = GetUnitX( u )
            local real y1 = GetUnitY( u )
            local real x2 = GetUnitX( t )
            local real y2 = GetUnitY( t )
            local real angle = Atan2(y2 - y1, x2 - x1)
            local texttag TT = CreateTextTag()
            
            if SHOWEFFECT then
                call DisableTrigger(GetTriggeringTrigger())
                call DestroyEffect(AddSpecialEffectTarget(EFFECT, u, EFFECT_POSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT2, u, EFFECTPOSITION))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT3, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT4, t, EFFECTPOS))
                call DestroyEffect(AddSpecialEffectTarget(EFFECT6, t, EFFECTPOS))
                call EnableTrigger(GetTriggeringTrigger())
            endif
               if SHOWDAMAGE then
                    call SetTextTagText (TT,R2S(DMG(GetUnitAbilityLevel(u, ID))) + &quot;!&quot;, 0.023)
                    call SetTextTagPosUnit (TT, u, 10 )
                    call SetTextTagColor (TT, RED, GREEN, BLUE, 255 )
                    call SetTextTagVelocity (TT, 0.0355 * Cos(90. * bj_DEGTORAD), 0.0355 * Sin(90. * bj_DEGTORAD))
                    call SetTextTagVisibility (TT, true)
                    call SetTextTagFadepoint (TT, 2.00)
                    call SetTextTagLifespan (TT, 2.00)
                    call SetTextTagPermanent (TT, false)
                endif
        
            call SetUnitX( u , x2 + FROMTARGET * Cos(angle))
            call SetUnitY( u , y2 + FROMTARGET * Sin(angle))
            call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
        
        set u = null
        set TT = null
        set t = null
    endfunction
  
  
//------------------------------------------------------------------  
private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call Damage_RegisterEvent(t)
    call TriggerAddCondition( t , Condition(function Cons))
    call TriggerAddAction( t , function Moving)
endfunction
endlibrary
 

13lade619

is now a game developer :)
Reaction score
398
??? where did you disable?

i said right at the damaging function..

here:

JASS:
call Damage_EnableEvent(false)
call UnitDamageTarget( u , t , DMG(GetUnitAbilityLevel(u, ID))  , IS_RANGED , IS_MEELE , AtkType , DmgType , WepType )
call Damage_EnableEvent(true)
 

Laiev

Hey Listen!!
Reaction score
188
PS: you're using damage system by Jesus4Lyf but you STILL using normal damage native?

SO FOR WHAT THE DAMAGE SYSTEM? -.-'

the damage system don't detect when you damage by that native, just when you damage by the damage functions of the system
 

Chaos_Knight

New Member
Reaction score
39
PS: you're using damage system by Jesus4Lyf but you STILL using normal damage native?

SO FOR WHAT THE DAMAGE SYSTEM? -.-'

the damage system don't detect when you damage by that native, just when you damage by the damage functions of the system

No, i want to detect when a generic unit takes damage. I dont wanna detect the damage from the native.
 

13lade619

is now a game developer :)
Reaction score
398
JASS:
//          function UnitDamageTargetEx takes lots of things returns boolean
//              - Replaces UnitDamageTarget in your map, with the same arguments.
//
//          function Damage_Physical takes unit source, unit target, real amount,
//            attacktype whichType, boolean attack, boolean ranged returns boolean
//              - A clean wrapper for physical damage.
//              - &#039;attack&#039; determines if this is to be treated as a real physical
//                attack or just physical type damage.
//              - &#039;ranged&#039; determines if this is to be treated as a ranged or melee
//                attack.
//
//          function Damage_Spell takes unit source, unit target, real amount returns boolean
//              - A clean wrapper for spell damage.
//
//          function Damage_Pure takes unit source, unit target, real amount returns boolean
//              - A clean wrapper for pure type damage (universal type, 100% damage).


i was kinda inaccurate...

Damage detects all 'default' damages as PHYSICAL.
it can only register SPELL and PURE if you use the new damage dealing functions.
 

Laiev

Hey Listen!!
Reaction score
188
wrong.. it detects any damage.
the new damage functions are just 'clean' wrappers to code more easily.

sorry, I expressed myself badly

what i mean is that... the normal damage function = Damage_IsAttack()
 

Jesus4Lyf

Good Idea™
Reaction score
397
Yep. Like the system says, if you want to use anything to do with damage type detection, you must utilise the damage functions provided exclusively. But if you don't care for that, you can still use the any unit damaged event, and all the damage blocking functionality. It is up to you what you want to use from the system. :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      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