URL: <http://gna.org/bugs/?16308>
Summary: Great Wall protects wrong units Project: Freeciv Submitted by: kernigh Submitted on: Tuesday 07/27/2010 at 01:10 Category: rulesets Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: 2.2.1+ r17591 Discussion Lock: Any Operating System: *BSD Planned Release: _______________________________________________________ Details: Let player C have the Great Wall. Help text says, "Works as a City Wall in all your cities." I would expect the Great Wall to protect all units in cities, where the _cities_ belong to player C. The bug is that the Great Wall protects all units in cities, where the _units_ belong to player C. (I have r17591 of S2_2, which has the fix from bug #16080 that actually requires units to be in cities.) If player C has alliance with player K, then Great Wall protects whom? Units of K in cities of C, or units of C in cities of K? I attach x-great-wall-test.sav.bz2 which shows exactly this problem. (I made this game with the editing-mode.) Load x-great-wall-test.sav.bz2 and take player S (Scottish), who is attacking player C (Chinese) and player K (Korean). Cities marked [C] have three Chinese defenders; cities marked [K] have three Korean defenders. All units are green Archers. * Guangzhou [C] and Shanghai [K] are Chinese cities. * Wanggomsong [C] and Jolbon [K] are Korean cities with no walls. * Ungjin [C] and Wandu [K] are Korean cities with City Walls. Kill all defenders, but never conquer cities. (They might be homecities of other defenders.) Shanghai [K] and Jolbon[K] are easy to kill; the four other cities are difficult to kill. * Guangzhou [C] is a Chinese city with Chinese defenders. Difficult to kill. Chinese Great Wall protects defenders. No bug. * Shanghai [K] is a Chinese city with Korean defenders. Easy to kill! Chinese Great Wall fails to protect Korean defenders in a Chinese city! This is bug. * Wanggomsong [C] is a Korean city with Chinese defenders. Difficult to kill! Chinese Great Wall protects Chinese units in a Korean city! This is bug. * Jolbon [K] is a Korean city with Korean defenders. Easy to kill. No bug. * Ungjin [C] and Wandu [K] have City Walls. Difficult to kill. No bug. Chinese Great Wall prevents loss of population in Shanghai [K], but not in Wanggomsong [C]. This is correct. I thought that Chinese Great Wall and Korean City Walls might combine to add protection to Ungjin [C], but this seems not to happen. These are the current rules in effects.c: [effect_great_wall] name = "Defend_Bonus" value = 200 reqs = { "type", "name", "range" "Building", "Great Wall", "Player" "UnitClass", "Land", "Local" "CityTile", "Center", "Local" } [effect_great_wall_0] name = "Defend_Bonus" value = 200 reqs = { "type", "name", "range" "Building", "Great Wall", "Player" "UnitClass", "Helicopter", "Local" "CityTile", "Center", "Local" } This says to protect all Chinese units in any city (if the attacker is land or helicopter unit). I would change this to say to protect any unit in all Chinese cities, if I knew a way. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Tuesday 07/27/2010 at 01:10 Name: x-great-wall-test.sav.bz2 Size: 10kB By: kernigh play as Scottish; attack Chinese and Korean cities <http://gna.org/bugs/download.php?file_id=9590> _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?16308> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev