Skip to content

Green Missile Rework#58

Merged
blu-dev merged 6 commits into
devfrom
misfire-storage
Feb 5, 2022
Merged

Green Missile Rework#58
blu-dev merged 6 commits into
devfrom
misfire-storage

Conversation

@blu-dev

@blu-dev blu-dev commented Jan 30, 2022

Copy link
Copy Markdown
Contributor

This resolves #56 and resolves #57

Basically, gives Luigi a better/more predictable misfire and misfire storage.

Currently, Luigi's misfire is calculated at the end of the charge, before the launch, with a probability of 1/8.

However, you were not guaranteed to get a misfire once out of every 8 usages. Now, the misfire has the following behavior:

  • At the beginning of a match (or a training mode reset), a random number in the range [0, 7] (inclusive) is generated. This number designates how many more Green Missiles he must perform before getting a misfire. Misfires that go past their time limit and result in Luigi panting also count towards this number.
  • When Luigi is going to perform a misfire, the charge effects will be green, as shown:
    image
  • During a misfire charge, if you press either guard (shield), or guard hold (shield lock), the misfire will be stored and the effects will be replaced by regular charge effects. Every time you store a misfire, the damage multiplier for misfire is decreased by the following formula: max_damage = 25.0 * max(0.95^x, 0.8), where x is the number of times you have stored the same misfire, and 0.8 is the lower bound, meaning you can never go below 80% of the max damage (25.0). This is also scaled later on by how long you held the misfire for.
  • Misfire storage lasts across deaths.
  • Misfire has green effects for all of the missile part of the move, including green smoke trail
  • The green effects will show for a minimum of 3 frames. After the third frame, if you are pressing shield then it will be stored. This cannot be accidentally tap buffered, it checks the raw button input after the third frame.
  • Here is a video in action:
test.mp4

@github-actions

github-actions Bot commented Jan 30, 2022

Copy link
Copy Markdown

Download the artifacts for this pull request:

Only for Developers

@JoaoAlmeida20

Copy link
Copy Markdown
Contributor

Everything seems to be working as described, tested every detail listed including training mode resets the random number, luigi panting counting towards the counter, damage decay including the lower bound, storage lasting across deaths.
Animation looks a bit off if you put off cancelling a misfire charge until near the end where luigi is about to give up, as the animation sort of resets for a short bit to the standard charging part but then jumps back to him giving up quickly. Seems to have about the same timing it would have normally and works fine functionally so just a small note

@blu-dev

blu-dev commented Jan 31, 2022

Copy link
Copy Markdown
Contributor Author

Thanks for the feedback. I forgot to remove the effect at the right time, so I will resolve that in a little bit.

@techyCoder81

Copy link
Copy Markdown
Collaborator

Leaving this as a general comment (havent had time to actually do a review yet), but I wonder if it would be cool to add in ParamModule an entry for the "effect color" of each character's skin. So like, for example, luigi would have 8 values in a "colors" field that indicates what color any of his special effects should be based on skin slot. That would let us specify things like this, or like inkling's paint colors, in a more clean manner that would be consistent across characters. We could just call something like fighter.get_skin_color or fighter.get_effect_color to access it cleanly. Then any vfx we make will use those values. Might be a lot of work, might be worth it. Could always start with python-script-generated white vfx for all characters, and then when characters use them (like luigi or inkling) we can set real values. Users can change them if they have their own colors. Or we can make a special colors.json equivalent for this.

@black-calculus black-calculus left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

lgtm

@blu-dev blu-dev merged commit f478ae3 into dev Feb 5, 2022
@blu-dev

blu-dev commented Feb 6, 2022

Copy link
Copy Markdown
Contributor Author

Leaving this as a general comment (havent had time to actually do a review yet), but I wonder if it would be cool to add in ParamModule an entry for the "effect color" of each character's skin. So like, for example, luigi would have 8 values in a "colors" field that indicates what color any of his special effects should be based on skin slot. That would let us specify things like this, or like inkling's paint colors, in a more clean manner that would be consistent across characters. We could just call something like fighter.get_skin_color or fighter.get_effect_color to access it cleanly. Then any vfx we make will use those values. Might be a lot of work, might be worth it. Could always start with python-script-generated white vfx for all characters, and then when characters use them (like luigi or inkling) we can set real values. Users can change them if they have their own colors. Or we can make a special colors.json equivalent for this.

I don't really think that this is a worth while idea, since most people will be playing with cosmetic mods anyways.

@WuBoytH WuBoytH deleted the misfire-storage branch October 8, 2022 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vars::roy::TRAIL_EFFECT is turned off on death even if not chroy Give Luigi a green flash when misfire is on deck and let him store it

4 participants