Day 12-13

master
a327ex 2021-03-02 02:27:15 -03:00
parent f756d7a44e
commit d92f846836
4 changed files with 33 additions and 36 deletions

View File

@ -50,13 +50,20 @@ function Arena:on_enter(from, level)
WallCover{group = self.post_main, vertices = math.to_rectangle_vertices(self.x1, -40, self.x2, self.y1), color = bg[-1]}
WallCover{group = self.post_main, vertices = math.to_rectangle_vertices(self.x1, self.y2, self.x2, gh + 40), color = bg[-1]}
self.player = Player{group = self.main, x = gw/2, y = gh/2, leader = true, character = 'vagrant'}
for i, unit in ipairs(units) do
if i == 1 then
self.player = Player{group = self.main, x = gw/2, y = gh/2, leader = true, character = unit.character, level = unit.level}
else
self.player:add_follower(Player{group = self.main, character = unit.character, level = unit.level})
end
end
-- self.player:add_follower(Player{group = self.main, character = 'elementor'})
self.win_condition = random:table{'time', 'enemy_kill', 'wave'}
if self.win_condition == 'wave' then
self.level_to_max_waves = {
2, 2, random:int(2, 3),
1, 2, random:int(2, 3),
3, 3, 3, random:int(3, 4),
4, 4, 4, 4, random:int(4, 5),
5, 5, 5, 5, 5, random:int(5, 6),
@ -89,8 +96,8 @@ function Arena:on_enter(from, level)
elseif self.win_condition == 'enemy_kill' then
self.level_to_enemies_to_kill = {
16, 16, random:int(16, 18),
18, 18, 18, random:int(18, 20),
8, 12, random:int(14, 16),
16, 16, 18, random:int(18, 20),
20, 20, 20, 20, random:int(20, 22),
22, 22, 22, 22, 22, random:int(22, 24),
24, 26, 28, 30, 30, 32
@ -340,34 +347,7 @@ function Arena:spawn_n_enemies(p, j, n)
local o = self.spawn_offsets[(self.t:get_every_iteration('spawn_enemies_' .. j) % 5) + 1]
SpawnEffect{group = self.effects, x = p.x + o.x, y = p.y + o.y, action = function(x, y)
spawn1:play{pitch = random:float(0.8, 1.2), volume = 0.15}
if self.level == 1 then
Seeker{group = self.main, x = x, y = y, character = 'seeker'}
elseif self.level == 2 then
Seeker{group = self.main, x = x, y = y, character = 'seeker'}
elseif self.level == 3 then
elseif self.level == 4 then
elseif self.level == 5 then
elseif self.level == 6 then
elseif self.level == 7 then
elseif self.level == 8 then
elseif self.level == 9 then
elseif self.level == 10 then
elseif self.level == 11 then
elseif self.level == 12 then
elseif self.level == 13 then
elseif self.level == 14 then
elseif self.level == 15 then
elseif self.level == 16 then
elseif self.level == 17 then
elseif self.level == 18 then
elseif self.level == 19 then
elseif self.level == 20 then
elseif self.level == 21 then
elseif self.level == 22 then
elseif self.level == 23 then
elseif self.level == 24 then
elseif self.level == 25 then
end
Seeker{group = self.main, x = x, y = y, character = 'seeker', level = self.level}
end}
end, n, nil, 'spawn_enemies_' .. j)
end
@ -379,6 +359,7 @@ PostArenaScreen = Object:extend()
PostArenaScreen:implement(GameObject)
function PostArenaScreen:init(args)
self:init_game_object(args)
self.transparent = Color(0.1, 0.1, 0.1, 0.5)
end

View File

@ -313,3 +313,7 @@ based on what's actually in the code:
| Conjurer | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Enchanter | 1.2 | 1 | 1 | 1 | 1 | 1.2 | 1.2 |
| Psy | 1.5 | 1 | 1 | 1 | 1 | 0.5 | 1 |
# Day 12-13 - 28/02/21 & 01/03/21
I didn't work on anything.

View File

@ -64,9 +64,12 @@ function init()
rogue_crit1 = Sound('Dagger Stab (Flesh) 4.ogg', s)
rogue_crit2 = Sound('Sword hits another sword 6.ogg', s)
units = {}
gold = 0
main = Main()
main:add(Arena'arena')
main:go_to'arena'
main:go_to('arena', {first_run = true})
end

View File

@ -132,6 +132,7 @@ end
Unit = Object:extend()
function Unit:init_unit()
self.level = self.level or 1
self.hfx:add('hit', 1)
self.hfx:add('shoot', 1)
self.hp_bar = HPBar{group = main.current.effects, parent = self}
@ -196,13 +197,21 @@ end
function Unit:calculate_stats(first_run)
self.base_hp = 100
self.base_dmg = 10
if self:is(Player) then
self.base_hp = 100*math.pow(2, self.level-1)
self.base_dmg = 10*math.pow(2, self.level-1)
self.base_mvspd = 75
elseif self:is(Seeker) then
local x = self.level
local y = {0, 1, 4, 2, 3, 6, 3, 4, 8, 4, 5, 10, 5, 6, 12, 7, 8, 15, 9, 10, 18, 14, 15, 24, 25}
self.base_hp = 50 + 20*y[x]
self.base_dmg = 10 + 3*y[x]
self.base_mvspd = 70 + 2*y[x]
end
self.base_aspd_m = 1
self.base_area_dmg_m = 1
self.base_area_size_m = 1
self.base_def = 25
self.base_mvspd = 75
self.class_hp_a = 0
self.class_dmg_a = 0
self.class_def_a = 0