forked from github/server
- Startgegenstände über XML definierbar (nicht lua, weil dann nicht im mapper)
- TARNE PARTEI NUMMER geht wieder richtig, hoffe ich
This commit is contained in:
parent
36d1956c12
commit
41d8f1ebfa
|
@ -3694,7 +3694,7 @@ processorders (void)
|
|||
|
||||
parse(K_MAIL, prepare_mail_cmd, false);
|
||||
parse(K_MAIL, mail_cmd, false);
|
||||
puts(" - Altern");
|
||||
puts(" - Parteien altern");
|
||||
age_factions();
|
||||
|
||||
puts(" - Benutzen");
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
#include "spy.h"
|
||||
|
||||
/* kernel includes */
|
||||
#include "build.h"
|
||||
#include <kernel/build.h>
|
||||
#include <kernel/reports.h>
|
||||
#include "economy.h"
|
||||
#include "item.h"
|
||||
#include "karma.h"
|
||||
|
@ -236,16 +237,15 @@ setstealth_cmd(unit * u, struct order * ord)
|
|||
while (mu!=NULL) {
|
||||
unit * ru = mu->region->units;
|
||||
if (mu->region!=lastr) {
|
||||
lastr = mu->region;
|
||||
while (ru!=NULL) {
|
||||
attrib *a = a_find(ru->attribs, &at_otherfaction);
|
||||
if (a) {
|
||||
faction *fv = get_otherfaction(a);
|
||||
if (fv==f) break;
|
||||
faction * fv = visible_faction(f, ru);
|
||||
if (fv==f) {
|
||||
if (cansee(f, lastr, ru, 0)) break;
|
||||
}
|
||||
ru = ru->next;
|
||||
}
|
||||
if (ru!=NULL) break;
|
||||
lastr = mu->region;
|
||||
}
|
||||
mu = mu->nextF;
|
||||
}
|
||||
|
|
|
@ -181,21 +181,12 @@ void add_equipment(const item_type * itype, int number)
|
|||
void
|
||||
give_starting_equipment(struct region *r, struct unit *u)
|
||||
{
|
||||
#ifdef NEW_STARTEQUIPMENT
|
||||
item * itm = equipment;
|
||||
while (itm!=NULL) {
|
||||
i_add(&u->items, i_new(itm->type, itm->number));
|
||||
itm=itm->next;
|
||||
}
|
||||
#else
|
||||
const item_type * token = it_find("conquesttoken");
|
||||
if (token!=NULL) {
|
||||
i_add(&u->items, i_new(token, 1));
|
||||
}
|
||||
set_item(u, I_WOOD, 30);
|
||||
set_item(u, I_STONE, 30);
|
||||
set_money(u, 2000 + turn * 10);
|
||||
#endif
|
||||
set_money(u, turn * 10);
|
||||
|
||||
switch(old_race(u->race)) {
|
||||
case RC_DWARF:
|
||||
|
|
|
@ -1836,7 +1836,7 @@ readgame(const char * filename, int backup)
|
|||
int y = ri(F);
|
||||
plane * pl = findplane(x, y);
|
||||
|
||||
if (firstx && firsty) {
|
||||
if (firstx || firsty) {
|
||||
if (x!=firstx || y!=firsty) {
|
||||
skip = true;
|
||||
} else {
|
||||
|
|
|
@ -711,6 +711,43 @@ parse_resources(xmlDocPtr doc)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
parse_equipment(xmlDocPtr doc)
|
||||
{
|
||||
xmlXPathContextPtr xpath = xmlXPathNewContext(doc);
|
||||
xmlXPathObjectPtr items;
|
||||
xmlNodeSetPtr nodes;
|
||||
int i;
|
||||
|
||||
/* reading eressea/races/race */
|
||||
items = xmlXPathEvalExpression(BAD_CAST "/eressea/equipment/item", xpath);
|
||||
nodes = items->nodesetval;
|
||||
|
||||
for (i=0;i!=nodes->nodeNr;++i) {
|
||||
xmlNodePtr node = nodes->nodeTab[i];
|
||||
xmlChar * property;
|
||||
const struct item_type * itype;
|
||||
|
||||
property = xmlGetProp(node, BAD_CAST "name");
|
||||
assert(property!=NULL);
|
||||
itype = it_find((const char*)property);
|
||||
xmlFree(property);
|
||||
if (itype!=NULL) {
|
||||
int num = 0;
|
||||
property = xmlGetProp(node, BAD_CAST "amount");
|
||||
if (property!=NULL) {
|
||||
num = atoi((const char*)property);
|
||||
xmlFree(property);
|
||||
}
|
||||
add_equipment(itype, num);
|
||||
}
|
||||
}
|
||||
xmlXPathFreeObject(items);
|
||||
xmlXPathFreeContext(xpath);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
parse_races(xmlDocPtr doc)
|
||||
{
|
||||
|
@ -1201,4 +1238,5 @@ register_xmlreader(void)
|
|||
xml_register_callback(parse_resources);
|
||||
xml_register_callback(parse_buildings);
|
||||
xml_register_callback(parse_ships);
|
||||
xml_register_callback(parse_equipment);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
#undef XECMD_MODULE
|
||||
#define WDW_PHOENIX
|
||||
#define WDW_PYRAMIDSPELL
|
||||
#define NEW_STARTEQUIPMENT
|
||||
|
||||
#define KEEP_UNZIPPED 1
|
||||
|
||||
|
|
|
@ -632,13 +632,6 @@ main(int argc, char *argv[])
|
|||
i = readgame(zText, false);
|
||||
if (i!=0) return i;
|
||||
|
||||
#ifdef NEW_STARTEQUIPMENT
|
||||
add_equipment(it_find("conquesttoken"), 1);
|
||||
add_equipment(it_find("wood"), 30);
|
||||
add_equipment(it_find("stone"), 30);
|
||||
add_equipment(it_find("money"), 2000 + turn * 10);
|
||||
#endif
|
||||
|
||||
confirm_newbies();
|
||||
update_subscriptions();
|
||||
{
|
||||
|
|
|
@ -652,7 +652,7 @@ main(int argc, char *argv[])
|
|||
sqlpatch = true;
|
||||
log_open("eressea.log");
|
||||
printf("\n%s PBEM host\n"
|
||||
"Copyright (C) 1996-2004 C. Schlittchen, K. Zedel, E. Rehling, H. Peters.\n\n"
|
||||
"Copyright (C) 1996-2005 C. Schlittchen, K. Zedel, E. Rehling, H. Peters.\n\n"
|
||||
"Compilation: " __DATE__ " at " __TIME__ "\nVersion: %f\n\n", global.gamename, version());
|
||||
|
||||
setlocale(LC_ALL, "");
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<equipment>
|
||||
<item name="conquesttoken" amount="1"/>
|
||||
<item name="wood" amount="30"/>
|
||||
<item name="stone" amount="30"/>
|
||||
<item name="money" amount="2000"/>
|
||||
</equipment>
|
||||
|
|
@ -15,6 +15,10 @@
|
|||
<xi:include file="alchemy.xml"/>
|
||||
<xi:include file="technologies.xml"/>
|
||||
<xi:include file="skills.xml"/>
|
||||
<equipment>
|
||||
<item name="wood" amount="5"/>
|
||||
<item name="stone" amount="10"/>
|
||||
</equipment>
|
||||
|
||||
<game name="HSE" welcome="eressea">
|
||||
<comment>Game specific</comment>
|
||||
|
|
|
@ -11,10 +11,11 @@
|
|||
<xi:include href="prefixes.xml"/>
|
||||
<xi:include href="ships.xml"/>
|
||||
<xi:include href="buildings.xml"/>
|
||||
<xi:include file="terrains.xml"/>
|
||||
<xi:include file="alchemy.xml"/>
|
||||
<xi:include file="technologies.xml"/>
|
||||
<xi:include file="skills.xml"/>
|
||||
<xi:include href="terrains.xml"/>
|
||||
<xi:include href="alchemy.xml"/>
|
||||
<xi:include href="technologies.xml"/>
|
||||
<xi:include href="skills.xml"/>
|
||||
<xi:include href="equipment.xml"/>
|
||||
|
||||
<game name="Eressea" welcome="eressea">
|
||||
<comment>Game specific</comment>
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<xi:include href="resources.xml"/>
|
||||
<xi:include href="ships.xml"/>
|
||||
<xi:include href="buildings.xml"/>
|
||||
<xi:include href="equipment.xml"/>
|
||||
|
||||
<game name="Tutorial" welcome="tutorial">
|
||||
<comment>Game specific</comment>
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<xi:include href="resources.xml"/>
|
||||
<xi:include href="ships.xml"/>
|
||||
<xi:include href="buildings.xml"/>
|
||||
<xi:include href="equipment.xml"/>
|
||||
|
||||
<game name="Wettstreit der Weisen" units="250" welcome="vinyambar">
|
||||
<comment>Game specific</comment>
|
||||
|
|
|
@ -51,8 +51,6 @@ unterschiede in vin3 + wdw per config statt defines?
|
|||
|
||||
#define WDW_PHOENIX
|
||||
#define WDW_PYRAMIDSPE
|
||||
LL
|
||||
#define NEW_STARTEQUIPMENT
|
||||
|
||||
#define ARENA_MODULE
|
||||
#define WORMHOLE_MODULE
|
||||
|
|
Loading…
Reference in New Issue