- Joined
- Aug 16, 2018
- Messages
- 11
My problem is that when I set a variable like set udg_MaxLevel = UnitData[udg_UnitID].maxLevel it sets udg_MaxLevel to 0 when it should set it to 5.
This initializes the object:
JASS:
library UnitCustoms
struct UnitTypeData
integer unitTypeID
integer experience
integer maxLevel
integer numOfDrops
integer array itemsToDrop[1]
integer array dropChances[1]
static UnitTypeData array unitTypeDataMap
static method operator [] takes integer v returns thistype
return unitTypeDataMap[v]
endmethod
static method create takes integer unittypeid, integer experience, integer maxLevel returns thistype
local thistype this = thistype.allocate()
set unitTypeDataMap[unittypeid] = this
set .unitTypeID = unittypeid
set .experience = experience
set .maxLevel = maxLevel
set .numOfDrops = 0
return this
endmethod
method addItemDrop takes integer ite, integer dropChance returns nothing
set .itemsToDrop[this.numOfDrops] = ite
set .dropChances[this.numOfDrops] = dropChance
set .numOfDrops = .numOfDrops + 1
endmethod
endstruct
endlibrary
This initializes the object:
JASS:
scope SetupUnitCustoms initializer Initialize
private function Initialize takes nothing returns nothing
//Wolf
call UnitTypeData.create('n004', 25, 5)
//Wolf Pelt
call UnitTypeData['n004'].addItemDrop('I003', 1000)
endfunction
endscope
Last edited: