[Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 [guest - Sun Mar 04 19:29:33 2007]: [EMAIL PROTECTED] - Sat Mar 03 22:22:13 2007]: well i see that some of you say that the status should be dropped at one stage, but i will disagree here. assume you have a elite carvel crew, you assign them to a new galeon. they are very experianced with those kind of ships. so they would probably stay elite same with frigates-ironclads I think that is the main inconsistency. If you are assigned a new technology it does not assume that you become automatically experienced with it. For instance, Pikemen are upgraded to Musketeers. Do you really believe that an elite pikeman will become immediately an elite musketeer? They are using quite different weapons, tactics, etc. The same is for other technologies, such as catapults and cannons. People even need time and training to move from one programming language to another, not talking about being an expert :-) Sincerely, Alexander when it comes to catipults and cannons, they both rely on aim. when you upgrade them, the status should remain right now if you upgrade with money, status remians. the workshop upgrades them for free. so i ask u guys to make an option before u make the game for the upgrading system-which one you prefer to play in -flamehawk96 (aka eadle) ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 [EMAIL PROTECTED] - Sat Mar 03 22:22:13 2007]: well i see that some of you say that the status should be dropped at one stage, but i will disagree here. assume you have a elite carvel crew, you assign them to a new galeon. they are very experianced with those kind of ships. so they would probably stay elite same with frigates-ironclads when it comes to catipults and cannons, they both rely on aim. when you upgrade them, the status should remain right now if you upgrade with money, status remians. the workshop upgrades them for free. so i ask u guys to make an option before u make the game for the upgrading system-which one you prefer to play in -flamehawk96 (aka eadle) ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 [chrisk - Fri Mar 02 11:06:11 2007]: Alexander Sayenko wrote on Mar 01, 22:03 (-0800): There is a bug report based on several discussions in the Freeciv forum. The main inconsistency is that: * while upgrading a unit, the veteran status is preserved * while a unit is upgraded by Leonardo workshop, it cleared, i.e., a unit becomes a novice Possible solutions: * keep the veteran status in all cases I'm for this. Dropping the veteran status makes upgrading quite worthless. BTW, there is a rather old bug report for this, and I *think* this is already fixed in the above way at least in 2.0.9 beta3 Christian * clear the veteran status in all cases * clear the veteran status if a user upgrades a unit but keep it if a unit is upgraded by the Leonardo workshop * keep the veteran status when a user upgrades a unit if he has the Leonardo Worshop; otherwise it is cleared * instead of clearing the veteran status in all the cases above, it can be downgraded by one level Personally, I prefer a case when the veteran status decreases by one level during an upgrade (see my ideas concerning this issue on the forum). However, since the Leonardo workshop is a wonder, both the normal upgrade and the Leonardo upgrade should preserve the veteran status, if a user has this wonder. In other words, the first stage is that you fix the Leonardo worskhop behaviour. The second stage is that you decide what to do with the normal upgrade when a player does not have this wonder. Sincerely, Alexander ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 I agree with Christian. If status is dropped it will be always better to disband unit and build a new one in a city with barracks. Thanks, Daniil. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 On Sat, 3 Mar 2007, Marko Lindqvist wrote: I definitely want veteran status to remain in my games. Same here. It is the option that seems the most fun, and that is the whole point, isn't it? So, anyone care to make a patch? ;-) - Per ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 On 3/3/07, Per I. Mathisen [EMAIL PROTECTED] wrote: So, anyone care to make a patch? ;-) Untested. Normal upgrade already kept veteran levels and autoupgrade had ruleset option. This patch simply adds ruleset option for normal upgrade also. - ML diff -Nurd -X.diff_ignore freeciv/common/packets.def freeciv/common/packets.def --- freeciv/common/packets.def 2007-03-03 23:02:08.0 +0200 +++ freeciv/common/packets.def 2007-03-04 00:10:49.0 +0200 @@ -438,6 +438,7 @@ UINT8 tech_leakage; YEAR tech_cost_double_year; BOOL killstack; + UINT8 upgrade_veteran_loss; UINT8 autoupgrade_veteran_loss; UINT16 incite_improvement_factor; UINT16 incite_unit_factor; diff -Nurd -X.diff_ignore freeciv/data/civ1/game.ruleset freeciv/data/civ1/game.ruleset --- freeciv/data/civ1/game.ruleset 2006-07-17 23:56:23.0 +0300 +++ freeciv/data/civ1/game.ruleset 2007-03-04 00:14:11.0 +0200 @@ -23,6 +23,8 @@ min_city_center_shield = 0 min_city_center_trade = 0 +; Number of veteran levels lost when upgrading a unit +upgrade_veteran_loss = 255 ; Number of veteran levels lost when auto-upgrading a unit autoupgrade_veteran_loss = 255 diff -Nurd -X.diff_ignore freeciv/data/civ2/game.ruleset freeciv/data/civ2/game.ruleset --- freeciv/data/civ2/game.ruleset 2006-07-17 23:56:23.0 +0300 +++ freeciv/data/civ2/game.ruleset 2007-03-04 00:14:28.0 +0200 @@ -23,6 +23,8 @@ min_city_center_shield = 1 min_city_center_trade = 0 +; Number of veteran levels lost when upgrading a unit +upgrade_veteran_loss = 255 ; Number of veteran levels lost when auto-upgrading a unit autoupgrade_veteran_loss = 255 diff -Nurd -X.diff_ignore freeciv/data/default/game.ruleset freeciv/data/default/game.ruleset --- freeciv/data/default/game.ruleset 2006-07-17 23:56:23.0 +0300 +++ freeciv/data/default/game.ruleset 2007-03-04 00:11:56.0 +0200 @@ -42,6 +42,8 @@ min_city_center_shield = 1 min_city_center_trade = 0 +; Number of veteran levels lost when upgrading a unit +upgrade_veteran_loss = 0 ; Number of veteran levels lost when auto-upgrading a unit autoupgrade_veteran_loss = 0 diff -Nurd -X.diff_ignore freeciv/server/ruleset.c freeciv/server/ruleset.c --- freeciv/server/ruleset.c 2007-03-03 23:02:08.0 +0200 +++ freeciv/server/ruleset.c 2007-03-04 00:11:43.0 +0200 @@ -2724,6 +2724,9 @@ game.info.tech_cost_double_year = secfile_lookup_int_default(file, 1, civstyle.tech_cost_double_year); + game.info.upgrade_veteran_loss += secfile_lookup_int(file, civstyle.upgrade_veteran_loss); + game.info.autoupgrade_veteran_loss = secfile_lookup_int(file, civstyle.autoupgrade_veteran_loss); diff -Nurd -X.diff_ignore freeciv/server/unittools.c freeciv/server/unittools.c --- freeciv/server/unittools.c 2007-02-28 23:02:37.0 +0200 +++ freeciv/server/unittools.c 2007-03-04 00:09:36.0 +0200 @@ -259,17 +259,6 @@ unit_type(punit)-name, upgrade_type-name, get_location_str_in(pplayer, punit-tile)); - -/* For historical reasons some veteran status may be lost while - * upgrading. Note that the upgraded unit may have the NoVeteran - * flag set. */ -if (unit_type_flag(upgrade_type, F_NO_VETERAN)) { - punit-veteran = 0; -} else { - punit-veteran = MAX(punit-veteran - - game.info.autoupgrade_veteran_loss, 0); -} -assert(test_unit_upgrade(punit, TRUE) == UR_OK); upgrade_unit(punit, upgrade_type, TRUE); unit_list_unlink(candidates, punit); upgrades--; @@ -1267,6 +1256,16 @@ punit-hp = MAX(punit-hp * unit_type(punit)-hp / old_hp, 1); punit-moves_left = punit-moves_left * unit_move_rate(punit) / old_mr; + if (unit_type_flag(to_unit, F_NO_VETERAN)) { +punit-veteran = 0; + } else if (is_free) { +punit-veteran = MAX(punit-veteran + - game.info.autoupgrade_veteran_loss, 0); + } else { +punit-veteran = MAX(punit-veteran + - game.info.upgrade_veteran_loss, 0); + } + conn_list_do_buffer(pplayer-connections); unit_refresh_vision(punit); diff -Nurd -X.diff_ignore freeciv/version.in freeciv/version.in --- freeciv/version.in 2007-03-03 23:02:09.0 +0200 +++ freeciv/version.in 2007-03-04 00:11:04.0 +0200 @@ -24,4 +24,4 @@ # - Avoid adding a new manditory capbility to the development branch for # as long as possible. We want to maintain network compatibility with # the stable branch for as long as possible. -FREECIV_NETWORK_CAPSTRING(+Freeciv.Devel.2007.Mar.03) +FREECIV_NETWORK_CAPSTRING(+Freeciv.Devel.2007.Mar.04) ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#37321) Veteran status
URL: http://bugs.freeciv.org/Ticket/Display.html?id=37321 Alexander Sayenko wrote on Mar 01, 22:03 (-0800): There is a bug report based on several discussions in the Freeciv forum. The main inconsistency is that: * while upgrading a unit, the veteran status is preserved * while a unit is upgraded by Leonardo workshop, it cleared, i.e., a unit becomes a novice Possible solutions: * keep the veteran status in all cases I'm for this. Dropping the veteran status makes upgrading quite worthless. BTW, there is a rather old bug report for this, and I *think* this is already fixed in the above way at least in 2.0.9 beta3 Christian * clear the veteran status in all cases * clear the veteran status if a user upgrades a unit but keep it if a unit is upgraded by the Leonardo workshop * keep the veteran status when a user upgrades a unit if he has the Leonardo Worshop; otherwise it is cleared * instead of clearing the veteran status in all the cases above, it can be downgraded by one level -- Christian Knoke* * *http://cknoke.de * * * * * * * * * Ceterum censeo Microsoft esse dividendum. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev