no message

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@778 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
driAn
2006-12-09 20:51:53 +00:00
parent b19ac54921
commit 6c64619028
7 changed files with 141 additions and 87 deletions
+12 -26
View File
@@ -186,37 +186,23 @@ void pickup(int n, playerent *d)
d->onladder = true;
break;
// EDIT: AH
case CTF_FLAG:
{
if(d->type!=ENT_PLAYER) break;
int team = ents[n].attr2;
flaginfo &f = flaginfos[team];
bool isownflag = team == team_int(d->team);
if(f.state == CTFF_STOLEN) break;
else if(isownflag && f.state == CTFF_DROPPED)
{
addmsg(SV_FLAGRETURN, "ri", team);
ents[n].spawned = false;
}
else if(!isownflag)
{
addmsg(SV_FLAGPICKUP, "ri", team);
ents[n].spawned = false;
f.actor = d; // do this although we don't know if we picked the flag to avoid getting it after a possible respawn
f.state = CTFF_STOLEN;
f.pick_ack = false;
}
else if(isownflag && f.state == CTFF_INBASE)
if(d==player1)
{
flaginfo &ef = flaginfos[team_opposite(team)];
if(ef.state == CTFF_STOLEN && ef.actor == d)
int flag = ents[n].attr2;
flaginfo &f = flaginfos[flag];
flaginfo &of = flaginfos[team_opposite(flag)];
if(f.state == CTFF_STOLEN) break;
if(flag == team_int(d->team)) // its the own flag
{
addmsg(SV_FLAGSCORE, "ri", team_opposite(team));
ef.state = CTFF_INBASE;
};
if(f.state == CTFF_DROPPED) flagreturn();
else if(f.state == CTFF_INBASE && of.state == CTFF_STOLEN && of.actor == d) flagscore();
}
else flagpickup();
};
break;
break;
};
};
};