Credits fix

master
a327ex 2021-06-28 01:47:57 -03:00
parent 1f3c639560
commit c804c7e6e8
4 changed files with 80 additions and 91 deletions

View File

@ -821,52 +821,64 @@ function Arena:create_credits()
system.open_url(url)
end
self.close_button = Button{group = self.credits, x = gw - 20, y = 20, button_text = 'x', bg_color = 'bg', fg_color = 'bg10', credits_button = true, action = function()
trigger:after(0.01, function()
self.in_credits = false
if self.credits_button then self.credits_button:on_mouse_exit() end
for _, object in ipairs(self.credits.objects) do
object.dead = true
end
self.credits:update(0)
end)
end}
self.in_credits = true
Text2{group = self.credits, x = 60, y = 20, lines = {{text = '[bg10]main dev: ', font = pixul_font}}}
Button{group = self.credits, x = 117, y = 20, button_text = 'a327ex', fg_color = 'bg10', bg_color = 'bg', credits_button = true, action = function(b) open_url(b, 'https://store.steampowered.com/dev/a327ex/') end}
Text2{group = self.credits, x = 60, y = 50, lines = {{text = '[blue]code: ', font = pixul_font}}}
Button{group = self.credits, x = 102, y = 50, button_text = 'love2d', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://love2d.org') end}
Button{group = self.credits, x = 159, y = 50, button_text = 'bakpakin', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/bakpakin/binser') end}
Button{group = self.credits, x = 226, y = 50, button_text = 'davisdude', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/davisdude/mlib') end}
Button{group = self.credits, x = 295, y = 50, button_text = 'tesselode', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/tesselode/ripple') end}
Button{group = self.credits, x = 365, y = 50, button_text = 'Davidobot', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/Davidobot') end}
Text2{group = self.credits, x = 60, y = 80, lines = {{text = '[green]music: ', font = pixul_font}}}
Button{group = self.credits, x = 100, y = 80, button_text = 'kubbi', fg_color = 'greenm5', bg_color = 'green', credits_button = true, action = function(b) open_url(b, 'https://kubbimusic.com/album/ember') end}
Text2{group = self.credits, x = 60, y = 110, lines = {{text = '[yellow]sounds: ', font = pixul_font}}}
Button{group = self.credits, x = 135, y = 110, button_text = 'sidearm studios', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Text2{group = self.credits, x = 60, y = 50, lines = {{text = '[bg10]mobile: ', font = pixul_font}}}
Button{group = self.credits, x = 144, y = 50, button_text = 'David Khachaturov', fg_color = 'bg10', bg_color = 'bg', credits_button = true, action = function(b) open_url(b, 'https://davidobot.net/') end}
Text2{group = self.credits, x = 60, y = 80, lines = {{text = '[blue]libraries: ', font = pixul_font}}}
Button{group = self.credits, x = 113, y = 80, button_text = 'love2d', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://love2d.org') end}
Button{group = self.credits, x = 170, y = 80, button_text = 'bakpakin', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/bakpakin/binser') end}
Button{group = self.credits, x = 237, y = 80, button_text = 'davisdude', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/davisdude/mlib') end}
Button{group = self.credits, x = 306, y = 80, button_text = 'tesselode', fg_color = 'bluem5', bg_color = 'blue', credits_button = true, action = function(b) open_url(b, 'https://github.com/tesselode/ripple') end}
Text2{group = self.credits, x = 60, y = 110, lines = {{text = '[green]music: ', font = pixul_font}}}
Button{group = self.credits, x = 100, y = 110, button_text = 'kubbi', fg_color = 'greenm5', bg_color = 'green', credits_button = true, action = function(b) open_url(b, 'https://kubbimusic.com/album/ember') end}
Text2{group = self.credits, x = 60, y = 140, lines = {{text = '[yellow]sounds: ', font = pixul_font}}}
Button{group = self.credits, x = 135, y = 140, button_text = 'sidearm studios', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://sidearm-studios.itch.io/ultimate-sound-fx-bundle') end}
Button{group = self.credits, x = 217, y = 110, button_text = 'justinbw', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 217, y = 140, button_text = 'justinbw', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/JustinBW/sounds/80921/') end}
Button{group = self.credits, x = 279, y = 110, button_text = 'jcallison', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 279, y = 140, button_text = 'jcallison', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/jcallison/sounds/258269/') end}
Button{group = self.credits, x = 342, y = 110, button_text = 'hybrid_v', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 342, y = 140, button_text = 'hybrid_v', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/Hybrid_V/sounds/321215/') end}
Button{group = self.credits, x = 427, y = 110, button_text = 'womb_affliction', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 427, y = 140, button_text = 'womb_affliction', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/womb_affliction/sounds/376532/') end}
Button{group = self.credits, x = 106, y = 130, button_text = 'bajko', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 106, y = 160, button_text = 'bajko', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/bajko/sounds/399656/') end}
Button{group = self.credits, x = 157, y = 130, button_text = 'benzix2', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 157, y = 160, button_text = 'benzix2', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://freesound.org/people/benzix2/sounds/467951/') end}
Button{group = self.credits, x = 204, y = 130, button_text = 'lord', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
Button{group = self.credits, x = 204, y = 160, button_text = 'lord', fg_color = 'yellowm5', bg_color = 'yellow', credits_button = true, action = function(b)
open_url(b, 'https://store.steampowered.com/developer/T_TGames') end}
Text2{group = self.credits, x = 70, y = 160, lines = {{text = '[red]playtesters: ', font = pixul_font}}}
Button{group = self.credits, x = 130, y = 160, button_text = 'Jofer', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Text2{group = self.credits, x = 70, y = 190, lines = {{text = '[red]playtesters: ', font = pixul_font}}}
Button{group = self.credits, x = 130, y = 190, button_text = 'Jofer', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/JofersGames') end}
Button{group = self.credits, x = 172, y = 160, button_text = 'ekun', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 172, y = 190, button_text = 'ekun', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/ekunenuke') end}
Button{group = self.credits, x = 224, y = 160, button_text = 'cvisy_GN', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 224, y = 190, button_text = 'cvisy_GN', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/cvisy_GN') end}
Button{group = self.credits, x = 292, y = 160, button_text = 'Blue Fairy', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 292, y = 190, button_text = 'Blue Fairy', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/blue9fairy') end}
Button{group = self.credits, x = 362, y = 160, button_text = 'Phil Blank', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 362, y = 190, button_text = 'Phil Blank', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/PhilBlankGames') end}
Button{group = self.credits, x = 440, y = 160, button_text = 'DefineDoddy', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 440, y = 190, button_text = 'DefineDoddy', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/DefineDoddy') end}
Button{group = self.credits, x = 140, y = 180, button_text = 'Ge0force', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 140, y = 210, button_text = 'Ge0force', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/Ge0forceBE') end}
Button{group = self.credits, x = 193, y = 180, button_text = 'Vlad', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 193, y = 210, button_text = 'Vlad', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/thecryru') end}
Button{group = self.credits, x = 223, y = 180, button_text = 'F', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
Button{group = self.credits, x = 223, y = 210, button_text = 'F', fg_color = 'redm5', bg_color = 'red', credits_button = true, action = function(b)
open_url(b, 'https://twitter.com/notyps') end}
end

View File

@ -13,9 +13,11 @@ function init()
shared_init()
input:bind('move_left', {'a', 'left', 'dpleft', 'm1'})
input:bind('move_right', {'d', 'right', 'dpright', 'm2'})
input:bind('move_right', {'d', 'e', 's', 'right', 'dpright', 'm2'})
--[[
input:bind('move_up', {'w', 'up', 'dpup'})
input:bind('move_down', {'s', 'down', 'dpdown'})
]]--
input:bind('enter', {'space', 'return', 'fleft', 'fdown', 'fright'})
local s = {tags = {sfx}}

View File

@ -1341,8 +1341,10 @@ function Player:update(dt)
camera.y = camera.y + math.remap(vy, -100, 100, -8*vd, 8*vd)*dt
if input.move_right.down then camera.r = math.lerp_angle_dt(0.01, dt, camera.r, math.pi/256)
elseif input.move_left.down then camera.r = math.lerp_angle_dt(0.01, dt, camera.r, -math.pi/256)
--[[
elseif input.move_down.down then camera.r = math.lerp_angle_dt(0.01, dt, camera.r, math.pi/256)
elseif input.move_up.down then camera.r = math.lerp_angle_dt(0.01, dt, camera.r, -math.pi/256)
]]--
else camera.r = math.lerp_angle_dt(0.005, dt, camera.r, 0) end
end
end

99
todo
View File

@ -1,63 +1,3 @@
Orb Update
New items:
Healer:
* Blessing - +10/20/30% healing effectiveness
* Haste - +50% movement speed that decays over 4 seconds on healing orb pick up
* Divine Barrage - 10/20/30% chance to release a ricocheting barrage when picking up a healing orb
Psyker:
* Orbitism - 33/66/99% faster orb speed
* Psyker Orbs - +1/2/3 psyker orbs
* Psychosense - 33/66/99% increased orb range
Conjurer:
* Rearm - summons repeat their attacks once
* Taunt - 10/20/30% chance for summons to taunt nearby enemies on attack
* Summon Instability - summons explode when disappearing, dealing 100/150/200% damage
Changes:
* Magnetism - also attracts healing orbs
* Enchanted - 33/66/99%
Explorer:
* +15% attack speed and damage per active set to allied explorers
Healer rework:
* Enemies have a 8/16% chance to spawn healing orbs on death, orbs prioritize healing low health allies
* Cleric: creates 1 healing orb, Lv.3: creates 4 healing orbs
* Priest: creates 5 healing orbs
* Fairy: grants a random unit 100% attack speed for 6 seconds and creates 1 healing orb
Psyker rework:
* Create a piercing, damaging orb around each psyker, it inherits damage from its target
* Flagellant - Lv.3: 2X flagellant max HP and +12% damage to all allies per cast
* Psykeeper - creates a healing orb every time the psykeeper takes 20% of its max HP in damage, Lv.3: deal double the damage taken by the psykeeper to all enemies
Balance
* Changed cursers to add more curse targets as set bonuses
* Decreased item reroll cost to 5
* Increased sage's attack speed
* Increased spawn marker time by 50%
* Decreased range and throw speed for tanks
* Decreased damage for blue and white enemies
* Increased gold rewards at levels 1-9
* Prevent orange from killing multiple units at once
* Slightly decrease probability of special spawn at levels above 20
* Exploder elite spawns mines instead of exploding enemies directly
* Decreased overall enemy damage at higher difficulties
QoL
* Lowered sound effect for gambler
* Options menu from buy screen
* Add main menu
* Title
* Snake DVD
* Arena run button
* Options button
* Quit button
* Soundtrack button
* Volume slider
* Party x/y
* Lv.3 effect on shop card
* Changed text saying "with at least n enchanters" to "if you have >=n enchanters" for 2 enchanter items
Bug fixes
* Fixed fullscreen button and general resolution issues
* Fixed barbarian stun just slowing and not stunning
* Fixed a bug with Call of the Void that caused its DoT damage bonus to become infinite
Loop Update
New items:
General:
@ -77,19 +17,43 @@ Loop Update
Warping Shots - X/Y/Z% chance for projectiles to ignore wall collisions and warp around the screen 1/2/3 times
Culling Strike - instantly kill elites below 10/20/30% max HP
Lightning Strike - X/Y/Z% chance for attacks to create chain lightning, dealing 60/80/100% damage and hitting 2/3/4 enemies
Psyker
Additional orbs will prefer to be assigned to psykers, if there are no psykers then they will be assigned randomly
Orb speed scales with the unit's attack speed
Increase default orb range
Decrease default and maximum orb speed
Increased orb damage
Psyker class bonus: +2/+4 total orbs
Remove Psychosense
Add "Orbs shoot projectiles"
Healer
Double healing per orb
Fix heal targetting, should always target lowest HP unit
Some solution that:
Increases amount of orbs dropped with only 1 or 2 healers
Decreases amount of orbs dropped on full build
Builders
Carver (builder, healer) - every 12 seconds, creates a tree that drops 3 healing orbs, Lv.3 effect: drops 6 healing orbs instead
Engineer (builder) - unchanged
Illusionist -> Golemancer (builder, sorcerer): spawns 1 golem every 6 seconds, it shoots 2 rocks that deal X damage each, Lv.3 effect: golem rocks stun enemies for 2 seconds
Saboteur -> Bomber (builder, nuker): plants a static bomb, when it explodes it deals 2X AoE damage, Lv.3 effect: 100% increased bomb area and damage
Hunter (builder, ranger, forcer): shoots a projectile that has 20% chance to spawn a pet, Lv.3 effect: spawns 3 pets instead
Looping
Change end screen
Loop button on end screen
Looping lets you continue with the current snake until you die
Difficulty is increased according to the formula for levels 25+
Snake size goes up by 1 every loop, up to 12
Conjurer rework:
Don't offer items if item slots are full
QoL
Selling items
Your party + items on end, death and passive screens - https://i.imgur.com/JJUddT3.png
Add option for mouse cursor to always be visible
Show cooldown on elite attack
Add visuals divine intervention, fairy buff
warrior attack range
barbarian jugg attack
remove already owned lvl 3 unit from shop...
Bug fixes
Fixed a series of crashes that happened rarely right before changing from the arena back to the shop
https://i.imgur.com/Rk6qbDD.png - merchant doesnt give reroll if dies
@ -99,14 +63,23 @@ Loop Update
https://i.imgur.com/0wZ5wma.png - max unit bugged when changing ng mid run, https://i.imgur.com/qrExpq5.png
https://i.imgur.com/Ad13Cyo.png
if undead from lasting 7 gets healed it becomes immortal
engine/game/group.lua:256: attempt to index local 'shape' (a nil value)
Traceback engine/game/group.lua:256: in function 'get_objects_in_shape' engine/game/physics.lua:264: in function 'get_objects_in_shape' player.lua:3386: in function 'update'
https://i.imgur.com/s4ZFE6z.png
https://i.imgur.com/VL8lOXm.png
bug with "party x/y" showing wrong numbers
https://i.imgur.com/sxwS8et.png
Close button on credits
https://i.imgur.com/O5zJNc7.png
https://i.imgur.com/cQl0VYp.png
---
30 refresh rate makes enemies faster?!?!
Invoker - casts attacks and spells from other units
having a unit like this from the start will help ensure that attacks are behind function calls that can be accessed by another unit easily rather than mostly hidden like they are now
Future ideas:
Chaos related classes
Invoker - shoots a projectile with random properties, Lv.3 effect - ???
Trappers:
Emitters: +projectile damage, projectile mods
warping