diff --git a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction index b28dcf700..ba5cdd876 100644 --- a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction +++ b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction @@ -1,6 +1,6 @@ scoreboard players add @s attack.clock.i 1 -# TODO: this hitbox is inaccurate -- needs to be a bounding box that is NOT axis aligned +# TODO(40): this hitbox is inaccurate -- needs to be a bounding box that is NOT axis aligned # > make some functions to represent the shape and check if the player's coordinates pass the function checks # inputs: { rectangle_width, current_position, initial_position (bullet summon position) } data merge storage utils:damage { damage: 2, radius: 1 } @@ -9,6 +9,6 @@ function entity:utils/damage with storage utils:damage # Move while inside arena execute if entity @s[x=-25,dx=50,y=32,dy=10,z=-5,dz=23] run function entity:hostile/omega-flowey/attack/homing-vines/bullet/loop/move -# TODO: validate/determine a value for how long until the homing-vines bullets terminate +# TODO(41): validate/determine a value for how long until the homing-vines bullets terminate # Terminate after X seconds execute if score @s attack.clock.i matches 20.. run function entity:hostile/omega-flowey/attack/homing-vines/bullet/terminate diff --git a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/indicator/initialize.mcfunction b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/indicator/initialize.mcfunction index 44d13044a..59ad06f24 100644 --- a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/indicator/initialize.mcfunction +++ b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/indicator/initialize.mcfunction @@ -9,7 +9,7 @@ scoreboard players operation @s attack.bullets.total = #attack-homing-vines atta playsound omega-flowey:attack.homing-vines.blinking hostile @a ~ ~ ~ 3 1 1 # Randomize delta-x position to summon bullet at (x: player.Position.x, dx: [-15.00..15.00]) -# TODO: validate this dx range +# TODO(41): validate this dx range execute store result score @s attack.position.x run data get entity @s Pos[0] 100 execute store result score @s math.0 run random value -1500..1500 scoreboard players operation @s attack.position.x += @s math.0 diff --git a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/reset_scores.mcfunction b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/reset_scores.mcfunction index 8144b7f58..527cb6251 100644 --- a/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/reset_scores.mcfunction +++ b/datapacks/omega-flowey/data/entity/functions/hostile/omega-flowey/attack/homing-vines/reset_scores.mcfunction @@ -1,4 +1,5 @@ ## Set fake player scores back to defaults (if they were changed by a pre-initialize attack function) +# TODO(41): validate these attack parameters scoreboard players set #attack-homing-vines attack.bullets.total 1 # (13 / 1) + 1 = 13 + 1 = 14 indicators scoreboard players set #attack-homing-vines attack.executor.clock.length 13 diff --git a/datapacks/omega-flowey/data/utils/functions/math/vector/dot.mcfunction b/datapacks/omega-flowey/data/utils/functions/math/vector/dot.mcfunction index 4f27e1a5e..f36a2d6b9 100644 --- a/datapacks/omega-flowey/data/utils/functions/math/vector/dot.mcfunction +++ b/datapacks/omega-flowey/data/utils/functions/math/vector/dot.mcfunction @@ -1,4 +1,4 @@ -# TODO: remove the `vector.dot` function if we don't end up using it for the homing-vines hitbox +# TODO(40): remove the `vector.dot` function if we don't end up using it for the homing-vines hitbox # inputs: # u: vector: {x, y, z}: {x: float, y: float, z: float} # v: vector: {x, y, z}: {x: float, y: float, z: float}