InkCombatRound6: Implement Sequential Filling Mechanic#1865
InkCombatRound6: Implement Sequential Filling Mechanic#1865russell-cj wants to merge 9 commits intomainfrom
Conversation
- Added the 'barrel_glow' folder containing the sprite sheet and animation resource. - Added a new AnimatedSprite2D node named 'BarrelGlow' to the FillingBarrel scene. - Configured the 'glowing' animation and set the correct offset to align with the barrel. feat: #1847
- Set the Y offset to -21 to align correctly with the barrel sprite. - Set the initial visibility to false so it remains hidden until activated. fix: #1847
- Added new component to handle sequential unlocking logic. - Implemented shuffle and locked state management. feat: #1847
- Updated 'filling_barrel.gd' to ignore inputs when locked. - Added visual feedback handling dimmed color for locked state. feat: #1847
- Added 'BarrelUnlockSequence' node to the level scene. - Configured barrels to unlock one by one in random order. feat: #1847
|
Play this branch at https://play.threadbare.game/branches/endlessm/issue_1847. (This launches the game from the start, not directly at the change(s) in this pull request.) |
|
I pushed a conflict resolution. Without reviewing the code in detail: this level is now extremely hard because you have to evade the Mothsache and also focus on one specific barrel at a time! (Don't feel the need to change this, it's just an observation before we review the logic.) |
|
You’re absolutely right, @wjt. Originally, Level 6 was focused only on the sequential barrel mechanic, but later Mothsache was added to test it, which significantly increased the difficulty. In fact, I had an idea that I didn’t get a chance to share before the internship ended. I’ll open a discussion and share the idea I had in mind with you. |
|
I've just created the discussion regarding the difficulty curve and intermediate levels. You can find it here: #1881 |
wjt
left a comment
There was a problem hiding this comment.
This is a nice addition to the filling-game mechanic - I think it will make it possible to design more interesting puzzles.
scenes/game_elements/props/filling_barrel/components/filling_barrel.gd
Outdated
Show resolved
Hide resolved
scenes/game_elements/props/filling_barrel/components/filling_barrel.gd
Outdated
Show resolved
Hide resolved
scenes/game_elements/props/filling_barrel/components/filling_barrel.gd
Outdated
Show resolved
Hide resolved
|
|
||
| func _ready() -> void: | ||
| if auto_start: | ||
| call_deferred("start_sequence") |
There was a problem hiding this comment.
| call_deferred("start_sequence") | |
| start_sequence.call_deferred() |
There was a problem hiding this comment.
I used call_deferred because, at the time, I thought it was the best alternative to fix an issue where the glow was disappearing. Deferring the execution solved that bug for me.
scenes/quests/lore_quests/quest_003/2_ink_drinker_levels/components/barrel_unlock_sequence.gd
Outdated
Show resolved
Hide resolved
scenes/quests/lore_quests/quest_003/2_ink_drinker_levels/components/barrel_unlock_sequence.gd
Outdated
Show resolved
Hide resolved
scenes/quests/lore_quests/quest_003/2_ink_drinker_levels/components/barrel_unlock_sequence.gd
Outdated
Show resolved
Hide resolved
scenes/quests/lore_quests/quest_003/2_ink_drinker_levels/components/barrel_unlock_sequence.gd
Outdated
Show resolved
Hide resolved
scenes/game_elements/props/filling_barrel/components/filling_barrel.gd
Outdated
Show resolved
Hide resolved
|
Hi @wjt , I'm really sorry about this. I thought you hadn't reviewed this PR yet; I usually get an email notification, but I think I missed it. |
- Add documentation and native setter for is_locked. - Replace hardcoded colors with LOCKED_COLOR and Color.WHITE constants. - Use get_node_or_null for optional BarrelGlow node. - Remove redundant randomize() call. - Add randomize_barrel_order export to sequence manager. fix: #1847
This PR implements the Sequential Combo mechanic for Level 6. Barrels must now be filled in a specific, randomized order.
BarrelUnlockSequencecomponent:🎮 Play Ink Drinker Level 6
Play Ink Drinker Level 6
resolves #1847