all repos — uStrat @ f66caa06802c8e5120293354e715850c17b125a1

simple turn-based strategy game inspired by uCity, Super Robot Wars, C&C, Fire Emblem

reset AI unit attentionSpan when something targeted by an AI unit is destroyed
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQJDBAABCAAtFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAl6uXDEPHG5pbGl4QG5p
bGZtLmNjAAoJEDt/vCIUTmOYpvMP/29cRRElq4ar2ZWnOJvC1mMZI/PZpJUs6UVe
mPSevudMQWjau5hgVVrVBgaxszyBVfGIqWnv/sxPV3YbXAz9ayXHVftXBgwWQkp4
xX3Ka0dTt0JKDxVetMbrLTKnN8jKMiKh/UDIsVwpKqjWN7394BO0DpmsCPeSBQd+
eQ+EZv4rih74GBEnnHgMnfkPaF7A2AuqijOeUW8dDObn/p655iVB0ysSE2xZIZeI
cu/ZarMMWvxfXf6pvLwtSxJQBOkzRlOWE8q99Y7VAwNv6+q5xkTyvVnvTkWllsW+
zWU5VaShgNfqCAcHxNojzHVamqM9nMFhOdVnZ7nWybqjEKmHtWNQloXurOfXEQ+G
404S75R8fHkYo/JmnxkmIWEo08/xR+SEw4DbkBfqjisb6MWPxmYzJqufBE/PXGNG
nXxWhYpErdBbFnnqX2tfc68QQ1Jew+kIGNCc5RIEhiepzJ++WiT2C5KwFWuV7ylf
GbzMFVIbZZIsrr+S42N7wetvsDu/1fqK5bJBZJjrb9tGLlYwcB4WV8wEIBo30kQc
W12D2w6UxaIqWKy5X9cK90QZcV0nplpD/qJNxbo9523Z02M0F9ebuUUeroAXdmmK
UibfoLMfC3/+4WkOsy3MikeQWz6LB+pWPd3NA9ceOOwn0UhC/8im3NgHmdQRnNTG
d1VenV+z
=STUe
-----END PGP SIGNATURE-----
commit

f66caa06802c8e5120293354e715850c17b125a1

parent

e5c238b3b2f65a7d0687c8d59d9d1c3388567c67

4 files changed, 15 insertions(+), 0 deletions(-)

jump to
M AI.jsAI.js

@@ -815,6 +815,17 @@ }

} } +AI.targetReset = function(target) +{ + for (int i = 0; i < teams.cpu.units.length; i++) + { + if (teams.cpu.units[i].target.x == target.x && + teams.cpu.units[i].target.y == target.y) + { + teams.cpu.units[i].attentionSpan = 0; + } + } +} AI.turnStart = function() {
M Map.jsMap.js

@@ -238,6 +238,7 @@ case "forest":

this.changeCell(self, "plain"); break; case "city": + AI.targetReset(self); this.changeCell(self, "ruins"); break; default:
M Struct.jsStruct.js

@@ -226,6 +226,7 @@ {

map.data[x][y].structure.hp = map.data[x][y].structure.hp - (attack.src.pow + attack.src.equipment.grade); if (map.data[x][y].structure.hp <= 0) { + AI.targetReset(map.data[x][y].structure); destroyStruct(x,y); } }

@@ -240,6 +241,7 @@ z = teams.p1;

} else { z = teams.cpu; } w = z.structs.indexOf(map.data[x][y].structure); + if (z.structs[w].name == "p1 HQ") { gameState.flow = "youLose";
M Unit.jsUnit.js

@@ -197,6 +197,7 @@ {

map.data[x][y].unit.hp = map.data[x][y].unit.hp - (attack.src.pow + attack.src.equipment.grade); if (map.data[x][y].unit.hp <= 0) { + AI.targetReset(map.data[x][y].unit); destroyUnit(x,y); } }