Delphine u.a. können wieder in Küstenregionen einschwimmen.

This commit is contained in:
Enno Rehling 2005-04-16 11:24:50 +00:00
parent d778222324
commit 9725e09309
4 changed files with 9 additions and 7 deletions

View File

@ -1219,10 +1219,10 @@ travel_route(unit * u, region_list * route_begin, region_list * route_end, order
* aquarian special, flying units, horses, the works */ * aquarian special, flying units, horses, the works */
if ((u->race->flags & RCF_FLY) == 0) { if ((u->race->flags & RCF_FLY) == 0) {
if (rterrain(current)==T_OCEAN && rterrain(next) != T_OCEAN) { if (rterrain(current)==T_OCEAN && rterrain(next) != T_OCEAN) {
int moving = u->race->flags & (RCF_SWIM|RCF_WALK); int moving = u->race->flags & (RCF_SWIM|RCF_WALK|RCF_COASTAL);
/* Die Einheit kann nicht fliegen, ist im Ozean, und will an Land */ /* Die Einheit kann nicht fliegen, ist im Ozean, und will an Land */
if (moving != (RCF_SWIM|RCF_WALK) && old_race(u->race) != RC_AQUARIAN) { if (moving != (RCF_SWIM|RCF_WALK) && (moving|RCF_COASTAL)==0) {
/* can't swim+walk and isn't an aquarian */ /* can't swim+walk and isn't allowed to enter coast from sea */
if (ord!=NULL) cmistake(u, ord, 44, MSG_MOVE); if (ord!=NULL) cmistake(u, ord, 44, MSG_MOVE);
break; break;
} }

View File

@ -132,6 +132,7 @@ extern int rc_specialdamage(const race *, const race *, const struct weapon_type
#define RCF_SHAPESHIFTANY (1<<19) /* Kann TARNE RASSE "string" benutzen. */ #define RCF_SHAPESHIFTANY (1<<19) /* Kann TARNE RASSE "string" benutzen. */
#define RCF_UNDEAD (1<<20) /* Undead. */ #define RCF_UNDEAD (1<<20) /* Undead. */
#define RCF_DRAGON (1<<21) /* Drachenart (für Zauber)*/ #define RCF_DRAGON (1<<21) /* Drachenart (für Zauber)*/
#define RCF_COASTAL (1<<22) /* kann in Landregionen an der Küste sein */
/* Economic flags */ /* Economic flags */
#define NOGIVE (1<<0) /* gibt niemals nix */ #define NOGIVE (1<<0) /* gibt niemals nix */

View File

@ -807,6 +807,7 @@ parse_races(xmlDocPtr doc)
if (xml_bvalue(node, "scarepeasants", false)) rc->flags |= RCF_SCAREPEASANTS; if (xml_bvalue(node, "scarepeasants", false)) rc->flags |= RCF_SCAREPEASANTS;
if (xml_bvalue(node, "cannotmove", false)) rc->flags |= RCF_CANNOTMOVE; if (xml_bvalue(node, "cannotmove", false)) rc->flags |= RCF_CANNOTMOVE;
if (xml_bvalue(node, "fly", false)) rc->flags |= RCF_FLY; if (xml_bvalue(node, "fly", false)) rc->flags |= RCF_FLY;
if (xml_bvalue(node, "coastal", false)) rc->flags |= RCF_COASTAL;
if (xml_bvalue(node, "swim", false)) rc->flags |= RCF_SWIM; if (xml_bvalue(node, "swim", false)) rc->flags |= RCF_SWIM;
if (xml_bvalue(node, "walk", false)) rc->flags |= RCF_WALK; if (xml_bvalue(node, "walk", false)) rc->flags |= RCF_WALK;
if (xml_bvalue(node, "nolearn", false)) rc->flags |= RCF_NOLEARN; if (xml_bvalue(node, "nolearn", false)) rc->flags |= RCF_NOLEARN;

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<races> <races>
<race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="500" capacity="200" speed="2.000000" hp="300" ac="0" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" swim="yes" teach="no" giveitem="yes" getitem="yes"> <race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="500" capacity="200" speed="2.000000" hp="300" ac="0" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="5000"/> <ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/> <function name="initfamiliar" value="oldfamiliars"/>
<skill name="sk_perception" modifier="1"/> <skill name="sk_perception" modifier="1"/>
@ -34,7 +34,7 @@
<attack type="4" damage="1d10"/> <attack type="4" damage="1d10"/>
<attack type="4" damage="1d10"/> <attack type="4" damage="1d10"/>
</race> </race>
<race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="1600" capacity="600" speed="1.000000" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" swim="yes" walk="yes" teach="no" giveitem="yes" getitem="yes"> <race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="1600" capacity="600" speed="1.000000" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" coastal="yes" swim="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="5000"/> <ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/> <function name="initfamiliar" value="oldfamiliars"/>
<skill name="sk_perception" modifier="1"/> <skill name="sk_perception" modifier="1"/>
@ -63,7 +63,7 @@
<skill name="sk_taxation" modifier="-99"/> <skill name="sk_taxation" modifier="-99"/>
<attack type="4" damage="2d50"/> <attack type="4" damage="2d50"/>
</race> </race>
<race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="500" capacity="200" speed="2.000000" hp="24" ac="0" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" swim="yes" teach="no" giveitem="yes" getitem="yes"> <race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" maintenance="0" weight="500" capacity="200" speed="2.000000" hp="24" ac="0" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<ai splitsize="5000"/> <ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/> <function name="initfamiliar" value="oldfamiliars"/>
<skill name="sk_alchemy" modifier="-99"/> <skill name="sk_alchemy" modifier="-99"/>
@ -722,7 +722,7 @@
<attack type="4" damage="1d7"/> <attack type="4" damage="1d7"/>
<attack type="5"/> <attack type="5"/>
</race> </race>
<race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" 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"> <race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" ac="0" damage="1d5" unarmedattack="-2" unarmeddefense="-2" attackmodifier="0" defensemodifier="0" playerrace="yes" coastal="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" attackrandom="yes" moverandom="yes" learn="yes"/> <ai splitsize="10000" attackrandom="yes" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="aquarianspoil"/> <function name="itemdrop" value="aquarianspoil"/>
<skill name="sk_mining" modifier="-2"/> <skill name="sk_mining" modifier="-2"/>