forked from github/server
BUG 2379: Test war kaputt (newterrain), getesteter Code auch.
This commit is contained in:
parent
db253ea6a1
commit
7e33b2a94d
1 changed files with 15 additions and 1 deletions
|
@ -1554,6 +1554,20 @@ attrib_type at_trades = {
|
||||||
NO_READ
|
NO_READ
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool trade_needs_castle(const region *r, const race *rc) {
|
||||||
|
static int rc_change, terrain_change;
|
||||||
|
static const race *rc_insect;
|
||||||
|
static const terrain_type *t_desert, *t_swamp;
|
||||||
|
if (rc_changed(&rc_change)) {
|
||||||
|
rc_insect = get_race(RC_INSECT);
|
||||||
|
}
|
||||||
|
if (terrain_changed(&terrain_change)) {
|
||||||
|
t_swamp = newterrain(T_SWAMP);
|
||||||
|
t_desert = newterrain(T_DESERT);
|
||||||
|
}
|
||||||
|
return rc != rc_insect && (r->terrain == t_swamp || r->terrain == t_desert);
|
||||||
|
}
|
||||||
|
|
||||||
static void buy(unit * u, econ_request ** buyorders, struct order *ord)
|
static void buy(unit * u, econ_request ** buyorders, struct order *ord)
|
||||||
{
|
{
|
||||||
char token[128];
|
char token[128];
|
||||||
|
@ -1592,7 +1606,7 @@ static void buy(unit * u, econ_request ** buyorders, struct order *ord)
|
||||||
|
|
||||||
/* Entweder man ist Insekt in Sumpf/Wueste, oder es muss
|
/* Entweder man ist Insekt in Sumpf/Wueste, oder es muss
|
||||||
* einen Handelsposten in der Region geben: */
|
* einen Handelsposten in der Region geben: */
|
||||||
if (u_race(u) != get_race(RC_INSECT) || (r->terrain == newterrain(T_SWAMP) || r->terrain == newterrain(T_DESERT))) {
|
if (trade_needs_castle(r, u_race(u))) {
|
||||||
building *b = NULL;
|
building *b = NULL;
|
||||||
if (r->buildings) {
|
if (r->buildings) {
|
||||||
static int cache;
|
static int cache;
|
||||||
|
|
Loading…
Reference in a new issue