diff --git a/src/MarbleWorld.hx b/src/MarbleWorld.hx index c19a8c3d..e6b0889c 100644 --- a/src/MarbleWorld.hx +++ b/src/MarbleWorld.hx @@ -629,6 +629,7 @@ class MarbleWorld extends Scheduler { marble.reset(); marble.setMode(Start); } + this.playGui.resetPlayerScores(); } var missionInfo:MissionElementScriptObject = cast this.mission.root.elements.filter((element) -> element._type == MissionElementType.ScriptObject diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index ad5d995a..d1f9bd26 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -714,6 +714,14 @@ class PlayGui { redrawPlayerList(); } + public function resetPlayerScores() { + for (player in playerList) { + player.score = 0; + } + + redrawPlayerList(); + } + public function setHelpTextOpacity(value:Float) { @:privateAccess helpTextForeground.text._textColorVec.a = value; @:privateAccess helpTextBackground.text._textColorVec.a = value; diff --git a/src/net/NetCommands.hx b/src/net/NetCommands.hx index 254ff0fe..d17d0a30 100644 --- a/src/net/NetCommands.hx +++ b/src/net/NetCommands.hx @@ -78,8 +78,8 @@ class NetCommands { @:rpc(server) public static function setStartTicks(ticks:Int) { if (MarbleGame.instance.world != null) { - MarbleGame.instance.world.serverStartTicks = ticks; - MarbleGame.instance.world.startTime = MarbleGame.instance.world.timeState.timeSinceLoad + 3.5; + MarbleGame.instance.world.serverStartTicks = ticks + 1; // Extra tick so we don't get 0 + MarbleGame.instance.world.startTime = MarbleGame.instance.world.timeState.timeSinceLoad + 3.5 + 0.032; // 1 extra tick } } diff --git a/src/shapes/AntiGravity.hx b/src/shapes/AntiGravity.hx index 9f23c429..202d0b61 100644 --- a/src/shapes/AntiGravity.hx +++ b/src/shapes/AntiGravity.hx @@ -32,7 +32,7 @@ class AntiGravity extends PowerUp { public function pickUp(marble:Marble):Bool { var direction = new Vector(0, 0, -1); direction.transform(this.getRotationQuat().toMatrix()); - return !direction.equals(this.level.marble.currentUp); + return !direction.equals(marble.currentUp); } public function use(marble:Marble, timeState:TimeState) {