| [Freeciv-Dev] (PR#7107) Units move before game_advance_year[Top] [All Lists][Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
 
| To: | undisclosed-recipients: ; |  
| Subject: | [Freeciv-Dev] (PR#7107) Units move before game_advance_year |  
| From: | "Michael Kirzinger" <mjk3@xxxxxxxxxxxxxxx> |  
| Date: | Sun, 21 Dec 2003 11:06:04 -0800 |  
| Reply-to: | rt@xxxxxxxxxxx |  
 
<URL: http://rt.freeciv.org/Ticket/Display.html?id=7107 >
> [per - Sun Dec 21 12:50:53 2003]:
> 
> I don't quite see what you are getting at here. The end of turn sequence
> goes as follows:
> 
>     auto_settlers();
>     auto_attack();
>     end_turn();
>     game_advance_year();
> 
> Unit move points are restored in end_turn(), and auto-settlers are moved
> before this point. Auto-explorers are moved immediately, not at end of
> turn.
> 
>   - Per
> 
Unit points are restored in end_turn(), but in the same function that
does that (update_unit_activities()), the units also move after their
movepoints are restored. Any unit set to goto or autoexplore previously,
do their move immediately, before end_turn() is finished -- in a way,
they can move twice in one turn if they were set to goto/explore that turn.
For example, a unit is set to auto explore. The unit immediately moves.
Then the player presses end turn (assume this is the last player to).
The server then proceeds to end_turn(). In this function, the move
points are restored, then the unit set to auto explore moves immediately
after its move points are restored (in update_unit_activity()). The unit
has moved twice in this year. After this, the server proceeds to
game_advance_year().
I hope that explains it.
-Michael
 
 
 |  |