On Thu, 24 Jan 2002, James Cameron wrote: > I have had reported to me ... > > Observer locked on team player that is beaming armies up or down from > the team base is told in the messages how many armies the enemy base > has. > > Anyone seen this? Yes. The observer doesn't get the p_docked field set to the base the observee is docked on, so the server will probably send a message with player 0's armies/name. I fixed this and it didn't seem to trigger any bugs where the observer would be considered "docked" on the base for fuel use/moving armies/freeing docking ports/etc.. There is another bug in the server's calculation of army carrying capacity. It thinks observers always have 0 kills. So you get a message like "Beaming up: (4/0) ....." and the "No more room" message isn't sent. The obvious fix is to set the kills of an observer to the kills of the person they are observing. But there is a comment in the code, "Very bad: will confuse enemies", that I don't understand. It's too hard to ignore observers in the player list? So I'll probably just fix this by making the army capacity calculation in redraw.c take observers into account. I think I'll also make paradise-2000 put blank space in the player list for observer stats, since they are meaningless. > (I already knew that the code already mishandles beaming up or down from > planets, reporting instead the number of armies on another planet, the > one the observer last locked onto.) This is somewhat harder to fix. The p_planet field needs to be set for observers, but this field has double usage as planet orbited and planet locked, and observers have special meaning for planet locked. I think it might be ok to set this anyway tough, since the planet lock flag won't be set. So maybe it's not really hard at all..