diff --git a/assets/images/quantum/neutrino.png b/assets/images/quantum/neutrino.png new file mode 100644 index 0000000..ffbae16 Binary files /dev/null and b/assets/images/quantum/neutrino.png differ diff --git a/assets/images/quantum/quantum_tomato.png b/assets/images/quantum/quantum_tomato.png new file mode 100644 index 0000000..2490d91 Binary files /dev/null and b/assets/images/quantum/quantum_tomato.png differ diff --git a/assets/puzzles.txt b/assets/puzzles.txt index 59c8b47..b43beea 100755 --- a/assets/puzzles.txt +++ b/assets/puzzles.txt @@ -16,3 +16,4 @@ P6;A Real Mess;Friendly Sentries are great at killing large amounts of enemies. P6;Overpowered;The sentry is strong, but the sentry buster is stronger;L;<;eJytUstuwjAQ/Jc9W8i0RajcCJz6CwhZJmzSiMWx/AAF0n/vhnIAxVUQ7XFnZ2bHu4bys/ahlS3ubWjaeZuBgKMmuoGWDD1AW/wrjaE3AT5adIU2941xiv2SmsRMG08nwp5z3wAK0uXQoMVFvMPm2USvf1nSb4792ZMUk+UeTXCN2kQf0A1eoO+SPXw9oDrfDbMSZsnsU7G6hgchBVw6LJ+DOEMZjaoMP+igCWbjEfc3kQiD8hZxyxBbFq5Cs6UGZoUmj/wxtPfVAVXOAa6qzuinnHQlEubBVbmy9REdg1KO5Fc3PoN1+nO8P7uxjyTtG0s1R9o=; P6;Autonomous Defenses;The sentries got you covered, but are they themselves safe?;P;<;eJzNV1FvmzAQ/i27Z1QBCc3GW9Nu2st+wTRZDhzBqjHMNq2Ssf8+A5kIwTRIrQJv4c6++77vzmcH9mmudOVWmBX6UD1UW3B+QkIjncsDOK4DjQMceADnD0TIOYRQlMcjR7IrlUb5yTVeJsyvF2qc/p3ZRONY5hrChHKFDhTpQbGo9p4Mv0sqNDtifLL8rTNt4ZcDr5TzMzjfTWwLxMtlX6cta8idCN2c2saBhNP9BIQZ1SkRZbZDacGZl8Kk9133zu1ka7ZwVIqgAXARsfVqFj2/nfwRHN+kVyi0rfj7UpBOjFUtxq7kHDVRBdZ8A8NQMhQxP0CoZVnLQ5ViL0giUxsIvXpPHab9DOpP5BhpySJS5K+Gbxj0iI2Wqw/GuwkYbyqc22jjDwr4NLV73NEDZ0KsF9YD/oyHdlxhnZMMo3SIKU8ShW9q3J+xKzuntgIjnIIPJWXwmOHUijhlgArMLLVQjKPQg1xFqdKLoAVTOhfV6kom2JtMkhqVroL6PDB+A3NcLSu9tc0aLKzlN7bZ/OUEzFgLTiMcXmiN+T9uFvd60LJ1KNACb4D7IfTHXm/4VyndL4ySP6T0NAJ9M+Ps86bDXC3rou7K7S+i3PPVcDxzitFzkZs8RGJzX7Vkz+wo6I7XIVtPs4x0MLrRMnIWzR3HJH7YYJpPxPWyunvW99C7ZvHW/jft7DF0eV5v/sD7YYX4D98TA5Y=; P6;Auto-Play;The assistant can do more of the boring work for us;P;<;eJzdV8sOgjAQ/Jc994B68yYq8eQPGGMaU5VYHqFFA9Z/F9SDwqqVR6xch2HaznS3LWx3gZDKUswLZaJGygYCR8r5AzTPIA1aBvUIeMGBRaswTlPOVO8df5xBMqJiV9II4yK4AOYzLwFiEbjC2b8jICcQLme+hOGGcsHO+WcblmVdBx2+rzunusPfltWAcPPO4MFoO4PMyBzabxPvjATuY5E4+cfNUL+eWqnIzkhg1RZGwf14eF+Fjjk7BZ1zTqVCuEJS/8PROO14k9FpqjOD4tyz5JnUR7CBIea2kw9yH8HRvK/zYL3XcLpZWtXcdMRe0L61urwSY/PWuRJjruS0Dafbah5Xfl1cAPbLXM8=; +P6;Wrapper;The world is a donut;P;<;eJzVVl1vgjAU/S3rM1mQaUx8U7b4I5aFFLhok9KSfuh07L/vgrip0AhbsugbPb33cnrP6QdZraU2pV9CXphdOS8XxCNbyvkJtCTeqAskPXIXdW4hlaE8omVwOvHkiG6DkxYYdoGudAQzTlfnYPvvYR2Zyw2oa6GDiAbeK6mHxPO94xeZE++DrKyImDCgNpSTWfCI87HlHEykC4CUzEY+QpliIFK+I7OMcg3YT6o120CUYP8xpkqrKh2Gk2oIHBKjWBIVcgsKQd+vYIFF9RGri31WnBbkrZeaYdeyw24nuPrbeCH+VTc76y4HeqENTpGW3e85nMOBo0DHah2hTuEVTZnVqB3iWYZaoZwCtG4Uj3eFkqlNUM5D3oOPmQlTieVUffsglzHj8GMLDTaViopU5pfy3oUFe1qgreFL0+z3gsuK1k00XIMw6u46fjuWHffb/s2xYvX66lX0b2dci8wfr5DxDclySe/ZwXnaez/3kWXAI+QLBYED2A==;eJyrVgpXsiopKk2tBQARvgOO; diff --git a/lib/layout/tools/saving.dart b/lib/layout/tools/saving.dart index 5498afc..fc66af2 100755 --- a/lib/layout/tools/saving.dart +++ b/lib/layout/tools/saving.dart @@ -1486,7 +1486,7 @@ class P6 { ), ) as Map; - grid.wrap = gridData["W"] == 1; + grid.wrap = gridData["W"] == true; if (gridData["M"] != null) { final memMap = gridData["M"] as Map; diff --git a/lib/logic/cell_data.dart b/lib/logic/cell_data.dart index dd92497..abae39d 100755 --- a/lib/logic/cell_data.dart +++ b/lib/logic/cell_data.dart @@ -409,8 +409,8 @@ final cursorTextures = [...cells, ...extraCursors]; final textureMapBackup = HashMap.from(textureMap); HashMap textureMap = HashMap.from({ - "neutrino.png": "missing.png", - "quantum_tomato.png": "missing.png", + "neutrino.png": "quantum/neutrino.png", + "quantum_tomato.png": "quantum/quantum_tomato.png", "sentry_buster.png": "destroyers/sentry_buster.png", "puzzle_buster.png": "destroyers/puzzle_buster.png", "sentry.png": "destroyers/sentry.png", diff --git a/lib/logic/move.dart b/lib/logic/move.dart index 4a6f935..261cfb0 100755 --- a/lib/logic/move.dart +++ b/lib/logic/move.dart @@ -1176,7 +1176,7 @@ void doExplosive(Cell destroyer, int x, int y, [bool silent = false, Map= interval) { for(var rot in rotOrder) { + if(!grid.inside(frontX(x, rot), frontY(y, rot))) { + continue; + } if(grid.at(frontX(x, rot), frontY(y, rot)).id != "empty") { continue; }