diff options
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/characters/Cobalt Phantom/sprites/idle.png | bin | 0 -> 2402 bytes | |||
| -rw-r--r-- | assets/characters/Crimson Reaper/sprites/idle.png | bin | 0 -> 2416 bytes | |||
| -rw-r--r-- | assets/characters/Emerald Venom/sprites/idle.png | bin | 0 -> 2471 bytes | |||
| -rw-r--r-- | assets/characters/Golden Radiance/sprites/idle.png | bin | 0 -> 2412 bytes | |||
| -rw-r--r-- | assets/characters/characters-data.lua | 30 | ||||
| -rw-r--r-- | assets/scripts/character-select.lua | 12 | ||||
| -rw-r--r-- | assets/scripts/local2P.lua | 31 |
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 Binary files differnew file mode 100644 index 0000000..42244e0 --- /dev/null +++ b/assets/characters/Cobalt Phantom/sprites/idle.png diff --git a/assets/characters/Crimson Reaper/sprites/idle.png b/assets/characters/Crimson Reaper/sprites/idle.png Binary files differnew file mode 100644 index 0000000..c7f864d --- /dev/null +++ b/assets/characters/Crimson Reaper/sprites/idle.png diff --git a/assets/characters/Emerald Venom/sprites/idle.png b/assets/characters/Emerald Venom/sprites/idle.png Binary files differnew file mode 100644 index 0000000..53ca25f --- /dev/null +++ b/assets/characters/Emerald Venom/sprites/idle.png diff --git a/assets/characters/Golden Radiance/sprites/idle.png b/assets/characters/Golden Radiance/sprites/idle.png Binary files differnew file mode 100644 index 0000000..2ca44c4 --- /dev/null +++ b/assets/characters/Golden Radiance/sprites/idle.png 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 |
