- Wirkung Rosthauch jetzt so, wie die Spieler ihn erwarten :-)

This commit is contained in:
Christian Schlittchen 2003-02-25 16:39:42 +00:00
parent aa89378622
commit 51e4d2a832
5 changed files with 45 additions and 8 deletions

View File

@ -73,6 +73,9 @@ enum {
WP_HALBERD, WP_HALBERD,
WP_LANCE, WP_LANCE,
WP_RUSTY_SWORD, WP_RUSTY_SWORD,
WP_RUSTY_GREATSWORD,
WP_RUSTY_AXE,
WP_RUSTY_HALBERD,
WP_NONE, WP_NONE,
WP_MAX WP_MAX
}; };
@ -144,6 +147,12 @@ static weapondata weapontable[WP_MAX + 1] =
{0.00, "1d5", "2d6+5", I_LANCE, SK_SPEAR, 0, -2, false, false, { RL_NONE, 0}, PIERCE }, {0.00, "1d5", "2d6+5", I_LANCE, SK_SPEAR, 0, -2, false, false, { RL_NONE, 0}, PIERCE },
/* Rostiges Schwert */ /* Rostiges Schwert */
{0.00, "1d9", "1d9", I_RUSTY_SWORD, SK_SWORD, -1, -1, false, false, { RL_NONE, 0}, CUT }, {0.00, "1d9", "1d9", I_RUSTY_SWORD, SK_SWORD, -1, -1, false, false, { RL_NONE, 0}, CUT },
/* Rostiger Zweihänder */
{0.00, "2d8", "2d8", I_RUSTY_GREATSWORD, SK_SWORD, -2, -3, false, false, { RL_NONE, 0}, CUT },
/* Rostige Axt */
{0.00, "2d6", "2d6", I_RUSTY_AXE, SK_SWORD, 0, -3, false, false, { RL_NONE, 0}, CUT },
/* Rostige Hellebarde */
{0.00, "2d6", "2d6", I_RUSTY_HALBERD, SK_SPEAR, -2, 1, false, false, { RL_NONE, 0}, CUT },
/* Unbewaffnet */ /* Unbewaffnet */
{0.00, "1d5+0", "1d6+0", I_WOOD, SK_SWORD, 0, 0, false, false, { RL_NONE, 0}, BASH }, {0.00, "1d5+0", "1d6+0", I_WOOD, SK_SWORD, 0, 0, false, false, { RL_NONE, 0}, BASH },
/* Dummy */ /* Dummy */
@ -272,7 +281,7 @@ init_oldweapons(void)
item_type * itype = olditemtype[weapontable[w].item]; item_type * itype = olditemtype[weapontable[w].item];
int minskill = 1, wflags = WTF_NONE; int minskill = 1, wflags = WTF_NONE;
weapon_mod * modifiers = NULL; weapon_mod * modifiers = NULL;
int (*attack)(const troop *, int * deaths, int row) = NULL; boolean (*attack)(const troop *, int * deaths, int row) = NULL;
switch (w) { switch (w) {
case WP_RUNESWORD: case WP_RUNESWORD:

View File

@ -1218,6 +1218,18 @@ t_item itemdata[MAXITEMS] = {
{ /* I_SPHERE_OF_INVISIBILITY */ { /* I_SPHERE_OF_INVISIBILITY */
{"Sphäre der Unsichtbarkeit", "Sphären der Unsichtbarkeit", "", ""}, G_M, {"Sphäre der Unsichtbarkeit", "Sphären der Unsichtbarkeit", "", ""}, G_M,
IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 100, 0, 0, NULL IS_MAGIC, 0, 0, {0, 0, 0, 0, 0, 0}, 100, 0, 0, NULL
},
{ /* I_RUSTY_GREATSWORD */
{"Rostiger Zweihänder", "Rostige Zweihänder", "Rostiger Zweihänder", "Rostige Zweihänder"}, G_M,
IS_PRODUCT, SK_WEAPONSMITH, 4, {2, 0, 0, 0, 0, 0}, 200, 0, 0, NULL
},
{ /* I_RUSTY_AXE */
{"Rostige Kriegsaxt", "Rostige Kriegsäxte", "Rostige Kriegsaxt", "Rostige Kriegsäxte"}, G_F,
IS_PRODUCT, SK_WEAPONSMITH, 3, {1, 1, 0, 0, 0, 0}, 200, 0, 0, NULL
},
{ /* I_RUSTY_HALBERD */
{"Rostige Hellebarde", "Rostige Hellebarden", "Rostige Hellebarde", "Rostige Hellebarden"}, G_F,
IS_PRODUCT, SK_WEAPONSMITH, 3, {1, 1, 0, 0, 0, 0}, 200, 0, 0, NULL
} }
}; };

View File

@ -123,7 +123,7 @@ typedef struct item_type {
/* --- functions --- */ /* --- functions --- */
int (*use)(struct unit * user, const struct item_type * itype, int amount, const char * cmd); int (*use)(struct unit * user, const struct item_type * itype, int amount, const char * cmd);
int (*useonother)(struct unit * user, int targetno, const struct item_type * itype, int amount, const char * cmd); int (*useonother)(struct unit * user, int targetno, const struct item_type * itype, int amount, const char * cmd);
int (*give)(const struct unit * src, const struct unit * dest, const struct item_type * itm, int number, const char * cmd); boolean (*give)(const struct unit * src, const struct unit * dest, const struct item_type * itm, int number, const char * cmd);
struct item_type * next; struct item_type * next;
} item_type; } item_type;
@ -372,6 +372,9 @@ enum {
I_RUSTY_CHAIN_MAIL, I_RUSTY_CHAIN_MAIL,
I_SACK_OF_CONSERVATION, I_SACK_OF_CONSERVATION,
I_SPHERE_OF_INVISIBILITY, I_SPHERE_OF_INVISIBILITY,
I_RUSTY_GREATSWORD,
I_RUSTY_AXE,
I_RUSTY_HALBERD,
MAX_ITEMS /* do not use outside item.c ! */ MAX_ITEMS /* do not use outside item.c ! */
}; };

View File

@ -1338,18 +1338,21 @@ sp_rosthauch(castorder *co)
i = min(get_item(u, I_SWORD), force); i = min(get_item(u, I_SWORD), force);
if (i > 0){ if (i > 0){
change_item(u, I_SWORD, -i); change_item(u, I_SWORD, -i);
change_item(u, I_RUSTY_SWORD, i);
force -= i; force -= i;
ironweapon += i; ironweapon += i;
} }
i = min(get_item(u, I_GREATSWORD), force); i = min(get_item(u, I_GREATSWORD), force);
if (i > 0){ if (i > 0){
change_item(u, I_GREATSWORD, -i); change_item(u, I_GREATSWORD, -i);
change_item(u, I_RUSTY_GREATSWORD, i);
force -= i; force -= i;
ironweapon += i; ironweapon += i;
} }
i = min(get_item(u, I_AXE), force); i = min(get_item(u, I_AXE), force);
if (i > 0){ if (i > 0){
change_item(u, I_AXE, -i); change_item(u, I_AXE, -i);
change_item(u, I_RUSTY_AXE, i);
force -= i; force -= i;
ironweapon += i; ironweapon += i;
} }
@ -1357,6 +1360,7 @@ sp_rosthauch(castorder *co)
if (i > 0){ if (i > 0){
if(rand()%100 < 50){ if(rand()%100 < 50){
change_item(u, I_HALBERD, -i); change_item(u, I_HALBERD, -i);
change_item(u, I_RUSTY_HALBERD, i);
force -= i; force -= i;
ironweapon += i; ironweapon += i;
} }

View File

@ -2011,7 +2011,6 @@
<string name="WERWESEN"> <string name="WERWESEN">
<text locale="de">WERWESEN</text> <text locale="de">WERWESEN</text>
</string> </string>
<string name="Adler"> <string name="Adler">
<text locale="de">Adler</text> <text locale="de">Adler</text>
</string> </string>
@ -4019,9 +4018,8 @@
unheilverkündend über der Region auftürmt. Der unheilverkündend über der Region auftürmt. Der
magische Regen wird alles Erz rosten lassen. Seine magische Regen wird alles Erz rosten lassen. Seine
Kraft reicht nicht aus, um Rüstungen unbrauchbar Kraft reicht nicht aus, um Rüstungen unbrauchbar
zu machen, jedoch werden Eisenwaffen so zu machen, jedoch werden Eisenwaffen schartig und
unbrauchbar schartig und rostig, dass man sie rostig. Die Zerstörungskraft des Regens
wegwerfen muss. Die Zerstörungskraft des Regens
ist von der investierten Kraft des Magiers ist von der investierten Kraft des Magiers
abhängig. Für jede Stufe können bis zu 10 abhängig. Für jede Stufe können bis zu 10
Eisenwaffen betroffen werden. Ein Ring der Macht Eisenwaffen betroffen werden. Ein Ring der Macht
@ -4031,8 +4029,7 @@
thunderstorm that affects a whole region. The thunderstorm that affects a whole region. The
magic rain will let rust any ore. Its power is not magic rain will let rust any ore. Its power is not
strong enough to destroy armors, but any iron strong enough to destroy armors, but any iron
weapons will get so rusty that they won't be weapons will get rusty. The exact number of weapons
usable any more. The exact number of weapons
affected by the rain depends on the ammount of affected by the rain depends on the ammount of
power invested by the mage. Up to ten weapons can power invested by the mage. Up to ten weapons can
be destroyed per level - a Ring Of Power increases be destroyed per level - a Ring Of Power increases
@ -5292,6 +5289,18 @@
<text locale="de">Mallornbäume</text> <text locale="de">Mallornbäume</text>
<text locale="en">mallorn trees</text> <text locale="en">mallorn trees</text>
</string> </string>
<string name="alliance">
<text locale="de">ALLIANZ</text>
<text locale="en">ALLIANCE</text>
</string>
<string name="kick">
<text locale="de">AUSSTOSSEN</text>
<text locale="en">KICK</text>
</string>
<string name="join">
<text locale="de">AUFNEHEMEN</text>
<text locale="en">JOIN</text>
</string>
</strings> </strings>