From 23757d066ce60abc6130cd76e74fce393f6c64e8 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Thu, 12 Oct 2023 22:29:34 +0300 Subject: [PATCH 11/11] Correct filling of territory claiming extras cache See osdn #48838 Signed-off-by: Marko Lindqvist --- client/packhand.c | 10 +++++----- server/ruleset.c | 7 ++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/client/packhand.c b/client/packhand.c index d4d273a5b3..bc7a9057a3 100644 --- a/client/packhand.c +++ b/client/packhand.c @@ -4096,11 +4096,6 @@ void handle_ruleset_extra(const struct packet_ruleset_extra *p) pextra->native_to = p->native_to; pextra->flags = p->flags; - - if (is_extra_caused_by(pextra, EC_BASE) - && territory_claiming_base(extra_base_get(pextra))) { - extra_type_list_append(extra_type_list_of_terr_claimers(), pextra); - } pextra->hidden_by = p->hidden_by; pextra->conflicts = p->conflicts; @@ -4150,6 +4145,11 @@ void handle_ruleset_base(const struct packet_ruleset_base *p) pbase->vision_invis_sq = p->vision_invis_sq; pbase->flags = p->flags; + + if (territory_claiming_base(pbase)) { + extra_type_list_append(extra_type_list_of_terr_claimers(), + base_extra_get(pbase)); + } } /**************************************************************************** diff --git a/server/ruleset.c b/server/ruleset.c index d99c1fb627..0cdb930396 100644 --- a/server/ruleset.c +++ b/server/ruleset.c @@ -3529,6 +3529,8 @@ static bool load_ruleset_terrain(struct section_file *file, } if (territory_claiming_base(pbase)) { + extra_type_list_append(extra_type_list_of_terr_claimers(), pextra); + extra_type_by_cause_iterate(EC_BASE, pextra2) { struct base_type *pbase2; @@ -3651,11 +3653,6 @@ static bool load_ruleset_terrain(struct section_file *file, ok = FALSE; } - if (is_extra_caused_by(pextra, EC_BASE) - && territory_claiming_base(extra_base_get(pextra))) { - extra_type_list_append(extra_type_list_of_terr_claimers(), pextra); - } - if (!ok) { break; } -- 2.42.0