Merge branch 'master' into develop

Conflicts:
	src/buildno.h
	src/kernel/item.c
	src/kernel/region.c
	src/laws.c
This commit is contained in:
Enno Rehling 2016-01-30 23:09:02 +01:00
commit c08235693d
3 changed files with 22 additions and 10 deletions

View File

@ -568,11 +568,15 @@ struct order *ord)
{
if (d == NULL) {
int use = use_pooled(s, item2resource(itype), GET_SLACK, n);
if (use < n)
region *r = s->region;
if (use < n) {
use +=
use_pooled(s, item2resource(itype), GET_RESERVE | GET_POOLED_SLACK,
n - use);
rsethorses(s->region, rhorses(s->region) + use);
}
if (r->land) {
rsethorses(r, rhorses(r) + use);
}
return 0;
}
return -1; /* use the mechanism */
@ -584,12 +588,14 @@ struct order *ord)
{
if (d == NULL) {
int use = use_pooled(s, item2resource(itype), GET_SLACK, n);
if (use < n)
region *r = s->region;
if (use < n) {
use +=
use_pooled(s, item2resource(itype), GET_RESERVE | GET_POOLED_SLACK,
n - use);
if (s->region->land) {
rsetmoney(s->region, rmoney(s->region) + use);
}
if (r->land) {
rsetmoney(r, rmoney(r) + use);
}
return 0;
}

View File

@ -633,8 +633,9 @@ int rhorses(const region * r)
void rsetmoney(region * r, int value)
{
assert(r->land || value==0);
assert(value >= 0);
if (r->land) {
assert(value >= 0);
r->land->money = value;
}
}
@ -646,8 +647,9 @@ int rherbs(const struct region *r)
void rsetherbs(const struct region *r, int value)
{
assert(r->land || value==0);
assert(value >= 0);
if (r->land) {
assert(value >= 0);
r->land->herbs = (short)(value);
}
}

View File

@ -721,9 +721,13 @@ void immigration(void)
break;
}
}
if (badunit == 0) {
peasants += (int)(rng_double() * (income + 1));
rsetpeasants(r, peasants);
if (badunit == 0)
{
int x = wage(r, NULL, NULL, turn) - 9;
if (x>0) {
peasants += (int)(rng_double()*x);
rsetpeasants(r, peasants);
}
}
}
}