aboutsummaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/characters/Cobalt Phantom/sprites/idle.pngbin0 -> 2402 bytes
-rw-r--r--assets/characters/Crimson Reaper/sprites/idle.pngbin0 -> 2416 bytes
-rw-r--r--assets/characters/Emerald Venom/sprites/idle.pngbin0 -> 2471 bytes
-rw-r--r--assets/characters/Golden Radiance/sprites/idle.pngbin0 -> 2412 bytes
-rw-r--r--assets/characters/characters-data.lua30
-rw-r--r--assets/scripts/character-select.lua12
-rw-r--r--assets/scripts/local2P.lua31
7 files changed, 68 insertions, 5 deletions
diff --git a/assets/characters/Cobalt Phantom/sprites/idle.png b/assets/characters/Cobalt Phantom/sprites/idle.png
new file mode 100644
index 0000000..42244e0
--- /dev/null
+++ b/assets/characters/Cobalt Phantom/sprites/idle.png
Binary files differ
diff --git a/assets/characters/Crimson Reaper/sprites/idle.png b/assets/characters/Crimson Reaper/sprites/idle.png
new file mode 100644
index 0000000..c7f864d
--- /dev/null
+++ b/assets/characters/Crimson Reaper/sprites/idle.png
Binary files differ
diff --git a/assets/characters/Emerald Venom/sprites/idle.png b/assets/characters/Emerald Venom/sprites/idle.png
new file mode 100644
index 0000000..53ca25f
--- /dev/null
+++ b/assets/characters/Emerald Venom/sprites/idle.png
Binary files differ
diff --git a/assets/characters/Golden Radiance/sprites/idle.png b/assets/characters/Golden Radiance/sprites/idle.png
new file mode 100644
index 0000000..2ca44c4
--- /dev/null
+++ b/assets/characters/Golden Radiance/sprites/idle.png
Binary files differ
diff --git a/assets/characters/characters-data.lua b/assets/characters/characters-data.lua
new file mode 100644
index 0000000..74f6233
--- /dev/null
+++ b/assets/characters/characters-data.lua
@@ -0,0 +1,30 @@
+return {
+ {
+ name = "Cobalt Phantom",
+ health = 100,
+ speed = 5,
+ moves = {"teleportation", "quick_dashes", "smoke_screens", "strikes_from_the_shadows"},
+ asset_dir = "assets/characters/Cobalt Phantom",
+ },
+ {
+ name = "Emerald Venom",
+ health = 120,
+ speed = 4,
+ moves = {"snake_whip", "venom_bite", "poison_of_the_past"},
+ asset_dir = "assets/characters/Emerald Venom",
+ },
+ {
+ name = "Golden Radiance",
+ health = 85,
+ speed = 8,
+ moves = {"solar_boom", "flashbang", "flare_frenzy"},
+ asset_dir = "assets/characters/Golden Radiance",
+ },
+ {
+ name = "Crimson Reaper",
+ health = 180,
+ speed = 2,
+ moves = {"soul_slash", "deaths_reach", "phantom_step", "grim_harvest"},
+ asset_dir = "assets/characters/Crimson Reaper",
+ }
+}
diff --git a/assets/scripts/character-select.lua b/assets/scripts/character-select.lua
index 1ea39d7..06ee574 100644
--- a/assets/scripts/character-select.lua
+++ b/assets/scripts/character-select.lua
@@ -1,11 +1,13 @@
---@diagnostic disable: undefined-global
-characters = {"Cobalt Phantom", "Emerald Venom", "Golden Radiance", "Crimson Reaper"}
+characters = require("assets.characters.characters-data")
+
player1CharacterIndex = 1
player2CharacterIndex = 2
player1Character = characters[player1CharacterIndex]
player2Character = characters[player2CharacterIndex]
+
function StartGame()
if characterSelectType == "Local 2P" then
dofile("assets/scripts/local2P.lua")
@@ -56,8 +58,8 @@ function Update()
queueTextForRender(text, fontFile, x, y, fontSize, 255, 255, 255, 255)
-- Character Portraits & Names
- local imageFile_player1 = "assets/characters/" .. player1Character .. "/portrait.png"
- local imageFile_player2 = "assets/characters/" .. player2Character .. "/portrait.png"
+ local imageFile_player1 = player1Character.asset_dir .. "/portrait.png"
+ local imageFile_player2 = player2Character.asset_dir .. "/portrait.png"
local portraitWidth = 128
@@ -67,7 +69,7 @@ function Update()
local p1_x = (WIDTH // 4) - (portraitWidth // 2)
queueTextureForRender(imageFile_player1, p1_x, 300)
- local p1Name = player1Character
+ local p1Name = player1Character.name
local p1NameWidth = getTextWidth(nameFontFile, nameFontSize, p1Name)
local p1TextX = (WIDTH // 4) - (p1NameWidth // 2)
queueTextForRender(p1Name, nameFontFile, p1TextX, 570, nameFontSize, 255, 255, 255, 255)
@@ -75,7 +77,7 @@ function Update()
local p2_x = (WIDTH * 3 // 4) - (portraitWidth // 2)
queueTextureForRender(imageFile_player2, p2_x, 300)
- local p2Name = player2Character
+ local p2Name = player2Character.name
local p2NameWidth = getTextWidth(nameFontFile, nameFontSize, p2Name)
local p2TextX = (WIDTH * 3 // 4) - (p2NameWidth // 2)
queueTextForRender(p2Name, nameFontFile, p2TextX, 570, nameFontSize, 255, 255, 255, 255)
diff --git a/assets/scripts/local2P.lua b/assets/scripts/local2P.lua
index f9ca84d..05d603e 100644
--- a/assets/scripts/local2P.lua
+++ b/assets/scripts/local2P.lua
@@ -1,6 +1,37 @@
---@diagnostic disable: undefined-global
+
+function HandleP1Input()
+ if Input.isKeyDown("D") then
+ player1Character.x = player1Character.x + player1Character.speed;
+ end
+ if Input.isKeyDown("A") then
+ player1Character.x = player1Character.x - player1Character.speed;
+ end
+end
+
+function HandleP2Input()
+ if Input.isKeyDown("RIGHT") then
+ player2Character.x = player2Character.x + player2Character.speed;
+ end
+ if Input.isKeyDown("LEFT") then
+ player2Character.x = player2Character.x - player2Character.speed;
+ end
+end
+
function Setup()
+ player1Character.x = 250;
+ player2Character.x = WIDTH - 250 - (250 / 2)
+ player1Character.y = 250;
+ player2Character.y = 250;
+
+ player1Character.current_sprite = player1Character.asset_dir .. "/sprites/idle.png"
+ player2Character.current_sprite = player2Character.asset_dir .. "/sprites/idle.png"
end
function Update()
+ queueTextureForRender(player1Character.current_sprite, player1Character.x, player1Character.y)
+ queueTextureForRender(player2Character.current_sprite, player2Character.x, player2Character.y)
+
+ HandleP1Input()
+ HandleP2Input()
end