
Код AS1/AS2:
var fx_p = function (caster,n,level){
Skills.dat = []
Skills.dat['caster'] = caster;
Skills.dat['n'] = n
Skills.dat['level'] = level
var cell
cell = Map.grid[caster.y][caster.x+1]
if (cell.free==1 && cell.pass != 0) {
for (var i=2; i<6; i++) {
cell = Map.grid[caster.y][caster.x+i]
if (cell.pass == 0) break;
cell.highlightCell('RA')
cell.onRollOver = function() {
Map.grid[caster.y][this.x].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x+1].pass == 0) return;
Map.grid[caster.y][this.x+1].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x+1].free != 1 || Map.grid[caster.y][this.x+2].pass == 0) return;
Map.grid[caster.y][this.x+2].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x+2].free != 1 || Map.grid[caster.y][this.x+3].pass == 0) return;
Map.grid[caster.y][this.x+3].highlightCell('RA_Red')
}
cell.onRollOut = function() {
Map.grid[caster.y][this.x].highlightCell('RA')
if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x+1].pass == 0) return;
if(Math.abs(this.x-caster.x)>=5)Map.grid[caster.y][this.x+1].dehighlightCell()
else Map.grid[caster.y][this.x+1].highlightCell('RA')
if (Map.grid[caster.y][this.x+1].free != 1 || Map.grid[caster.y][this.x+2].pass == 0) return;
if(Math.abs(this.x-caster.x)>=4)Map.grid[caster.y][this.x+2].dehighlightCell()
else Map.grid[caster.y][this.x+2].highlightCell('RA')
if (Map.grid[caster.y][this.x+2].free != 1 || Map.grid[caster.y][this.x+3].pass == 0) return;
if(Math.abs(this.x-caster.x)>=3)Map.grid[caster.y][this.x+3].dehighlightCell()
else Map.grid[caster.y][this.x+3].highlightCell('RA')
}
cell.onPress = function () {
var n = Skills.dat['n']
var level = Skills.dat['level']
Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
}
if (cell.free != 1) break;
}
}
cell = Map.grid[caster.y][caster.x-1]
if (cell.free!=0 && cell.pass != 0) {
for (var i=2; i<6; i++) {
cell = Map.grid[caster.y][caster.x-i]
if (cell.pass == 0) break;
cell.highlightCell('RA')
cell.onRollOver = function() {
Map.grid[caster.y][this.x].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x-1].pass == 0) return;
Map.grid[caster.y][this.x-1].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x-1].free != 1 || Map.grid[caster.y][this.x-2].pass == 0) return;
Map.grid[caster.y][this.x-2].highlightCell('RA_Red')
if (Map.grid[caster.y][this.x-2].free != 1 || Map.grid[caster.y][this.x-3].pass == 0) return;
Map.grid[caster.y][this.x-3].highlightCell('RA_Red')
}
cell.onRollOut = function() {
Map.grid[caster.y][this.x].highlightCell('RA')
if (Map.grid[caster.y][this.x].free != 1 || Map.grid[caster.y][this.x-1].pass == 0) return;
if(Math.abs(caster.x-this.x)>=5)Map.grid[caster.y][this.x-1].dehighlightCell()
else Map.grid[caster.y][this.x-1].highlightCell('RA')
if (Map.grid[caster.y][this.x-1].free != 1 || Map.grid[caster.y][this.x-2].pass == 0) return;
if(Math.abs(caster.x-this.x)>=4)Map.grid[caster.y][this.x-2].dehighlightCell()
else Map.grid[caster.y][this.x-2].highlightCell('RA')
if (Map.grid[caster.y][this.x-2].free != 1 || Map.grid[caster.y][this.x-3].pass == 0) return;
if(Math.abs(caster.x-this.x)>=3)Map.grid[caster.y][this.x-3].dehighlightCell()
else Map.grid[caster.y][this.x-3].highlightCell('RA')
}
cell.onPress = function () {
var n = Skills.dat['n']
var level = Skills.dat['level']
Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
}
if (cell.free == 0) break;
}
}
cell = Map.grid[caster.y+1][caster.x]
if (cell.free!=0 && cell.pass != 0) {
for (var i=2; i<6; i++) {
cell = Map.grid[caster.y+i][caster.x]
if (cell.pass == 0) break;
cell.highlightCell('RA')
cell.onRollOver = function() {
Map.grid[this.y][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y+1][caster.x].pass == 0) return;
Map.grid[this.y+1][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y+1][caster.x].free != 1 || Map.grid[this.y+2][caster.x].pass == 0) return;
Map.grid[this.y+2][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y+2][caster.x].free != 1 || Map.grid[this.y+3][caster.x].pass == 0) return;
Map.grid[this.y+3][caster.x].highlightCell('RA_Red')
}
cell.onRollOut = function() {
Map.grid[this.y][caster.x].highlightCell('RA')
if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y+1][caster.x].pass == 0) return;
if(Math.abs(this.y-caster.y)>=5)Map.grid[this.y+1][caster.x].dehighlightCell()
else Map.grid[caster.y+this.y+1][caster.x].highlightCell('RA')
if (Map.grid[this.y+1][caster.x].free != 1 || Map.grid[this.y+2][caster.x].pass == 0) return;
if(Math.abs(this.y-caster.y)>=4)Map.grid[this.y+2][caster.x].dehighlightCell()
else Map.grid[caster.y+this.y+2][caster.x].highlightCell('RA')
if (Map.grid[this.y+2][caster.x].free != 1 || Map.grid[this.y+3][caster.x].pass == 0) return;
if(Math.abs(this.y-caster.y)>=3)Map.grid[this.y+3][caster.x].dehighlightCell()
else Map.grid[caster.y+this.y+3][caster.x].highlightCell('RA')
}
cell.onPress = function () {
var n = Skills.dat['n']
var level = Skills.dat['level']
Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
}
if (cell.free == 0) break;
}
}
cell = Map.grid[caster.y-i][caster.x]
if (cell.free!=0 && cell.pass != 0) {
for (var i=2; i<6; i++) {
cell = Map.grid[caster.y-i][caster.x]
if (cell.pass == 0) break;
cell.highlightCell('RA')
cell.onRollOver = function() {
Map.grid[this.y][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y-1][caster.x].pass == 0) return;
Map.grid[this.y-1][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y-1][caster.x].free != 1 || Map.grid[this.y-2][caster.x].pass == 0) return;
Map.grid[this.y-2][caster.x].highlightCell('RA_Red')
if (Map.grid[this.y-2][caster.x].free != 1 || Map.grid[this.y-3][caster.x].pass == 0) return;
Map.grid[this.y-3][caster.x].highlightCell('RA_Red')
}
cell.onRollOut = function() {
Map.grid[this.y][caster.x].highlightCell('RA')
if (Map.grid[this.y][caster.x].free != 1 || Map.grid[this.y-1][caster.x].pass == 0) return;
if(Math.abs(caster.y-this.y)>=5)Map.grid[this.y-1][caster.x].dehighlightCell()
else Map.grid[this.y-1][caster.x].highlightCell('RA')
if (Map.grid[this.y-1][caster.x].free != 1 || Map.grid[this.y-2][caster.x].pass == 0) return;
if(Math.abs(caster.y-this.y)>=4)Map.grid[-this.y-2][caster.x].dehighlightCell()
else Map.grid[this.y-2][caster.x].highlightCell('RA')
if (Map.grid[this.y-2][caster.x].free != 1 || Map.grid[this.y-3][caster.x].pass == 0) return;
if(Math.abs(caster.y-this.y)>=3)Map.grid[this.y-3][caster.x].dehighlightCell()
else Map.grid[this.y-3][caster.x].highlightCell('RA')
}
cell.onPress = function () {
var n = Skills.dat['n']
var level = Skills.dat['level']
Skills.skills[n]['fx_base'].call(Skills.dat['caster'], Skills.dat['caster'], this,n, level)
}
if (cell.free == 0) break;
}
}
}

Код:
__proto__: Branch between 3128 and 41309 exceeds 32K span.
Похоже что компилятору нехватает памяти, если я закоменчу 1 из 4

Код AS1/AS2:
if (cell.free==1 && cell.pass != 0){
то все пашет. Хелп! не сталкивался раньше с таким
