VoidShot/scripts/inputs.lua
Hannah-Dagemark 3a3bea1ead World Gen #3, Inventory #2
-- Added item interaction
-- Changed inventory management slightly
-- Added slide-show system to world, world can now "move" to show more space.
2023-10-16 08:44:17 +02:00

75 lines
No EOL
2.9 KiB
Lua

function mouseOver(object)
local mx, my = love.mouse.getPosition()
local time = 0
if mx > object.x and mx < object.x + object.width then
if my > object.y and my < object.y + object.height then
return true
end
end
return false
end
function keyboard_input_held(object, dt)
object.bools.isWalking = false
object.bools.isRunning = false
mouse.x, mouse.y = love.mouse.getPosition
if love.keyboard.isDown("lshift") then
object.bools.isRunning = true
end
if love.keyboard.isDown(keybinds.left) and love.keyboard.isDown(keybinds.right) then
-- you're stopped now :3c
elseif love.keyboard.isDown(keybinds.left) then
object.bools.isWalking = true
if math.abs(object.physics.velocityX) + 0.1 < object.functions.getRunningSpeed(object.bools.isRunning) then object.physics.velocityX = object.physics.velocityX - 0.1 else object.physics.velocityX = object.functions.getRunningSpeed(object.bools.isRunning)* -1 end
elseif love.keyboard.isDown(keybinds.right) then
object.bools.isWalking = true
if math.abs(object.physics.velocityX) < object.functions.getRunningSpeed(object.bools.isRunning) then object.physics.velocityX = object.physics.velocityX + 0.1 else object.physics.velocityX = object.functions.getRunningSpeed(object.bools.isRunning) end
end
end
function love.mousemoved(x, y)
if x > player.x then
player.bools.isFacingRight = true
else
player.bools.isFacingRight = false
end
end
function love.keypressed(key)
if Scene == "gameTest" then
if key == keybinds.jump and player.bools.isAirborne == false then player.physics.velocityY = player.physics.velocityY - 5 end
if key == keybinds.interact then
if checkSpace.items(player.x, player.y) then
local id = checkSpace.items(player.x, player.y)
print("Found Item near player")
local newItem = itemgen.createFromWorld(id)
inventory("add", player.current_equip, newItem)
print("Added item " .. World.map.items[id][1])
removeFromWorld("items", id)
elseif checkSpace.interactables(player.x, player.y) then
print("Interacted with smthn")
else
print("Attempted to interact, found nothing")
end
end
if key == keybinds.create then
NPCs[#NPCs+1] = character.create({"attributes", "functions","bools","physics"}, false)
NPCs[#NPCs].x = math.random(0, window.x-20)
NPCs[#NPCs].y = window.y/2-window.y/20
NPCs[#NPCs].width = 20
NPCs[#NPCs].height = 80
end
if key == keybinds.primary then
player.current_equip = 1
end
if key == keybinds.secondary then
player.current_equip = 2
end
else
if key == keybinds.jump then
titleCard.duration = true
end
end
end