diff --git a/client/levels/lobby/lobby.tscn b/client/levels/lobby/lobby.tscn index bc51a1cd2c003bfad2170bd2bd33d7ea5c3ff0a6..13812ca8933b0511dd3ffe8f597c5c1df3e1550a 100644 --- a/client/levels/lobby/lobby.tscn +++ b/client/levels/lobby/lobby.tscn @@ -5,10 +5,6 @@ [node name="lobby" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = -1.0 -margin_top = 1.0 -margin_right = -1.0 -margin_bottom = 1.0 script = ExtResource( 1 ) [node name="menu" type="Panel" parent="."] diff --git a/client/levels/test/game.gd b/client/levels/test/game.gd index 27c3788e0bbe6b93dec45e57fa49de0ba11a7e9d..11debb2614fee1610129f140b22ef134b1aaf84e 100644 --- a/client/levels/test/game.gd +++ b/client/levels/test/game.gd @@ -3,7 +3,7 @@ extends Node # Movements var movementInput:int = 0 -var jumpId:int = 0 +var jumpInput:bool = false var sprintInput:bool = false # Attacks @@ -22,7 +22,9 @@ func getPlayerInput(): movementInput += 1 if Input.is_action_just_pressed("movementJump"): - jumpId += 1 + jumpInput = true + else: + jumpInput = false if Input.is_action_pressed("movementSprint"): sprintInput = true @@ -36,4 +38,4 @@ func getPlayerInput(): attackStateInput = SECONDARY # Sent without safety resend - rpc_unreliable_id(1, "sendPlayerInputs", movementInput, sprintInput, jumpInput, attackStateInput) + rpc_unreliable_id(1, "sendPlayerInputs", movementInput, jumpInput, sprintInput, attackStateInput) diff --git a/server/entities/characters/player.gd b/server/entities/characters/player.gd index 92eb7a1a88985da38e28caf229f6c0bdadde4e55..66adea836e5cbe1e579136fa5ece39ddd42e5d73 100644 --- a/server/entities/characters/player.gd +++ b/server/entities/characters/player.gd @@ -28,7 +28,6 @@ var vel:Vector3 = Vector3(0,0,0) # move_and_slide need that const FLOOR_NORMAL:Vector3 = Vector3(0, 1, 0) - ######### ATTACKS VARS ######## var isAttacking:bool = false @@ -50,11 +49,10 @@ var secondaryAttackDist:float = 1.2 var secondaryAttackDuration:float = 0.3 # Character informations -var damages:int = 0 +var damages:int = 30.0 -var maxJump:int = 2 # Maximum number of jump that a character can do +var maxJump:int = 2 # Maximum number of jump that a character can do var currentJump:int = 0 # Actual number of jump -var lastJumpId:int = 0 # Detect a new jump var lastPunchId:int = 0 # Detect a new punch (of any type) var idleTime:float = 0 # Stun when hitted + prevent spam @@ -67,18 +65,16 @@ func _physics_process(delta): broadcastMovement() # Called from the game script to update the vars -func getPlayerInputs(movementInput, sprintInput, jumpInput, attackTypeInput): +func getPlayerInputs(movementInput, jumpInput, sprintInput, attackTypeInput): motion = 0 - # Check if the character isn't already attacking - if isAttacking: - return - motion = movementInput isSprinting = sprintInput - isJumping = jumpInput + + isJumping = jumpInput && !isJumping - if attackTypeInput != NONE: + # Check if the character isn't already attacking + if attackTypeInput!=NONE && !isAttacking: processAttack(attackTypeInput) func processMovement(delta): @@ -89,12 +85,14 @@ func processMovement(delta): set_rotation_degrees(Vector3(0, 180, 0)) if self.is_on_floor(): - currentJump = 0 + currentJump = 1 if isJumping: + isJumping = false if currentJump < maxJump: + print(currentJump) currentJump += 1 - vel.y = JUMP_SPEED - delta*GRAVITY + vel.y = JUMP_SPEED # Consider the gravity vel.y += delta * GRAVITY diff --git a/server/levels/test/game.gd b/server/levels/test/game.gd index 06d87b58428414ee92e0d56a52628ae2fbf6ba5f..efd4c50e82a95e17e76a89306179bc5b41c82afa 100644 --- a/server/levels/test/game.gd +++ b/server/levels/test/game.gd @@ -1,8 +1,7 @@ extends Node -master func sendPlayerInputs(movementInput, jumpInput, sprintInput, attackStateInput): +master func sendPlayerInputs(movementInput, jumpId, sprintInput, attackStateInput): # Get the input from a client and send it to the matchig remote player var senderId = get_tree().get_rpc_sender_id() - gamestate.get_node("/root/game/"+str(senderId)).getPlayerInputs(movementInput, jumpInput, sprintInput, attackStateInput) - + gamestate.get_node("/root/game/"+str(senderId)).getPlayerInputs(movementInput, jumpId, sprintInput, attackStateInput)