-- Added item interaction -- Changed inventory management slightly -- Added slide-show system to world, world can now "move" to show more space.
75 lines
No EOL
2.9 KiB
Lua
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 |