initialize attack logic
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQJDBAABCAAtFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAl5DJRgPHG5pbGl4QG5p bGZtLmNjAAoJEDt/vCIUTmOYDm8P/2DPfHZboow4Y3qOYwYBLpp3iMTgZc/C1Pcn USMpmEVPlz5hYEN0YGv3Vw9LaB++n0g2WzM/Ze0sJEcofoGwF0Ab/a29L/PLNrRl 3wh7BQspwKs81uUfRGizomEACnxdQxx6XURyxbGJogxJdbys9HIpvWCDh8epi3+l nUSKq0dnZ5a7vN3JlkH/Y4E78zwNFrb6AoLrzQdTID3ERUyuoJXpGtmuIYf9Rb6c m434/+cOqx/PLOmj3grq++gRcM17421U8RREIh+DvGLKendL0j7INcA153t72c1U Dr2EQ16MPLvT5yh/8VDWDoErmiYkD4RJfCQniw7DvYCr+3mQeNhypXiv8FmJ2A01 D5wtGGVEGjdZ5+7AFWT9Az1KqH4d6k2k+LES/92zEWE4ubbhU3gtAit+51zBy9Ta nTOwebWtnNLd7ygMw9KjCfGjcJTnfzVS5uKEB/dDVz8amEEF9MNYBT2BPq9yQQb6 qE0q56JW2CcWEy8iajqoQxX1BSuXQEaMD9+XW1UOhIalu8uKxwr/kV1B5g4n2AmF Q832TC+BnEZ2TYTr+TLSzRTENa49a+1psUWLQQLGIo4QHhN4hEBRhDGxib4wE6ww Iz25IKXBdpNQ0NuhyXnmpTtoMWDEGRNMFQeU1QySGv+xZRifkTl1R9yVjrL4/Q44 Iqlp/GNM =Fd4W -----END PGP SIGNATURE-----
M
Attack.js
→
Attack.js
@@ -5,9 +5,9 @@ attack.rotation = 0;
attack.src = {}; attack.gfx = {}; -attack.gfx.overlay = new Image() +attack.gfx.overlay = new Image(); attack.gfx.overlay.src = "assets/ui/attackOverlay.png"; -attack.gfx.explosion = new Image() +attack.gfx.explosion = new Image(); attack.gfx.explosion.src = "assets/fx/explosion.png"; attack.animCounter = 0;@@ -18,6 +18,15 @@ {
gameState.flow = "attackSelect"; attack.src = map.data[mapCursor.x][mapCursor.y].unit; attack.pattern = attack.src.equipment.pattern; +} + +attack.cpuInit = function() +{ + gameState.flow = "cpuAttackReady"; + attack.src = teams.cpu.units[AI.focus]; + attack.pattern = attack.src.equipment.pattern; + mapCursor.x = attack.src.target.x; + mapCursor.y = attack.src.target.y; } attack.cancel = function()@@ -66,6 +75,8 @@ this.animCounter = 0;
this.src.hasAttacked = true; if (gameState.flow != "youLose" && gameState.flow != "youWin") { + if (gameState.phase == "cpu") + AI.focus++; gameState.flow = "attackEnd"; } }
M
Engine.js
→
Engine.js
@@ -229,13 +229,32 @@ if (AI.focus >= teams.cpu.units.length)
{ AI.focus = 0; AI.manageEquipment(); - gameState.flow = "cpuAttack"; + gameState.flow = "cpuAttackInit"; } else gameState.flow = "cpuGenTargets"; } -function cpuAttack() +function cpuAttackInit() +{ + attack.cpuInit(); +} + +function cpuAttackReady() +{ + if (AI.focus >= teams.cpu.units.length) + { + AI.focus = 0; + endPhase(); + } + else + { + gameState.flow = "cpuAttackGo"; + } +} + +function cpuAttackGo() { + attackAnim(); } function loseScreen()@@ -318,9 +337,15 @@ break;
case "cpuMoveDone": cpuMoveDone(); break; - case "cpuAttack": - cpuAttack(); + case "cpuAttackInit": + cpuAttackInit(); break; + case "cpuAttackReady": + cpuAttackReady(); + break; + case "cpuAttackGo": + cpuAttackGo(); + break; case "youWin": winScreen(); break;