ares completely ignores FactoryOwners.Forbidden

Bug #1794328 reported by FELITH
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ares
New
Undecided
Unassigned

Bug Description

ares v2.0
==========================
[tank1]
;FactoryOwners=is not set
FactoryOwners.Forbidden=USSR

;I owned USSR's factory but still able to build tank1.
===========================
[tank2]
owner=USA,FR,USSR,GER
FactoryOwners=USA,FR
FactoryOwners.Forbidden=USSR

;no USSR's factory built, owned only GER's factory. can't build tank2 even there is no GER in forbidden list.
it's not listed in "FactoryOwner=", yes. but it still does need to check forbidden list next.
but it seem to ignores the process of this function completely.
============================

Revision history for this message
AlexB (alexander-b) wrote :

Did you own a single factory that was owned by USSR? Or did you own more than one, and one owned by USSR was among them? In the first case the [tank1] shouldn't be buildable, in the second case it should. Only if all factories are owned by forbidden owners should [tank1] become unavailable. I'll look into it if it's the former.

In case 2, [tank2] is not buildable by GER, because FactoryOwner= does not include GER, and thus GER factories can't build it. Because this test fails, there's no need to check FactoryOwners.Forbidden=. The result can't change: both settings have to be satisfied and the first one already fails, thus the result of the Forbidden check wouldn't change the outcome. So this is to be expected, or am I mistaken?

Revision history for this message
FELITH (felithteam) wrote :

case 1: yes I did own at least one.

case 2: hm if both settings have to be satisfied then you definitely should change 'or' to 'and' in the prerequisite flowchart:https://i.imgur.com/wEnCj5k.png
"or any factory not built by a FactoryOwners.Forbidden country" it's why I thought GER should be buildable.
BUT I hope you change the system tho not the flowchart. I suggested this before but let's hear me again.
=================
[UNIT]
owner=USA,FR,USSR,GER
FactoryOwners=USA,FR
FactoryOwners.Forbidden=USSR

if both settings have to be satisfied then it will works this way.
-USA,FR will lose this UNIT when owning USSR.
I suggest to make just one of the tags has to be satisfied. it will works like this.
-USA,FR will not lose this UNIT even owning USSR.
-BUT IF I want to make USA to lose this UNIT too like how above works I just remove USA from 'FactoryOwners'

if both settings have to be satisfied
-USSR will never get this UNIT even owning USA,FR.
if one of the tags has to be satisfied.
-USSR will get this UNIT when owning USA,FR.
-BUT IF I want to make USSR never get this UNIT, I just need to add USSR to 'ForbiddenHouses'

if both settings have to be satisfied
-GER will never satisfy this system.
if one of the tags has to be satisfied.
-GER will be able to build this UNIT now, at least until owning any USSR's factory.
-BUT IF I don't want GER to be able to build this UNIT at all. I just need to add GER to the 'ForbiddenHouses' or
to the 'FactoryOwners.Forbidden' if I want other countries to lose this UNIT when owning GER.
=================
You can clearly see that "one of the tags has to be satisfied" is more flexible than "both".
I had suggested a new tag before which will bring this to the next level. but we don't need to go that far... do we?xD
if you want to keep it just two tags then this way I suggested is surely better than present ares.
yeah, I think that's all I want to tell you. just whenever you have time to look into them. please make it this way.

Revision history for this message
FELITH (felithteam) wrote :

case1: "Only if all factories are owned by forbidden owners should [tank1] become unavailable."
I don't see the point of having 2 tags If it works like that.

you should rewrite system to:
If owned any factory in FactoryOwners.Forbidden= list, the tag will not be satisfied. it's more flexible this way.

Revision history for this message
FELITH (felithteam) wrote :

conclusion flowchart:
https://i.imgur.com/Qwa8LeD.jpg

Revision history for this message
FELITH (felithteam) wrote :

hmm, I see I think I miss understood your comment and wrote comment #2.
at first I thought FactoryOwners.Forbidden works this way
"If has any factory built by a FactoryOwners.Forbidden country, the tag will not be satisfied."
If you read #2 again with this notion you will understand my point.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.