Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global _;
- while(
- (_==null?[
- debug("Initialisation générale")
- setWeapon(WEAPON_GRENADE_LAUNCHER)
- _=["":0]
- //Arguments, adresse de sortie et résultat de la fonction getReachableCells
- _["arg_acc"]=null
- _["end_acc"]=null
- _["res_acc"]=null
- ]&&0:0)
- ||
- //Création de la fonction
- //Fonction getReachableCells
- ((_[""]==="fct_acc_init")?[
- _["res_acc"]=[_["arg_acc"][0]]
- _[0]=0
- _[1]=1
- _[2]=1
- _[3]=_["arg_acc"][1]
- _[4]=[_["arg_acc"][0] : 0]
- _[5]=null
- _[""]="fct_acc_main"
- ]&&0:0)
- ||
- ((_[""]==="fct_acc_main")?
- [
- (_[3]!==0?
- (_[0] < _[1]?[
- _["X"]=getCellX(_["res_acc"][_[0]]),
- _["Y"]=getCellY(_["res_acc"][_[0]]),
- (_[5] = getCellFromXY(_["X"]+1, _["Y"]))===null || isObstacle(_[5]) || _[4][_[5]]!==null ?null:[push(_["res_acc"], _[5]) _[4][_[5]]=1+_["arg_acc"][1]-_[3] _[2]++],
- (_[5] = getCellFromXY(_["X"], _["Y"]+1))===null || isObstacle(_[5]) || _[4][_[5]]!==null ?null:[push(_["res_acc"], _[5]) _[4][_[5]]=1+_["arg_acc"][1]-_[3] _[2]++],
- (_[5] = getCellFromXY(_["X"]-1, _["Y"]))===null || isObstacle(_[5]) || _[4][_[5]]!==null ?null:[push(_["res_acc"], _[5]) _[4][_[5]]=1+_["arg_acc"][1]-_[3] _[2]++],
- (_[5] = getCellFromXY(_["X"], _["Y"]-1))===null || isObstacle(_[5]) || _[4][_[5]]!==null ?null:[push(_["res_acc"], _[5]) _[4][_[5]]=1+_["arg_acc"][1]-_[3] _[2]++],
- _[0]+=1
- ]
- :
- [
- _[3]--
- _[1]=_[2]
- ]
- )
- |1:0)
- ||(_[""]=_["end_acc"])|1]
- :0
- )
- //Fin de la fonction
- ||
- //Initialisation : calcul des variables utiles.
- ((_[""]===0)? [
- debug("Initialisation des variables")
- _[""]++
- _["me"]=getLeek()
- _["en"]=isSummon(getNearestEnemy())?getSummoner(getNearestEnemy()):getNearestEnemy()
- _["myC"]=getCell()
- _["enC"]=getCell(_["en"])
- _["myStats"]=["life" : getLife(),"MP" : getMP(), "TP":getTP(), "str" : getStrength(), "agi" : getAgility(), "wis" : getWisdom(), "res" : getResistance(), "sci" : getScience(), "mag": getMagic(), "aS" : getAbsoluteShield(), "rS" :getRelativeShield()]
- _["myEff"] = getLaunchedEffects()
- _["enStats"]=["life": getLife(_["en"]), "MP" : getMP(_["en"]), "TP":getTP(_["en"]), "str" : getStrength(_["en"]), "agi" : getAgility(_["en"]), "wis" : getWisdom(_["en"]), "res" : getResistance(_["en"]), "sci" : getScience(_["en"]), "mag": getMagic(_["en"]), "aS" : getAbsoluteShield(_["en"]), "rS" :getRelativeShield(_["en"])]
- _["enEff"] = getLaunchedEffects(_["en"])
- _["actions"]=[]
- _["dist"]= getCellDistance(_["myC"], _["enC"])
- _["chip_rockfall_1"]=201
- _["chip_rockfall_2"]=202
- _["weapon_LG_1"]=203
- _["weapon_LG_2"]=204
- ]&&0:0)
- ||
- //Calcul des cases accessibles
- ((_[""]===1)?[
- debug("Calcul de myAcc")
- _["arg_acc"]=[_["myC"],_["myStats"]["MP"]]
- _["end_acc"]=2
- _["res_acc"]=null
- _[""]="fct_acc_init"//Appel à la fonction getReachableCells
- ]|1:0)
- ||
- ((_[""]===2)?[
- _["myAcc"]=_["res_acc"]
- _["myAccAsso"]=_[4]
- _[""]++
- ]&&0:0)
- ||
- ((_[""]===3)?[
- debug("Calcul de enAcc")
- _["arg_acc"]=[_["enC"],_["enStats"]["MP"]]
- _["end_acc"]=4
- _["res_acc"]=null
- _[""]="fct_acc_init"
- ]|1:0)
- ||
- ((_[""]===4)?[
- _["enAcc"]=_["res_acc"]
- _["enAccAsso"]=_[4]
- _[""]++
- ]&&0:0)
- ||
- //Map des dégats
- ((_[""]===5)?[
- debug("Calcul des maps de dégats")
- _[0]=count(_["myAcc"])
- _[1]=count(_["enAcc"])
- _[2]=0
- _[3]=0
- _[4]=getWeapons(_["en"])
- _[5]=getChips(_["en"])
- _[6]=count(_[4])
- _[7]=count(_[5])
- _[8]=0
- _[9]=[]//Tableau de ses armes et chips de dégats [item : [damage, minRange, maxRange]]
- _["enDamItems"]=_[4]//Tableau des ses armes et chips de dégats [item] (tableau simple)
- _["mapWeapons"]=[]
- _["mapDegats"]=[]
- _["l"]=[]
- _[""]++
- ]&&0:0
- )
- ||
- ((_[""]===6)?
- (_[8]<_[6]?[
- _[10]=getWeaponEffects(_[4][_[8]])
- _[9][_[4][_[8]]]=[max((_[10][0][1]+_[10][0][2])/2 *(1+_["enStats"]["str"]/100)*(1-_["myStats"]["rS"]/100)-_["myStats"]["aS"],0),getWeaponMinRange(_[4][_[8]]),getWeaponMaxRange(_[4][_[8]]), getWeaponCost(_[4][_[8]])]
- _[8]++
- ]:[
- _[8]=0
- _[""]++
- ])|1:0
- )
- ||
- ((_[""]===7)?
- (_[8]<_[7]?[
- _[10]=getChipEffects(_[5][_[8]])
- _[10][0][0]!==EFFECT_DAMAGE||getCooldown(_[5][_[8]], _["en"])!==0?null:[
- _[9][_[5][_[8]]]=[max((_[10][0][1]+_[10][0][2])/2 *(1+_["enStats"]["str"]/100)*(1-_["myStats"]["rS"]/100)-_["myStats"]["aS"],0),getChipMinRange(_[5][_[8]]),getChipMaxRange(_[5][_[8]]), getChipCost(_[5][_[8]])]
- push(_["enDamItems"], _[5][_[8]])
- ]
- _[8]++
- ]:[
- _[""]++
- _[8]=0
- _[6]=count(_["enDamItems"])
- ])|1:0
- )
- ||
- ((_[""]===8)?
- (_[2]<_[0]?
- [_["mapWeapons"][_["myAcc"][_[2]]]===null?[_["mapWeapons"][_["myAcc"][_[2]]]=[] _["l"][_[2]]=[]]:null
- _[8]<_[6]?
- [_["mapDegats"][_["myAcc"][_[2]]][_[8]]===null?_["mapWeapons"][_["myAcc"][_[2]]][_[8]]=40:null
- _[3]<_[1]?[
- (((_["l"][_[2]][_[3]]===null?(_["l"][_[2]][_[3]]=lineOfSight(_["myAcc"][_[2]], _["enAcc"][_[3]],[_["me"],_["en"]])):_["l"][_[2]][_[3]])||_["enDamItems"][_[8][0]]===CHIP_SPARK)
- && getCellDistance(_["myAcc"][_[2]], _["enAcc"][_[3]])<=_[9][_["enDamItems"][_[8]]][2]
- && getCellDistance(_["myAcc"][_[2]], _["enAcc"][_[3]])>=_[9][_["enDamItems"][_[8]]][1]
- && (isInlineWeapon(_["enDamItems"][_[8]])?isOnSameLine(_["myAcc"][_[2]], _["enAcc"][_[3]]):1))?[
- _["mapWeapons"][_["myAcc"][_[2]]][_[8]]=_["enAccAsso"][_["enAcc"][_[3]]]
- _[8]++
- _[3]=0
- ]:[
- _[3]++
- ]
- ]:[
- _[8]++
- _[3]=0
- ]
- ]
- :[
- _[2]++
- _[8]=0
- ]]
- |1:0)
- ||((_[""]++)|1):0)
- ||
- (_[""]===9?[
- (_[8]<4?[ //Pourquoi 8 ? Parce que _[8] vaut déjà 0, c'est tout !
- _["mapDegats"][_["enStats"]["MP"]-_[8]]=[]
- _[8]++
- ]:[
- _[8]=0
- _[3]=0
- _[2]=0
- _[""]++
- ]
- )
- ]|1:0)
- ||
- (_[""]===10?[
- (_[3]<4?
- (_[2]<_[0]?
- (_[8]<_[6]?[
- (_["mapWeapons"][_["myAcc"][_[2]]][_[8]]<=_["enStats"]["MP"]-_[3] && ((_[12]=(isWeapon(_["enDamItems"][_[8]])||getChipCooldown(_["enDamItems"][_[8]])?floor((getTP(_["en"])-(isWeapon(_["enDamItems"][_[8]])&&getWeapon(_["en"])!==_["enDamItems"][_[8]]?1:0))/_[9][_["enDamItems"][_[8]]][3]):1)* _[9][_["enDamItems"][_[8]]][0])>_["mapDegats"][_["enStats"]["MP"]-_[3]][_["myAcc"][_[2]]] || _["mapDegats"][_["enStats"]["MP"]-_[3]][_["myAcc"][_[2]]] ===null)?[
- _["mapDegats"][_["enStats"]["MP"]-_[3]][_["myAcc"][_[2]]]=_[12]
- ]
- :
- null),
- _[8]++
- //debug("J'ai bien pris l'arme " + _["enDamItems"][_[8]] + " en compte sur la case " + _["myAcc"][_[2]])
- ]:[
- _[8]=0
- _[2]++
- ])
- :[
- _[2]=0
- ])
- :[
- _[3]=0
- _[""]++
- ]
- )
- ]|1:0)
- ||
- //Cases de tir
- (_[""]===11?[
- _["casesTir"]=[]
- _[0]=getWeapons()
- _[1]=getChips()
- _["myDamItems"]=[]
- _["myDamItemsAsso"]=[]
- _[10]=count(_[0])
- _[11]=count(_[1])
- _[20]=0
- _[21]=0
- _[""]++
- ]&&0:0)
- ||
- //Cases de tir pour les trucs pas en zone
- (_[""]===12?[
- (_[20]<_[10]?[
- getWeaponArea(_[0][_[20]])===AREA_POINT || getWeaponArea(_[0][_[20]])===AREA_LASER_LINE?[
- _["myDamItemsAsso"][_[0][_[20]]]=[getCellToUseWeapon(_[0][_[20]], _["en"]), _["enC"]]
- push(_["casesTir"], _["myDamItemsAsso"][_[0][_[20]]][0])
- ]:[
- _["myDamItemsAsso"][_[0][_[20]]]=[]
- ]
- push(_["myDamItems"], _[0][_[20]])
- _[20]++
- ]:[
- _[""]++
- ])
- ]|1:0)
- ||
- (_[""]===13?[
- (_[21]<_[11]?[
- _[2]=getChipEffects(_[1][_[21]]),
- (_[2][0][0]===EFFECT_DAMAGE || _[1][_[21]]===CHIP_LIBERATION || _[1][_[21]]===CHIP_SLOW_DOWN)&& getCooldown(_[1][_[21]])===0?[
- getChipArea(_[1][_[21]])===AREA_POINT || getChipArea(_[1][_[21]])===AREA_LASER_LINE?[
- _["myDamItemsAsso"][_[1][_[21]]]=[getCellToUseChip(_[1][_[21]], _["en"]), _["enC"]]
- push(_["casesTir"], _["myDamItemsAsso"][_[1][_[21]]][0])
- ]:[
- _["myDamItemsAsso"][_[1][_[21]]]=[]
- ]
- push(_["myDamItems"], _[1][_[21]])
- ]:null
- _[21]++
- ]:[
- _[""]++
- ])
- ]|1:0)
- ||
- //Cases de tir pour les trucs en zone (hardcodé, parce que pas le temps)
- (_[""]===14?[
- pushAll(_["casesTir"],[getCellToUseWeapon(WEAPON_GRENADE_LAUNCHER, _["en"]), getCellToUseChip(CHIP_ROCKFALL, _["en"])])
- push(_["myDamItemsAsso"][WEAPON_GRENADE_LAUNCHER], [getCellToUseWeapon(WEAPON_GRENADE_LAUNCHER, _["en"]), _["enC"]])
- push(_["myDamItemsAsso"][CHIP_ROCKFALL], [getCellToUseChip(CHIP_ROCKFALL, _["en"]), _["enC"]])
- _[101]=[[1,0], [-1,0], [0,1], [0,-1]]
- _[111]=0
- _["minGL"]=100
- _["caseGL"]=null
- _["cibleGL"]=null
- _["minR"]=100
- _["caseR"]=null
- _["cibleR"]=null
- _["enX"]=getCellX(_["enC"])
- _["enY"]=getCellY(_["enC"])
- _[""]++
- ]&&0:0
- )
- ||
- (_[""]===15?
- (_[111]<4?[
- _[53]=getCellFromXY(_["enX"]+_[101][_[111]][0], _["enY"]+_[101][_[111]][1])
- _[53]!==null&&!isObstacle(_[53])?[
- _[54]=getCellToUseWeaponOnCell(WEAPON_GRENADE_LAUNCHER, _[53]),
- (_[55]=getPathLength(_["myC"], _[54]))<_["minGL"]?[
- _["minGL"]=_[55]
- _["caseGL"]=_[54]
- _["cibleGL"]=_[53]
- ]:null
- _[54]=getCellToUseChipOnCell(CHIP_ROCKFALL, _[53]),
- (_[55]=getPathLength(_["myC"], _[54]))<_["minR"]?[
- _["minR"]=_[55]
- _["caseR"]=_[54]
- _["cibleR"]=_[53]
- ]:null
- ]:null
- _[111]++
- ]:[
- push(_["myDamItemsAsso"][WEAPON_GRENADE_LAUNCHER],[_["caseGL"], _["cibleGL"]])
- push(_["myDamItemsAsso"][CHIP_ROCKFALL],[_["caseR"], _["cibleR"]])
- push(_["casesTir"], _["caseGL"])
- push(_["casesTir"], _["caseR"])
- _[111]=0
- _[101]=[[2,0], [1,1], [0,2], [-1,1], [-2,0], [-1, -1],[0,-2], [1,-1]]
- _["minGL"]=100
- _["caseGL"]=null
- _["cibleGL"]=null
- _["minR"]=100
- _["caseR"]=null
- _["cibleR"]=null
- _[""]++
- ])|1:0
- )
- ||
- (_[""]===16?
- (_[111]<8?[
- _[53]=getCellFromXY(_["enX"]+_[101][_[111]][0], _["enY"]+_[101][_[111]][1])
- _[53]!==null&&!isObstacle(_[53])?[
- _[54]=getCellToUseWeaponOnCell(WEAPON_GRENADE_LAUNCHER, _[53]),
- (_[55]=getPathLength(_["myC"], _[54]))<_["minGL"]?[
- _["minGL"]=_[55]
- _["caseGL"]=_[54]
- _["cibleGL"]=_[53]
- ]:null
- _[54]=getCellToUseChipOnCell(CHIP_ROCKFALL, _[53]),
- (_[55]=getPathLength(_["myC"], _[54]))<_["minR"]?[
- _["minR"]=_[55]
- _["caseR"]=_[54]
- _["cibleR"]=_[53]
- ]:null
- ]:null
- _[111]++
- ]:[
- push(_["myDamItemsAsso"][WEAPON_GRENADE_LAUNCHER],[_["caseGL"], _["cibleGL"]])
- push(_["myDamItemsAsso"][CHIP_ROCKFALL],[_["caseR"], _["cibleR"]])
- push(_["casesTir"], _["caseGL"])
- push(_["casesTir"], _["caseR"])
- _["b"]=true
- _["accTir"]=[]
- _["accTirAsso"]=[]
- _[30]=0
- _[31]=count(_["casesTir"])
- _[""]++
- ])|1:0
- )
- ||
- (_[""]===17?[
- _[30]<_[31]?[
- ((!_["b"])||(_["myAccAsso"][_["casesTir"][_[30]]]!==null))&&_["accTir"][_["casesTir"][_[30]]]===null?[
- _["b"]?[
- _["arg_acc"]=[_["casesTir"][_[30]],_["myStats"]["MP"]-_["myAccAsso"][_["casesTir"][_[30]]]]
- _["end_acc"]=17
- _["res_acc"]=null
- _[""]="fct_acc_init"
- _["b"]=false
- ]:[
- _["accTir"][_["casesTir"][_[30]]]=_["res_acc"]
- _["accTirAsso"][_["casesTir"][_[30]]]=_[4]
- _[30]++
- _["b"]=true
- ]
- ]:_[30]++
- ]:[
- _[""]++
- ]
- ]|1:0)
- ||
- (_[""]===18?[
- _["combos"]=[
- [[CHIP_ROCKFALL, CHIP_BANDAGE, CHIP_SPARK],3,10, CHIP_ROCKFALL],
- [[CHIP_ROCKFALL, CHIP_SPARK, CHIP_SPARK],3,11, CHIP_ROCKFALL],
- [[CHIP_ROCKFALL, CHIP_SLOW_DOWN, CHIP_SLOW_DOWN], 3, 11, CHIP_ROCKFALL],
- [[CHIP_ROCKFALL, CHIP_SLOW_DOWN, CHIP_SPARK], 3, 11, CHIP_ROCKFALL],
- [[CHIP_ROCKFALL, CHIP_SLOW_DOWN, CHIP_BANDAGE], 3, 10, CHIP_ROCKFALL],
- [[201, CHIP_BANDAGE, CHIP_SPARK],3,10, CHIP_ROCKFALL],
- [[201, CHIP_SPARK, CHIP_SPARK],3,11, CHIP_ROCKFALL],
- [[201, CHIP_SLOW_DOWN, CHIP_SLOW_DOWN], 3, 11, CHIP_ROCKFALL],
- [[201, CHIP_SLOW_DOWN, CHIP_SPARK], 3, 11, CHIP_ROCKFALL],
- [[201, CHIP_SLOW_DOWN, CHIP_BANDAGE], 3, 10, CHIP_ROCKFALL],
- [[202, CHIP_BANDAGE, CHIP_SPARK],3,10, CHIP_ROCKFALL],
- [[202, CHIP_SPARK, CHIP_SPARK],3,11, CHIP_ROCKFALL],
- [[202, CHIP_SLOW_DOWN, CHIP_SLOW_DOWN], 3, 11, CHIP_ROCKFALL],
- [[202, CHIP_SLOW_DOWN, CHIP_SPARK], 3, 11, CHIP_ROCKFALL],
- [[202, CHIP_SLOW_DOWN, CHIP_BANDAGE], 3, 10, CHIP_ROCKFALL],
- [[WEAPON_GRENADE_LAUNCHER, CHIP_BANDAGE, CHIP_SLOW_DOWN], 3, 11,WEAPON_GRENADE_LAUNCHER],
- [[WEAPON_GRENADE_LAUNCHER, CHIP_ROCKFALL], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[WEAPON_GRENADE_LAUNCHER, 201], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[WEAPON_GRENADE_LAUNCHER, 202], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[WEAPON_GRENADE_LAUNCHER, CHIP_BANDAGE, CHIP_SPARK], 3,11,WEAPON_GRENADE_LAUNCHER],
- [[203, CHIP_BANDAGE, CHIP_SLOW_DOWN], 3, 11,WEAPON_GRENADE_LAUNCHER],
- [[203, CHIP_ROCKFALL], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[203, 201], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[203, 202], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[203, CHIP_BANDAGE, CHIP_SPARK], 3,11,WEAPON_GRENADE_LAUNCHER],
- [[204, CHIP_BANDAGE, CHIP_SLOW_DOWN], 3, 11,WEAPON_GRENADE_LAUNCHER],
- [[204, CHIP_ROCKFALL], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[204, 201], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[204, 202], 2, 11,WEAPON_GRENADE_LAUNCHER],
- [[204, CHIP_BANDAGE, CHIP_SPARK], 3,11,WEAPON_GRENADE_LAUNCHER],
- [[CHIP_SPARK, CHIP_SPARK, CHIP_SPARK, CHIP_BANDAGE], 4, 11, CHIP_SPARK],
- [[WEAPON_BROADSWORD, WEAPON_BROADSWORD], 2, 10, WEAPON_BROADSWORD],
- [[WEAPON_BROADSWORD, CHIP_SLOW_DOWN, CHIP_SLOW_DOWN], 3, 11, WEAPON_BROADSWORD],
- [[WEAPON_BROADSWORD, CHIP_SLOW_DOWN, CHIP_SPARK], 3, 11, WEAPON_BROADSWORD],
- [[WEAPON_BROADSWORD, CHIP_SLOW_DOWN, CHIP_BANDAGE],3, 10, WEAPON_BROADSWORD],
- [[WEAPON_BROADSWORD, CHIP_BANDAGE, CHIP_SPARK], 3, 10, WEAPON_BROADSWORD],
- [[],0,0,null]
- ]
- getCooldown(CHIP_CURE)?null:[
- getCooldown(CHIP_VACCINE)?null:push(_["combos"], [[CHIP_VACCINE, CHIP_CURE],2,10,null])
- getCooldown(CHIP_STALACTITE)?null:push(_["combos"], [[CHIP_STALACTITE, CHIP_CURE],2,10, CHIP_STALACTITE])
- pushAll(_["combos"],[
- [[CHIP_ROCKFALL, CHIP_CURE, CHIP_BANDAGE], 3, 11, CHIP_ROCKFALL],
- [[201, CHIP_CURE, CHIP_BANDAGE], 3, 11, CHIP_ROCKFALL],
- [[202, CHIP_CURE, CHIP_BANDAGE], 3, 11, CHIP_ROCKFALL],
- [[WEAPON_BROADSWORD, CHIP_CURE, CHIP_BANDAGE], 3, 11, WEAPON_BROADSWORD],
- [[WEAPON_BROADSWORD, CHIP_CURE], 2, 9, WEAPON_BROADSWORD],
- [[WEAPON_GRENADE_LAUNCHER, CHIP_CURE], 2, 10, WEAPON_GRENADE_LAUNCHER],
- [[203, CHIP_CURE], 2, 10, WEAPON_GRENADE_LAUNCHER],
- [[204, CHIP_CURE], 2, 10, WEAPON_GRENADE_LAUNCHER],
- [[CHIP_SPARK, CHIP_SPARK, CHIP_CURE], 3, 10, CHIP_SPARK],
- [[CHIP_SLOW_DOWN, CHIP_SPARK, CHIP_CURE], 3, 10, CHIP_SLOW_DOWN],
- [[CHIP_SLOW_DOWN, CHIP_SLOW_DOWN, CHIP_CURE], 3, 10, CHIP_SLOW_DOWN]
- ])
- ]
- getCooldown(CHIP_STALACTITE)?null:[
- getCooldown(CHIP_LIBERATION)?null:push(_["combos"], [[CHIP_LIBERATION, CHIP_STALACTITE],2,11, CHIP_LIBERATION])
- pushAll(_["combos"], [
- [[CHIP_STALACTITE, CHIP_ROCKFALL], 2, 11, CHIP_STALACTITE],
- [[CHIP_STALACTITE, 201], 2, 11, CHIP_STALACTITE],
- [[CHIP_STALACTITE, 202], 2, 11, CHIP_STALACTITE],
- [[CHIP_STALACTITE, CHIP_SLOW_DOWN, CHIP_BANDAGE], 3, 11, CHIP_STALACTITE],
- [[CHIP_STALACTITE, CHIP_SPARK, CHIP_BANDAGE],3,11, CHIP_STALACTITE]
- ])
- ]
- getCooldown(CHIP_VACCINE)?null:[
- pushAll(_["combos"], [
- [[CHIP_SLOW_DOWN, CHIP_VACCINE, CHIP_BANDAGE],3,11, CHIP_SLOW_DOWN],
- [[CHIP_SPARK, CHIP_VACCINE, CHIP_BANDAGE],3,11, CHIP_SPARK],
- [[CHIP_ROCKFALL, CHIP_VACCINE],2,11, CHIP_ROCKFALL],
- [[201, CHIP_VACCINE],2,11, CHIP_ROCKFALL],
- [[202, CHIP_VACCINE],2,11, CHIP_ROCKFALL]
- ])
- ]
- getCooldown(CHIP_LIBERATION)?null:[
- push(_["combos"], [[CHIP_LIBERATION, WEAPON_BROADSWORD],2,11, WEAPON_BROADSWORD])
- ]
- _[""]++
- ]&&0:0)
- ||
- (_[""]===19?[
- _[0]=0
- _[1]=count(_["combos"])
- _["bestScore"]=-800
- _["bestCombo"]=[]
- _["score"]=0
- _["enTemp"]=["life" : _["enStats"]["life"], "MP" :_["enStats"]["MP"]]
- _["meTemp"]=["cell" : _["myC"], "life" : _["myStats"]["life"], "MP" : _["myStats"]["MP"], "acc" : _["myAccAsso"]]
- _["b"]=0
- _[""]++
- ]&&0:0)
- ||
- (_[""]===20?
- (_[0]<_[1]?[
- _["b"]===0?[
- _["combo"]=_["combos"][_[0]][0]
- _[2]=0
- _[3]=_["combos"][_[0]][1]
- _["c"]=_["combos"][_[0]][2]
- _["i"]=_["combos"][_[0]][3]
- _["cases"]=_["myDamItemsAsso"][_["i"]]
- _["aoe"]=_["i"]!==null&&((isWeapon(_["i"])&&getWeaponArea(_["i"])!==AREA_LASER_LINE&&getWeaponArea(_["i"])!==AREA_POINT)||(isChip(_["i"])&&getChipArea(_["i"])!==AREA_LASER_LINE&&getChipArea(_["i"])!==AREA_POINT))
- _["aoe"]?[
- _[100]=_["cases"][0]
- _[101]=_["cases"][1]
- _[102]=_["cases"][2]
- ]:null
- _["tempCombo"]=[]
- _["casesFin"]=_["myAcc"]
- _["b"]++
- ]:null
- _["b"]===1?[
- _[2]<_[3]?[
- _["item"]=_["combo"][_[2]]
- _["item"]===CHIP_BANDAGE?[
- push(_["tempCombo"], [_["item"], _["meTemp"]["cell"]])
- _["meTemp"]["life"]+=min(round(12.5*(1+_["myStats"]["wis"]/100)),getTotalLife()-_["meTemp"]["life"])
- _["score"]+=12.5*(1+_["myStats"]["wis"]/100)*(_["myStats"]["life"]>getTotalLife()-50?0:1)*(_["myStats"]["life"]<200?_["myStats"]["life"]<100?3:2:1)
- _[2]++
- ]:null
- _["item"]===CHIP_CURE?[
- push(_["tempCombo"], [_["item"], _["meTemp"]["cell"]])
- _["meTemp"]["life"]+=min(round(39*(1+_["myStats"]["wis"]/100)),getTotalLife()-_["meTemp"]["life"])
- _["score"]+=_["myStats"]["life"]>getTotalLife()-20?-10:(39*(1+_["myStats"]["wis"]/100)*(_["myStats"]["life"]>getTotalLife()-75?0:1)*(_["myStats"]["life"]<200?_["myStats"]["life"]<100?4:2:1))
- _[2]++
- ]:null
- _["item"]===CHIP_VACCINE?[
- push(_["tempCombo"], [_["item"], _["meTemp"]["cell"]])
- _["score"]+=_["myStats"]["life"]>getTotalLife()-20?-10:(50*(1+_["myStats"]["wis"]/100)*(_["myStats"]["life"]>getTotalLife()-150?0:1)*(_["myStats"]["life"]<250?3:2))
- _[2]++
- ]:null
- inArray([WEAPON_BROADSWORD, CHIP_STALACTITE, CHIP_SPARK],_["item"])?[
- _[158]=_["myDamItemsAsso"][_["item"]]
- _["meTemp"]["acc"][_[158][0]]!==null&&_["meTemp"]["acc"][_[158][0]]<=_["meTemp"]["MP"]&&(getWeapon()===WEAPON_BROADSWORD||_["item"]!==WEAPON_BROADSWORD||_["c"]<11)?[
- _["dam"]=max((_["item"]===WEAPON_BROADSWORD?40:_["item"]===CHIP_STALACTITE?66:12)*(1+_["myStats"]["str"]/100)*(1-(_["enTemp"]["rS"]===null?_["enStats"]:_["enTemp"])["rS"]/100)-(_["enTemp"]["aS"]===null?_["enStats"]:_["enTemp"])["aS"],0)
- _["score"]+=_["dam"]
- _["enTemp"]["life"]-=_["dam"]
- _["enTemp"]["life"]<=0?_["score"]+=1000:null
- _["meTemp"]["MP"]-=_["meTemp"]["acc"][_[158][0]]
- _["meTemp"]["acc"]=_["accTirAsso"][_[158][0]]
- _["casesFin"]=_["accTir"][_[158][0]]
- _["meTemp"]["cell"]=_[158][0]
- push(_["tempCombo"], [1012,_[158][0]])
- push(_["tempCombo"], [_["item"],_[158][1]])
- _[2]++
- ]:[
- _["score"]=-1000
- _[2]=_[3]
- ]
- ]:null
- _["item"]===CHIP_SLOW_DOWN?[
- _[158]=_["myDamItemsAsso"][CHIP_SLOW_DOWN]
- _["meTemp"]["acc"][_[158][0]]!==null&&_["meTemp"]["acc"][_[158][0]]<=_["meTemp"]["MP"]&&_["enStats"]["sci"]<=10?[
- _["meTemp"]["MP"]-=_["meTemp"]["acc"][_[158][0]]
- _["meTemp"]["acc"]=_["accTirAsso"][_[158][0]]
- _["casesFin"]=_["accTir"][_[158][0]]
- _["meTemp"]["cell"]=_[158][0]
- _["enTemp"]["MP"]-=1
- push(_["tempCombo"], [1012,_[158][0]])
- push(_["tempCombo"], [CHIP_SLOW_DOWN,_[158][1]])
- _[2]++
- ]:[
- _["score"]=-1000
- _[2]=_[3]
- ]
- ]:null
- _["item"]===CHIP_LIBERATION?[
- _[158]=_["myDamItemsAsso"][CHIP_LIBERATION]
- _["meTemp"]["acc"][_[158][0]]!==null&&_["meTemp"]["acc"][_[158][0]]<=_["meTemp"]["MP"]?[
- _["score"]+=20*count(getLaunchedEffects(_["en"]))
- _["meTemp"]["MP"]-=_["meTemp"]["acc"][_[158][0]]
- _["meTemp"]["acc"]=_["accTirAsso"][_[158][0]]
- _["casesFin"]=_["accTir"][_[158][0]]
- _["meTemp"]["cell"]=_[158][0]
- _["enTemp"]["rS"]=0
- _["enTemp"]["aS"]=0
- push(_["tempCombo"], [1012,_[158][0]])
- push(_["tempCombo"], [CHIP_LIBERATION,_[158][1]])
- _[2]++
- ]:[
- _["score"]=-1000
- _[2]=_[3]
- ]
- ]:null
- inArray([CHIP_ROCKFALL, 201,202], _["item"])?[
- _[158]=_["myDamItemsAsso"][CHIP_ROCKFALL][_["item"]===CHIP_ROCKFALL?0:_["item"]===201?1:2]
- _["meTemp"]["acc"][_[158][0]]!==null&&_["meTemp"]["acc"][_[158][0]]<=_["meTemp"]["MP"]?[
- _["dam"]=max(52*(_["item"]===CHIP_ROCKFALL?1:_["item"]===201?0.75:0.5)*(1+_["myStats"]["str"]/100)*(1-(_["enTemp"]["rS"]===null?_["enStats"]:_["enTemp"])["rS"]/100)-(_["enTemp"]["aS"]===null?_["enStats"]:_["enTemp"])["aS"],0)
- _["score"]+=_["dam"]
- _["enTemp"]["life"]-=_["dam"]
- _["enTemp"]["life"]<=0?_["score"]+=1000:null
- _["meTemp"]["MP"]-=_["meTemp"]["acc"][_[158][0]]
- _["meTemp"]["acc"]=_["accTirAsso"][_[158][0]]
- _["casesFin"]=_["accTir"][_[158][0]]
- _["meTemp"]["cell"]=_[158][0]
- push(_["tempCombo"], [1012,_[158][0]])
- push(_["tempCombo"], [CHIP_ROCKFALL,_[158][1]])
- _[2]++
- ]:[
- _["score"]=-1000
- _[2]=_[3]
- ]
- ]:null
- inArray([WEAPON_GRENADE_LAUNCHER, 203, 204],_["item"])?[
- _[158]=_["myDamItemsAsso"][WEAPON_GRENADE_LAUNCHER][_["item"]===WEAPON_GRENADE_LAUNCHER?0:_["item"]===203?1:2]
- _["meTemp"]["acc"][_[158][0]]!==null&&_["meTemp"]["acc"][_[158][0]]<=_["meTemp"]["MP"]&&(getWeapon()===WEAPON_GRENADE_LAUNCHER||_["c"]<11)?[
- _["dam"]=max(49*(_["item"]===WEAPON_GRENADE_LAUNCHER?1:_["item"]===203?0.75:0.5)*(1+_["myStats"]["str"]/100)*(1-(_["enTemp"]["rS"]===null?_["enStats"]:_["enTemp"])["rS"]/100)-(_["enTemp"]["aS"]===null?_["enStats"]:_["enTemp"])["aS"],0)
- _["score"]+=_["dam"]
- _["enTemp"]["life"]-=_["dam"]
- _["enTemp"]["life"]<=0?_["score"]+=1000:null
- _["meTemp"]["MP"]-=_["meTemp"]["acc"][_[158][0]]
- _["meTemp"]["acc"]=_["accTirAsso"][_[158][0]]
- _["casesFin"]=_["accTir"][_[158][0]]
- _["meTemp"]["cell"]=_[158][0]
- push(_["tempCombo"], [1012,_[158][0]])
- push(_["tempCombo"], [WEAPON_GRENADE_LAUNCHER,_[158][1]])
- _[2]++
- ]:[
- _["score"]=-1000
- _[2]=_[3]
- ]
- ]:null
- ]:[
- _[4]=0
- _[5]=count(_["casesFin"])
- _["tempCach"]=_["meTemp"]["cell"]
- _["scoreCach"]=-1000
- _[6]=_["enTemp"]["MP"]
- _["b"]++
- ]
- ]:null
- _["b"]===2?[
- //Boucle sur les cases restantes à portée pour trouver la meilleure.
- _[4]<_[5]?[
- _[7]=-_["mapDegats"][_[6]][_["casesFin"][_[4]]]-5*getCellDistance(_["casesFin"][_[4]], _["enC"])
- _[7]>_["scoreCach"]?[
- _["tempCach"]=_["casesFin"][_[4]]
- _["scoreCach"]=_[7]
- ]:null
- _[4]++
- ]:[
- _["score"]+=_["scoreCach"]
- _["score"]>_["bestScore"]?[
- _["bestScore"]=_["score"]
- _["bestCombo"]=_["tempCombo"]+[[1012,_["tempCach"]]]
- ]:null
- _["score"]=0
- _["enTemp"]=["life" : _["enStats"]["life"], "MP" :_["enStats"]["MP"]]
- _["meTemp"]=["cell" : _["myC"], "life" : _["myStats"]["life"], "MP" : _["myStats"]["MP"], "acc" : _["myAccAsso"]]
- _[0]++
- _["b"]=0
- ]
- ]:null
- ]:[
- debug("Meilleure combo trouvée "+_["bestCombo"]+ " avec le score " +_["bestScore"])
- _[0]=0
- _[1]=count(_["bestCombo"])
- _[""]++
- ])|1:0
- )
- ||
- (_[""]===21?
- (_[0]<_[1]?[
- _["bestCombo"][_[0]][0]===1012?moveTowardCell(_["bestCombo"][_[0]][1]):
- isChip(_["bestCombo"][_[0]][0])?useChipOnCell(_["bestCombo"][_[0]][0], _["bestCombo"][_[0]][1]):[
- getWeapon()!==_["bestCombo"][_[0]][0]?setWeapon(_["bestCombo"][_[0]][0]):null
- useWeaponOnCell(_["bestCombo"][_[0]][1])
- ]
- _[0]++
- ]:[
- debug("Fin de l'IA")
- _[""]++
- ])|1:0
- )
- ||
- (_[""]=0)
- ||
- (debug("opérations : "+getOperations() )&&0)
- ||
- false
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement