diff --git a/source/src/entities.cpp b/source/src/entities.cpp index 2c97ca2f..0cbc1b48 100644 --- a/source/src/entities.cpp +++ b/source/src/entities.cpp @@ -137,7 +137,6 @@ void trypickupflag(int flag, playerent *d) entity &e = *flaginfos[flag].flagent; if(d==player1) { - int flag = e.attr2; flaginfo &f = flaginfos[flag]; flaginfo &of = flaginfos[team_opposite(flag)]; if(f.state == CTFF_STOLEN) return; @@ -198,10 +197,12 @@ void checkitems(playerent *d) vec v(e.x, e.y, S(e.x, e.y)->floor+eyeheight); if(d->o.dist(v)<2.5f) trypickup(i, d); } - if(m_flags || editmode) loopi(2) + if(m_flags) loopi(2) { flaginfo &f = flaginfos[i]; entity &e = *f.flagent; + if(!e.spawned) continue; + if(OUTBORD(e.x, e.y)) continue; if(f.state==CTFF_DROPPED) // 3d collision for dropped ctf flags { vec v(e.x, e.y, e.z); diff --git a/source/src/server.cpp b/source/src/server.cpp index 196c58d6..b3a64723 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -932,7 +932,7 @@ void ctfreset() int idleflag = m_ktf ? rnd(2) : -1; loopi(2) { - sflaginfos[i].actor_cn = 0; + sflaginfos[i].actor_cn = -1; sflaginfos[i].state = i == idleflag ? CTFF_IDLE : CTFF_INBASE; sflaginfos[i].lastupdate = -1; }