Skip to content

Conversation

@collectioncard
Copy link
Member

No description provided.

cornerloan and others added 30 commits April 28, 2025 21:08
* Now only escape and start close the popup (#166)

Also added text to inform user of how to close the popup.

Possible change: change text to statically say "Press Escape/Start to close" instead of having them be individually tied to keyboard and controller tabs.

* Added messages for inaccessible inputs

Also added better checking for inputs we don't have images for.

---------

Co-authored-by: LifeHckr <jarodthereal@gmail.com>
* Changed text for 'Quit' Button to 'Quit Game'

Changed the line in the translation file to make it more clear that the user will be quitting the game. Also changed the translation entry to reflect this

* Fixed typo

Changed quit game translation from japanese to chinese simplified

* Reordered buttons

Swapped position of quit game and quit to title

* Update focus neighbors

---------

Co-authored-by: Rmojarro1 <48000819+Rmojarro1@users.noreply.github.com>
* Smooth out end of battle

Pause chart scrolling and tween fade last enemy(s)
Allow audio to continue if it doesn't need to be stopped on battle end and chest open

* Prototype score screen

* Added money vars

Saveable player money
Enemies have a base money amount

* Money implemented

A player can gain money from battle
TODO: Where to see current money
TODO: What to use money on

* Update inventory to show money
Added customizable progression in levels
Added ability for some stages to only appear in certain y heights
* Beginnings of a tutorial

TutorialSong, chart and battle
Created necessary nodes and scenes
Added first play to config

* TUTORIAL

Initial tutorial finished
Initial tutorial flow finished
Transitions out of tutorial finished
Correctly updates config when finished

* Adding end of tutorial impossible fight

* Adjust input guide transparency

* Add Tutorial Song to credits

* Added button to go to Tutorial

Button is only visible in How To Play when accessed from title screen
Again fix placing notes at beat 0

* Added countdown into song start

Added countdown for song start and unpause
Added slight hack to improve arrow tween sync across full song loops

* Implemented Tutorial impossible boss fight

Added song attribution <3 Kevin MacLeod

* Slowed down player loss
* Initial Enemy hp changes

* General ~4x health and damage across the board

In order to make notes feel more unique than the 1 damage they were initially dealing, I had to give them more unique values. Generally this means that I multiplied all the values by ~4. This includes player health, enemy health, player damage, and enemy damage.

* massive quarter note buffs!!!

* Player hp and relic balancing

did not fix vinyl record double proccing boss effect

* Changed riff wording to loop, updated vinyl record outline

* Revert rewording Vinyl Record tooltip

---------

Co-authored-by: LifeHckr <jarodthereal@gmail.com>
Rebalance player hp and damage taken
Actual tooltip text is handled in translation, keyed by name
Effigy no longer errors from taking damage from a null source
The death message no longer plays multiple times
* Added loose change

Also appears on the score screen as a flat addition to income

* Refactor Loose Change increase display

Add relic bonus directly into BattleScore
Fix issue where battleend could be called multiple times
Fix issue where min stage heights weren't being applied correctly

* Added spiked shield

* Added translations for previous relics

* Added lucky dice

* Added shortcut

Possible fixes:
- should maybe show on the map that the player has a charge of this relic
- I don't know if the tooltip is strangely worded, maybe could use a change

* updated to shortcut to work between saves

* Refine Shortcut Logic

This should be more elegant?
Especially if we add any other sources of shortcuts.
Only faulty aspect, is if we change values later, save files won't be accurate across versions, but whatever, because saves are readable text.

* Added second pick

* Added broken drumstick

- need to make damage scale with what act the player is on

* Added blood money

---------

Co-authored-by: LifeHckr <jarodthereal@gmail.com>
* Update: Health Bar Color Attempt

Changelog
-> Flipped and adjusted the health gradient
-> Health Bar now tints and eventually turns red when the bar is low.
-> Needs more polish as tinting the color gradient isn't ideal.

* Change HP Gradient By a Step

Directly changing modulate for this causes issue with other modulate effects

* Added HP Over and Under Sprites

* Tweak Resource Uniqueness

* Update HealthBar_Under.png

* Added NPB Sprites

---------

Co-authored-by: Quinn-Hub <56490493+Quinn-Hub@users.noreply.github.com>
* Simplify note owner

This never needs to be in the constructor
Added SetOwner function

* Separate Adding Note logic

Player notes now are sorted correctly
Scaffolding AddConcurrentNote

* Refactored placement to take advantage of sorting

Consider this change experimental, not 100% sure the SpawnNotesAtBeat loop works exactly as intended.

* Enemies can add concurrent notes

Temperamental conditions
Notes in the first visible parts of the chart have to be added on battle start, with a 1 loop offset
Otherwise, they HAVE to be added OnLoop, with beatPos set and loop 0
They cannot overwrite player notes, will throw a completely safe warning

* Implemented sample GWS note

* Added Applying note types

Any puppet can apply note types to base notes
Limitations: Notes are only applied to notes that had EnemyBase. Notes can only be applied randomly.

* Index OOB fix
* Added money note

Deals no damage, but grants money based on timing

* Added combo note
* Add GodotSteam & GodotSteamC#Bindings

These are slightly modified according to the changes outlined in LauraWebdev/GodotSteam_CSharpBindings#43

* Initial Steam achievements!

Added achievement for tutorial and boss 1

* Pause on Steam Overlay Open

Ignore controller input
Open pause menu in necessary scenes

* Add support for emptyPockets & vampire achievements

* Add Money and Notes Placed support

Finishes steam integration for now

---------

Co-authored-by: LifeHckr <jarodthereal@gmail.com>
* Update: Rough Draft of Credits

Changelog
-> Changed redirect to options menu scene to my "CreditsOptionTest" scene to represent how we can use the credits button in the options.
-> Added functionality of entering and exiting the credits menu
-> Made a rough draft of the credits menu

* Update: Scrolling Credits Menu

Changelog
-> Added vertical scrolling and fadeout
-> Reused assets to make a nice relaxing background.

* Clean up credits scene and script

---------

Co-authored-by: Quinn-Hub <56490493+Quinn-Hub@users.noreply.github.com>
* Add new wave shader

It doesnt work yet

* Added Correct Gradient resource to fill

---------

Co-authored-by: Thomas Wessel <turpleturtle12@gmail.com>
* Created Event, Elite, and Shop Handling

Created Elite stages

MapArea and StageProducer should now be ready for new planned stages

* Added Sprites

Added Elite, Shop, and Event map icons
Added money icon

* Flipped Shop and Money sprites

* Setting Up second area level

Also tweaking cartographer camera scroll

* Fix Effect Application

Effects aren't placed at <= 0 hp
Battle Director effectively handles false status application
Battle director creates instances of status effects for each enemy, if multiple
Renamed GetInstance for clarity

* Added PFly effects

PFly adds shield after death and from enemy note
Updated GWS note icon for easier visibility

* Added BossBlood Effects

Extra damage on miss/ok and heal
* Update: Initial Draft of Shop

Changelog
-> Shop functionality seems to work fine. Needs update for visuals

* Renovate Shop

Reworked shop scene and script
Made removal slightly portable, would like to eventually make it a separate menu to be reusable.

* Add Shop transition

* Minor cleanup

Practice better null checking
Adjust removal panel, decrease size of options section

* Clear description after note removal

---------

Co-authored-by: Quinn-Hub <56490493+Quinn-Hub@users.noreply.github.com>
* Event room added

currently not accessible in the game, but can be tested through running the scene

* added translations to event

* Fix up EventScene

Prep for eventual integration

* Event outcomes added

* First event added

I don't see any reasons why this shouldn't work, but I haven't tested it

* events now on the map, events now have prerequisites

Hope you like Italian, I'm making spaghetti

* 2 events, events now have self reference 🍝

Added parmesan to the spaghetti

* Game now saves MaxComboBar, added field medic event

We never actually needed to save MaxComboBar since energy drink was an onPickup effect. With this event, we now need to save the MaxComboBar value between sessions.

Also adjusted event 2's translations and healing effect since I messed up both of those.

* Finished event 2

Now no longer costs money to play. All spin odds are equal chance to occur. Wheel colors are synced to events, in case we decide to add art to each segment.

4 positive events, 2 negative events

* async? more like not async

if we have any events that have multiple different text outputs based on RNG we should set their initial output to ""

* Refine event scene

EventActions take EventScene as a node
Conditions and actions can be null instead of holding a func point to () => true
Handle continue button in scene instead of ContinuePressed

* Fix Wheel event not resetting

Events pull from a common reference, so modifying them modifies future uses.

* Simplify EventScene Process

Better handling different continue container for grab focus

* Goodbye heathcliff cat, you will be missed

Don't forget to RSVP to his funeral.

---------

Co-authored-by: LifeHckr <jarodthereal@gmail.com>
* Added art for all relics

* Added coupon

* Added translations to coupon

I always forget to do this. Chinese gamers probably hate me
Added a shop refresh function

If needed this solution can be refined later.
We still have an issue with the 10th character resetting completely though and idk why
…215)

* Added turtle boss

* Added cyber fox

* Add in the DIG Goblin (Called it gobbler after their team name)

* Added Holograeme

* Created an AutoPlay system

* Added PlayerDisabled bool

* Added Type to NoteHit event args

* Fix occasional floating point imprecision

Modulo in beat wrapping should be last operation

* Add shape dudes

* Added Spider Enemy

* Added Squirkel

* Added Elite Mushroom

* Finished mk1 Holograeme fight

* Add dll to gitignore

* Remove temp Event Assets

* Tweaked Events and Normal Battles selection

Events and normal battles are pooled, so neither repeat until the pool has been exhausted.
Added event pool and battle pool to save file.

* Keythulu boss (#213)

* Added boss Keythulu

* Boss now uses mind crush instead of poison

Mind Crush counts down every loop and does guaranteed 1000 dmg to target

* Glam up GWS fight

* Glam BossBlood Chart

* Added mechanics to fox and turtle (#214)

* Added dodge, dodge added to cyberfox

Dodge: 50% chance to not take damage and remove a charge/stack

* Update fly song

Better loops, better mappings, what else could you want?

* Added full reset debug button

0 on title screen

* Adding LWS Enemy (#216)

Co-authored-by: cornerloan <connorlowe21@gmail.com>
Co-authored-by: LifeHckr <jarodthereal@gmail.com>
Co-authored-by: Rmojarro1 <48000819+Rmojarro1@users.noreply.github.com>
Co-authored-by: Connor Lowe <74088480+cornerloan@users.noreply.github.com>
Co-authored-by: Quinn-Hub <56490493+Quinn-Hub@users.noreply.github.com>
* Playtest Prep Bug Fixes

Fix EventScene not correctly using event pool
Fix ShopScene losing focus after buying note or relic
Make Debug Kill ignore mitigation effects

* Added Scoring English Translations

* Fix Export Issues

* Corrected file names and file existence check

Rename Spider.ogg

* Fix Enemy Scenes

Turtle(s) fixed
Status containers moved up to be visible

* Added New City Background

Also some tag along scene updates

* Fix focus issues

Make sure scenes can regain focus if lost
Rework shop items to make refreshing easier, and to readd old solution for getting next focus
Change reward select to show disabled accept button when no selection is made

* Moderately Improve Title Screen load time

* Adjust Cartographer Camera

* Adjust Translations and Wordings

Tutorial text reduced.
Max bar decreases are changed to say the bar fills faster.
Bandage reworded to better indicate it is used, not that it needs to be use.

* Update Chinese Translation

Should get checked over by native speaker before launch.

* Add Level Transition BG

* Update README.md

*Added Bandit Event sprite
@coderabbitai
Copy link

coderabbitai bot commented May 19, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

108 files out of 217 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@collectioncard collectioncard added the enhancement New feature or request label May 19, 2025
@collectioncard collectioncard added this to the Launch Milestone 2 milestone May 19, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds music chart resources and import settings for new songs as part of Milestone 2

  • Introduces .tres song maps defining note timing and lane assignments for seven tracks
  • Adds or updates .ogg.import configurations to set looping and metadata for audio files, including one UID update

Reviewed Changes

Copilot reviewed 511 out of 511 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Audio/songMaps/Mushroom.tres New note chart resource for "Mushroom"
Audio/songMaps/KeythuluSong.tres New note chart resource for "KeythuluSong"
Audio/songMaps/HoloRepeat.tres New note chart resource for "HoloRepeat"
Audio/songMaps/Gobbler.tres New note chart resource for "Gobbler"
Audio/songMaps/FrostWaltz.tres New note chart resource for "FrostWaltz"
Audio/songMaps/EcholaneSong.tres New note chart resource for "EcholaneSong"
Audio/songMaps/CyberFoxSong.tres New note chart resource for "CyberFoxSong"
Audio/*.ogg.import New import presets for all added audio assets
Audio/Song2.ogg.import Updated UID in import settings
Comments suppressed due to low confidence (2)

Audio/songMaps/Mushroom.tres:78

  • These new song maps involve critical timing and lane logic. Consider adding automated tests to validate that UpLaneData, DownLaneData, etc., match expected beat order and contain no duplicate or missing entries.
UpLaneData = Array[ExtResource("1_n1l5w")]([SubResource("Resource_ymucf"), SubResource("Resource_bmgju"), SubResource("Resource_sosma"), SubResource("Resource_3retf")])

Audio/Song2.ogg.import:5

  • The importer UID was changed without regenerating the file hash in the path. Verify that the new UID matches the actual imported file to avoid broken references.
uid="uid://bv7lgo2e8wu2j"

Comment on lines +128 to +131
UpLaneData = [SubResource("Resource_rclq0"), SubResource("Resource_d15sy"), SubResource("Resource_xylpo"), SubResource("Resource_c4e5y"), SubResource("Resource_7lbis"), SubResource("Resource_8usgo")]
DownLaneData = [SubResource("Resource_wxfu7"), SubResource("Resource_cjafy"), SubResource("Resource_jdotv"), SubResource("Resource_per1x"), SubResource("Resource_lw4uc"), SubResource("Resource_nxcmx")]
LeftLaneData = [SubResource("Resource_x0uap"), SubResource("Resource_1m0i6"), SubResource("Resource_1mpgo"), SubResource("Resource_iuho0"), SubResource("Resource_uj1b6"), SubResource("Resource_fi760")]
RightLaneData = [SubResource("Resource_1fc0d"), SubResource("Resource_0vl64"), SubResource("Resource_j64im"), SubResource("Resource_t15ay"), SubResource("Resource_v3dna"), SubResource("Resource_8lcjo")]
Copy link

Copilot AI May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Array assignments use the shorthand [...] here but the other charts use explicit Array[ExtResource(...)]([...]). Consider unifying to the same syntax for consistency and readability.

Suggested change
UpLaneData = [SubResource("Resource_rclq0"), SubResource("Resource_d15sy"), SubResource("Resource_xylpo"), SubResource("Resource_c4e5y"), SubResource("Resource_7lbis"), SubResource("Resource_8usgo")]
DownLaneData = [SubResource("Resource_wxfu7"), SubResource("Resource_cjafy"), SubResource("Resource_jdotv"), SubResource("Resource_per1x"), SubResource("Resource_lw4uc"), SubResource("Resource_nxcmx")]
LeftLaneData = [SubResource("Resource_x0uap"), SubResource("Resource_1m0i6"), SubResource("Resource_1mpgo"), SubResource("Resource_iuho0"), SubResource("Resource_uj1b6"), SubResource("Resource_fi760")]
RightLaneData = [SubResource("Resource_1fc0d"), SubResource("Resource_0vl64"), SubResource("Resource_j64im"), SubResource("Resource_t15ay"), SubResource("Resource_v3dna"), SubResource("Resource_8lcjo")]
UpLaneData = Array[SubResource]([SubResource("Resource_rclq0"), SubResource("Resource_d15sy"), SubResource("Resource_xylpo"), SubResource("Resource_c4e5y"), SubResource("Resource_7lbis"), SubResource("Resource_8usgo")])
DownLaneData = Array[SubResource]([SubResource("Resource_wxfu7"), SubResource("Resource_cjafy"), SubResource("Resource_jdotv"), SubResource("Resource_per1x"), SubResource("Resource_lw4uc"), SubResource("Resource_nxcmx")])
LeftLaneData = Array[SubResource]([SubResource("Resource_x0uap"), SubResource("Resource_1m0i6"), SubResource("Resource_1mpgo"), SubResource("Resource_iuho0"), SubResource("Resource_uj1b6"), SubResource("Resource_fi760")])
RightLaneData = Array[SubResource]([SubResource("Resource_1fc0d"), SubResource("Resource_0vl64"), SubResource("Resource_j64im"), SubResource("Resource_t15ay"), SubResource("Resource_v3dna"), SubResource("Resource_8lcjo")])

Copilot uses AI. Check for mistakes.
[params]

loop=false
loop_offset=0
Copy link

Copilot AI May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Other import files use a float literal for loop_offset (e.g., 0.0). For consistency, consider using 0.0 here as well.

Suggested change
loop_offset=0
loop_offset=0.0

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@LifeHckr LifeHckr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not gonna go through 24k+ lines of code, since github is crashing trying to load it anyways, hope its all good!

@LifeHckr LifeHckr self-requested a review May 19, 2025 23:15
@LifeHckr LifeHckr merged commit 7ea76f9 into main May 19, 2025
2 checks passed
@LifeHckr LifeHckr deleted the milestone-2 branch May 21, 2025 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants