Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2003:
[Freeciv-Dev] (PR#7107) Units move before game_advance_year
Home

[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





[Prev in Thread] Current Thread [Next in Thread]