Commit Graph
77 Commits
Author SHA1 Message Date
Timothy Stiles e866710af6 turntables can have wires run to them like blue teles 2021-02-16 16:44:38 +11:00
Timothy Stiles 5551e546de oops fix crash 2021-02-16 16:29:43 +11:00
Timothy Stiles 62a3ed99aa Implement Blue teleporter exit
A blue teleporter for all intents and purposes except it can only be exited, not entered.
2021-02-16 16:21:12 +11:00
Timothy Stiles b7cedc2426 refactor speed shoes so they stack with dash floor/sand instead of overriding 2021-02-16 15:59:34 +11:00
Timothy Stiles e0004fb840 Implement Dash Floor
Anything walking on it moves at double speed.
2021-02-16 15:10:05 +11:00
Timothy Stiles 3d21277593 spaceify 2021-02-16 13:09:17 +11:00
Timothy Stiles 4943759cd3 wireables wire/unwire whenever circuitry recalculates
e.g.
move a circuit block pointing to a transmogrifier: the transmogrifier stops moving unless it's powered
move it away: it goes back to always-on behaviour
2021-02-16 13:06:45 +11:00
Timothy Stiles 946a889159 terraformers terraforming extended terrain properties 2021-02-16 12:52:07 +11:00
Timothy Stiles e60423e8c0 oh add_press_ready can happen before OR after on_begin, that's annoying
I'll just have to make it so transmuting a trap to non-trap then back to trap might leave it in a weird amount-of-presses state if you do Shenanigans until I can think of a better solution
2021-02-16 12:31:52 +11:00
Timothy Stiles 64e51d6a62 creating a powerable recalculates circuitry 2021-02-16 12:21:27 +11:00
Timothy Stiles a73c34e576 traps remember their prior press count through transmutes 2021-02-15 21:39:33 +11:00
Timothy Stiles 8cbba99c0c Implement Item Lock
When placed atop an item, you must have that item to enter the tile. When you do, pay the item and destroy the item lock. Also can be placed on top of a bonus, and you must pay that amount of bonus to enter.
2021-02-15 21:27:56 +11:00
Timothy Stiles 9e2575cae4 handle circuit block undoing pretty well 2021-02-15 15:59:28 +11:00
Timothy Stiles 1bd165ad35 fix various Circuit Block cases 2021-02-15 15:37:03 +11:00
Timothy Stiles 3c6bff77d6 re-arrange experimental tab in a more natural order 2021-02-15 14:25:08 +11:00
Timothy Stiles dfb31207ba remove 'transmuted connectable connects buttons to it' mechanic 2021-02-15 14:22:13 +11:00
Timothy Stiles 4097aa6e84 runtime circuit updates - Circuit Block works once more 2021-02-14 23:02:23 +11:00
Timothy Stiles dddde89b03 fix a transmute-to-force-floor time travel bug 2021-02-14 22:15:05 +11:00
Timothy Stiles 456ebc334b circuit blocks make wired floor in water 2021-02-14 22:10:30 +11:00
Timothy Stiles 86404dbc5b spontaneously appearing button/buttonable fixes 2021-02-14 22:07:20 +11:00
Timothy Stiles 7d36d09715 terraforming a new button/buttonable now connects it 2021-02-14 21:47:04 +11:00
Timothy Stiles 11747f0d6e Implement Diode
Emits power only when receiving power. (Effectively, this delays power by one frame.)

Also I made it so circuit blocks clone properly
2021-02-14 19:54:53 +11:00
Timothy Stiles 931f3c19c7 fix lit dynamite crash 2021-02-14 19:27:06 +11:00
Timothy Stiles d6e43a70ca fix ice skates/ice corners regression 2021-02-14 19:13:55 +11:00
Timothy Stiles e699172b85 update static_on_tic_tiles when we transmute 2021-02-14 19:00:58 +11:00
Timothy Stiles 42560626bf fix Global Cycler / Frame Block bug 2021-02-14 18:45:42 +11:00
Timothy Stiles 20dad5c76a Implement Boulder
Similar to a dirt block, but rolls when pushed. Boulders transfer momentum to each other. Has ice block/frame block collision. Turns into gravel in water. Spreads slime.
2021-02-14 18:38:56 +11:00
Timothy Stiles 7bcb1ac018 Implement Spikes
Stops players (and doppelgangers) unless they have hiking boots. Everything else can pass.
2021-02-14 17:04:21 +11:00
Timothy Stiles dece34f365 implement x5 Bonus
also make it so bonuses of 1mil+ are rendered reasonably in-game
(100bil+ starts breaking the results screen but I think that's lower priority)
2021-02-14 16:43:59 +11:00
Timothy Stiles f64302f324 Implement Cracked Ice
Cracked Ice: Turns into water when something steps off of it (except ghosts).
Also had to implement slide_ignores/item_slide_ignores since I needed a way to ignore static aspects of the tile without preventing its functions from being called. there's probably a better way IDK
2021-02-14 15:48:20 +11:00
Timothy Stiles c27af789cb Implement Hole and Cracked Floor
Hole: A bottomless pit. Destroys everything (except ghosts).
Cracked Floor: Turns into a hole when something steps off of it (except ghosts).
2021-02-14 15:12:21 +11:00
Timothy Stiles 1f6c86c146 Implement Electrified Floor
Conducts power (like a blue teleporter). While powered, destroys anything not wearing lightning boots (except dirt blocks).
2021-02-14 14:22:28 +11:00
Timothy Stiles d874e4d956 colourify turntables 2021-02-08 16:15:18 +11:00
Timothy Stiles 5cc5370817 Global Cyclers can cycle actors now too 2021-02-07 23:19:33 +11:00
Timothy Stiles f79a8cc259 no idea how this was even working still lmao 2021-02-07 21:58:10 +11:00
Timothy Stiles 1040646393 implement the Turntable
Rotates anything entering this tile (counter)clockwise. Frame blocks are rotated too. If connected to wire, only functions while receiving power.
2021-02-07 21:47:52 +11:00
Timothy Stiles 76c34007a2 global cyclers don't attempt to turn terrain into global cyclers 2021-02-07 11:25:19 +11:00
Timothy Stiles 7c306e2234 make global cyclers immune to cycling too 2021-02-07 10:52:18 +11:00
Timothy Stiles 19354bf5cf global cycler no longer wraps 2021-02-07 10:37:42 +11:00
Timothy Stiles bd2364cbff flip a boolean 2021-02-07 10:26:27 +11:00
Timothy Stiles e63544ec55 fix saving 2021-02-07 10:14:18 +11:00
Timothy Stiles 477cf804af terraformer no longer overrides items 2021-02-07 10:02:53 +11:00
Timothy Stiles 4f0ff2b346 Terraformer alt behaviour when it has an item on top
When activated, if there's an item on its tile, copies the item to the tile in front of it. Otherwise, copies the item AND terrain BEHIND it to the tile in front of it.
2021-02-06 23:08:39 +11:00
Timothy Stiles 0100f1e12c spaceify 2021-02-06 16:07:40 +11:00
Timothy Stiles e134b4cbd9 Implement the Dormant Lava
Acts like dirt. However, fireballs will enter it and turn it into Fire in the process.
2021-02-06 16:07:10 +11:00
Timothy Stiles ba5d6c966c Halo revive sound effect 2021-02-06 12:15:12 +11:00
Timothy Stiles 8ffc6e1127 implement the Halo
Protects the player from death once, destroying the would-be killer in the process.
2021-02-06 12:00:45 +11:00
Timothy Stiles 4b63b4f65f global cyclers don't cycle ANY global cycler's surrounding tiles 2021-02-05 16:15:53 +11:00
Timothy Stiles 81fd712adc global cyclers don't cycle their surrounding tiles, just everythng else 2021-02-05 15:49:42 +11:00
Timothy Stiles bddde32325 implement the Global Cycler
When activated, every terrain/item on the surrounding four tiles in the entire level becomes the terrain/item one clockwise. Adjacent tiles with a 'no sign' on them are ignored. Two of the same tile in a row mean that tile will not be transformed and will stay as-is.
2021-02-05 15:26:00 +11:00
Timothy Stiles 9b76c6b9ce implement the Terraformer
The Terraformer is like a clone machine for everything that isn't an actor. It copies the terrain (and item) behind it to in front of it when powered.
2021-02-05 14:41:11 +11:00
Timothy Stiles da18684cbb add some tiles 2021-02-05 13:20:41 +11:00
Timothy Stiles f6a79456e9 fix turn-based mode 2020-12-30 13:01:01 +11:00
Timothy Stiles f670224460 forgot to change a continue to a return 2020-10-26 16:08:29 +11:00
Timothy Stiles 32b4399683 Merge remote-tracking branch 'upstream/master' 2020-10-26 16:05:34 +11:00
Timothy Stiles 509b3ca3b7 Merge remote-tracking branch 'upstream/master' 2020-10-25 14:31:32 +11:00
Timothy Stiles a0e37422b9 Merge remote-tracking branch 'upstream/master' 2020-10-23 20:26:39 +11:00
Timothy Stiles fedbd200fc Merge remote-tracking branch 'upstream/master' 2020-10-22 18:04:43 +11:00
Timothy Stiles 9e53aa75a0 I tried 'snappier' and it was a bad idea, so now you don't have to
it basically skips the first frame of each turn-based movement. it's not TERRIBLE but the smooth movement is already really nice, we don't need to change it
2020-10-14 23:13:38 +11:00
Timothy Stiles 4388402850 Merge remote-tracking branch 'upstream/master' 2020-10-14 22:43:35 +11:00
Timothy Stiles e3de4d59c7 spaceify 2020-10-14 22:34:00 +11:00
Timothy Stiles f7e83342a0 fix a turn based rewinding visual bug 2020-10-14 22:33:45 +11:00
Timothy Stiles be5cc7f97f spaceify 2020-10-14 22:23:13 +11:00
Timothy Stiles e9d542f438 fix a bug when undoing while waiting for input
need to unset it (we used to do this but it got lost in the refactor)
2020-10-14 22:22:27 +11:00
Timothy Stiles a7c38ae0af fix 'keys held for less than a frame are ignored' bug
this was annoying me!
2020-10-14 22:17:07 +11:00
Timothy Stiles bb168d7e1e fix force arrows in turn based mode
if you got misaligned in tic_counter then you'd force arrow forever.
also, turn_based is no longer passed in! yay!
2020-10-14 22:07:29 +11:00
Timothy Stiles e53f00a432 I broke force arrows, in fact!
so much for tooting my own horn
2020-10-14 21:54:13 +11:00
Timothy Stiles a8ce3bca11 fix bugs
we're back at parity now, it looks like
2020-10-14 21:42:51 +11:00
Timothy Stiles 2e1a87199a code refactor part 1: advance_tic is now two parts
seems to work so far
2020-10-14 21:24:46 +11:00
Timothy Stiles c8d80dfc63 another spaceify (oops)
I literally tried to change the setting for this in notepad++ but it crashes every time I do

ha ha
2020-09-26 23:48:47 +10:00
Timothy Stiles ccfd5c30ce fix animation ugliness in turn-based mode
Uguhughugh it looks SO SMOOTH NOW. I can go to bed happy.
2020-09-26 23:45:53 +10:00
Timothy Stiles e908434a20 only restart on fresh press of spacebar 2020-09-26 23:01:42 +10:00
Timothy Stiles 5b7273e9d9 Turn-Based: add space to wait 2020-09-26 22:40:38 +10:00
Timothy Stiles e6a4e88935 spaceify previous commit 2020-09-26 22:32:01 +10:00
Timothy Stiles d2e900dc3a fix a rewind bug in non turn based mode
Was caused by not making these setters undoable.
2020-09-26 22:31:18 +10:00
Timothy Stiles 30a145599c fix a graphical undoing bug in Turn-Based Mode
turns out we were smuggling pending_undo to previous moves. aha!
2020-09-26 22:18:19 +10:00
Timothy Stiles 5c6cd01b39 Implement turn based mode
Seems to work mechanically though I haven't extensively stress tested it yet. Force floors work the way you'd want them to though (you're given control whenever you can make an input and not otherwise).
There are some graphical bugs with rewinding, but there were some without turn based mode anyway...
2020-09-26 22:10:42 +10:00