|  |  |  | 
|---|
|  |  |  | warPlayer = GetFamilyWarPlayer(playerID) | 
|---|
|  |  |  | warPlayer.calcFightTimeTick = tick | 
|---|
|  |  |  |  | 
|---|
|  |  |  | faction = curPlayer.GetFaction() | 
|---|
|  |  |  | if not faction: | 
|---|
|  |  |  | GameWorld.Log("还未设置阵营的玩家暂不处理!可能是DoEnter中!", playerID) | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | # 检查坐标,防止作弊 | 
|---|
|  |  |  | factionIndex = GetFactionIndex(curPlayer.GetFaction()) | 
|---|
|  |  |  | factionIndex = GetFactionIndex(faction) | 
|---|
|  |  |  | centrePosX, centrePosY, radius = factionAreaInfo[factionIndex] | 
|---|
|  |  |  | curPosX, curPosY = curPlayer.GetPosX(), curPlayer.GetPosY() | 
|---|
|  |  |  | dist = GameWorld.GetDist(curPosX, curPosY, centrePosX, centrePosY) | 
|---|
|  |  |  | 
|---|
|  |  |  | if dist > maxDist: | 
|---|
|  |  |  | posPoint = GameMap.GetEmptyPlaceInArea(centrePosX, centrePosY, radius) | 
|---|
|  |  |  | curPlayer.ResetPos(posPoint.GetPosX(), posPoint.GetPosY()) | 
|---|
|  |  |  | GameWorld.DebugLog("玩家不在营地范围内,强制拉回!curPos=(%s,%s),centerPos=(%s,%s), dist=%s > maxDist=%s" | 
|---|
|  |  |  | % (curPosX, curPosY, centrePosX, centrePosY, dist, maxDist)) | 
|---|
|  |  |  | GameWorld.Log("玩家不在营地范围内,强制拉回!faction=%s,curPos=(%s,%s),centerPos=(%s,%s), dist=%s > maxDist=%s" | 
|---|
|  |  |  | % (faction, curPosX, curPosY, centrePosX, centrePosY, dist, maxDist), playerID) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __DoLogic_FB_Fighting(tick): | 
|---|