TheAfroOfDoom/omega-flowey-minecraft-remastered

validate `bomb` attack parameters

Opened this issue · 1 comments

run the attack (individually and during a boss fight) and analyze how the following properties feel:

bullet duration

currently they decay after ~2 seconds (39 ticks)

# TODO(): validate/determine a value for how long until the bomb bullets terminate
# Terminate after X seconds
execute if score @s attack.clock.i matches 39.. run function entity:hostile/omega-flowey/attack/bomb/bullet/terminate

really just make sure they despawn as soon as they are no longer visible / the explode animation ends

bullet fall speeds / spawn locations

they spawn at y=60:

and fall slowly, then fast according to the following code:

# Move down slowly during summon animation
execute if score @s attack.clock.i matches 0..15 run teleport @s ~ ~-0.5 ~
# Play falling sound once when we start falling faster
execute if score @s attack.clock.i matches 20 run function entity:hostile/omega-flowey/attack/bomb/bullet/loop/start_falling
# Move down faster during actual fall after a delay
execute if score @s attack.clock.i matches 20.. run teleport @s ~ ~-2.2 ~

fairly happy with this right now but feel free to tune it if you want to

score parameters

in reset_scores.mcfunction:

## Set fake player scores back to defaults (if they were changed by a pre-initialize attack function)
# TODO(): validate these attack parameters
scoreboard players set #attack-bomb attack.executor.clock.length 54
scoreboard players set #attack-bomb attack.executor.rate 6
scoreboard players set #attack-bomb attack.indicator.clock.length 2

most of these values should be solid, but double check anyway that they are accurate to Undertale's representation of the attack.


this is very much a "feels-based" ticket -- lock down final values for these properties

soft TODO that should live in another ticket: maybe add screen shake when the bombs explode/hit the floor? it's like that in Undertale, and we already have the system for it from attack/dentata-snakes