forked from github/server
changing region resources
This commit is contained in:
parent
cc4d2a1026
commit
784a489830
1 changed files with 19 additions and 3 deletions
|
@ -9,6 +9,7 @@
|
||||||
#include <kernel/item.h>
|
#include <kernel/item.h>
|
||||||
#include <kernel/plane.h>
|
#include <kernel/plane.h>
|
||||||
#include <kernel/region.h>
|
#include <kernel/region.h>
|
||||||
|
#include <kernel/resources.h>
|
||||||
#include <kernel/ship.h>
|
#include <kernel/ship.h>
|
||||||
#include <kernel/terrain.h>
|
#include <kernel/terrain.h>
|
||||||
#include <kernel/unit.h>
|
#include <kernel/unit.h>
|
||||||
|
@ -154,6 +155,12 @@ region_getresource(const region& r, const char * type)
|
||||||
{
|
{
|
||||||
const resource_type * rtype = rt_find(type);
|
const resource_type * rtype = rt_find(type);
|
||||||
if (rtype!=NULL) {
|
if (rtype!=NULL) {
|
||||||
|
const rawmaterial * rm = r.resources;
|
||||||
|
while (rm) {
|
||||||
|
if (rm->type->rtype==rtype) {
|
||||||
|
return rm->amount;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (rtype==rt_find("money")) return rmoney(&r);
|
if (rtype==rt_find("money")) return rmoney(&r);
|
||||||
if (rtype==rt_find("horse")) return rhorses(&r);
|
if (rtype==rt_find("horse")) return rhorses(&r);
|
||||||
if (rtype==rt_find("peasant")) return rpeasants(&r);
|
if (rtype==rt_find("peasant")) return rpeasants(&r);
|
||||||
|
@ -172,9 +179,18 @@ region_setresource(region& r, const char * type, int value)
|
||||||
{
|
{
|
||||||
const resource_type * rtype = rt_find(type);
|
const resource_type * rtype = rt_find(type);
|
||||||
if (rtype!=NULL) {
|
if (rtype!=NULL) {
|
||||||
if (rtype==rt_find("money")) rsetmoney(&r, value);
|
rawmaterial * rm = r.resources;
|
||||||
else if (rtype==rt_find("peasant")) rsetpeasants(&r, value);
|
while (rm) {
|
||||||
else if (rtype==rt_find("horse")) rsethorses(&r, value);
|
if (rm->type->rtype==rtype) {
|
||||||
|
rm->amount = value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!rm) {
|
||||||
|
if (rtype==rt_find("money")) rsetmoney(&r, value);
|
||||||
|
else if (rtype==rt_find("peasant")) rsetpeasants(&r, value);
|
||||||
|
else if (rtype==rt_find("horse")) rsethorses(&r, value);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (strcmp(type, "seed")==0) {
|
if (strcmp(type, "seed")==0) {
|
||||||
rsettrees(&r, 0, value);
|
rsettrees(&r, 0, value);
|
||||||
|
|
Loading…
Reference in a new issue