WDW_PHOENIX define removed:

- Der Initialisierungs-Code ist in LUA reimplementiert.

- Ich habe das ganze spoils-Konzept etwas allgemeiner gemacht, man kann jetzt einfach ein equipment-objekt in XML definieren (siehe vinyambar-wdw.xml) der die spoils für eine Rassea angibt, (z.B. phonix_spoils nennen).

- Das gleiche für Drachen und Seeschlange gemacht.
This commit is contained in:
Enno Rehling 2006-01-01 16:58:59 +00:00
parent 5fa56103cc
commit 657fc3d123
17 changed files with 203 additions and 248 deletions

View File

@ -21,6 +21,7 @@
#include "build.h"
#include "building.h"
#include "curse.h"
#include "equipment.h"
#include "faction.h"
#include "goodies.h"
#include "group.h"
@ -827,10 +828,18 @@ remove_troop(troop dt)
rmtroop(dt);
if (!df->alive && du->race->itemdrop) {
char eqname[64];
const struct equipment * eq;
item * drops = du->race->itemdrop(du->race, du->number-df->run.number);
if (drops != NULL){
i_merge(&du->items, &drops);
}
sprintf(eqname, "%s_spoils", du->race->_name[0]);
eq = get_equipment(eqname);
if (eq!=NULL) {
equip_items(&du->items, eq);
}
}
}

View File

@ -306,39 +306,6 @@ oldfamiliars(unit * u)
equip_unit(u, get_equipment(fname));
}
static item *
dragon_drops(const struct race * rc, int size)
{
item * itm = NULL;
switch (old_race(rc)) {
case RC_FIREDRAGON:
i_add(&itm, i_new(olditemtype[I_DRACHENBLUT], size));
break;
case RC_DRAGON:
i_add(&itm, i_new(olditemtype[I_DRACHENBLUT], size * 4));
i_add(&itm, i_new(olditemtype[I_DRAGONHEAD], size));
break;
case RC_WYRM:
i_add(&itm, i_new(olditemtype[I_DRACHENBLUT], size * 10));
i_add(&itm, i_new(olditemtype[I_DRAGONHEAD], size));
break;
case RC_SEASERPENT:
i_add(&itm, i_new(olditemtype[I_DRACHENBLUT], size * 6));
i_add(&itm, i_new(olditemtype[I_SEASERPENTHEAD], size));
break;
}
return itm;
}
static item *
phoenix_drops(const struct race *rc, int size)
{
const item_type * it_phoenixfeather = it_find("phoenixfeather");
item *itm = NULL;
if (it_phoenixfeather!=NULL) i_add(&itm, i_new(it_phoenixfeather, size));
return itm;
}
static item *
default_spoil(const struct race * rc, int size)
{
@ -461,8 +428,6 @@ register_races(void)
/* function itemdrop
* to generate battle spoils
* race->itemdrop() */
register_function((pf_generic)dragon_drops, "dragondrops");
register_function((pf_generic)phoenix_drops, "phoenixdrops");
register_function((pf_generic)default_spoil, "defaultdrops");
sprintf(zBuffer, "%s/races.xml", resourcepath());

View File

@ -54,6 +54,5 @@
#undef ARENA_MODULE
#undef WORMHOLE_MODULE
#undef XECMD_MODULE
#define WDW_PHOENIX
#define WDW_PYRAMIDSPELL
#define WDW_PYRAMID

View File

@ -212,9 +212,6 @@
<Filter
Name="Text Files"
Filter="">
<File
RelativePath="..\commit.txt">
</File>
<File
RelativePath="..\header.txt">
</File>
@ -370,6 +367,9 @@
<Filter
Name="XML files"
Filter="">
<File
RelativePath="..\res\de\strings.xml">
</File>
<File
RelativePath="..\res\terrains.xml">
</File>

View File

@ -876,60 +876,6 @@ fix_road_borders(void)
}
}
#ifdef WDW_PHOENIX
static region *
random_land_region(void)
{
region *r;
int c = 0;
/* count the available regions */
for(r=regions; r; r=r->next) {
if (r->land && rplane(r)==NULL) ++c;
}
/* choose one */
c = rand()%c;
/* this is a bit obfuscated, but should be correct */
for(r=regions; c > 0; r=r->next) {
if (r->land && rplane(r)==NULL) --c;
}
return(r);
}
static void
check_phoenix(void)
{
const race * phoenix_race = rc_find("phoenix");
unit * phoenix;
region * r;
faction *f;
/* check if there is a phoenix in the world */
for(f=factions; f; f=f->next) {
unit *u;
for(u=f->units; u; u=u->nextF) {
if(u->race == phoenix_race) {
return;
}
}
}
f = findfaction(MONSTER_FACTION);
if (f==NULL) return;
/* it is not, so we create it */
r = random_land_region();
phoenix = createunit(r, f, 1, phoenix_race);
phoenix->name = strdup("Der Phönix");
/* TODO: generate an appropriate region message */
}
#endif
static void
fix_dissolve(unit * u, int value, char mode)
{
@ -1146,10 +1092,6 @@ korrektur(void)
/* Immer ausführen! Erschafft neue Teleport-Regionen, wenn nötig */
create_teleport_plane();
#ifdef WDW_PHOENIX
check_phoenix();
#endif
if (global.data_version<TYPES_VERSION) fix_icastles();
#ifdef FUZZY_BASE36
enable_fuzzy = true;

View File

@ -57,7 +57,7 @@ region_getterrain(const region& r) {
static const char *
region_getname(const region& r) {
if (r.land) return r.land->name;
return r.terrain->_name;
return NULL;
}
static void

View File

@ -331,5 +331,24 @@
<item name="rustychainmail" amount="1"/>
</set>
<set name="dragon_spoils">
<item name="dragonblood" amount="4"/>
<item name="dragonhead" amount="1"/>
</set>
<set name="youngdragon_spoils">
<item name="dragonblood" amount="1"/>
</set>
<set name="wyrm_spoils">
<item name="dragonblood" amount="10"/>
<item name="dragonhead" amount="1"/>
</set>
<set name="seaserpent_spoils">
<item name="dragonblood" amount="6"/>
<item name="dragonhead" amount="1"/>
</set>
</equipment>

View File

@ -67,7 +67,6 @@
<param name="database.gameid" value="3"/>
<param name="globalreport" value="world"/>
<param name="rules.check_overload" value="1"/>
<param name="report.mailit" value="/usr/sbin:$HOME/eressea/bin:/bin:/usr/bin:/usr/local/bin"/>
</game>
<xi:include href="eressea/de/strings.xml"/>
<xi:include href="eressea/en/strings.xml"/>

View File

@ -71,7 +71,6 @@
<param name="database.gameid" value="6"/>
<param name="globalreport" value="world"/>
<param name="rules.check_overload" value="1"/>
<param name="report.mailit" value="/usr/sbin:$HOME/eressea/bin:/bin:/usr/bin:/usr/local/bin"/>
</game>
<xi:include href="eressea/de/strings.xml"/>
<xi:include href="eressea/en/strings.xml"/>

View File

@ -658,7 +658,6 @@
</race>
<race name="catdragon" magres="0.900000" maxaura="1.000000" regaura="1.000000" recruitcost="500000" weight="20000" capacity="10000" speed="1.000000" hp="20" damage="2d40" unarmedattack="0" unarmeddefense="0" defensemodifier="50" fly="yes" walk="yes" teach="no" shapeshift="yes" giveitem="yes" giveperson="yes" getitem="yes">
<ai splitsize="1"/>
<function name="itemdrop" value="dragondrops"/>
<attack type="4" damage="2d40"/>
<attack type="4" damage="2d40"/>
<attack type="4" damage="2d40"/>
@ -673,7 +672,6 @@
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="move" value="movedragon"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="magic" modifier="12"/>
<skill name="tactics" modifier="12"/>
<skill name="perception" modifier="10"/>
@ -687,7 +685,6 @@
<function name="name" value="namedragon"/>
<function name="age" value="agedragon"/>
<function name="move" value="movedragon"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="magic" modifier="8"/>
<skill name="tactics" modifier="8"/>
<skill name="perception" modifier="5"/>
@ -701,7 +698,6 @@
<function name="name" value="namedragon"/>
<function name="age" value="agefiredragon"/>
<function name="move" value="movedragon"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
@ -1127,7 +1123,6 @@
<ai splitsize="6" killpeasants="yes" moverandom="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="move" value="moveswimming"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="tactics" modifier="4"/>
<attack type="4" damage="1d30"/>
<attack type="4" damage="1d30"/>
@ -1288,7 +1283,6 @@
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="move" value="movedragon"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
@ -1321,98 +1315,11 @@
<attack type="3" damage="1d4"/>
<attack type="2" damage="2d60"/>
</race>
<race name="phoenix" magres="0.900000" maxaura="1.000000" regaura="2.000000" recruitcost="50000" weight="50000" capacity="30000" speed="2.000000" hp="500" ac="6" damage="1d20" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="2" learn="yes"/>
<function name="itemdrop" value="phoenixdrops"/>
<skill name="magic" modifier="16"/>
<skill name="tactics" modifier="8"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="1d12"/>
<attack type="4" damage="1d10"/>
<attack type="4" damage="1d10"/>
<attack type="6" spell="immolation"/>
</race>
<race name="sphinx" magres="0.900000" maxaura="1.000000" regaura="3.000000" recruitcost="250000" weight="180000" capacity="100000" speed="1.000000" hp="2700" ac="8" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<skill name="magic" modifier="12"/>
<skill name="tactics" modifier="12"/>
<skill name="perception" modifier="10"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="powerful_dragonbreath"/>
<attack type="6" spell="aura_of_fear"/>
</race>
<race name="littlescarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="1" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="5000"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="greenscarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="acidrain"/>
</race>
<race name="bluescarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="coldfront"/>
</race>
<race name="redscarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="firestorm"/>
</race>
<race name="undeadpharaoh" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" cannotmove="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="drain_skills"/>
<attack type="6" spell="aura_of_fear"/>
<precombatspell spell="shadowcall"/>
</race>
<race name="mummy" magres="0.600000" maxaura="1.000000" regaura="1.000000" recruitcost="5" weight="1000" capacity="540" speed="1.000000" hp="60" ac="2" damage="1d7" unarmedattack="6" unarmeddefense="6" attackmodifier="6" defensemodifier="6" scarepeasants="yes" walk="yes" teach="no" noheal="yes" undead="yes" equipment="yes" nogive="yes">
<ai splitsize="10000" moverandom="yes"/>
<skill name="melee" modifier="1"/>
<skill name="polearm" modifier="1"/>
<skill name="tactics" modifier="1"/>
<skill name="stamina" modifier="1"/>
<skill name="unarmed" modifier="1"/>
<attack type="4" damage="2d8"/>
<attack type="3" damage="1d5"/>
<attack type="3" damage="1d5"/>
<attack type="2" damage="1d30"/>
<attack type="2" damage="1d30"/>
</race>
<!--
<race name="skeletal_wyrm" magres="0.900000" maxaura="1.000000" regaura="3.000000" recruitcost="250000" weight="180000" capacity="100000" speed="1.000000" hp="2700" ac="8" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="move" value="movedragon"/>
<function name="itemdrop" value="dragondrops"/>
<skill name="magic" modifier="12"/>
<skill name="tactics" modifier="12"/>
<skill name="perception" modifier="10"/>

View File

@ -23,7 +23,6 @@
<param name="database.gameid" value="3"></param>
<param name="hunger.long" value="0"></param>
<param name="study.expensivemigrants" value="1"/>
<param name="report.mailit" value="/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"/>
<param name="alliance.restricted" value="fight guard stealth money"/>
<param name="alliance.auto" value="fight"/>
<param name="alliance.transferquit" value="true"/>

View File

@ -65,7 +65,6 @@
<param name="magic.power" value="0.5"/>
<param name="resource.factor" value="0.25"/>
<param name="study.expensivemigrants" value="1"/>
<param name="report.mailit" value="/usr/sbin:$HOME/bin:/bin:/usr/bin:/usr/local/bin"/>
<param name="alliance.skilllimit" value="15"/>
<param name="alliance.restricted" value="fight guard stealth money"/>
<param name="alliance.auto" value="fight"/>
@ -95,4 +94,10 @@
</resource>
</resources>
<equipment>
<set name="phoenix_spoils">
<item name="phoenixfeather" amount="1"/>
</set>
</equipment>
</eressea>

View File

@ -1,5 +1,6 @@
<?xml version="1.0"?>
<races>
<!-- overrides of existing races -->
<race name="halfling" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" ac="0" damage="1d5" unarmedattack="-2" unarmeddefense="-2" attackmodifier="0" defensemodifier="0" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" attackrandom="yes" moverandom="yes" learn="yes"></ai>
<skill name="crossbow" modifier="0"></skill>
@ -31,39 +32,6 @@
<familiar race="eagle"></familiar>
<familiar race="rat"></familiar>
</race>
<race name="apepsnake" magres="0.900000" maxaura="1.000000" regaura="1.000000" recruitcost="50000" weight="100" capacity="50" speed="1.000000" hp="20" ac="1" damage="0d0" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" canguard="yes" invinciblenonmagic="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes">
<ai splitsize="500" attackrandom="yes" killpeasants="yes" moverandom="yes" learn="yes"/>
<attack type="2" damage="3d15"/>
<attack type="3" damage="1d1"/>
<attack type="4" damage="1d1"/>
</race>
<race name="anubis" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" shapeshift="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="move" value="movedragon"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="174"/>
<attack type="6" spell="175"/>
<precombatspell spell="176"/>
</race>
<race name="apophis" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" shapeshift="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="move" value="movedragon"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="174"/>
<attack type="6" spell="175"/>
<precombatspell spell="176"/>
</race>
<race name="ghast" magres="0.600000" maxaura="1.000000" regaura="1.000000" recruitcost="5" weight="1000" capacity="540" speed="1.000000" hp="60" ac="2" damage="1d7" unarmedattack="6" unarmeddefense="6" attackmodifier="6" defensemodifier="6" scarepeasants="yes" walk="yes" nolearn="yes" teach="no" absorbpeasants="yes" noheal="yes" undead="yes" equipment="yes" nogive="no">
<ai splitsize="2000" aggression="0.02" killpeasants="yes" moverandom="yes"/>
<function name="name" value="nameghoul"/>
@ -162,4 +130,123 @@
<attack type="1" damage="1d7"/>
</race>
<!-- wdw-only races -->
<race name="apepsnake" magres="0.900000" maxaura="1.000000" regaura="1.000000" recruitcost="50000" weight="100" capacity="50" speed="1.000000" hp="20" ac="1" damage="0d0" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" canguard="yes" invinciblenonmagic="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes">
<ai splitsize="500" attackrandom="yes" killpeasants="yes" moverandom="yes" learn="yes"/>
<attack type="2" damage="3d15"/>
<attack type="3" damage="1d1"/>
<attack type="4" damage="1d1"/>
</race>
<race name="anubis" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" shapeshift="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="move" value="movedragon"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="174"/>
<attack type="6" spell="175"/>
<precombatspell spell="176"/>
</race>
<race name="apophis" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" shapeshift="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<function name="move" value="movedragon"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="174"/>
<attack type="6" spell="175"/>
<precombatspell spell="176"/>
</race>
<race name="phoenix" magres="0.900000" maxaura="1.000000" regaura="2.000000" recruitcost="50000" weight="50000" capacity="30000" speed="2.000000" hp="500" ac="6" damage="1d20" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="2" learn="yes"/>
<skill name="magic" modifier="16"/>
<skill name="tactics" modifier="8"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="1d12"/>
<attack type="4" damage="1d10"/>
<attack type="4" damage="1d10"/>
<attack type="6" spell="immolation"/>
</race>
<race name="sphinx" magres="0.900000" maxaura="1.000000" regaura="3.000000" recruitcost="250000" weight="180000" capacity="100000" speed="1.000000" hp="2700" ac="8" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<skill name="magic" modifier="12"/>
<skill name="tactics" modifier="12"/>
<skill name="perception" modifier="10"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="powerful_dragonbreath"/>
<attack type="6" spell="aura_of_fear"/>
</race>
<race name="littlescarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="1" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="5000"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="greenscarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="acidrain"/>
</race>
<race name="bluescarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="coldfront"/>
</race>
<race name="redscarab" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="200" speed="1.000000" hp="25" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="50"/>
<skill name="magic" modifier="4"/>
<skill name="tactics" modifier="4"/>
<skill name="stealth" modifier="2"/>
<skill name="perception" modifier="2"/>
<attack type="4" damage="2d6"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="6" spell="firestorm"/>
</race>
<race name="undeadpharaoh" magres="0.950000" maxaura="1.000000" regaura="3.000000" recruitcost="2500000" weight="100" capacity="100000" speed="1.000000" hp="2700" ac="10" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="12" scarepeasants="yes" cannotmove="yes" teach="no" getitem="yes" resistbash="yes" resistcut="yes" resistpierce="yes">
<ai splitsize="1" killpeasants="yes" learn="yes"/>
<skill name="tactics" modifier="20"/>
<skill name="perception" modifier="20"/>
<attack type="4" damage="5d30"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="3d20"/>
<attack type="4" damage="5d30"/>
<attack type="6" spell="drain_skills"/>
<attack type="6" spell="aura_of_fear"/>
<precombatspell spell="shadowcall"/>
</race>
<race name="mummy" magres="0.600000" maxaura="1.000000" regaura="1.000000" recruitcost="5" weight="1000" capacity="540" speed="1.000000" hp="60" ac="2" damage="1d7" unarmedattack="6" unarmeddefense="6" attackmodifier="6" defensemodifier="6" scarepeasants="yes" walk="yes" teach="no" noheal="yes" undead="yes" equipment="yes" nogive="yes">
<ai splitsize="10000" moverandom="yes"/>
<skill name="melee" modifier="1"/>
<skill name="polearm" modifier="1"/>
<skill name="tactics" modifier="1"/>
<skill name="stamina" modifier="1"/>
<skill name="unarmed" modifier="1"/>
<attack type="4" damage="2d8"/>
<attack type="3" damage="1d5"/>
<attack type="3" damage="1d5"/>
<attack type="2" damage="1d30"/>
<attack type="2" damage="1d30"/>
</race>
</races>

View File

@ -12,6 +12,7 @@ function process(orders)
-- set up the sphinx
-- init_sphinxhints()
update_phoenix()
sphinx_handler()
sphinx_weekly()
@ -57,6 +58,7 @@ scripts = {
"extensions.lua",
"write_emails.lua",
"wdw/sphinx.lua",
"wdw/phoenix.lua",
"wdw/standings.lua"
}

View File

@ -0,0 +1,31 @@
function update_phoenix()
local f
for f in factions() do
local u
for u in f.units do
if u.race=="phoenix" then
return
end
end
end
f = get_faction(0)
if (f~=nil) then
local r, nregions = 0
for r in regions() do
nregions = nregions+1
end
local rno = math.random(nregions)
for r in regions() do
rno = rno - 1
if rno <=1 then
if r.plane_id==0 and r.name~=nil then
local u = add_unit(f, r)
u.race = "phoenix"
u.name = "Der Phönix"
-- TODO: generate an appropriate region message
break
end
end
end
end
end

View File

@ -21,7 +21,6 @@ Code cleanup:
Larger Features:
- eressea (b/g)zip reports?
- mailit-format ändern?
- NO_RUNNING
- ZERSTÖRE - Man sollte alle Materialien zurückkriegen können:
@ -46,20 +45,13 @@ Old Terrain still needed:
- monster.c, ent movement
- economy.c, insekten
mailit-format ändern?
[11:01] <Enno`> am besten wäre, wenn mailit nur die optionen, nicht das ganze script enthielte
[11:01] <Enno`> und ein skript dann mailit als input nähme
[11:02] <Enno`> also nur enno@eressea.upb.de pka3 BZIP2 nr cr zv
unterschiede in vin3 + wdw per config statt defines?
#define NEWATSROI 1
#define ATSBONUS 2
#define ROIBONUS 4
#define WDW_PHOENIX
#define WDW_PYRAMIDSPE
#define WDW_PYRAMIDSPELL
#define ARENA_MODULE
#define WORMHOLE_MODULE