[Freeciv-Dev] Re: Multiple alliances was: Re: another fix
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Mon, Jan 06, 2003 at 01:02:34PM +0100, Christian Knoke wrote:
> On Mon, Jan 06, 2003 at 11:33:23AM +0000, Per I. Mathisen wrote:
> >
> > A is at war with C and allied to B
> > B is allied to A and C
> > C is at war with A and allied with B
>
> You mean: allied(A,B) && allied(B,C) && at_war(A,C)
>
> Just a thought:
>
> Given allied(A,B) && at_war(A,C). Why is whatever(B,C)-->allied(B,C)
> possible at all?
AI needs ~ 100 turns to get out of that situation ... but it does.
Think if the players know the diplstate from there allies or enemies
they will decide faster if they should do an ally like that.
> > C attacks a tile that houses a city belonging to B and a unit belonging to
> > A. According to can_unit_attack_unit_at_tile(), an attack on this tile is
> > fine,
>
> This is strange. Why not require !at_war(A,C) before allied(B,C)?
> If C declares war to A after this, do allied(B,C)-->peace(B,C).
> If A declares war to C after this, do allied(A,B)-->peace(A,B).
>
> So we can avoid having ally and enemy on the same tile.
>
> General rule: declare_war(A-->B) implies cancel_alliance(A,i) for all
> i with (allied(B,i) && allied(A,i)).
>
> I think this is also more realistic.
I think its useful that you can make ally before the other change the
state to war. And perhaps screnairios with:
A al B, B al C, C al D, D al E, E al F and F al A
A peace C,E
B peace D,F
C ..
And war between
A D
B E
C F
but therefor should be a limitation of shared view.
Something like:
Only show that that i see and that i discovered, not that i see from my
allies.
Thomas
--
Thomas Strub *** eMail ue80@xxxxxxxxxxxxxxxxxxxxx
Nur weil das Aufzeichnen, Kopieren und Schnüffeln bei elektronischem
Datenverkehr leichter als bei der klassischen Post ist, darf man es nicht
einfach tun.
|
|