Timothy.Stiles
e4ce9d0bcc
glass block-with-item can't move onto a tile with an item in it
2021-03-03 14:15:17 +11:00
Timothy.Stiles
6971eb4d54
dynamite vs electrified floor, holes and cracked floor (60 partial fix)
2021-03-03 14:10:44 +11:00
Timothy.Stiles
ee718323cd
glass block blown up by dynamite/halo drops its item ( fixes #62 )
2021-03-03 13:51:25 +11:00
Eevee (Evelyn Woods)
406243d490
Fix green teleporter selection behavior
2021-03-01 21:09:10 -07:00
Eevee (Evelyn Woods)
d5b9a2a307
Change flame jet activation to be actor-based
...
This fixes CC2LP1's Waterfall, and allows me to remove `on_tic`.
2021-03-01 20:21:59 -07:00
Eevee (Evelyn Woods)
0119f45d54
Name compat flags more consistently; add a couple; flip sliding blue tank behavior
2021-03-01 18:04:23 -07:00
Eevee (Evelyn Woods)
3359c21387
Consolidate some repeated tile properties
2021-03-01 14:28:56 -07:00
Eevee (Evelyn Woods)
a294338080
Implement some more properties of lit dynamite
2021-03-01 14:06:21 -07:00
Eevee (Evelyn Woods)
0d59ffef85
Implement item priority ( fixes #37 #50 #51 )
...
Also expand the blue key MS compat flag to make keys never block
monsters; allow rovers to pass through score flags; and allow
doppelgängers to pause the clock.
2021-03-01 13:13:01 -07:00
Eevee (Evelyn Woods)
fbd256c876
Fix playing the wall bump sound repeatedly in steam mode ( fixes #49 )
2021-02-28 18:52:51 -07:00
Eevee (Evelyn Woods)
3bc6aa9c7d
Fix a crash with slide_ignores when using the CC1 inventory
2021-02-28 18:36:59 -07:00
Eevee (Evelyn Woods)
0ca0467192
Perform bonking for normal force floors as well, which fixes several subtle block pushing issues
2021-02-28 18:31:08 -07:00
Eevee
e8a6ae4a27
Merge pull request #41 from Patashu/custom-tiles
...
Custom tiles: Terraformer and Global Cycler
2021-02-25 20:45:22 -07:00
Timothy Stiles
b74ce300e5
fix ice block/fireball interaction
2021-02-21 10:23:38 +11:00
Timothy Stiles
ac008e9564
fix a speed boots regression
2021-02-21 10:13:30 +11:00
Timothy Stiles
4ee724030c
Implement Glass block
...
Similar to a dirt block, but stores the first item it moves over, dropping it when destroyed and cloning it in a cloning machine. Has ice block/frame block collision. Turns into floor in water. Doesn't have dirt block immunities.
2021-02-19 18:21:29 +11:00
Timothy Stiles
e30fd1e5fd
remove some other terraformer remnants
2021-02-19 09:25:53 +11:00
Timothy Stiles
c7af08b694
nix global cycler, terraformer and dormant lava
2021-02-19 08:48:21 +11:00
Timothy Stiles
3ea7a045da
revamp electric floor, perf improvement for circuitry recalculation
...
Now reads:
Conducts power (like a 4-way wire). While powered, destroys anything not wearing lightning boots (except dirt blocks)
And when you step on it with lightning boots it conducts power
And it's not on by default if it's just sitting on its own somewhere
2021-02-16 17:18:49 +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
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
64e51d6a62
creating a powerable recalculates circuitry
2021-02-16 12:21:27 +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
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
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
931f3c19c7
fix lit dynamite crash
2021-02-14 19:27:06 +11:00
Timothy Stiles
e699172b85
update static_on_tic_tiles when we transmute
2021-02-14 19:00:58 +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
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
5cc5370817
Global Cyclers can cycle actors now too
2021-02-07 23:19:33 +11:00
Timothy Stiles
0100f1e12c
spaceify
2021-02-06 16:07:40 +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
Eevee (Evelyn Woods)
b97f99cbaf
Fix Lexy loop to update wiring thrice per tic, not twice
2021-02-04 21:43:31 -07:00
Eevee (Evelyn Woods)
54d38527f2
Disallow taking yellow teleporters if the level only started with one ( fixes #30 )
2021-02-04 21:09:01 -07:00
Eevee (Evelyn Woods)
d8ac50efa9
Implement the CC1 inventory
2021-02-01 22:06:34 -07:00
Eevee (Evelyn Woods)
51acfc4353
Remove a hack for the old Lexy loop that's no longer necessary
2021-01-25 17:22:28 -07:00
Eevee (Evelyn Woods)
bf51cc2e0b
Only "mmf" once per attempted move
2021-01-25 17:22:12 -07:00
Eevee (Evelyn Woods)
884d6d9164
Restore manually-saved doppelganger behavior, to make it work with undo
2021-01-25 12:29:18 -07:00
Eevee (Evelyn Woods)
0c774d343e
Fix several renderer interpolation bugs
2021-01-22 09:12:02 -07:00
Eevee (Evelyn Woods)
134270e3e3
Add a couple CC1 compat flags
2021-01-20 14:45:30 -07:00
Eevee (Evelyn Woods)
75d7691925
Add some more sound effects
2021-01-20 13:42:27 -07:00
Eevee (Evelyn Woods)
6a2d6d608d
Disable animation on inactive red teleporters and transmogrifiers ( fixes #28 )
2021-01-16 20:53:30 -07:00
Eevee (Evelyn Woods)
5ab45b95c6
Prevent blowing up the same block twice in one tic, take two
2021-01-14 00:51:20 -07:00
Eevee (Evelyn Woods)
6e7338a214
Prevent blowing up the same block twice in one tic
2021-01-14 00:47:44 -07:00
Eevee (Evelyn Woods)
a91e1a831e
Track best score/clock/time separately; add a summary row to the level browser
2021-01-13 22:49:34 -07:00
Eevee (Evelyn Woods)
3aec2b1fe6
Spruce up stock pack list with previews, progress bar
2021-01-13 21:49:01 -07:00
Eevee (Evelyn Woods)
62eb4dc4bd
Remove the old Lexy-mode hack that only existed to try to make CC1 sync
2021-01-13 02:01:04 -07:00
Eevee (Evelyn Woods)
ed814cbf60
Add a compat flag for the MSCC ice patch behavior
2021-01-13 01:55:04 -07:00
Eevee (Evelyn Woods)
1650a3fc94
Add new, smoother pulling behavior as the Lexy default
2021-01-13 01:46:47 -07:00
Eevee (Evelyn Woods)
b6ed3b6502
Change the Lexy loop to be more Lynx-like
...
This simplifies the renderer by having movement cooldowns only work one
way, and thus removes the jank from Steam rendering.
This commit also applies cooldowns for animations at decision time, as
Lynx does, which eliminates a weird special case from their spawning.
Also, Lexy mode now explicitly does not allow an actor to get cooled
twice in one tic. However, this change does make clone machines no
longer be aligned with the thing that pressed the button to clone them,
which is unfortunate.
2021-01-13 01:34:08 -07:00
Eevee (Evelyn Woods)
b4acc74e0a
Explicitly allow VFX to erase other VFX (otherwise undo breaks!)
2021-01-10 14:44:23 -07:00
Eevee (Evelyn Woods)
c6594712df
Play the floor step sound by default
2021-01-08 16:28:52 -07:00
Eevee (Evelyn Woods)
30c17c0c8b
Fix undo failure after being killed by a cloner; ensure the failure reason is assigned to the right player
2021-01-08 15:16:25 -07:00
Eevee (Evelyn Woods)
c162445627
Always play the get-chip sound
2021-01-06 22:58:54 -07:00
Eevee (Evelyn Woods)
0ba112aec5
Don't gripe about VFX erasing each other; that's a feature
2021-01-05 21:04:09 -07:00
Eevee (Evelyn Woods)
04e350b624
Fix released key detection
2021-01-05 21:03:53 -07:00
Eevee (Evelyn Woods)
5c1b2dbd9d
Update hint when switching players; parse the keybind placeholders
2021-01-05 20:44:11 -07:00
Eevee (Evelyn Woods)
a72ec8c476
Fix undoing dropping a bowling ball; make bowling balls explode at level edge
2021-01-03 19:31:59 -07:00
Eevee (Evelyn Woods)
6fc4f6b58f
Change StoredCell to also be layered, and update the editor to match
2021-01-03 17:44:16 -07:00
Eevee (Evelyn Woods)
323ed3ee18
Refactor to using cells with fixed slots
...
This better matches CC2 behavior and also makes some very common
operations, like grabbing a cell's actor or terrain, way faster.
It also allows me to efficiently implement CC2's layer order when
checking for collisions; thin walls are checked before terrain, and
actors only afterwards. The upshot is that bowling balls no longer
destroy stuff on the other side of a thin wall!
I also did some minor optimizing, mostly by turning loops over an entire
cell's contents into checks for a single layer; Chromium now performs a
bulk test about 30% faster.
Downsides of this change:
- All kinds of stuff may have broken!
- It'll be a little difficult to ever emulate MSCC's curious behavior
when stacking terrain on top of items or other terrain. But not
impossible.
- It'll be far more difficult to emulate buggy Lynx (or maybe it's just
Tile World?) behavior where some combination of cloners and teleports
allow a ton of monsters to accumulate in a few cells. I guess I
wasn't planning on doing that anyway.
2021-01-03 17:19:27 -07:00
Eevee (Evelyn Woods)
cff756597c
Fix a few places where two tiles on the same layer could coexist in a cell
2021-01-03 15:18:53 -07:00
Eevee (Evelyn Woods)
fe7731efe7
Fix minor issues: ghosts don't affect popwalls, voodoo tiles shouldn't crash, on_bump is unused
2021-01-03 14:06:41 -07:00
Eevee (Evelyn Woods)
c6c3ff2d71
Fix losing slide mode when teleporting on a yellow teleport you just dropped
2021-01-03 14:06:04 -07:00
Eevee (Evelyn Woods)
0e1bd91075
Add a bunch more sound effects
2021-01-03 13:07:15 -07:00
Eevee (Evelyn Woods)
6446a4654b
Fix the order of operations for slide mode, again
...
This fixes an obscure bug where you could redirect a block that was in
the process of sliding off of ice onto floor, because its slide mode had
not yet been cleared.
2021-01-02 23:47:49 -07:00
Eevee (Evelyn Woods)
656d124c89
Fix a crash when blowing up a pink button
2021-01-02 17:42:07 -07:00
Eevee (Evelyn Woods)
4454970564
Split up the Steam loop into begin/finish parts to match what turn-based mode expects
2020-12-31 18:01:40 -07:00
Eevee
f0cd4d3c5a
Merge pull request #22 from Patashu/master
...
fix turn-based mode
2020-12-31 17:23:24 -07:00
Eevee (Evelyn Woods)
d700561c0f
Add a cursor to the editor
2020-12-30 11:52:27 -07:00
Timothy Stiles
f6a79456e9
fix turn-based mode
2020-12-30 13:01:01 +11:00
Eevee (Evelyn Woods)
6b0bb9cb3d
Prevent pushing a block that's already moving due to a slide push
2020-12-29 12:30:08 -07:00
Eevee (Evelyn Woods)
c475500bdb
Add in a single-tic delay after a failed teleport
2020-12-29 11:42:41 -07:00
Eevee (Evelyn Woods)
819a2e2203
Make actors bonk on ice even if they weren't already sliding
2020-12-29 10:16:10 -07:00
Eevee (Evelyn Woods)
6c99752f37
Allow the hook to block monster movement at decision time
2020-12-29 09:03:40 -07:00
Eevee (Evelyn Woods)
41ab804f79
Prevent blocks from pushing sliding blocks, except frame blocks pushing dirt blocks
2020-12-29 08:30:55 -07:00
Eevee (Evelyn Woods)
63f09283ea
Make actors explode when starting the level on a bomb
2020-12-29 07:21:18 -07:00
Eevee (Evelyn Woods)
0561e15d0a
Move hooking to decision time while fixing the swivel following problem
2020-12-29 07:04:55 -07:00
Eevee (Evelyn Woods)
2c1d047f4b
Don't let animations block actors with helmets
2020-12-28 15:03:40 -07:00
Eevee (Evelyn Woods)
f6f83a45f1
Add a teleport flash
2020-12-28 14:21:28 -07:00
Eevee (Evelyn Woods)
b72e20a4a5
Round the bonus down when halving it
2020-12-27 18:26:49 -07:00
Eevee (Evelyn Woods)
a2914cc291
In Lynx update mode, only tick an actor's cooldown after an extra move if that move succeeded
2020-12-27 17:32:55 -07:00
Eevee (Evelyn Woods)
2c9fbbba50
Make ghosts bonk on ice corners too
2020-12-27 09:32:37 -07:00
Eevee (Evelyn Woods)
b9f31b4170
Attempt to fix the swap button flickering like mad
2020-12-27 08:51:12 -07:00
Eevee (Evelyn Woods)
1fc8e35843
Run on_ready in reverse order, mostly so initial RFF directions are correct
2020-12-27 08:33:03 -07:00
Eevee (Evelyn Woods)
66ca5f5fff
Prevent pickup up a fifth tool when unable to drop one (because it's a yellow teleport and you're not on floor)
2020-12-27 08:05:38 -07:00
Eevee (Evelyn Woods)
f30b9b34dd
Prevent bumping tiles in a cell that's blocked by thin walls
2020-12-27 08:05:03 -07:00
Eevee (Evelyn Woods)
bf952433f1
Allow anything to pull blocks with the hook
2020-12-27 07:41:11 -07:00
Eevee (Evelyn Woods)
6ab3ff9b0b
Fix treating a tile as wired if it had an adjacent wire with a tunnel running under it
2020-12-27 07:32:28 -07:00
Eevee (Evelyn Woods)
4e5b2f02d9
Make yellow tanks remember a yellow button press made while they were sliding
2020-12-27 07:20:33 -07:00
Eevee (Evelyn Woods)
6470575a7b
Populate movement_cooldown for lit dynamite; guard against NaNs; check for moving blocks in bump mode
2020-12-27 05:41:03 -07:00
Eevee (Evelyn Woods)
c7815ba841
Move teleporter overriding to decision time; treat teleporting as a kind of slide; decouple speed from sliding
2020-12-27 05:40:06 -07:00
Eevee (Evelyn Woods)
adb0c4c869
Fix the search radius for orange buttons
2020-12-26 04:34:24 -07:00