From c220337647d9fa4cd5482a6a26847994462700b5 Mon Sep 17 00:00:00 2001 From: Katja Zedel Date: Sun, 28 Apr 2002 07:53:18 +0000 Subject: [PATCH] =?UTF-8?q?bis=20wir=20autodrop=20haben,=20geben=20spieler?= =?UTF-8?q?monster=20gegenst=C3=A4nde=20her=20mehr=20curse=20umstellung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/kernel/curse.c | 74 ++++++++++----------------------------- src/common/kernel/curse.h | 12 +------ src/common/kernel/save.c | 13 ------- src/common/kernel/spell.c | 2 +- src/res/races.xml | 18 +++++----- 5 files changed, 30 insertions(+), 89 deletions(-) diff --git a/src/common/kernel/curse.c b/src/common/kernel/curse.c index 85d54f648..b6d62b2ef 100644 --- a/src/common/kernel/curse.c +++ b/src/common/kernel/curse.c @@ -224,17 +224,6 @@ is_curseskill(curse_t id) return false; } -boolean -is_cursesecondid(curse_t id) -{ - const curse_type *ct = find_cursetype(id); - - if (ct->typ == CURSETYP_SECONDID) - return true; - - return false; -} - /* ------------------------------------------------------------- */ /* get_curse identifiziert eine Verzauberung über die ID und gibt * einen pointer auf die struct zurück. @@ -266,16 +255,17 @@ cmp_oldcurse(const attrib * a, const void * data) if (ct->cspellid != ti->id) return false; + /* TODO: prüfen auf namen */ + if (is_curseskill(ti->id)){ curse_skill * cc = (curse_skill*)c->data; - if (cc->skill == (skill_t) ti->id2) return true; - } else if (is_cursesecondid(ti->id)) { - curse_secondid * cc = (curse_secondid*)c->data; - if (cc->secondid == ti->id2) return true; - } else { - return true; + if (cc->skill == (skill_t) ti->id2){ + return true; + } else { + return false; + } } - return false; + return true; } twoids * @@ -547,13 +537,6 @@ set_curse(unit *mage, attrib **ap, curse_t id, int id2, int vigour, c->data = cc; break; } - case CURSETYP_SECONDID: - { - curse_secondid *cc = calloc(1, sizeof(curse_secondid)); - cc->secondid = id2; - c->data = cc; - break; - } } return c; @@ -1527,7 +1510,7 @@ curse_type cursedaten[MAXCURSE] = (cdesc_fun)cinfo_magicstreet }, { C_RESIST_MAGIC, - "ct_magicresistance", + "ct_magicrunes", CURSETYP_NORM, 0, M_SUMEFFECT, "Dieses Zauber verstärkt die natürliche Widerstandskraft gegen eine " "Verzauberung.", @@ -1658,58 +1641,58 @@ curse_type cursedaten[MAXCURSE] = /* struct's vom typ curse_unit: */ { C_SPEED, - "Beschleunigen II", + "ct_speed", CURSETYP_UNIT, CURSE_SPREADNEVER, M_MEN, "Diese Einheit bewegt sich doppelt so schnell.", (cdesc_fun)cinfo_speed }, { C_ORC, - "Orkfieber", + "ct_orcish", CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, "Dieser Zauber scheint die Einheit zu 'orkisieren'. Wie bei Orks " "ist eine deutliche Neigung zur Fortpflanzung zu beobachten.", (cdesc_fun)cinfo_orc }, { C_MBOOST, - "", + "ct_magicboost", CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, "", NULL }, { C_KAELTESCHUTZ, - "Winterfell", + "ct_insectfur", CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), "Dieser Zauber schützt vor den Auswirkungen der Kälte.", (cdesc_fun)cinfo_kaelteschutz }, { C_STRENGTH, /* */ - "Trollstärke", + "ct_strength", CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, "Dieser Zauber vermehrt die Stärke der verzauberten Personen um ein " "vielfaches.", (cdesc_fun)cinfo_strength }, { C_ALLSKILLS, /* Alp */ - "", + "ct_worse", CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, "", (cdesc_fun)cinfo_allskills }, { C_MAGICRESISTANCE, /* */ - "Magieschutz", + "ct_magicresistance", CURSETYP_UNIT, CURSE_SPREADMODULO, M_MEN, "Dieser Zauber verstärkt die natürliche Widerstandskraft gegen eine " "Verzauberung.", NULL }, { C_ITEMCLOAK, /* */ - "Schleieraura", + "ct_itemcloak", CURSETYP_UNIT, CURSE_SPREADNEVER, M_DURATION, "Dieser Zauber macht die Ausrüstung unsichtbar.", (cdesc_fun)cinfo_itemcloak }, { C_SPARKLE, /* */ - "Leichte Verzauberung", + "ct_sparkle", CURSETYP_UNIT, CURSE_SPREADMODULO, ( M_MEN | M_DURATION ), "Dieser Zauber ist einer der ersten, den junge Magier in der Schule lernen.", (cdesc_fun)cinfo_sparkle @@ -1735,30 +1718,11 @@ curse_type cursedaten[MAXCURSE] = /* struct's vom typ curse_skill: */ { C_SKILL, /* */ - "", + "ct_skillmod", CURSETYP_SKILL, CURSE_SPREADMODULO, M_MEN, "", (cdesc_fun)cinfo_skill }, - { C_FREE_30, /* */ - "", - CURSETYP_UNIT, 0, (NO_MERGE), - "", - NULL - }, - { C_FREE_31, /* */ - "", - CURSETYP_UNIT, 0, (NO_MERGE), - "", - NULL - }, - { C_FREE_32, /* */ - "", - CURSETYP_UNIT, 0, (NO_MERGE), - "", - NULL - }, -/* struct's vom typ curse_secondid: */ }; void * diff --git a/src/common/kernel/curse.h b/src/common/kernel/curse.h index 729af0cd5..0c97c87c5 100644 --- a/src/common/kernel/curse.h +++ b/src/common/kernel/curse.h @@ -140,10 +140,7 @@ enum { C_FREE_24, /* struct's vom untertyp curse_skill: */ C_SKILL, - C_FREE_30, - C_FREE_31, - C_FREE_32, -/* struct's vom untertyp curse_secondid: */ + C_DUMMY, MAXCURSE }; @@ -169,7 +166,6 @@ enum { CURSETYP_NORM, CURSETYP_UNIT, CURSETYP_SKILL, - CURSETYP_SECONDID, MAXCURSETYP }; @@ -224,12 +220,6 @@ typedef struct curse_skill { skill_t skill; /* Talent auf das der Spruch wirkt (id2) */ } curse_skill; -/* für alle fälle, wo man unterscheidbare Curses gleichen Typs braucht */ -typedef struct curse_secondid { - int secondid; - int i; -}curse_secondid; - typedef int (*cdesc_fun)(const void*, int, curse*, int); /* Parameter: Objekt, auf dem curse liegt, Typ des Objekts, curse, * Besitzerpartei?1:0 */ diff --git a/src/common/kernel/save.c b/src/common/kernel/save.c index 91592d5a1..c2394ad9e 100644 --- a/src/common/kernel/save.c +++ b/src/common/kernel/save.c @@ -1382,12 +1382,6 @@ curse_write(const attrib * a,FILE * f) { fprintf(f, "%d %d ", (int)cc->skill, cc->cursedmen); break; } - case CURSETYP_SECONDID: - { - curse_secondid * cc = (curse_secondid*)c->data; - fprintf(f, "%d %d ", (int)cc->secondid, cc->i); - break; - } case CURSETYP_NORM: default: break; @@ -1439,13 +1433,6 @@ curse_read(attrib * a, FILE * f) { cc->skill = (skill_t)skill; break; } - case CURSETYP_SECONDID: - { - curse_secondid * cc = calloc(1, sizeof(curse_secondid)); - fscanf(f, "%d %d ", &cc->secondid, &cc->i); - break; - - } case CURSETYP_NORM: default: break; diff --git a/src/common/kernel/spell.c b/src/common/kernel/spell.c index a573f9e5d..e1c475de7 100644 --- a/src/common/kernel/spell.c +++ b/src/common/kernel/spell.c @@ -2862,8 +2862,8 @@ wall_vigour(curse* c, int delta) } const curse_type ct_firewall = { + C_DUMMY, "Feuerwand", CURSETYP_NORM, 0, (M_DURATION | M_VIGOUR | NO_MERGE), - "Feuerwand", "Eine Feuerwand blockiert die Ein- und Ausreise", NULL, /* curseinfo */ wall_vigour /* change_vigour */ diff --git a/src/res/races.xml b/src/res/races.xml index 60df8c7b7..5ff58753d 100644 --- a/src/res/races.xml +++ b/src/res/races.xml @@ -58,7 +58,7 @@ - + @@ -76,7 +76,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -125,7 +125,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -809,11 +809,11 @@ - + - + @@ -821,7 +821,7 @@ - +