forked from github/server
Fliegende Einheiten ertrinken Aussserdem: Verschieben der Astralraumänderungen (wg. schwerem Magiepatzer)
This commit is contained in:
parent
61e063cb66
commit
b125e84ada
|
@ -3733,7 +3733,7 @@ monthly_healing(void)
|
|||
if (fval(u, UFL_HUNGER)) continue;
|
||||
if (fspecial(u->faction, FS_UNDEAD)) continue;
|
||||
|
||||
if (rterrain(r)==T_OCEAN && u->ship==NULL && !canswim(u)) continue;
|
||||
if (rterrain(r)==T_OCEAN && u->ship==NULL && !(canswim(u) || canfly(u))) continue;
|
||||
|
||||
if(fspecial(u->faction, FS_REGENERATION)) {
|
||||
u->hp = umhp;
|
||||
|
|
|
@ -737,7 +737,7 @@ drown(region *r)
|
|||
ADDMSG(&u->faction->msgs, new_message(u->faction,
|
||||
"drown_amphibian_nodead%u:unit%r:region",u, r));
|
||||
}
|
||||
} else if (!canswim(u)) {
|
||||
} else if (!(canswim(u) || canfly(u))) {
|
||||
scale_number(u, 0);
|
||||
ADDMSG(&u->faction->msgs, new_message(u->faction,
|
||||
"drown%u:unit%r:region", u, r));
|
||||
|
|
|
@ -356,10 +356,6 @@ canwalk(unit * u)
|
|||
boolean
|
||||
canfly(unit *u)
|
||||
{
|
||||
if (get_movement(&u->attribs, MV_CANNOTMOVE)) return false;
|
||||
|
||||
if (get_item(u, I_HORSE) || get_item(u, I_UNICORN)) return false;
|
||||
|
||||
if (get_item(u, I_PEGASUS) >= u->number && effskill(u, SK_RIDING) >= 4)
|
||||
return true;
|
||||
|
||||
|
@ -373,10 +369,6 @@ canfly(unit *u)
|
|||
boolean
|
||||
canswim(unit *u)
|
||||
{
|
||||
if (get_movement(&u->attribs, MV_CANNOTMOVE)) return false;
|
||||
|
||||
if (get_item(u, I_HORSE) || get_item(u, I_UNICORN)) return false;
|
||||
|
||||
if (get_item(u, I_DOLPHIN) >= u->number && effskill(u, SK_RIDING) >= 4)
|
||||
return true;
|
||||
|
||||
|
@ -1247,11 +1239,14 @@ travel_route(unit * u, region_list * route_begin, region_list * route_end, order
|
|||
|
||||
/* Ozeanfelder können nur von Einheiten mit Schwimmen und ohne
|
||||
* Pferde betreten werden. */
|
||||
if (rterrain(next) == T_OCEAN && !canswim(u)) {
|
||||
ADDMSG(&u->faction->msgs, msg_message("detectocean",
|
||||
"unit region", u, next));
|
||||
break;
|
||||
if (rterrain(next) == T_OCEAN) {
|
||||
if (!(canswim(u) || canfly(u))) {
|
||||
ADDMSG(&u->faction->msgs, msg_message("detectocean",
|
||||
"unit region", u, next));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* movement blocked by a wall */
|
||||
|
|
|
@ -55,6 +55,7 @@ extern void run_to(struct unit * u, struct region * to);
|
|||
extern struct unit *is_guarded(struct region * r, struct unit * u, unsigned int mask);
|
||||
extern int enoughsailors(const struct ship * sh, const struct region * r);
|
||||
extern boolean canswim(struct unit *u);
|
||||
extern boolean canfly(struct unit *u);
|
||||
extern struct unit *get_captain(const struct ship * sh);
|
||||
extern void travelthru(const struct unit * u, struct region * r);
|
||||
extern struct ship * move_ship(struct ship * sh, struct region * from, struct region * to, struct region_list * route);
|
||||
|
|
|
@ -5553,7 +5553,7 @@ sp_sweetdreams(castorder *co)
|
|||
/* Zieleinheit */
|
||||
u = pa->param[n]->data.u;
|
||||
|
||||
if (!ucontact(u, mage, HELP_GUARD)) {
|
||||
if (!ucontact(u, mage)) {
|
||||
cmistake(mage, co->order, 40, MSG_EVENT);
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#define HUNGER_REDUCES_SKILL /* Hunger reduziert den Talentwert
|
||||
auf die Hälfte */
|
||||
|
||||
#define ASTRAL_ITEM_RESTRICTIONS /* keine grossen dinge im astralraum */
|
||||
#undef ASTRAL_ITEM_RESTRICTIONS /* keine grossen dinge im astralraum */
|
||||
|
||||
#define MUSEUM_MODULE
|
||||
#define ARENA_MODULE
|
||||
|
|
Loading…
Reference in New Issue