From 32cb666cd337b7dddf54aba33bd14e3eebe3f649 Mon Sep 17 00:00:00 2001 From: a327ex Date: Thu, 1 Apr 2021 22:59:26 -0300 Subject: [PATCH] Day 44 --- arena.lua | 1 + assets/sounds/Buff 14.ogg | Bin 0 -> 39963 bytes assets/sounds/Wind Bolt 14.ogg | Bin 0 -> 63286 bytes buy_screen.lua | 22 ++++-- devlog.md | 14 ++++ enemies.lua | 101 ++++++++++++++++++++++++-- engine/game/steering.lua | 2 +- main.lua | 6 +- objects.lua | 21 ++---- patch_notes.md | 10 +++ player.lua | 126 ++++++++++----------------------- todo | 32 +++++---- 12 files changed, 202 insertions(+), 133 deletions(-) create mode 100644 assets/sounds/Buff 14.ogg create mode 100644 assets/sounds/Wind Bolt 14.ogg diff --git a/arena.lua b/arena.lua index febeb26..556c750 100644 --- a/arena.lua +++ b/arena.lua @@ -31,6 +31,7 @@ function Arena:on_enter(from, level, units) self.main:disable_collision_between('enemy_projectile', 'enemy_projectile') self.main:enable_trigger_between('projectile', 'enemy') self.main:enable_trigger_between('enemy_projectile', 'player') + self.main:enable_trigger_between('player', 'enemy_projectile') self.damage_dealt = 0 self.damage_taken = 0 diff --git a/assets/sounds/Buff 14.ogg b/assets/sounds/Buff 14.ogg new file mode 100644 index 0000000000000000000000000000000000000000..14a443b7b9a9f39219d0543ef8a8c0dfeb626708 GIT binary patch literal 39963 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 10 end, function() + if self.headbutt_charging or self.headbutting then return end + self.headbutt_charging = true + self.t:tween(2, self.color, {r = fg[0].r, b = fg[0].b, g = fg[0].g}, math.cubic_in_out, function() + self.t:tween(0.25, self.color, {r = orange[0].r, b = orange[0].b, g = orange[0].g}, math.linear) + self.headbutt_charging = false + headbutt1:play{pitch = random:float(0.95, 1.05), volume = 0.2} + self.headbutting = true + self.last_headbutt_time = love.timer.getTime() + self:set_damping(0) + self:apply_steering_impulse(300, self:angle_to_object(main.current.player), 0.75) + self.t:after(0.75, function() + self.headbutting = false + end) + end) + end) + elseif self.tank then + self.color = yellow[0]:clone() + elseif self.shooter then + self.color = white[0]:clone() + elseif self.spawner then + self.color = purple[0]:clone() + end end @@ -21,6 +60,15 @@ function Seeker:update(dt) if main.current.mage_level == 2 then self.buff_def_a = -30 elseif main.current.mage_level == 1 then self.buff_def_a = -15 else self.buff_def_a = 0 end + if self.speed_boosting then + local n = math.remap(love.timer.getTime() - self.speed_boosting, 0, 3, 1, 0.5) + self.buff_mvspd_m = (3 + 0.1*self.level)*n + if not self.speed_booster and not self.exploder and not self.headbutter and not self.tank and not self.shooter and not self.spawner then + self.color.r = math.remap(n, 1, 0.5, green[0].r, red[0].r) + self.color.g = math.remap(n, 1, 0.5, green[0].g, red[0].g) + self.color.b = math.remap(n, 1, 0.5, green[0].b, red[0].b) + end + end self:calculate_stats() if self.being_pushed then @@ -32,13 +80,20 @@ function Seeker:update(dt) self:set_angular_damping(0) end else - local player = main.current.player - self:seek_point(player.x, player.y) - self:wander(50, 100, 20) - self:steering_separate(16, main.current.enemies) - self:rotate_towards_velocity(0.5) + if self.headbutt_charging then + self:set_damping(10) + self:rotate_towards_object(main.current.player, 0.5) + elseif not self.headbutting then + local player = main.current.player + self:seek_point(player.x, player.y) + self:wander(50, 100, 20) + self:steering_separate(16, main.current.enemies) + self:rotate_towards_velocity(0.5) + end end self.r = self:get_angle() + + if self.area_sensor then self.area_sensor:move_to(self.x, self.y) end end @@ -64,6 +119,12 @@ function Seeker:on_collision_enter(other, contact) HitCircle{group = main.current.effects, x = x, y = y, rs = 6, color = fg[0], duration = 0.1} for i = 1, 2 do HitParticle{group = main.current.effects, x = x, y = y, color = self.color} end hit2:play{pitch = random:float(0.95, 1.05), volume = 0.35} + + elseif self.headbutting then + other:push(math.length(self:get_velocity())/4, other:angle_to_object(self)) + HitCircle{group = main.current.effects, x = x, y = y, rs = 6, color = fg[0], duration = 0.1} + for i = 1, 2 do HitParticle{group = main.current.effects, x = x, y = y, color = self.color} end + hit2:play{pitch = random:float(0.95, 1.05), volume = 0.35} end elseif other:is(Turret) then @@ -88,6 +149,27 @@ function Seeker:hit(damage) HitCircle{group = main.current.effects, x = self.x, y = self.y, rs = 12}:scale_down(0.3):change_color(0.5, self.color) main.current:enemy_killed() _G[random:table{'enemy_die1', 'enemy_die2'}]:play{pitch = random:float(0.9, 1.1), volume = 0.5} + + if self.speed_booster then + local enemies = self:get_objects_in_shape(self.area_sensor, main.current.enemies) + if #enemies > 0 then + buff1:play{pitch = random:float(0.95, 1.05), volume = 0.5} + HitCircle{group = main.current.effects, x = self.x, y = self.y, rs = 6, color = green[0], duration = 0.1} + for _, enemy in ipairs(enemies) do + LightningLine{group = main.current.effects, src = self, dst = enemy, color = green[0]} + enemy:speed_boost(3) + end + end + end + + if self.exploder then + shoot1:play{pitch = random:float(0.95, 1.05), volume = 0.4} + trigger:after(0.01, function() + for i = 1, 16 do + EnemyProjectile{group = main.current.main, x = self.x, y = self.y, color = blue[0], r = (i-1)*math.pi/8, v = 150 + 5*self.level, dmg = 2*self.dmg} + end + end) + end end end @@ -103,6 +185,12 @@ function Seeker:push(f, r) end +function Seeker:speed_boost(duration) + self.speed_boosting = love.timer.getTime() + self.t:after(duration, function() self.speed_boosting = false end, 'speed_boost') +end + + EnemyProjectile = Object:extend() @@ -137,6 +225,7 @@ function EnemyProjectile:die(x, y, r, n) for i = 1, n do HitParticle{group = main.current.effects, x = x, y = y, r = random:float(0, 2*math.pi), color = self.color} end HitCircle{group = main.current.effects, x = x, y = y}:scale_down() self.dead = true + proj_hit_wall1:play{pitch = random:float(0.9, 1.1), volume = 0.05} end diff --git a/engine/game/steering.lua b/engine/game/steering.lua index a4f341e..dd2058f 100644 --- a/engine/game/steering.lua +++ b/engine/game/steering.lua @@ -46,7 +46,7 @@ function Physics:steering_update(dt) self.side = self.heading:perpendicular() end self.apply_force_f:set(0, 0) - self.apply_impulse_f:set(0, 0) + -- self.apply_impulse_f:set(0, 0) end end diff --git a/main.lua b/main.lua index 6ae9ae6..fb49a7d 100644 --- a/main.lua +++ b/main.lua @@ -24,6 +24,7 @@ function init() ui_switch2 = Sound('Switch 3.ogg', s) ui_transition1 = Sound('Wind Bolt 8.ogg', s) ui_transition2 = Sound('Wind Bolt 12.ogg', s) + headbutt1 = Sound('Wind Bolt 14.ogg', s) error1 = Sound('Error 2.ogg', s) coins1 = Sound('Coins 7.ogg', s) coins2 = Sound('Coins 8.ogg', s) @@ -58,6 +59,7 @@ function init() confirm1 = Sound('80921__justinbw__buttonchime02up.ogg', s) heal1 = Sound('Buff 3.ogg', s) spawn1 = Sound('Buff 13.ogg', s) + buff1 = Sound('Buff 14.ogg', s) spawn_mark1 = Sound('Bonus 2.ogg', s) spawn_mark2 = Sound('Bonus.ogg', s) alert1 = Sound('Click.ogg', s) @@ -282,6 +284,8 @@ function init() [3] = {'blade', 'outlaw', 'elementor', 'psykeeper', 'spellblade', 'engineer'}, } + non_attacking_characters = {'cleric', 'stormweaver', 'squire', 'chronomancer', 'sage'} + character_tiers = { ['vagrant'] = 1, ['swordsman'] = 1, @@ -352,7 +356,7 @@ function init() } level_to_tier_weights = { - [1] = {85, 10, 5}, + [1] = {90, 10, 0}, [2] = {80, 15, 5}, [3] = {75, 20, 5}, [4] = {70, 20, 10}, diff --git a/objects.lua b/objects.lua index 766142e..2c79fcf 100644 --- a/objects.lua +++ b/objects.lua @@ -48,11 +48,11 @@ function LightningLine:init(args) self.max_offset = 8 self:generate() self.t:tween(0.1, self, {w = 1}, math.linear, function() self.dead = true end) - self.color = blue[0] + self.color = args.color or blue[0] HitCircle{group = main.current.effects, x = self.src.x, y = self.src.y, rs = 6, color = fg[0], duration = 0.1} - for i = 1, 2 do HitParticle{group = main.current.effects, x = self.src.x, y = self.src.y, color = blue[0]} end + for i = 1, 2 do HitParticle{group = main.current.effects, x = self.src.x, y = self.src.y, color = self.color} end HitCircle{group = main.current.effects, x = self.dst.x, y = self.dst.y, rs = 6, color = fg[0], duration = 0.1} - HitParticle{group = main.current.effects, x = self.dst.x, y = self.dst.y, color = blue[0]} + HitParticle{group = main.current.effects, x = self.dst.x, y = self.dst.y, color = self.color} end @@ -214,20 +214,6 @@ function Unit:show_infused(n) end -function Unit:show_squire(n) - self.effect_bar.hidden = false - self.effect_bar.color = purple[0] - self.t:after(n or 4, function() self.effect_bar.hidden = false end, 'effect_bar') -end - - -function Unit:show_chronomancer(n) - self.effect_bar.hidden = false - self.effect_bar.color = purple[0] - self.t:after(n or 2, function() self.effect_bar.hidden = false end, 'effect_bar') -end - - function Unit:calculate_damage(dmg) if self.def >= 0 then dmg = dmg*(100/(100+self.def)) else dmg = dmg*(2 - 100/(100+self.def)) end @@ -300,6 +286,7 @@ function Unit:calculate_stats(first_run) self.def = (self.base_def + self.class_def_a + self.buff_def_a)*self.class_def_m*self.buff_def_m for _, class in ipairs(self.classes) do self.class_mvspd_m = self.class_mvspd_m*class_stat_multipliers[class].mvspd end + self.max_v = (self.base_mvspd + self.class_mvspd_a + self.buff_mvspd_a)*self.class_mvspd_m*self.buff_mvspd_m self.v = (self.base_mvspd + self.class_mvspd_a + self.buff_mvspd_a)*self.class_mvspd_m*self.buff_mvspd_m end diff --git a/patch_notes.md b/patch_notes.md index f3cab9d..eca6609 100644 --- a/patch_notes.md +++ b/patch_notes.md @@ -1,3 +1,13 @@ Release Patch Notes Added a spawn marker before enemies spawn to help with avoiding enemies spawning on top of the player +Prevent spawning of units that cost 3 or more gold on the first level +Prevent spawning of only units that don't attack on the first level +Reworked position based units so that position in the snake doesn't matter anymore + Chronomancer now gives +10/20/30% attack speed to all allies + Psykeeper now stores damage taken by all allies up to 10/20/30% its max HP and redistributes it as healing + Squire now gives +5/10/15% damage and defense to all allies +Added enemy modifiers + green - Grant nearby enemies a speed boost on death + blue - Explode into projectiles on death + orange - Charge up and headbutt towards the player at increased speed and damage diff --git a/player.lua b/player.lua index 54e3d06..0d54138 100644 --- a/player.lua +++ b/player.lua @@ -81,13 +81,10 @@ function Player:init(args) self.last_heal_time = love.timer.getTime() self.t:every(2, function() - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - if (table.any(followers, function(v) return v.hp <= 0.5*v.max_hp end) or (leader.hp <= 0.5*leader.max_hp)) and love.timer.getTime() - self.last_heal_time > 6 then + local all_units = self:get_all_units() + if table.any(all_units, function(v) return v.hp <= 0.5*v.max_hp end) and love.timer.getTime() - self.last_heal_time > 6 then self.last_heal_time = love.timer.getTime() - if self.leader then self:heal(0.1*self.max_hp*(self.heal_effect_m or 1)) else self.parent:heal(0.1*self.parent.max_hp*(self.heal_effect_m or 1)) end - for _, f in ipairs(followers) do f:heal(0.1*f.max_hp*(self.heal_effect_m or 1)) end + for _, unit in ipairs(all_units) do unit:heal(0.1*unit.max_hp*(self.heal_effect_m or 1)) end heal1:play{pitch = random:float(0.95, 1.05), volume = 0.5} end end) @@ -183,21 +180,6 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.squire - self.t:every(8, function() - self.applying_buff = true - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - local next_character = followers[(self.follower_index or 0) + 1] - local previous_character = followers[(self.follower_index or 0) - 1] - if next_character then next_character:squire_buff(8) end - if previous_character then previous_character:squire_buff(8) end - self.t:after(8, function() self.applying_buff = false end, 'squire_buff_apply') - heal1:play{pitch = random:float(0.95, 1.05), volume = 0.5} - if next_character then next_character:heal(0.1*next_character.max_hp*(self.heal_effect_m or 1)) end - if previous_character then previous_character:heal(0.1*previous_character.max_hp*(self.heal_effect_m or 1)) end - end) - elseif self.character == 'cannoneer' then self.color = character_colors.cannoneer self:set_as_rectangle(9, 9, 'dynamic', 'player') @@ -246,16 +228,6 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.chronomancer - self.t:every(2, function() - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - local next_character = followers[(self.follower_index or 0) + 1] - local previous_character = followers[(self.follower_index or 0) - 1] - if next_character then next_character:chronomancer_buff(2) end - if previous_character then previous_character:chronomancer_buff(2) end - end) - elseif self.character == 'spellblade' then self.color = character_colors.spellblade self:set_as_rectangle(9, 9, 'dynamic', 'player') @@ -272,21 +244,6 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.psykeeper - self.psykeeper_heal = 0 - self.t:every(8, function() - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - - if self.psykeeper_heal > 0 then - local heal_amount = math.floor(self.psykeeper_heal/(#followers+1)) - if self.leader then self:heal(heal_amount*(self.heal_effect_m or 1)) else self.parent:heal(heal_amount*(self.heal_effect_m or 1)) end - for _, f in ipairs(followers) do f:heal(heal_amount*(self.heal_effect_m or 1)) end - heal1:play{pitch = random:float(0.95, 1.05), volume = 0.5} - self.psykeeper_heal = 0 - end - end) - elseif self.character == 'engineer' then self.color = character_colors.engineer self:set_as_rectangle(9, 9, 'dynamic', 'player') @@ -317,39 +274,16 @@ function Player:update(dt) self:update_game_object(dt) if self.character == 'squire' then - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - local next_character = followers[(self.follower_index or 0) + 1] - local previous_character = followers[(self.follower_index or 0) - 1] - if self.applying_buff then - if next_character then - next_character.squire_dmg_a = 10 - next_character.squire_def_a = 25 - end - if previous_character then - previous_character.squire_dmg_a = 10 - previous_character.squire_def_a = 25 - end - else - if next_character then - next_character.squire_dmg_a = 0 - next_character.squire_def_a = 0 - end - if previous_character then - previous_character.squire_dmg_a = 0 - previous_character.squire_def_a = 0 - end + local all_units = self:get_all_units() + for _, unit in ipairs(all_units) do + unit.squire_dmg_m = 1 + 0.05*self.level + unit.squire_def_m = 1 + 0.05*self.level end - elseif self.character == 'chronomancer' then - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - local next_character = followers[(self.follower_index or 0) + 1] - local previous_character = followers[(self.follower_index or 0) - 1] - if next_character then next_character.chronomancer_aspd_m = 1.25 end - if previous_character then previous_character.chronomancer_aspd_m = 1.25 end + local all_units = self:get_all_units() + for _, unit in ipairs(all_units) do + unit.chronomancer_aspd_m = 1 + 0.10*self.level + end end if table.any(self.classes, function(v) return v == 'ranger' end) then @@ -391,10 +325,10 @@ function Player:update(dt) else self.enchanter_dmg_m = 1 end end - self.buff_dmg_a = (self.squire_dmg_a or 0) - self.buff_def_a = (self.squire_def_a or 0) + (self.warrior_def_a or 0) + self.buff_def_a = (self.warrior_def_a or 0) self.buff_aspd_m = (self.chronomancer_aspd_m or 1) - self.buff_dmg_m = (main.current.enchanter_dmg_m or 1) + self.buff_dmg_m = (self.squire_dmg_m or 1)*(main.current.enchanter_dmg_m or 1) + self.buff_def_m = (self.squire_def_m or 1) self.buff_area_size_m = (self.nuker_area_size_m or 1) self.buff_area_dmg_m = (self.nuker_area_dmg_m or 1) self:calculate_stats() @@ -492,7 +426,9 @@ function Player:on_collision_enter(other, contact) other:push(random:float(25, 35), self:angle_to_object(other)) if self.character == 'vagrant' or self.character == 'psykeeper' then other:hit(2*self.dmg) else other:hit(self.dmg) end - self:hit(other.dmg) + if other.headbutting then + self:hit((4 + math.floor(other.level/3))*other.dmg) + else self:hit(other.dmg) end HitCircle{group = main.current.effects, x = x, y = y, rs = 6, color = fg[0], duration = 0.1} for i = 1, 2 do HitParticle{group = main.current.effects, x = x, y = y, color = self.color} end for i = 1, 2 do HitParticle{group = main.current.effects, x = x, y = y, color = other.color} end @@ -511,7 +447,18 @@ function Player:hit(damage) camera:shake(4, 0.5) main.current.damage_taken = main.current.damage_taken + actual_damage - if self.character == 'psykeeper' then self.psykeeper_heal = self.psykeeper_heal + actual_damage end + local psykeeper = self:get_unit'psykeeper' + if psykeeper then + psykeeper.stored_heal = psykeeper.stored_heal + actual_damage + if psykeeper.stored_heal > (0.1*self.level*psykeeper.max_hp) then + local all_units = self:get_all_units() + for _, unit in ipairs(all_units) do + unit:heal(psykeeper.stored_heal*(self.heal_effect_m or 1)) + end + psykeeper.stored_heal = 0 + heal1:play{pitch = random:float(0.95, 1.05), volume = 0.5} + end + end if self.hp <= 0 then hit4:play{pitch = random:float(0.95, 1.05), volume = 0.5} @@ -542,18 +489,23 @@ end function Player:chain_infuse(duration) self.chain_infused = true - self:show_infused(duration or 2) self.t:after(duration or 2, function() self.chain_infused = false end, 'chain_infuse') end -function Player:squire_buff(duration) - self:show_squire(duration or 2) +function Player:get_all_units() + local followers + local leader = (self.leader and self) or self.parent + if self.leader then followers = self.followers else followers = self.parent.followers end + return {leader, unpack(followers)} end -function Player:chronomancer_buff(duration) - self:show_chronomancer(duration or 2) +function Player:get_unit(character) + local all_units = self:get_all_units() + for _, unit in ipairs(all_units) do + if unit.character == character then return unit end + end end diff --git a/todo b/todo index e540651..256e5ef 100644 --- a/todo +++ b/todo @@ -1,26 +1,24 @@ * 1. Enemy spawn points should have some markers before enemy spawns, or should avoid spawning near the player at all -2. Prevent spawning of units that cost 3 on first level -3. Prevent spawning of units that don't attack on first level +* 2. Prevent spawning of units that cost 3 on first level +* 3. Prevent spawning of units that don't attack on first level -4. Rework position based units so that position in the snake doesn't matter - Chronomancer: +10%/20%/30% attack speed to all allies - Psykeeper: stores damage taken by all allies up to 20% max HP and redistributes it as healing - Squire: +5%/10%/15% damage and defense to all allies +* 4. Rework position based units so that position in the snake doesn't matter + * Chronomancer: +10%/20%/30% attack speed to all allies + * Psykeeper: stores damage taken by all allies up to 50% its max HP and redistributes it as healing + * Squire: +5%/10%/15% damage and defense to all allies -5. Stat details to each unit when hovering over it in the party section +7. Enemy modifiers + * green - Grant nearby enemies a speed boost on death + * blue - Explode into projectiles on death + * orange - Charge up and headbutt towards the player at increased speed and damage + yellow - Resistance to knockback + white - Remain static and shoot projectiles + purple - Explodes into critters on death 6. Mini boss every 3rd level This is just a special enemy with more HP and ability to buff nearby enemies with modifiers, no additional AI or attack patterns ... aiming for ~5 different modifier combos that the boss uses -7. Enemy modifiers - Grant nearby enemies a speed boost on death - Grant nearby enemies a damage boost on death - Explode into projectiles on death - Charge up and headbutt towards the player at increased speed and damage - Resistance to knockback - ... aiming for about 8-10 of these - 8. Additional characters and classes 9. Lv.3 effects for every character Classes @@ -114,6 +112,9 @@ Call of the Void: +25% DoT damage ... more ideas will come later I'm sure, aiming for 30 total items +5. Stat and description details to each unit when hovering over it in the party section +6. Classes line on each unit's shop card, as well as on party section + 11. Steam integration: achievements, etc 12. Hovering over a party member should show which set they belong to and vice-versa 13. Show a unit DPS list like Underlord's to the right side of the screen @@ -128,6 +129,7 @@ Boss ideas Pretends to be dead, grants speed buffs to enemies after death, especially if the round has gone on for too long which means the player is surviving with 1 unit + Uses Psykino's tech to pull enemies together into a point and have that point move around and bounce on edges, thus having a ball of enemies moving around that occasionally explodes Map modifiers Wall spikes: walls damage you when you hit it