From df31e4319b326cc7c8a7fd4b9b30fc4b70dfd606 Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Tue, 30 Mar 2021 22:26:11 +0300 Subject: [PATCH 1/2] shuffle ffa spawn positions --- assets/src/ba_data/python/ba/_map.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/src/ba_data/python/ba/_map.py b/assets/src/ba_data/python/ba/_map.py index 3bd4c55d..d2c358b8 100644 --- a/assets/src/ba_data/python/ba/_map.py +++ b/assets/src/ba_data/python/ba/_map.py @@ -251,6 +251,9 @@ class Map(Actor): or [(0, 0, 0, 0, 0, 0)]) self.ffa_spawn_points = (self.get_def_points('ffa_spawn') or [(0, 0, 0, 0, 0, 0)]) + # Let's shuffle our spawn points, + # so that no one is offended by the constant spawn on the edge. + random.shuffle(self.ffa_spawn_points) self.spawn_by_flag_points = (self.get_def_points('spawn_by_flag') or [(0, 0, 0, 0, 0, 0)]) self.flag_points = self.get_def_points('flag') or [(0, 0, 0)] From 52369fec470c3ed661b1d9a5a2ccc236a3b19d78 Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Mon, 19 Apr 2021 22:34:26 +0300 Subject: [PATCH 2/2] select random index instead of spawn positions shuffle --- assets/src/ba_data/python/ba/_map.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/src/ba_data/python/ba/_map.py b/assets/src/ba_data/python/ba/_map.py index d2c358b8..6f8919b5 100644 --- a/assets/src/ba_data/python/ba/_map.py +++ b/assets/src/ba_data/python/ba/_map.py @@ -251,9 +251,6 @@ class Map(Actor): or [(0, 0, 0, 0, 0, 0)]) self.ffa_spawn_points = (self.get_def_points('ffa_spawn') or [(0, 0, 0, 0, 0, 0)]) - # Let's shuffle our spawn points, - # so that no one is offended by the constant spawn on the edge. - random.shuffle(self.ffa_spawn_points) self.spawn_by_flag_points = (self.get_def_points('spawn_by_flag') or [(0, 0, 0, 0, 0, 0)]) self.flag_points = self.get_def_points('flag') or [(0, 0, 0)] @@ -279,7 +276,10 @@ class Map(Actor): self.is_flying = False # FIXME: this should be part of game; not map. - self._next_ffa_start_index = 0 + # Let's select random index for first spawn point, + # so that no one is offended by the constant spawn on the edge. + self._next_ffa_start_index = random.randrange( + len(self.ffa_spawn_points)) def is_point_near_edge(self, point: ba.Vec3,