OBD talk:BINA/OBJC/CHAR

From OniGalore
Jump to navigation Jump to search

Teams

Ok, I'm going to ask a few dumb questions

  • How are these teams treated: SecurityGuard, Switzerland, Who are there friends and enemies?
  • How is SyndicateAccessory different from Syndicate?
  • Is it possible to add BGI as another team?
  • Can the properties of a team be changed? ie: defining its friends and enemies

EdT 23:55, 30 August 2008 (CEST)

From what I remember, from testing with KvW:

Team 1: SecurityGuard+TCTF+Konoko

Team 2: Syndicate+SyndicateAccessory

Team 3: RogueKonoko

Others: Neutral, Switzerland

All 3 teams will fight against any other teams. I'm not sure on the "Others", you will have to test them out. As long as you don't have TCTF vs Syndicate vs Konoko vs BGI (4 way battling!), you should be fine. Even then, you may be able to get the Neutral or Swiss team to fight against the other 3, but I guarantee nothing. I don't know any way to add or change teams, short of engine hacking.

Gumby 04:52, 31 August 2008 (CEST)

Here's the pseudocode of the function that decides who is friend/enemy. Friend/Foe have the obvious meaning and PotentialFoe means that the AI will act as a foe only if it is attacked.

 FriendOrFoe AI2rTeam_FriendOrFoe(Team t1, Team t2)
   if (LastManStanding)
       return Foe;
   else if (t1 = t2) or (t1 = Switzerland) or (t2 = Switzerland)
       return Friend;
   else if (t1 = Konoko)
       if (t2 = TCTF)
           return Friend;
       else if (t1 = Syndicate)
           return Foe;
       else
           return PotentialFoe;
   else if (t1 = TCTF)
       if (t2 = Konoko)
           return Friend;
       else if (t2 = Syndicate) or (t2 = RogueKonoko)
           return Foe;
       else
           return PotentialFoe;
   else if (t1 = Syndicate)
       if (t2 = SyndicateAccessory)
           return Friend;
       else
           return Foe;
   else if (t1 = Neutral)
       return PotentialFoe;
   else if (t1 = SecurityGuard)
       if (t2 = Syndicate) or (t2 = RogueKonoko)
           return Foe;
       else 
           return PotentialFoe;
   else if (t1 = RogueKonoko)
       if (t2 = Syndicate) or (t2 = TCTF)
           return Foe;
       else
           return PotentialFoe;
   else if (t1 = SyndicateAccessory)
       if (t2 = Syndicate)
           return Friend;
       else
           return PotentialFoe;

Neo

So, the difference between Switzerland and Neutral is that Switzerland will not attack you even if you attack them, but Neutral will retaliate. --Iritscen 15:08, 31 August 2008 (CEST)

O_o I guess the SecurityGuards aren't neccessarily aligned with anyone...interesting.

Gumby 16:39, 31 August 2008 (CEST)

So which team should BGI be assigned? EdT

RogueKonoko or Neutral in the beginning, depending on how you want the interactions to be, but for the later levels, I'm not quite sure. It depends on who is in the level and the situation. Maybe SecurityGuard. (Actually, that would probably work)

Gumby 18:39, 31 August 2008 (CEST)