This is a function that exists in DotA Allstars v6.83d-fixed. You can extract the .j and then find this function
Code: Select all
function Trig_Spawn_Conditions takes nothing returns boolean
return true
if(INI)then
return ISI
endif
if(IQI)then
return IUI
endif
if(E2)then
return D2
endif
if QT0 then
return QR0
endif
if(N2)then
return I3
endif
if(K0)then
return PG0
endif
if(IAI)then
return IBI
endif
if(CN)then
return PW0
endif
return O0
endfunction
This sort of JASS compilation trick was supposed to be patched year ago when the return bug was fixed.
Do you guys have any theories on why this compiles?
Mine:
Spoiler:
DotA Allstars also defines the following global variable:
Code: Select all
integer array DD0
Code: Select all
local string DD0
Does JASS actually allow this if they are different datatypes? I feel like it doesn't, and it shouldn't.
This function does get called. So my theory above doesn't apply.
Maybe it allows it if one is an array and one isn't, since compiler confusing is impossible there.