Custom type extention values as arguments.

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
JASS:
// Increased damage check = [DTYPE_ELEMENT + 1]
// Decreased damage check = [DTYPE_ELEMENT + 3]

library DType initializer Init
    
    private keyword DTypes
    
    globals
        public DTypes array Buffs
        //Primary circle
        public constant integer FIRE = 0
        public constant integer EARTH = 1
        public constant integer LIGHTNING = 2
        public constant integer WATER = 3
        
        //Secondary Circle
        //HOLY
        //DARKNESS
        //POISON
        //KINETIC
        
        private constant real Increasement = .15
        private constant real Decreasement = .10
        
        //Used for defining the DTypes Array.
        private constant integer MaxBuffCount = 1
    endglobals
    
    type DTypes extends integer array [MaxBuffCount]
    
    function UnitDamageTargetEx takes unit source, unit target, real damage, integer dtype returns nothing
        local integer i = 0
        local integer i2 = dtype + 1
        local integer i3 = dtype + 3
        local real Inc = 1.
        local real Dec = 1.
        local real Tot
        local integer B
        
        if i2 > 3 then
            set i2 = i2 - 4
        endif
        
        if i3 > 3 then
            set i3 = i3 - 4
        endif
        loop
            exitwhen i >= MaxBuffCount
            set B = Buffs[i2]<i>
            if GetUnitAbilityLevel(target, B) == true then
                set Inc = Inc + Increasement
            endif
            set B = Buffs[i3]<i>
            if GetUnitAbilityLevel(target, B) == true then
                set Dec = Dec + Decreasement
            endif
            set i = i + 1
        endloop
        set Tot = 1 - (Dec - Inc)
        
        call UnitDamageTarget(source, target, damage * Tot, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
    endfunction
    
    private function Init takes nothing returns nothing
    endfunction
endlibrary</i></i>


Basically what I need to know is how to use this:

JASS:
            set B = Buffs[i2]


As an argument here:
JASS:

            if GetUnitAbilityLevel(target, B) == true then
 

Artificial

Without Intelligence
Reaction score
326
Why are you comparing an integer to a boolean?
And I don't have a clue about what you're talking about. Why couldn't you use that as an argument? o_O
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
Wait rofl that's retarded, I didn't even realize before you pointed that out that I acually compared it to a boolean... Oh well that wont happen again :p
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top