Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add mvp for finger-guns attack #58

Merged
merged 41 commits into from
Jan 7, 2024
Merged

add mvp for finger-guns attack #58

merged 41 commits into from
Jan 7, 2024

Conversation

TheAfroOfDoom
Copy link
Owner

@TheAfroOfDoom TheAfroOfDoom commented Jan 7, 2024

Summary

This PR adds the finger-guns attack. It includes:

  • attack functionality (commands)
  • models for the attack (finger-gun, finger-gun-bullet, finger-gun-blinking-line)
  • sounds for the attack

tbh this was pretty painful and slow to model but its finally done (or at least an MVP of it..). may revisit this? probably not, am "happy enough" with it for now


Reproducing in-game

function _:reset
function entity:hostile/omega-flowey/attack/finger-guns/start

Preview

models

finger-gun -- cocked finger-gun -- shot
image image
finger-gun-bullet finger-gun-laser
image image

animations

finger-gun -- grow finger-gun -- shoot
finger-gun-grow finger-gun-shoot
finger-gun-bullet - shoot
bullet-growing

attack

in-game -- before in-game -- after, player view
minecraft-old new-player-view
undertale in-game -- after, top-down view
undertale new-top-down

videos with sound

in-game -- before in-game -- after undertale
https://youtu.be/2IprmKr31pU?t=109 https://youtu.be/48PeWxDIuwk https://youtu.be/8jmptY4uCkk?t=89

Supplemental changes

…attack helper (`executor`/`indicator`/`bullet`)

- don't love the term `helper` to refer to all of the above..
- `x-bullets-upper` had a useless initialization of `attack.clock.length` in its `indicator` -- probably happened during #30
- e.g. "x position" -> "x-position"
- also don't copy `.md` files to Minecraft directory
- we were getting errors in the game output on `/reload`s due to `README.md` in the convenience (e.g. `_:attack`) directory not being .mcfunction files (or .mcmeta, etc)
- also rename `consoleLog` -> `consoleLogScore`
- wasn't actually hitting grounded players
- no need to passthrough consts as params when we can just specify them in the code directly
- makes it a little more immediately readable
- we already set `Rotation` in `laser/summon`
…cutor/indicator/presummon`

- had to also adjust where we store x/y/z positions as a result
- looks better
- this makes it so we dont have to modify the rest of the animation just for the attack to have a correctly flipped model :)
- also removes incorrect root animation frames
- move indicator inside arena z-bounds more for model to look better
- need duplicate `blank` / `moss_block` textures for this to work
- changed default variant to shot to avoid duplicating `polished_granite` texture
- add `variant=cocked` keyframe to `grow` animation to compensate for default variant changing
- should require no changes to omega-flowey code
- also decrease length indicator exists to match length of `shoot` animation (despawn indicator sooner)
- added #59
- added #60

- removed the TODO for "pull this clock index out into a score?" -- it will literally never matter
- removed the TODO for shootfacing -- we don't actually use any trig? (do we even use the `mathf` library??)
- removed the TODO for yarn 4. we're not going to do it, there's really no point as of now. yarn 3 is fine
tested by manually adding it to the boss_fight.phase.0 weights
- it broke the watch script on directories that coincidentally had both `m` & `d` in their path. e.g. `datapacks/.../random/...`
@TheAfroOfDoom TheAfroOfDoom merged commit 9769770 into main Jan 7, 2024
3 checks passed
@TheAfroOfDoom TheAfroOfDoom deleted the attack-finger-guns branch January 7, 2024 04:09
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.

1 participant