diff --git a/assets/scripts/artifacts/bag_of_holding.lua b/assets/scripts/artifacts/bag_of_holding.lua index 24aaf86..120955c 100644 --- a/assets/scripts/artifacts/bag_of_holding.lua +++ b/assets/scripts/artifacts/bag_of_holding.lua @@ -11,4 +11,4 @@ register_artifact("BAG_OF_HOLDING", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/deflector_shield.lua b/assets/scripts/artifacts/deflector_shield.lua index 89d1229..65b1a23 100644 --- a/assets/scripts/artifacts/deflector_shield.lua +++ b/assets/scripts/artifacts/deflector_shield.lua @@ -11,4 +11,4 @@ register_artifact("DEFLECTOR_SHIELD", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/gigantic_strength.lua b/assets/scripts/artifacts/gigantic_strength.lua index 0757e88..0fda009 100644 --- a/assets/scripts/artifacts/gigantic_strength.lua +++ b/assets/scripts/artifacts/gigantic_strength.lua @@ -11,4 +11,4 @@ register_artifact("GIGANTIC_STRENGTH", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/gold_converter.lua b/assets/scripts/artifacts/gold_converter.lua index 15f6ba0..95d581e 100644 --- a/assets/scripts/artifacts/gold_converter.lua +++ b/assets/scripts/artifacts/gold_converter.lua @@ -11,4 +11,4 @@ register_artifact("GOLD_CONVERTER", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/holy_grail.lua b/assets/scripts/artifacts/holy_grail.lua index 9f88a6b..d8fcb5e 100644 --- a/assets/scripts/artifacts/holy_grail.lua +++ b/assets/scripts/artifacts/holy_grail.lua @@ -11,4 +11,4 @@ register_artifact("HOLY_GRAIL", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/juicy_fruit.lua b/assets/scripts/artifacts/juicy_fruit.lua index a628812..f6e5815 100644 --- a/assets/scripts/artifacts/juicy_fruit.lua +++ b/assets/scripts/artifacts/juicy_fruit.lua @@ -9,4 +9,4 @@ register_artifact("JUICY_FRUIT", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/radiant_seed.lua b/assets/scripts/artifacts/radiant_seed.lua index 81398e6..9ffe4d5 100644 --- a/assets/scripts/artifacts/radiant_seed.lua +++ b/assets/scripts/artifacts/radiant_seed.lua @@ -9,4 +9,4 @@ register_artifact("RADIANT_SEED", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/repulsion_stone.lua b/assets/scripts/artifacts/repulsion_stone.lua index ce08a8f..42e186e 100644 --- a/assets/scripts/artifacts/repulsion_stone.lua +++ b/assets/scripts/artifacts/repulsion_stone.lua @@ -11,4 +11,4 @@ register_artifact("REPULSION_STONE", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/short_radiance.lua b/assets/scripts/artifacts/short_radiance.lua index 8a9cba5..cccbf93 100644 --- a/assets/scripts/artifacts/short_radiance.lua +++ b/assets/scripts/artifacts/short_radiance.lua @@ -13,4 +13,4 @@ register_artifact("SHORT_RADIANCE", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/artifacts/spiked_plant.lua b/assets/scripts/artifacts/spiked_plant.lua index 0993155..0c0fc6c 100644 --- a/assets/scripts/artifacts/spiked_plant.lua +++ b/assets/scripts/artifacts/spiked_plant.lua @@ -11,4 +11,4 @@ register_artifact("SPIKED_PLANT", { return nil end } -}); \ No newline at end of file +}); diff --git a/assets/scripts/cards/_debug.lua b/assets/scripts/cards/_debug.lua index c627c86..c4419c1 100644 --- a/assets/scripts/cards/_debug.lua +++ b/assets/scripts/cards/_debug.lua @@ -15,4 +15,4 @@ register_card("KILL", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/berserker_rage.lua b/assets/scripts/cards/berserker_rage.lua index 33a6e68..da2ad60 100644 --- a/assets/scripts/cards/berserker_rage.lua +++ b/assets/scripts/cards/berserker_rage.lua @@ -3,7 +3,7 @@ register_card("BERSERKER_RAGE", { description = "Gain " .. highlight("3 energy") .. ", but take 30% (-10% per level) of your HP as damage.", state = function(ctx) return "Gain " .. highlight("3 energy") .. ", but take " .. highlight(tostring(30 - ctx.level * 10) .. "%") .. " (" .. - tostring(get_player().hp * (0.3 - ctx.level * 0.1)) .. ") of your HP as damage." + tostring(get_player().hp * (0.3 - ctx.level * 0.1)) .. ") of your HP as damage." end, max_level = 0, color = "#d8a448", @@ -17,4 +17,4 @@ register_card("BERSERKER_RAGE", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/block.lua b/assets/scripts/cards/block.lua index 9a551d4..7859fdd 100644 --- a/assets/scripts/cards/block.lua +++ b/assets/scripts/cards/block.lua @@ -15,4 +15,4 @@ register_card("BLOCK", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/block_spikes.lua b/assets/scripts/cards/block_spikes.lua index f7eac83..efba7cf 100644 --- a/assets/scripts/cards/block_spikes.lua +++ b/assets/scripts/cards/block_spikes.lua @@ -46,4 +46,4 @@ register_card("BLOCK_SPIKES", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/combined_shot.lua b/assets/scripts/cards/combined_shot.lua index e983c2e..90aeb64 100644 --- a/assets/scripts/cards/combined_shot.lua +++ b/assets/scripts/cards/combined_shot.lua @@ -15,4 +15,4 @@ register_card("COMBINED_SHOT", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/fear.lua b/assets/scripts/cards/fear.lua index 709e86b..6b86d04 100644 --- a/assets/scripts/cards/fear.lua +++ b/assets/scripts/cards/fear.lua @@ -15,4 +15,4 @@ register_card("FEAR", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/melee_hit.lua b/assets/scripts/cards/melee_hit.lua index 7feb35a..d7ca9e2 100644 --- a/assets/scripts/cards/melee_hit.lua +++ b/assets/scripts/cards/melee_hit.lua @@ -15,4 +15,4 @@ register_card("MELEE_HIT", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/radiant_seed.lua b/assets/scripts/cards/radiant_seed.lua index 1a7bd53..acb2b0e 100644 --- a/assets/scripts/cards/radiant_seed.lua +++ b/assets/scripts/cards/radiant_seed.lua @@ -3,7 +3,7 @@ register_card("RADIANT_SEED", { description = "Inflict 10 (+2 for each upgrade) damage to all enemies, but also causes 5 (-2 for each upgrade) damage to the caster.", state = function(ctx) return "Inflict " .. highlight(10 + ctx.level * 2) .. " damage to all enemies, but also causes " .. highlight(5 - ctx.level * 2) .. - " damage to the caster." + " damage to the caster." end, max_level = 1, color = "#82c93e", @@ -19,4 +19,4 @@ register_card("RADIANT_SEED", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/rupture.lua b/assets/scripts/cards/rupture.lua index 2c453c7..3e164d5 100644 --- a/assets/scripts/cards/rupture.lua +++ b/assets/scripts/cards/rupture.lua @@ -15,4 +15,4 @@ register_card("RUPTURE", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/cards/shield_bash.lua b/assets/scripts/cards/shield_bash.lua index edff7a6..edf5811 100644 --- a/assets/scripts/cards/shield_bash.lua +++ b/assets/scripts/cards/shield_bash.lua @@ -1,10 +1,10 @@ register_card("SHIELD_BASH", { name = "Shield Bash", description = "Deal 4 (+2 for each upgrade) damage to the enemy and gain " .. highlight("block") .. - " status effect equal to the damage dealt.", + " status effect equal to the damage dealt.", state = function(ctx) return "Deal " .. highlight(4 + ctx.level * 2) .. " damage to the enemy and gain " .. highlight("block") .. - " status effect equal to the damage dealt." + " status effect equal to the damage dealt." end, max_level = 1, color = "#ff5722", @@ -18,4 +18,4 @@ register_card("SHIELD_BASH", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/enemies/clean_bot.lua b/assets/scripts/enemies/clean_bot.lua index 748e5a2..668e7e1 100644 --- a/assets/scripts/enemies/clean_bot.lua +++ b/assets/scripts/enemies/clean_bot.lua @@ -34,4 +34,4 @@ register_enemy("CLEAN_BOT", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/enemies/shadow_assasin.lua b/assets/scripts/enemies/shadow_assasin.lua index 6ccc36d..ab7351e 100644 --- a/assets/scripts/enemies/shadow_assasin.lua +++ b/assets/scripts/enemies/shadow_assasin.lua @@ -62,4 +62,4 @@ register_status_effect("BLEED", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/libs/fun.lua b/assets/scripts/libs/fun.lua index 60fa333..db396a2 100644 --- a/assets/scripts/libs/fun.lua +++ b/assets/scripts/libs/fun.lua @@ -5,7 +5,6 @@ --- --- Distributed under the MIT/X11 License. See COPYING.md for more details. --- - local exports = {} local methods = {} @@ -48,20 +47,16 @@ local iterator_mt = { -- usually called by for-in loop __call = function(self, param, state) return self.gen(param, state) - end; + end, __tostring = function(self) return '' - end; + end, -- add all exported methods - __index = methods; + __index = methods } local wrap = function(gen, param, state) - return setmetatable({ - gen = gen, - param = param, - state = state - }, iterator_mt), param, state + return setmetatable({ gen = gen, param = param, state = state }, iterator_mt), param, state end exports.wrap = wrap @@ -124,8 +119,7 @@ local rawiter = function(obj, param, state) end return string_gen, obj, 0 end - error(string.format('object %s of type "%s" is not iterable', - obj, type(obj))) + error(string.format('object %s of type "%s" is not iterable', obj, type(obj))) end local iter = function(obj, param, state) @@ -221,9 +215,9 @@ local range = function(start, stop, step) assert(step ~= 0, "step must not be zero") if (step > 0) then - return wrap(range_gen, {stop, step}, start - step) + return wrap(range_gen, { stop, step }, start - step) elseif (step < 0) then - return wrap(range_rev_gen, {stop, step}, start - step) + return wrap(range_rev_gen, { stop, step }, start - step) end end exports.range = range @@ -244,7 +238,7 @@ local duplicate = function(...) if select('#', ...) <= 1 then return wrap(duplicate_gen, select(1, ...), 0) else - return wrap(duplicate_table_gen, {...}, 0) + return wrap(duplicate_table_gen, { ... }, 0) end end exports.duplicate = duplicate @@ -287,7 +281,7 @@ local rands = function(n, m) assert(type(m) == "number", "invalid second arg to rands") end assert(n < m, "empty interval") - return wrap(rands_gen, {n, m - 1}, 0) + return wrap(rands_gen, { n, m - 1 }, 0) end exports.rands = rands @@ -307,7 +301,7 @@ local nth = function(n, gen_x, param_x, state_x) return nil end end - for i=1,n-1,1 do + for i = 1, n - 1, 1 do state_x = gen_x(param_x, state_x) if state_x == nil then return nil @@ -349,7 +343,7 @@ local take_n_gen_x = function(i, state_x, ...) if state_x == nil then return nil end - return {i, state_x}, ... + return { i, state_x }, ... end local take_n_gen = function(param, state) @@ -363,7 +357,7 @@ end local take_n = function(n, gen, param, state) assert(n >= 0, "invalid first argument to take_n") - return wrap(take_n_gen, {n, gen, param}, {0, state}) + return wrap(take_n_gen, { n, gen, param }, { 0, state }) end methods.take_n = method1(take_n) exports.take_n = export1(take_n) @@ -382,7 +376,7 @@ end local take_while = function(fun, gen, param, state) assert(type(fun) == "function", "invalid first argument to take_while") - return wrap(take_while_gen, {fun, gen, param}, state) + return wrap(take_while_gen, { fun, gen, param }, state) end methods.take_while = method1(take_while) exports.take_while = export1(take_while) @@ -400,7 +394,7 @@ exports.take = export1(take) local drop_n = function(n, gen, param, state) assert(n >= 0, "invalid first argument to drop_n") local i - for i=1,n,1 do + for i = 1, n, 1 do state = gen(param, state) if state == nil then return wrap(nil_gen, nil, nil) @@ -444,8 +438,7 @@ methods.drop = method1(drop) exports.drop = export1(drop) local split = function(n_or_fun, gen_x, param_x, state_x) - return take(n_or_fun, gen_x, param_x, state_x), - drop(n_or_fun, gen_x, param_x, state_x) + return take(n_or_fun, gen_x, param_x, state_x), drop(n_or_fun, gen_x, param_x, state_x) end methods.split = method1(split) exports.split = export1(split) @@ -486,13 +479,13 @@ local indexes_gen = function(param, state) end i = i + 1 if r == x then - return {i, state_x}, i + return { i, state_x }, i end end end local indexes = function(x, gen, param, state) - return wrap(indexes_gen, {x, gen, param}, {0, state}) + return wrap(indexes_gen, { x, gen, param }, { 0, state }) end methods.indexes = method1(indexes) exports.indexes = export1(indexes) @@ -509,7 +502,9 @@ exports.elem_indices = exports.indexes local filter1_gen = function(fun, gen_x, param_x, state_x, a) while true do - if state_x == nil or fun(a) then break; end + if state_x == nil or fun(a) then + break + end state_x, a = gen_x(param_x, state_x) end return state_x, a @@ -545,7 +540,7 @@ local filter_gen = function(param, state_x) end local filter = function(fun, gen, param, state) - return wrap(filter_gen, {fun, gen, param}, state) + return wrap(filter_gen, { fun, gen, param }, state) end methods.filter = method1(filter) exports.filter = export1(filter) @@ -555,7 +550,9 @@ exports.remove_if = exports.filter local grep = function(fun_or_regexp, gen, param, state) local fun = fun_or_regexp if type(fun_or_regexp) == "string" then - fun = function(x) return string.find(x, fun_or_regexp) ~= nil end + fun = function(x) + return string.find(x, fun_or_regexp) ~= nil + end end return filter(fun, gen, param, state) end @@ -566,8 +563,7 @@ local partition = function(fun, gen, param, state) local neg_fun = function(...) return not fun(...) end - return filter(fun, gen, param, state), - filter(neg_fun, gen, param, state) + return filter(fun, gen, param, state), filter(neg_fun, gen, param, state) end methods.partition = method1(partition) exports.partition = export1(partition) @@ -587,7 +583,7 @@ local foldl = function(fun, start, gen_x, param_x, state_x) while true do state_x, start = foldl_call(fun, start, gen_x(param_x, state_x)) if state_x == nil then - break; + break end end return start @@ -622,7 +618,7 @@ local is_prefix_of = function(iter_x, iter_y) local gen_y, param_y, state_y = iter(iter_y) local r_x, r_y - for i=1,10,1 do + for i = 1, 10, 1 do state_x, r_x = gen_x(param_x, state_x) state_y, r_y = gen_y(param_y, state_y) if state_x == nil then @@ -685,11 +681,19 @@ methods.product = method0(product) exports.product = export0(product) local min_cmp = function(m, n) - if n < m then return n else return m end + if n < m then + return n + else + return m + end end local max_cmp = function(m, n) - if n > m then return n else return m end + if n > m then + return n + else + return m + end end local min = function(gen, param, state) @@ -810,7 +814,7 @@ local map_gen = function(param, state) end local map = function(fun, gen, param, state) - return wrap(map_gen, {gen, param, fun}, state) + return wrap(map_gen, { gen, param, fun }, state) end methods.map = method1(map) exports.map = export1(map) @@ -819,7 +823,7 @@ local enumerate_gen_call = function(state, i, state_x, ...) if state_x == nil then return nil end - return {i + 1, state_x}, i, ... + return { i + 1, state_x }, i, ... end local enumerate_gen = function(param, state) @@ -829,7 +833,7 @@ local enumerate_gen = function(param, state) end local enumerate = function(gen, param, state) - return wrap(enumerate_gen, {gen, param}, {1, state}) + return wrap(enumerate_gen, { gen, param }, { 1, state }) end methods.enumerate = method0(enumerate) exports.enumerate = export0(enumerate) @@ -838,14 +842,14 @@ local intersperse_call = function(i, state_x, ...) if state_x == nil then return nil end - return {i + 1, state_x}, ... + return { i + 1, state_x }, ... end local intersperse_gen = function(param, state) local x, gen_x, param_x = param[1], param[2], param[3] local i, state_x = state[1], state[2] if i % 2 == 1 then - return {i + 1, state_x}, x + return { i + 1, state_x }, x else return intersperse_call(i, gen_x(param_x, state_x)) end @@ -853,7 +857,7 @@ end -- TODO: interperse must not add x to the tail local intersperse = function(x, gen, param, state) - return wrap(intersperse_gen, {x, gen, param}, {0, state}) + return wrap(intersperse_gen, { x, gen, param }, { 0, state }) end methods.intersperse = method1(intersperse) exports.intersperse = export1(intersperse) @@ -888,8 +892,7 @@ local numargs = function(...) if n >= 3 then -- Fix last argument local it = select(n - 2, ...) - if type(it) == 'table' and getmetatable(it) == iterator_mt and - it.param == select(n - 1, ...) and it.state == select(n, ...) then + if type(it) == 'table' and getmetatable(it) == iterator_mt and it.param == select(n - 1, ...) and it.state == select(n, ...) then return n - 2 end end @@ -905,7 +908,7 @@ local zip = function(...) local state = { [n] = 0 } local i, gen_x, param_x, state_x - for i=1,n,1 do + for i = 1, n, 1 do local it = select(n - i + 1, ...) gen_x, param_x, state_x = rawiter(it) param[2 * i - 1] = gen_x @@ -932,7 +935,7 @@ local cycle_gen = function(param, state_x) end local cycle = function(gen, param, state) - return wrap(cycle_gen, {gen, param, state}, deepcopy(state)) + return wrap(cycle_gen, { gen, param, state }, deepcopy(state)) end methods.cycle = method0(cycle) exports.cycle = export0(cycle) @@ -947,9 +950,9 @@ local chain_gen_r2 = function(param, state, state_x, ...) return nil end local state_x = param[3 * i] - return chain_gen_r1(param, {i, state_x}) + return chain_gen_r1(param, { i, state_x }) end - return {state[1], state_x}, ... + return { state[1], state_x }, ... end chain_gen_r1 = function(param, state) @@ -966,7 +969,7 @@ local chain = function(...) local param = { [3 * n] = 0 } local i, gen_x, param_x, state_x - for i=1,n,1 do + for i = 1, n, 1 do local elem = select(i, ...) gen_x, param_x, state_x = iter(elem) param[3 * i - 2] = gen_x @@ -974,7 +977,7 @@ local chain = function(...) param[3 * i] = state_x end - return wrap(chain_gen_r1, param, {1, param[3]}) + return wrap(chain_gen_r1, param, { 1, param[3] }) end methods.chain = chain exports.chain = chain @@ -987,45 +990,95 @@ local operator = { ---------------------------------------------------------------------------- -- Comparison operators ---------------------------------------------------------------------------- - lt = function(a, b) return a < b end, - le = function(a, b) return a <= b end, - eq = function(a, b) return a == b end, - ne = function(a, b) return a ~= b end, - ge = function(a, b) return a >= b end, - gt = function(a, b) return a > b end, + lt = function(a, b) + return a < b + end, + le = function(a, b) + return a <= b + end, + eq = function(a, b) + return a == b + end, + ne = function(a, b) + return a ~= b + end, + ge = function(a, b) + return a >= b + end, + gt = function(a, b) + return a > b + end, ---------------------------------------------------------------------------- -- Arithmetic operators ---------------------------------------------------------------------------- - add = function(a, b) return a + b end, - div = function(a, b) return a / b end, - floordiv = function(a, b) return math.floor(a/b) end, + add = function(a, b) + return a + b + end, + div = function(a, b) + return a / b + end, + floordiv = function(a, b) + return math.floor(a / b) + end, intdiv = function(a, b) local q = a / b - if a >= 0 then return math.floor(q) else return math.ceil(q) end + if a >= 0 then + return math.floor(q) + else + return math.ceil(q) + end + end, + mod = function(a, b) + return a % b + end, + mul = function(a, b) + return a * b + end, + neq = function(a) + return -a + end, + unm = function(a) + return -a + end, -- an alias + pow = function(a, b) + return a ^ b + end, + sub = function(a, b) + return a - b + end, + truediv = function(a, b) + return a / b end, - mod = function(a, b) return a % b end, - mul = function(a, b) return a * b end, - neq = function(a) return -a end, - unm = function(a) return -a end, -- an alias - pow = function(a, b) return a ^ b end, - sub = function(a, b) return a - b end, - truediv = function(a, b) return a / b end, ---------------------------------------------------------------------------- -- String operators ---------------------------------------------------------------------------- - concat = function(a, b) return a..b end, - len = function(a) return #a end, - length = function(a) return #a end, -- an alias + concat = function(a, b) + return a .. b + end, + len = function(a) + return #a + end, + length = function(a) + return #a + end, -- an alias ---------------------------------------------------------------------------- -- Logical operators ---------------------------------------------------------------------------- - land = function(a, b) return a and b end, - lor = function(a, b) return a or b end, - lnot = function(a) return not a end, - truth = function(a) return not not a end, + land = function(a, b) + return a and b + end, + lor = function(a, b) + return a or b + end, + lnot = function(a) + return not a + end, + truth = function(a) + return not not a + end } exports.operator = operator methods.operator = operator @@ -1052,7 +1105,7 @@ setmetatable(exports, { rawset(_G, k, v) end end - end, + end }) -return exports \ No newline at end of file +return exports diff --git a/assets/scripts/status_effects/block.lua b/assets/scripts/status_effects/block.lua index 3d9e1e9..d77ef71 100644 --- a/assets/scripts/status_effects/block.lua +++ b/assets/scripts/status_effects/block.lua @@ -19,4 +19,4 @@ register_status_effect("BLOCK", { return ctx.damage end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/status_effects/burn.lua b/assets/scripts/status_effects/burn.lua index 896a37b..b79f535 100644 --- a/assets/scripts/status_effects/burn.lua +++ b/assets/scripts/status_effects/burn.lua @@ -15,4 +15,4 @@ register_status_effect("BURN", { return nil end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/status_effects/fear.lua b/assets/scripts/status_effects/fear.lua index 7820968..737831d 100644 --- a/assets/scripts/status_effects/fear.lua +++ b/assets/scripts/status_effects/fear.lua @@ -14,4 +14,4 @@ register_status_effect("FEAR", { return true end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/status_effects/strength.lua b/assets/scripts/status_effects/strength.lua index 94142eb..89792cf 100644 --- a/assets/scripts/status_effects/strength.lua +++ b/assets/scripts/status_effects/strength.lua @@ -17,4 +17,4 @@ register_status_effect("STRENGTH", { return ctx.damage end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/status_effects/vulnerable.lua b/assets/scripts/status_effects/vulnerable.lua index c4795cd..5666abb 100644 --- a/assets/scripts/status_effects/vulnerable.lua +++ b/assets/scripts/status_effects/vulnerable.lua @@ -17,4 +17,4 @@ register_status_effect("VULNERABLE", { return ctx.damage end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/status_effects/weaken.lua b/assets/scripts/status_effects/weaken.lua index e362692..97fe653 100644 --- a/assets/scripts/status_effects/weaken.lua +++ b/assets/scripts/status_effects/weaken.lua @@ -17,4 +17,4 @@ register_status_effect("WEAKEN", { return ctx.damage end } -}) \ No newline at end of file +}) diff --git a/assets/scripts/story_teller/stage_0.lua b/assets/scripts/story_teller/stage_0.lua index 483dd60..e43b118 100644 --- a/assets/scripts/story_teller/stage_0.lua +++ b/assets/scripts/story_teller/stage_0.lua @@ -35,4 +35,4 @@ After some effort, you manage to open the door and find yourself in a small room return GAME_STATE_FIGHT end -}) \ No newline at end of file +}) diff --git a/assets/scripts/story_teller/stage_1_bio_kingdom.lua b/assets/scripts/story_teller/stage_1_bio_kingdom.lua new file mode 100644 index 0000000..ef77287 --- /dev/null +++ b/assets/scripts/story_teller/stage_1_bio_kingdom.lua @@ -0,0 +1,31 @@ +stage_1_bio_kingdom = { + fights = { { "RUST_MITE", "RUST_MITE", "RUST_MITE" }, { "SHADOW_ASSASSIN", "SHADOW_ASSASSIN" }, { "SHADOW_ASSASSIN" } } +} + +register_story_teller("STAGE_1", { + active = function(ctx) + if had_event("BIO_KINGDOM") then + return 1 + end + return 0 + end, + decide = function(ctx) + local stage = get_stages_cleared() + + if stage == 10 then + -- BOSS + end + + -- 10% chance to find a random artifact + if math.random() < 0.1 then + set_event(create_artifact_choice({ random_artifact(get_merchant_gold_max()), random_artifact(get_merchant_gold_max()) })) + end + + local choice = stage_1_bio_kingdom.fights[math.random(#stage_1_bio_kingdom.fights)] + for _, v in ipairs(choice) do + add_actor_by_enemy(v) + end + + return GAME_STATE_FIGHT + end +}) diff --git a/assets/scripts/story_teller/stage_1.lua b/assets/scripts/story_teller/stage_1_the_core.lua similarity index 70% rename from assets/scripts/story_teller/stage_1.lua rename to assets/scripts/story_teller/stage_1_the_core.lua index 09d300e..920c68e 100644 --- a/assets/scripts/story_teller/stage_1.lua +++ b/assets/scripts/story_teller/stage_1_the_core.lua @@ -1,8 +1,8 @@ -stage_1 = { fights = { { "RUST_MITE", "RUST_MITE", "RUST_MITE" }, { "SHADOW_ASSASSIN", "SHADOW_ASSASSIN" }, { "SHADOW_ASSASSIN" } } } +stage_1_the_core = { fights = { { "RUST_MITE", "RUST_MITE", "RUST_MITE" }, { "CLEAN_BOT", "CLEAN_BOT" } } } register_story_teller("STAGE_1", { active = function(ctx) - if had_events_any(stage_1_init_events) then + if had_event("THE_CORE") then return 1 end return 0 @@ -19,11 +19,11 @@ register_story_teller("STAGE_1", { set_event(create_artifact_choice({ random_artifact(get_merchant_gold_max()), random_artifact(get_merchant_gold_max()) })) end - local choice = stage_1.fights[math.random(#stage_2.fights)] + local choice = stage_1_the_core.fights[math.random(#stage_1_the_core.fights)] for _, v in ipairs(choice) do add_actor_by_enemy(v) end return GAME_STATE_FIGHT end -}) \ No newline at end of file +}) diff --git a/assets/scripts/story_teller/stage_1_the_wasteland.lua b/assets/scripts/story_teller/stage_1_the_wasteland.lua new file mode 100644 index 0000000..f8e139a --- /dev/null +++ b/assets/scripts/story_teller/stage_1_the_wasteland.lua @@ -0,0 +1,31 @@ +stage_1_the_wasteland = { + fights = { { "RUST_MITE", "RUST_MITE", "RUST_MITE" }, { "SHADOW_ASSASSIN", "SHADOW_ASSASSIN" }, { "SHADOW_ASSASSIN" } } +} + +register_story_teller("STAGE_1", { + active = function(ctx) + if had_event("THE_WASTELAND") then + return 1 + end + return 0 + end, + decide = function(ctx) + local stage = get_stages_cleared() + + if stage == 10 then + -- BOSS + end + + -- 10% chance to find a random artifact + if math.random() < 0.1 then + set_event(create_artifact_choice({ random_artifact(get_merchant_gold_max()), random_artifact(get_merchant_gold_max()) })) + end + + local choice = stage_1_the_wasteland.fights[math.random(#stage_1_the_wasteland.fights)] + for _, v in ipairs(choice) do + add_actor_by_enemy(v) + end + + return GAME_STATE_FIGHT + end +}) diff --git a/assets/scripts/story_teller/stage_2.lua b/assets/scripts/story_teller/stage_2.lua index 99ee053..4987939 100644 --- a/assets/scripts/story_teller/stage_2.lua +++ b/assets/scripts/story_teller/stage_2.lua @@ -14,4 +14,4 @@ register_story_teller("STAGE_2", { return GAME_STATE_FIGHT end -}) \ No newline at end of file +}) diff --git a/format-lua.sh b/format-lua.sh index e3e5230..5445158 100755 --- a/format-lua.sh +++ b/format-lua.sh @@ -1,6 +1,6 @@ #!/bin/bash -for file in ./assets/scripts/*.lua; do +for file in ./assets/scripts/**/*.lua; do echo "Formatting: $file" lua-format "$file" -i done \ No newline at end of file