Bug 0002014: Zwergenausrüstung kann nicht hergestellt werden

Nicht auf die Fraction Rasse checken, (die ist normalerweise Halbling, kann aber auch Zwerg sein wenn mit der Starteinheit eigenartige Dinge gemacht wurden) sondern ob der Hersteller eine Zwergen oder Golem ist.
Da Zwergensachen nur von Zwergen benutzt werden können, stellt es keinen Vorteil für andere Völker da wenn sie über Golems Zwergensachen machen können.
This commit is contained in:
CTD1 2014-07-15 15:34:42 +02:00
parent 38a754844e
commit 6987c61d97
1 changed files with 7 additions and 7 deletions

View File

@ -656,7 +656,7 @@ use_birthdayamulet(unit * u, const struct item_type *itype, int amount,
#define FL_ITEM_MOUNT ((1<<4) | FL_ITEM_ANIMAL) /* ist ein Reittier */ #define FL_ITEM_MOUNT ((1<<4) | FL_ITEM_ANIMAL) /* ist ein Reittier */
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* Kann auch von Nichtmagier benutzt werden, modifiziert Taktik für diese /* Kann auch von Nichtmagier benutzt werden, modifiziert Taktik fuer diese
* Runde um -1 - 4 Punkte. */ * Runde um -1 - 4 Punkte. */
static int static int
use_tacticcrystal(unit * u, const struct item_type *itype, int amount, use_tacticcrystal(unit * u, const struct item_type *itype, int amount,
@ -667,8 +667,8 @@ use_tacticcrystal(unit * u, const struct item_type *itype, int amount,
int duration = 1; /* wirkt nur eine Runde */ int duration = 1; /* wirkt nur eine Runde */
curse *c; curse *c;
float effect; float effect;
float power = 5; /* Widerstand gegen Antimagiesprüche, ist in diesem float power = 5; /* Widerstand gegen Antimagiesprueche, ist in diesem
Fall egal, da der curse für den Kampf gelten soll, Fall egal, da der curse fuer den Kampf gelten soll,
der vor den Antimagiezaubern passiert */ der vor den Antimagiezaubern passiert */
effect = (float)(rng_int() % 6 - 1); effect = (float)(rng_int() % 6 - 1);
@ -685,8 +685,8 @@ use_tacticcrystal(unit * u, const struct item_type *itype, int amount,
typedef struct t_item { typedef struct t_item {
const char *name; const char *name;
/* [0]: Einzahl für eigene; [1]: Mehrzahl für eigene; /* [0]: Einzahl fuer eigene; [1]: Mehrzahl fuer eigene;
* [2]: Einzahl für Fremde; [3]: Mehrzahl r Fremde */ * [2]: Einzahl fuer Fremde; [3]: Mehrzahl fuer Fremde */
bool is_resource; bool is_resource;
skill_t skill; skill_t skill;
int minskill; int minskill;
@ -712,7 +712,7 @@ static int
mod_dwarves_only(const unit * u, const region * r, skill_t sk, int value) mod_dwarves_only(const unit * u, const region * r, skill_t sk, int value)
{ {
unused_arg(r); unused_arg(r);
if (u->faction->race == get_race(RC_DWARF)) { if (u_race(u) == get_race(RC_DWARF) || (u_race(u)->flags & RCF_IRONGOLEM)) {
return value; return value;
} }
return -118; return -118;
@ -779,7 +779,7 @@ use_warmthpotion(struct unit *u, const struct item_type *itype, int amount,
if (u->faction->race == get_race(RC_INSECT)) { if (u->faction->race == get_race(RC_INSECT)) {
fset(u, UFL_WARMTH); fset(u, UFL_WARMTH);
} else { } else {
/* nur für insekten: */ /* nur fuer insekten: */
cmistake(u, ord, 163, MSG_EVENT); cmistake(u, ord, 163, MSG_EVENT);
return ECUSTOM; return ECUSTOM;
} }