View Single Post
  #4  
Old 10-13-2015, 07:28 AM
skyy's Avatar
skyy
Fire Beetle
 
Join Date: Sep 2015
Posts: 15
Default

it works perfectly and in case someone is looking to do the same, thats what my code looks like atm:

Code:
void Bot::ProcessBotGroupInvite(Client* c, std::string botName) {
	if(c) {
		Bot* invitedBot = GetBotByBotClientOwnerAndBotName(c, botName);

		if(invitedBot && !invitedBot->HasGroup()) {
			if(!c->IsGrouped()) {
				//godrage
				if (c->GetClass() == invitedBot->GetClass())
					{
						//c->Say("It's all about diversity... and against clones");
						invitedBot->Say("There is already someone with my talents in your group.");
						invitedBot->Emote("rejects your invitations");
						return;
					}
				//godrage
				Group *g = new Group(c);
				if(AddBotToGroup(invitedBot, g)) {
					entity_list.AddGroup(g);
					database.SetGroupLeaderName(g->GetID(), c->GetName());
					g->SaveGroupLeaderAA();
					database.SetGroupID(c->GetName(), g->GetID(), c->CharacterID());
					database.SetGroupID(invitedBot->GetCleanName(), g->GetID(), invitedBot->GetBotID());
					BotGroupOrderFollow(g,c); //godrage
				}
			} else {
				 //godrage
				for (int i = 0; i < 6; ++i)
				{
					if (!c->GetGroup()->members[i])
						continue;
					if (c->GetGroup()->members[i]->GetClass() == invitedBot->GetClass())
					{
						//c->Say("It's all about diversity... and against clones");
						invitedBot->Say("There is already someone with my talents in your group.");
						invitedBot->Emote("rejects your invitations");
						return;
					}
				}
				//godrage
				Group *gg = c->GetGroup(); //godrage
				AddBotToGroup(invitedBot, c->GetGroup());
				database.SetGroupID(invitedBot->GetCleanName(), c->GetGroup()->GetID(), invitedBot->GetBotID());
				BotGroupOrderFollow(gg, c); //godrage
			}
		}
	}
}



the reason for
Code:
BotGroupOrderFollow(g,c); //godrage
is simply the fact that i add a different followdistance for each bot with the follow command which i now trigger from the invite.

my personal reason for this change is to simply enforce a policy to see bots as dearly beloved group members and not as zerg fodder
Reply With Quote