By Damage - Nothing

Chaos_Knight

New Member
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
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
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!!
[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
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
 

Chaos_Knight

New Member
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 > 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 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))) + "!", 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
 

Laiev

Hey Listen!!
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
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 :)
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.
//              - 'attack' determines if this is to be treated as a real physical
//                attack or just physical type damage.
//              - 'ranged' 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.
 

Jesus4Lyf

Good Idea™
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.
  • tom_mai78101 tom_mai78101:
    You need to buy a laptop that supports external GPUs for this.
  • tom_mai78101 tom_mai78101:
    I'm pretty lucky to get myself an Alienware 15 with RTX 2070.
  • Varine Varine:
    I think I'm moving back up north for the summer, I got offered my job as the tournant chef back and I'm tired of struggling down here, it pays like twice as much too
  • Varine Varine:
    I think imma give four or five weeks of notice today to my boss, and see how much that backfires on me. I know he's struggling to hire anyone though, so it's like, do a couple weeks of interviews with me and then we'll have two or three weeks to train someone to take over for me. Hopefully he doesn't fucking let me go in like two weeks cuz that would really fuck me up right now
  • tom_mai78101 tom_mai78101:
    Wouldn't it be better if you give 3 to 4 weeks of notice? So that, at least you are guaranteed for 1 more week of paycheck to hold you over?
  • tom_mai78101 tom_mai78101:
    By the way, where are you moving to?
  • Varine Varine:
    Back to Idaho for the summer, then maybe Houston in August or so, my girlfriend or whatever we are loved it there
  • Varine Varine:
    I'm not sure yet, but my parents need some help cuz they're getting older and my mom has MS so can't do much anymore, so I'll be able to get their property fixed up so they can sell their other house. And the resort is stoked to have me back for the summer, cuz they always struggle with staff.
  • Varine Varine:
    I think it'll be alright, even if they cut me loose a bit early I do have some money and I know plenty of people that will lend me the few hundred bucks to get up there. I'm just catching up after last year still, if I have to kite some bills for a couple weeks it'll be fine.
  • Varine Varine:
    I hate my job but I do like one of my bosses, he does try really hard to get me what I need, and I want to make sure I leave with them comfortable with a new manager
  • Varine Varine:
    I like my coworkers for the most part too as much as I bitch about them, they just aren't reliable. As kids tend to be, I was a shithead at 19 and 20 too I'm sure, so
  • tom_mai78101 tom_mai78101:
    Good luck on getting things going.
  • Varine Varine:
    Eh, it'll be fine, I got it mostly planned out already. Roommates know, boss will know in about an hour when I go to work, I'll have a plane booked once we decide my last day, and I have a place to stay up there lined up for two or three months
  • Varine Varine:
    That all came together surprisingly easily
  • Varine Varine:
    I think I'm going to give 4 weeks, so that'll give me 2 more full checks probably, and then one more coming after I leave.
    +1
  • Varine Varine:
    All that shit came together really well suprisingly. My boss was upset cuz I am really good at my job suprisingly, but he's stoked that he got 4 weeks, plus one or two if he needs it, my flight's book in mid June, but I start my new job almost immediately so it'll be nice to have some time to chill and pack and get my rooms cleaned out. He actually gave me a dollar raise right after I gave notice to thank me for not being short or just leaving and making sure I can help interview and train someone to replace me. He is really cool, his food truck has just been a nightmare to run. I get my vaccine next week finally, allegedly Idaho will let me have my license back when I get there, and I have all my bills up to date so it should be an easy move this time around.
  • Varine Varine:
    Is anyone else getting server timeouts in the chat? I think it's on my end, my wifi adapter has been acting up recently
  • Varine Varine:
    100% my end, idk what it is though.
  • tom_mai78101 tom_mai78101:
    Just woke up. No idea.
  • jonas jonas:
    sounds great :) have fun in Idaho
  • The Helper The Helper:
    freaking Idaho
  • Varine Varine:
    Yeah it sucks up there, but it'll be a bit easier for the summer probably.
  • The Helper The Helper:
    When you get to Houston you will have your pick there is a huge shortage of good people to work in your field here. They are hiring everywhere and Texas is pretty much fully open.
  • The Helper The Helper:
    for anyone else following this yes I am in Houston so Varine and I will RL meet gotta love it! Looking forward to it!
  • jonas jonas:
    awesome

    Members online

    Affiliates

    Hive Workshop NUON Dome
    Top