Commit graph

96 commits

Author SHA1 Message Date
Juliana Sims
c8705eca18
Fix the switch collision issue for real
The issue was that the new switch code to support stacked actors sends
`'activate` to every actor at a given grid coordinate regardless of type. This
is fine for most uses, but because this level had an emitter over a wall, the
switch tries to `'activate` the wall. Replacing the wall tile with a floor
tile (which produces no actor and therefore receives no `'activate` message)
works just fine. Instead of adding type checking to allow a hacky and needless
use case, I instead advise just not sticking switch targets over walls or other
actors that don't support `'activate`.
2024-05-25 15:23:56 -04:00
Juliana Sims
3c7ddce62e
Revert "Revert "Add activation counting to switched emitters""
This reverts commit 8004c7df90.
2024-05-25 15:23:56 -04:00
Christine Lemmer-Webber
159f5e84da
Prettify catboss-1 2024-05-25 15:08:10 -04:00
David Thompson
6f325800b0 Add tutorial-9 for real. 2024-05-25 14:58:43 -04:00
Juliana Sims
8004c7df90
Revert "Add activation counting to switched emitters"
woopsie broke switched-emitters

This reverts commit 133fdb5752.
2024-05-25 14:58:21 -04:00
Christine Lemmer-Webber
534e9c30b7
Add catboss-1 level 2024-05-25 14:54:14 -04:00
Juliana Sims
7b5206b4b2
Allow bombs to be activated by switches 2024-05-25 14:45:08 -04:00
Juliana Sims
133fdb5752
Add activation counting to switched emitters 2024-05-25 14:45:08 -04:00
David Thompson
049e859dac Allow block to be pushed onto tile with gate that is being switched on/off. 2024-05-25 13:51:42 -04:00
David Thompson
c066364b72 Fix error when block cannot be pushed. 2024-05-25 10:31:50 -04:00
David Thompson
86faff26b8 Small tweak to tutorial-8. 2024-05-25 09:55:03 -04:00
David Thompson
3c207cd9c3 Move tutorial-8 to 10, add new 8 and placeholder 9. 2024-05-25 09:52:02 -04:00
David Thompson
551e85266e Tweak warp actor; adjust tutorial-7. 2024-05-25 09:01:04 -04:00
David Thompson
faf4fa7124 Add animations. 2024-05-25 06:53:06 -04:00
Juliana Sims
6896b49848
Add obligatory checkerboard level (moderate) 2024-05-24 20:43:56 -04:00
Juliana Sims
dc76b74c2d
Allow bombs to explode other bombs 2024-05-24 20:43:56 -04:00
Juliana Sims
ca4355ee4f
Add obligatory checkerboard level (basic) 2024-05-24 20:43:56 -04:00
David Thompson
7b3683aa89 Incorporate warp into tutorial-8. 2024-05-24 19:19:03 -04:00
David Thompson
be21e4a6c0 Count gate activations and only close when equal deactivations occur. 2024-05-24 19:12:55 -04:00
Juliana Sims
6053727ee4
Add first rat level 2024-05-24 18:38:53 -04:00
David Thompson
17072b2321 Swap warp and AND tutorial order. 2024-05-24 18:11:39 -04:00
David Thompson
1933c48820 Add warp tutorial. 2024-05-24 18:11:39 -04:00
Juliana Sims
1a52f36e5f
Type new walls 2024-05-24 17:57:03 -04:00
David Thompson
8d5da9c2dd Add AND gate tutorial level. 2024-05-24 17:11:11 -04:00
David Thompson
1cb85bd682 Allow blocks to be pushed through gates. 2024-05-24 16:57:17 -04:00
David Thompson
378793d7ae Oops I broke switched emitters. 2024-05-24 15:40:14 -04:00
David Thompson
892675f2d1 Tweak emitters so their wire state is more clear.
This has become a problem in the presence of bombs.
2024-05-24 15:28:33 -04:00
Juliana Sims
a102a9fb06
Make bombs movable, update bomb rendering 2024-05-24 15:23:34 -04:00
David Thompson
502b8262e5 Fix bug where gem could be marked as collected even if move was undone. 2024-05-24 13:23:36 -04:00
David Thompson
3503aeb00b Combine ^gem and ^ghost-gem into one actor.
We still want the ghost gems to be collectable, even though they don't
do anything.
2024-05-24 13:14:45 -04:00
David Thompson
e580454a97 Remove objects from grid when they die. 2024-05-24 13:00:14 -04:00
Juliana Sims
feb5b8f3d6
Add bombs and explodable bricks 2024-05-24 12:46:49 -04:00
David Thompson
23f034a868 Add first draft of tutorial levels. 2024-05-24 12:41:52 -04:00
David Thompson
b2948a0734 Oops I meant "inert". 2024-05-24 12:10:19 -04:00
David Thompson
951591486e Make metal walls impassable. 2024-05-24 12:09:52 -04:00
Juliana Sims
51bc034756
Change the kind of non-copper walls to inert 2024-05-24 12:07:01 -04:00
Christine Lemmer-Webber
c4b308232f
Update level4 to use floor tiles 2024-05-24 11:40:59 -04:00
Christine Lemmer-Webber
fccaf5af37
Prettify level4 2024-05-24 10:24:10 -04:00
Juliana Sims
bb4d2df5f5 Rotate logic gate sprites based on direction. 2024-05-23 17:51:41 -04:00
David Thompson
00df10dc12 Cheap trick to make logic gates enforce electron directionality. 2024-05-23 17:28:09 -04:00
David Thompson
fb96e0e913 Fix level-4.tmx. 2024-05-23 16:53:11 -04:00
Juliana Sims
1e91411687 Prepare to support drawing rotated tiles 2024-05-23 16:44:03 -04:00
David Thompson
bed3604685 Adjust emitters to not produce side-effects in 'wire-state' method. 2024-05-23 16:34:06 -04:00
David Thompson
a5e9011678 Add moon and eye to credits map. 2024-05-23 16:34:06 -04:00
Juliana Sims
13aa8606a9 Implement interval logic for emitters 2024-05-23 16:28:53 -04:00
David Thompson
65076c40f3 Add sound effects for switched emitters. 2024-05-23 15:08:03 -04:00
Juliana Sims
ade893c45a Minor fix for credits tiles 2024-05-23 14:45:25 -04:00
Juliana Sims
c9f737ef28 Add comment clarifying logic gate index increment 2024-05-23 14:30:12 -04:00
Juliana Sims
73ffad19f0 Implement orientation for logic gates
Note that orientation is called "direction" because it's named according to the
direction of electron flow.
2024-05-23 14:20:15 -04:00
David Thompson
4ec1666a1d Add end-game credits sequence. 2024-05-23 14:05:24 -04:00