Private
Public Access
1
0

fix game
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 6m49s

This commit is contained in:
Sebastian Unterschütz
2026-03-22 18:18:45 +01:00
parent ced5011718
commit 656f279a89
7 changed files with 226 additions and 87 deletions

View File

@@ -1,6 +1,7 @@
package main
import (
"git.zb-server.de/ZB-Server/EscapeFromTeacher/pkg/config"
"git.zb-server.de/ZB-Server/EscapeFromTeacher/pkg/game"
"git.zb-server.de/ZB-Server/EscapeFromTeacher/pkg/physics"
)
@@ -31,6 +32,17 @@ func (g *Game) ApplyInput(input InputState) {
OnWall: g.predictedOnWall,
}
// Double Jump: vor der Physik anwenden (1:1 wie Server)
if input.Jump && !g.predictedGround && g.predictedHasDoubleJump && !g.predictedDoubleJumpUsed {
g.predictedVY = -config.JumpVelocity
g.predictedDoubleJumpUsed = true
}
// Double Jump Reset wenn wieder am Boden
if g.predictedGround {
g.predictedDoubleJumpUsed = false
}
// Physik-Input vorbereiten
physicsInput := physics.PhysicsInput{
InputX: moveX,
@@ -175,4 +187,8 @@ func (g *Game) ReconcileWithServer(serverState game.PlayerState) {
g.predictedVY = replayVY
g.predictedGround = replayGround
g.predictedOnWall = replayOnWall
// Powerup-State vom Server übernehmen (autoritativ)
g.predictedHasDoubleJump = serverState.HasDoubleJump
g.predictedDoubleJumpUsed = serverState.DoubleJumpUsed
}