From b4c3230cdc48cb6f8f235b1af58de168cd9bebc2 Mon Sep 17 00:00:00 2001 From: Deadzi06 Date: Mon, 10 Aug 2026 00:39:36 +0200 Subject: [PATCH] woody initial et horizontalhats variante --- scripts/battle/enemies/woody.lua | 5 ++--- scripts/battle/waves/horizontalhats.lua | 19 +++++++++++++++---- scripts/battle/waves/stackinghats.lua | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/scripts/battle/enemies/woody.lua b/scripts/battle/enemies/woody.lua index 3f98f1c..da9dd06 100644 --- a/scripts/battle/enemies/woody.lua +++ b/scripts/battle/enemies/woody.lua @@ -23,9 +23,8 @@ function Woody:init() -- List of possible wave ids, randomly picked each turn self.waves = { - "basic", - "aiming", - "movingarena" + "horizontalhats", + "stackinghats" } -- Dialogue randomly displayed in the enemy's speech bubble diff --git a/scripts/battle/waves/horizontalhats.lua b/scripts/battle/waves/horizontalhats.lua index 0f62694..c610314 100644 --- a/scripts/battle/waves/horizontalhats.lua +++ b/scripts/battle/waves/horizontalhats.lua @@ -1,12 +1,12 @@ local HorizontalHats, super = Class(Wave) - +wave_number = 1 function HorizontalHats:init() super.init(self) -- The duration of our wave, in seconds. (Defaults to `5`) - self.time = 7 + self.time = 4.5 self.count = 0 end @@ -14,7 +14,7 @@ function HorizontalHats:onStart() -- code here gets called at the start of the wave -- create a bullet in the center of the screen arena = Game.battle.arena - local x_positions = {arena.x - SCREEN_WIDTH/3.3, arena.x + SCREEN_WIDTH/3.3, arena.x - SCREEN_WIDTH/3.3} + local x_positions = {arena.x - SCREEN_WIDTH/4, arena.x + SCREEN_WIDTH/4, arena.x - SCREEN_WIDTH/4} local y_positions = {arena.y*0.73, arena.y*1, arena.y*1.25} self.collider1 = LineCollider(self, x_positions[2] + 10, y_positions[1], x_positions[2] + 10, y_positions[3]) self.collider2 = LineCollider(self, x_positions[1] - 10, y_positions[1], x_positions[1] - 10, y_positions[3]) @@ -22,7 +22,7 @@ function HorizontalHats:onStart() for i = 1, 3, 1 do local x = x_positions[i] local y = y_positions[i] - self.bullets[i] = self:spawnBullet("hatbulllet", x, y, 0, 6.7) + self.bullets[i] = self:spawnBullet("hatbulllet", x, y, 0, 0) self.bullets[i]:setScale(2.2) if (i == 1 or i == 3) then self.bullets[i].physics.direction = math.rad(0) @@ -30,6 +30,17 @@ function HorizontalHats:onStart() self.bullets[i].physics.direction = math.rad(180) end end + self.timer:script(function (wait) + for i = 1, 3, 1 do + if wave_number%2 == 0 then + self.bullets[i].physics.speed = 6.7 + wait(1/3) + else + self.bullets[i].physics.speed = 6.7 + end + end + end) + wave_number = wave_number + 1 super.onStart(self) end diff --git a/scripts/battle/waves/stackinghats.lua b/scripts/battle/waves/stackinghats.lua index 9ef5a07..a7ddaca 100644 --- a/scripts/battle/waves/stackinghats.lua +++ b/scripts/battle/waves/stackinghats.lua @@ -3,7 +3,7 @@ local StackingHats, super = Class(Wave) function StackingHats:init() super.init(self) -- The duration of our wave, in seconds. (Defaults to `5`) - self.time = 8 + self.time = 8.4 self.count = 1 end