Commit graph

50 commits

Author SHA1 Message Date
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
551e85266e Tweak warp actor; adjust tutorial-7. 2024-05-25 09:01:04 -04:00
Juliana Sims
dc76b74c2d
Allow bombs to explode other bombs 2024-05-24 20:43:56 -04:00
David Thompson
be21e4a6c0 Count gate activations and only close when equal deactivations occur. 2024-05-24 19:12:55 -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
00df10dc12 Cheap trick to make logic gates enforce electron directionality. 2024-05-23 17:28:09 -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
65076c40f3 Add sound effects for switched emitters. 2024-05-23 15:08:03 -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
Juliana Sims
91ba2fab66 Refactor logic gates to reduce code duplication 2024-05-23 13:19:20 -04:00
Juliana Sims
50b6c67db8 Add ^switched-emitter, test in level 4 2024-05-23 12:35:50 -04:00
David Thompson
2b6afada4d Add emitter sound effect. 2024-05-23 09:10:25 -04:00
David Thompson
d4065aa2bf Add gate and warp sound effects. 2024-05-23 07:48:53 -04:00
David Thompson
a24d737bc7 Allow any actor to push an event to the UI. 2024-05-22 22:00:48 -04:00
David Thompson
111eb33429 Spawn ghost gems where gems used to be. 2024-05-22 18:34:29 -04:00
David Thompson
2dc354229d Draw player dead sprite. 2024-05-22 18:21:45 -04:00
David Thompson
9b88cb19c0 Add electron warp terminals. 2024-05-22 17:40:23 -04:00
Juliana Sims
311c4c2ed8 Ensure player cannot walk on electric switches 2024-05-22 15:07:20 -04:00
Juliana Sims
815c3c809a Render background and electron for logic gates 2024-05-22 14:43:40 -04:00
David Thompson
f1afd9e177 Player always ticks first. 2024-05-22 13:36:32 -04:00
Juliana Sims
6b9edbca25 Add or gate, update level 4 to use all logic gates 2024-05-22 13:32:37 -04:00
Juliana Sims
a49808d70d Add xor and level 4 2024-05-22 12:08:23 -04:00
David Thompson
71d62e596e Kill player when gate closes on them. 2024-05-22 09:29:44 -04:00
David Thompson
68b427e387 Remove some pks. 2024-05-22 08:01:14 -04:00
David Thompson
5756844161 Add basic AND gate and electric switch. 2024-05-22 08:00:39 -04:00
David Thompson
ff242fd1a5 Fix some slowness; clock emitters emit immediately. 2024-05-22 06:52:36 -04:00
David Thompson
984ea4df67 Reimplement wireworld update; add stubs for new object types. 2024-05-21 22:12:21 -04:00
David Thompson
4c12ccc559 Add physical gates and finish floor switches. 2024-05-21 17:28:57 -04:00
David Thompson
ba7b9ea9d8 Add gems and the start of floor switches. 2024-05-21 14:10:57 -04:00
David Thompson
9a36c8e004 Remove outdated comment. 2024-05-20 22:14:42 -04:00
David Thompson
3925e39737 Remove unused procedures. 2024-05-20 22:14:21 -04:00
David Thompson
816d9d149d Big actor refactor; use local storage for auto-save. 2024-05-20 22:12:35 -04:00
David Thompson
111f4d37f1 Add support for more objects to map editor. 2024-05-20 12:31:56 -04:00
David Thompson
f3ad31d244 Pack and parse wall data from map files. 2024-05-19 18:12:30 -04:00
David Thompson
3a3f4e31a1 Add start of tiled map compilation for levels. 2024-05-19 17:31:08 -04:00
David Thompson
e7e5413460 Add exit actor that doesn't really work yet. 2024-05-19 06:15:46 -04:00
David Thompson
a01fdd8983 Remove comment. 2024-05-18 19:08:28 -04:00
David Thompson
a34a7e9b7a Add block pushing and wireworld simulation. 2024-05-18 14:04:35 -04:00