From 0c47aaff5908a6ed954fb5eccd14c88b87dd0b7e Mon Sep 17 00:00:00 2001 From: Daniel Maixner Date: Wed, 8 Feb 2023 12:39:41 +0100 Subject: [PATCH] Add player radius corner floor collision test --- test/og/Movement/MovementTest.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/og/Movement/MovementTest.php b/test/og/Movement/MovementTest.php index 53c6c3a..33b7fb4 100644 --- a/test/og/Movement/MovementTest.php +++ b/test/og/Movement/MovementTest.php @@ -178,6 +178,22 @@ class MovementTest extends BaseTestCase $this->assertFalse($game->getPlayer(1)->isJumping()); } + public function testPlayerCornerFloorCatch(): void + { + $game = $this->createTestGame(20); + $p = $game->getPlayer(1); + $p->setPosition(new Point(100, 700, 100)); + $radius = $p->getBoundingRadius(); + $this->assertGreaterThan(0, $radius); + $game->getWorld()->addFloor(new Floor(new Point(100 + $radius, 100, 100 + $radius), 1, 1)); + $game->start(); + + $this->assertNotSame(0, $p->getPositionClone()->y); + $this->assertSame(100, $p->getPositionClone()->y); + $this->assertTrue($p->isAlive()); + $this->assertLessThan(100, $p->getHealth()); + } + public function testPlayerFlyingNextRoundBugEventsReset(): void { $game = $this->createGame([