aboutsummaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/characters/.DS_Storebin0 -> 10244 bytes
-rw-r--r--assets/characters/Cobalt Phantom/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Crimson Reaper/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Crimson Reaper/sprites/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Emerald Venom/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Emerald Venom/sprites/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Golden Radiance/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/Golden Radiance/sprites/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/characters/characters-data.lua4
-rw-r--r--assets/gui/.DS_Storebin0 -> 6148 bytes
-rw-r--r--assets/scripts/local2P.lua66
11 files changed, 54 insertions, 16 deletions
diff --git a/assets/characters/.DS_Store b/assets/characters/.DS_Store
new file mode 100644
index 0000000..358c1b2
--- /dev/null
+++ b/assets/characters/.DS_Store
Binary files differ
diff --git a/assets/characters/Cobalt Phantom/.DS_Store b/assets/characters/Cobalt Phantom/.DS_Store
new file mode 100644
index 0000000..9ec0b2a
--- /dev/null
+++ b/assets/characters/Cobalt Phantom/.DS_Store
Binary files differ
diff --git a/assets/characters/Crimson Reaper/.DS_Store b/assets/characters/Crimson Reaper/.DS_Store
new file mode 100644
index 0000000..28dde00
--- /dev/null
+++ b/assets/characters/Crimson Reaper/.DS_Store
Binary files differ
diff --git a/assets/characters/Crimson Reaper/sprites/.DS_Store b/assets/characters/Crimson Reaper/sprites/.DS_Store
new file mode 100644
index 0000000..0b5b5e9
--- /dev/null
+++ b/assets/characters/Crimson Reaper/sprites/.DS_Store
Binary files differ
diff --git a/assets/characters/Emerald Venom/.DS_Store b/assets/characters/Emerald Venom/.DS_Store
new file mode 100644
index 0000000..5f50018
--- /dev/null
+++ b/assets/characters/Emerald Venom/.DS_Store
Binary files differ
diff --git a/assets/characters/Emerald Venom/sprites/.DS_Store b/assets/characters/Emerald Venom/sprites/.DS_Store
new file mode 100644
index 0000000..0b5b5e9
--- /dev/null
+++ b/assets/characters/Emerald Venom/sprites/.DS_Store
Binary files differ
diff --git a/assets/characters/Golden Radiance/.DS_Store b/assets/characters/Golden Radiance/.DS_Store
new file mode 100644
index 0000000..e1664d3
--- /dev/null
+++ b/assets/characters/Golden Radiance/.DS_Store
Binary files differ
diff --git a/assets/characters/Golden Radiance/sprites/.DS_Store b/assets/characters/Golden Radiance/sprites/.DS_Store
new file mode 100644
index 0000000..0b5b5e9
--- /dev/null
+++ b/assets/characters/Golden Radiance/sprites/.DS_Store
Binary files differ
diff --git a/assets/characters/characters-data.lua b/assets/characters/characters-data.lua
index 74f6233..d3cef43 100644
--- a/assets/characters/characters-data.lua
+++ b/assets/characters/characters-data.lua
@@ -5,6 +5,7 @@ return {
speed = 5,
moves = {"teleportation", "quick_dashes", "smoke_screens", "strikes_from_the_shadows"},
asset_dir = "assets/characters/Cobalt Phantom",
+ jump_strength = 19.4,
},
{
name = "Emerald Venom",
@@ -12,6 +13,7 @@ return {
speed = 4,
moves = {"snake_whip", "venom_bite", "poison_of_the_past"},
asset_dir = "assets/characters/Emerald Venom",
+ jump_strength = 23.4,
},
{
name = "Golden Radiance",
@@ -19,6 +21,7 @@ return {
speed = 8,
moves = {"solar_boom", "flashbang", "flare_frenzy"},
asset_dir = "assets/characters/Golden Radiance",
+ jump_strength = 20.2,
},
{
name = "Crimson Reaper",
@@ -26,5 +29,6 @@ return {
speed = 2,
moves = {"soul_slash", "deaths_reach", "phantom_step", "grim_harvest"},
asset_dir = "assets/characters/Crimson Reaper",
+ jump_strength = 28.4,
}
}
diff --git a/assets/gui/.DS_Store b/assets/gui/.DS_Store
new file mode 100644
index 0000000..df5b5e4
--- /dev/null
+++ b/assets/gui/.DS_Store
Binary files differ
diff --git a/assets/scripts/local2P.lua b/assets/scripts/local2P.lua
index df20f61..c8e0aa5 100644
--- a/assets/scripts/local2P.lua
+++ b/assets/scripts/local2P.lua
@@ -1,10 +1,24 @@
---@diagnostic disable: undefined-global
-jumpMultiplier = 7
+
+function SafeInitCharacter(character, default_x, default_y)
+ character.x = character.x or default_x
+ character.y = character.y or default_y
+ character.y_velocity = character.y_velocity or 1
+ character.current_sprite = character.asset_dir .. "/sprites/idle.png"
+end
+
+function Setup()
+ SafeInitCharacter(player1Character, 250, 250)
+ SafeInitCharacter(player2Character, WIDTH - 250 - (250 / 2), 250)
+end
+
+gravity = 1.2 -- POSITIVE gravity
+floor_y = HEIGHT - 250
function HandleP1Input()
- if Input.isKeyPressedOnce("W") then
- player1Character.y = player1Character.y - player1Character.speed * jumpMultiplier;
+ if Input.isKeyPressedOnce("W") and player1Character.y == floor_y then
+ player1Character.y_velocity = player1Character.jump_strength * -1.0;
end
if Input.isKeyDown("D") then
player1Character.x = player1Character.x + player1Character.speed;
@@ -15,8 +29,8 @@ function HandleP1Input()
end
function HandleP2Input()
- if Input.isKeyPressedOnce("UP") then
- player2Character.y = player2Character.y - player2Character.speed * jumpMultiplier;
+ if Input.isKeyPressedOnce("UP") and player2Character.y == floor_y then
+ player2Character.y_velocity = player2Character.jump_strength * -1.0;
end
if Input.isKeyDown("RIGHT") then
player2Character.x = player2Character.x + player2Character.speed;
@@ -26,20 +40,40 @@ function HandleP2Input()
end
end
-function Setup()
- player1Character.x = 250;
- player2Character.x = WIDTH - 250 - (250 / 2)
- player1Character.y = 250;
- player2Character.y = 250;
+function Update()
+ -- P1 physics
+ player1Character.y_velocity = player1Character.y_velocity + gravity
+ player1Character.y = player1Character.y + player1Character.y_velocity
- player1Character.current_sprite = player1Character.asset_dir .. "/sprites/idle.png"
- player2Character.current_sprite = player2Character.asset_dir .. "/sprites/idle.png"
-end
+ if player1Character.y > floor_y then
+ player1Character.y = floor_y
+ player1Character.y_velocity = 0
+ end
+
+ -- P2 physics
+ player2Character.y_velocity = player2Character.y_velocity + gravity
+ player2Character.y = player2Character.y + player2Character.y_velocity
+
+ if player2Character.y > floor_y then
+ player2Character.y = floor_y
+ player2Character.y_velocity = 0
+ end
+
+ -- Render
+ queueTextureForRender(
+ player1Character.current_sprite,
+ math.floor(player1Character.x),
+ math.floor(player1Character.y)
+ )
+
+ queueTextureForRender(
+ player2Character.current_sprite,
+ math.floor(player2Character.x),
+ math.floor(player2Character.y)
+ )
-function Update()
- queueTextureForRender(player1Character.current_sprite, player1Character.x, player1Character.y)
- queueTextureForRender(player2Character.current_sprite, player2Character.x, player2Character.y)
+ -- Input
HandleP1Input()
HandleP2Input()
end