[2.0.23] share_chart does not work if set_friend is false

Bugs that are actually features.
JustGoFly
Inserter
Inserter
Posts: 22
Joined: Fri Dec 18, 2020 6:12 pm
Contact:

[2.0.23] share_chart does not work if set_friend is false

Post by JustGoFly »

In Oarc and Brave New Oarc mod - we play multiplayer (multiple forces) in different spawns. We do not want other forces to change our teams assembler, belt, inserter settings, but we do want to optionally enable vision of our bases to other teams. We used to set_friend(false), but now set_friend for each force to ours to true/false based on a configurable setting. This automatically turns off share_chart, and reenabling it, does not work if set_friend is false. This seems like a bug since share_chart definition has not changed "If sharing chart data is enabled for this force.".

Can we get the option to SEE another forces base, based on the share_chart setting, but not modify it based on the set_friend option, as was in 1.1.
Rseding91
Factorio Staff
Factorio Staff
Posts: 14891
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by Rseding91 »

Thanks for the report however this is unchanged. share_chart is a boolean on a given force where it will share its charting with all friendly forces. It is not a list of forces it will share with: that is determined by who is a friend of the force.
If you want to get ahold of me I'm almost always on Discord.
JustGoFly
Inserter
Inserter
Posts: 22
Joined: Fri Dec 18, 2020 6:12 pm
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by JustGoFly »

Is there a way of disallowing players from changing your base items, but allowing them to view your base?
This has definately different from 1.1 -> 2.0. We used to :
force.set_friend(false)
force.share_chart=true

Now - we loop through each force and set who we're friendly with - a definite improvement. But it removed our ability to share our chart to unfriendly teams - which should be optional.

1.1 allowed this.

Ideally since you changed set_friend to require myForce and other, that you would do the same for share_chart and not enforce it's link to set_friend.

The reason is BNO mod will have many players in the same map - on different teams, that don't want to attack or help other teams, but they do want to view each others base, copying blueprints. If someone wants to hide their base, they can force.share_chart=false.

Please consider this change - every player is screaming that they can't see anything on other players bases, but when I make them friends they scream that others can manipulate their base. These functions should not be linked.
bits-orio
Burner Inserter
Burner Inserter
Posts: 11
Joined: Wed Feb 28, 2024 6:08 pm
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by bits-orio »

Rseding91 wrote: Mon Dec 16, 2024 8:30 pm Thanks for the report however this is unchanged. share_chart is a boolean on a given force where it will share its charting with all friendly forces. It is not a list of forces it will share with: that is determined by who is a friend of the force.
@Rseding91, So you are saying there is no way to let enemy teams share charting?

There are definitely usecases of such functionality. Like for example, in Biter battles we could use permanent charting. Currently we have to jump through hoops of running chart() every 5 seconds.

OARC is another usecase, over there however forces aren't enemies, but they aren't friends either.

Any game mode that tries to do any kind of PvP might have a mode where based on player votes sometimes enemy visibility is permanent sometimes its not.

I don't know what the right API structure would be, but it would be generally nice to tell via API which all teams is my force sharing charting with.
Imagine a scenario where Team/Player is given a GUI where they specifically allow some other players by name (not all of them, but some) to have full visibility. But at the same time, this player doesn't want to befriend all those other players who are also playing their own game.
Rseding91
Factorio Staff
Factorio Staff
Posts: 14891
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by Rseding91 »

There is no way to let enemies share charting and as far as I can tell it has never existed. In 1.1 share_chart would never share with non-friend forces.
If you want to get ahold of me I'm almost always on Discord.
JustGoFly
Inserter
Inserter
Posts: 22
Joined: Fri Dec 18, 2020 6:12 pm
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by JustGoFly »

First my apologies - I needed to dig into the code a bit and run some tests to verify what I should have said. What you say is perfectly true. share_chart only works in 1.1 when you are friends. But there is a pretty major change that impacts how our mod plays. In 1.1 - with set_friend to true, and share_chart=true I can not modify my friends assembling machines recipes, in 2.0 I can. I understand that 2.0 requires remote modification - so this is needed, but shouldn't we have an api to make modification of friends buildings optional ? The current mechanics are different from 1.1 to 2.x. Ideally we would have the choice to re-enable 1.1 way of playing and make it open to friends to enable/disable access our buildings.

Thank you for your consideration!
bits-orio
Burner Inserter
Burner Inserter
Posts: 11
Joined: Wed Feb 28, 2024 6:08 pm
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by bits-orio »

Rseding91 wrote: Tue Dec 17, 2024 7:33 pm There is no way to let enemies share charting and as far as I can tell it has never existed. In 1.1 share_chart would never share with non-friend forces.
Appreciate your response, but the issue exists nonetheless. Is there anything you guys can do to help with the problem statement?
Problem statement is: I would like to be able to share my tean's charting with another team, but also I do not want to allow the other team to be able to interact with my logistics or mess up my requests or rotate some inserter.

Looky looky, but no touchy touchy. :lol:
Rseding91
Factorio Staff
Factorio Staff
Posts: 14891
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.0.23] share_chart does not work if set_friend is false

Post by Rseding91 »

bits-orio wrote: Wed Dec 18, 2024 8:06 pm
Rseding91 wrote: Tue Dec 17, 2024 7:33 pm There is no way to let enemies share charting and as far as I can tell it has never existed. In 1.1 share_chart would never share with non-friend forces.
Appreciate your response, but the issue exists nonetheless. Is there anything you guys can do to help with the problem statement?
Problem statement is: I would like to be able to share my tean's charting with another team, but also I do not want to allow the other team to be able to interact with my logistics or mess up my requests or rotate some inserter.

Looky looky, but no touchy touchy. :lol:
You can make a modding interface request. It should be viable to change "share_chart" from a bool to a set of forces so it can be more explicit about who it shares with.
If you want to get ahold of me I'm almost always on Discord.
Post Reply

Return to “Not a bug”