From 75f2be75d8f725015abcd203d2c89215c1a34507 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Fri, 25 Mar 2016 21:18:57 +0100 Subject: [PATCH 1/2] remove code for alp (non-functional) remove code for removecurse trigger (only used by alp) --- res/core/de/strings.xml | 45 ------- res/core/messages.xml | 22 ---- res/e3a/races.xml | 5 - res/eressea/races.xml | 5 - res/eressea/spellbooks/gray.xml | 1 - res/eressea/spellbooks/illaun.xml | 1 - res/eressea/spells.xml | 7 - scripts/tests/e2/e2features.lua | 19 --- src/monster.c | 3 - src/monsters.c | 3 - src/spells.c | 5 - src/spells/CMakeLists.txt | 1 - src/spells/alp.c | 204 ------------------------------ src/spells/alp.h | 53 -------- src/triggers/CMakeLists.txt | 1 - src/triggers/removecurse.c | 111 ---------------- src/triggers/removecurse.h | 40 ------ src/triggers/triggers.c | 2 - 18 files changed, 528 deletions(-) delete mode 100644 src/spells/alp.c delete mode 100644 src/spells/alp.h delete mode 100644 src/triggers/removecurse.c delete mode 100644 src/triggers/removecurse.h diff --git a/res/core/de/strings.xml b/res/core/de/strings.xml index 5ff71eaca..75f57a6b0 100644 --- a/res/core/de/strings.xml +++ b/res/core/de/strings.xml @@ -2906,23 +2906,6 @@ toad - - Alp - nightmare - - - Alps - nightmaress - - - Alps - nightmares - - - Alp - nightmare - - Bergwächter mountainguard @@ -4357,10 +4340,6 @@ Traumdeuten Mind Probe - - Alp - Nightmare - Erschaffe ein Traumauge Create a Visioneye @@ -6424,25 +6403,6 @@ target's faction, skills and possessions will no longer be unknown. - - Der Magier beschwört ein kleines Monster, einen Alp. Dieses bewegt sich - langsam auf sein Opfer zu (das sich an einem beliebigen Ort an der Welt - befinden kann, der Magier oder seine Partei braucht es nicht zu sehen). - Sobald das Opfer erreicht ist, wird es gnadenlos gequält, und nur durch - einen starken Gegenzauber oder den Tod des beschwörenden Magiers kann - das Opfer wieder Frieden finden. Bei der Beschwörung des Alps verliert - der Magier einen kleinen Teil seiner Aura für immer. - The magician spawns a little monster, a nightmare. The nightmare slowly - approaches its victim (which may be at an arbitrary place in eressea, it - is not needed for the magician or his party to see the victim). As soon - as - the victim is reached the nightmare starts to torment it without mercy, - only a powerfull counter spell or the death of the casting magician can - redeem - the victim. When spawning the nightmare the magician loses a small amount - of - his aura forever. - Ein mit diesem Zauber belegtes Drachenauge, welches zum Abendmahle verzehrt wird, erlaubt es dem Benutzer, in die Träume einer anderen @@ -7354,11 +7314,6 @@ fire dragon - - Ein Alp starb, ohne sein Ziel zu erreichen. - An alp died before it reached its target. - - unbewaffnet unarmed diff --git a/res/core/messages.xml b/res/core/messages.xml index 4044f6de6..e5ede1bef 100644 --- a/res/core/messages.xml +++ b/res/core/messages.xml @@ -65,13 +65,6 @@ $unit($owner) bittet $unit($unit), $building($building) zu verlassen. $unit($owner) asks $unit($unit) to leave $building($building). - - - - - Ein Alp starb in $region($region), ohne sein Ziel zu erreichen. - An alp died in $region($region) before reaching its target. - @@ -1277,11 +1270,6 @@ "$unit($unit) stumbles upon $localize($location) while exploring the region. Closer inspection reveals a torn old book titled '$localize($book)'. The expansion of knowledge is tremendous." - - "Ein Alp hat sein Opfer gefunden und springt auf den Rücken von $unit($target)!" - "An evil spirit has found its victim and mounts the back of $unit($target)!" - - @@ -1469,16 +1457,6 @@ "$unit($mage) calls forth a terrible torment over the enemy. The magical rain makes all iron rusty." - - - - - - - "$unit($mage) beschwört den Alp $unit($alp) für $unit($target)." - "$unit($mage) summons the alp $unit($alp) for $unit($target)." - - diff --git a/res/e3a/races.xml b/res/e3a/races.xml index 83b77dd3a..aeafc4218 100644 --- a/res/e3a/races.xml +++ b/res/e3a/races.xml @@ -672,11 +672,6 @@ - - - - - diff --git a/res/eressea/races.xml b/res/eressea/races.xml index f87505357..e91d2f6f6 100644 --- a/res/eressea/races.xml +++ b/res/eressea/races.xml @@ -671,11 +671,6 @@ - - - - - diff --git a/res/eressea/spellbooks/gray.xml b/res/eressea/spellbooks/gray.xml index 21e1609a0..a7f718f2a 100644 --- a/res/eressea/spellbooks/gray.xml +++ b/res/eressea/spellbooks/gray.xml @@ -142,7 +142,6 @@ - diff --git a/res/eressea/spellbooks/illaun.xml b/res/eressea/spellbooks/illaun.xml index 37f3e73b2..ff99a0a81 100644 --- a/res/eressea/spellbooks/illaun.xml +++ b/res/eressea/spellbooks/illaun.xml @@ -8,7 +8,6 @@ - diff --git a/res/eressea/spells.xml b/res/eressea/spells.xml index f7d81abfb..5af11913e 100644 --- a/res/eressea/spells.xml +++ b/res/eressea/spells.xml @@ -188,13 +188,6 @@ - diff --git a/scripts/tests/e2/e2features.lua b/scripts/tests/e2/e2features.lua index 8505bfd39..24b6626e4 100644 --- a/scripts/tests/e2/e2features.lua +++ b/scripts/tests/e2/e2features.lua @@ -71,25 +71,6 @@ function test_rename() assert_equal(u:get_item("ao_healing"), 1) end -function DISABLE_test_alp() - local r = region.create(0,0, "plain") - local f = faction.create("noreply@eressea.de", "human", "de") - local u = unit.create(f, r, 1) - local u2 = unit.create(f, r, 1) - u.race = "elf" - u:set_skill("magic", 10) - u:add_item("money", 3010) - u.magic = "illaun" - u.aura = 200 - u.ship = s1 - u:add_spell("summon_alp") - u:clear_orders() - u:add_order("ZAUBERE 'Alp' " .. itoa36(u2.id)) - process_orders() - print(get_turn(), f) - write_reports() -end - function test_unit_limit_is_1500() local r = region.create(0,0, "plain") local f = faction.create("noreply@eressea.de", "human", "de") diff --git a/src/monster.c b/src/monster.c index 03faa1830..5eafba1ea 100644 --- a/src/monster.c +++ b/src/monster.c @@ -25,9 +25,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "give.h" #include "move.h" -/* triggers includes */ -#include - /* attributes includes */ #include #include diff --git a/src/monsters.c b/src/monsters.c index 40f42f2f1..674ab0999 100644 --- a/src/monsters.c +++ b/src/monsters.c @@ -28,9 +28,6 @@ #include "keyword.h" #include "study.h" -/* triggers includes */ -#include - /* attributes includes */ #include #include diff --git a/src/spells.c b/src/spells.c index ceb66d69f..b93c373ae 100644 --- a/src/spells.c +++ b/src/spells.c @@ -30,7 +30,6 @@ #include #include #include -#include #include /* kernel includes */ @@ -6510,7 +6509,6 @@ static spelldata spell_functions[] = { { "bad_dreams", sp_baddreams, 0 }, { "mindblast", sp_mindblast_temp, 0 }, { "orkdream", sp_sweetdreams, 0 }, - { "summon_alp", sp_summon_alp, 0 }, // TODO: this spell is disabled everywhere /* M_CERDDOR */ { "appeasement", sp_denyattack, 0 }, { "song_of_healing", sp_healing, 0 }, @@ -6707,9 +6705,6 @@ void register_spells(void) at_register(&at_wdwpyramid); at_register(&at_deathcloud_compat); - /* sp_summon_alp */ - register_alp(); - /* init_firewall(); */ ct_register(&ct_firewall); ct_register(&ct_deathcloud); diff --git a/src/spells/CMakeLists.txt b/src/spells/CMakeLists.txt index 6219708d4..fcc80b2cb 100644 --- a/src/spells/CMakeLists.txt +++ b/src/spells/CMakeLists.txt @@ -1,6 +1,5 @@ PROJECT(spells C) SET(_FILES -alp.c borders.c buildingcurse.c combatspells.c diff --git a/src/spells/alp.c b/src/spells/alp.c deleted file mode 100644 index 61c60df03..000000000 --- a/src/spells/alp.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * - * Eressea PB(E)M host Copyright (C) 1998-2015 - * Christian Schlittchen (corwin@amber.kn-bremen.de) - * Katja Zedel (katze@felidae.kn-bremen.de) - * Henning Peters (faroul@beyond.kn-bremen.de) - * Enno Rehling (enno@eressea.de) - * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) - * - * This program may not be used, modified or distributed without - * prior permission by the authors of Eressea. - */ - -#include -#include -#include "alp.h" - -#include -#include -#include -#include -#include -#include - -/* util includes */ -#include -#include -#include -#include -#include - -#include "monster.h" - -#include - -#include -#include -#include -#include - -/* libc includes */ -#include -#include -#include - -extern const char *directions[]; - -typedef struct alp_data { - unit *mage; - unit *target; // TODO: remove, use attribute-owner? -} alp_data; - -static void alp_init(attrib * a) -{ - a->data.v = calloc(sizeof(alp_data), 1); -} - -static void alp_done(attrib * a) -{ - free(a->data.v); -} - -static int alp_verify(attrib * a, void *owner) -{ - alp_data *ad = (alp_data *)a->data.v; - unused_arg(owner); - if (ad->mage && ad->target) - return 1; - return 0; /* remove the attribute */ -} - -static void -alp_write(const attrib * a, const void *owner, struct storage *store) -{ - alp_data *ad = (alp_data *)a->data.v; - write_unit_reference(ad->mage, store); - write_unit_reference(ad->target, store); -} - -static int alp_read(attrib * a, void *owner, struct gamedata *data) -{ - alp_data *ad = (alp_data *)a->data.v; - int rm = read_reference(&ad->mage, data, read_unit_reference, resolve_unit); - int rt = - read_reference(&ad->target, data, read_unit_reference, resolve_unit); - if (rt == 0 && rm == 0 && (!ad->target || !ad->mage)) { - /* the target or mage disappeared. */ - return AT_READ_FAIL; - } - return AT_READ_OK; -} - -static attrib_type at_alp = { - "alp", - alp_init, - alp_done, - alp_verify, - alp_write, - alp_read, - NULL, - ATF_UNIQUE -}; - -int sp_summon_alp(struct castorder *co) -{ - unit *alp, *opfer; - region *r = co_get_region(co); - unit *mage = co->magician.u; - int cast_level = co->level; - spellparameter *pa = co->par; - const struct race *rc = get_race(RC_ALP); - struct faction *f = get_monsters(); - struct message *msg; - - opfer = pa->param[0]->data.u; - - /* Der Alp gehört den Monstern, darum erhält der Magier auch keine - * Regionsberichte von ihm. Er erhält aber später eine Mitteilung, - * sobald der Alp sein Opfer erreicht hat. - */ - alp = create_unit(r, f, 1, rc, 0, NULL, NULL); - set_level(alp, SK_STEALTH, 7); - setstatus(alp, ST_FLEE); /* flieht */ - - { - attrib *a = a_add(&alp->attribs, a_new(&at_alp)); - alp_data *ad = (alp_data *)a->data.v; - ad->mage = mage; - ad->target = opfer; - } - - { - /* Wenn der Alp stirbt, den Magier nachrichtigen */ - add_trigger(&alp->attribs, "destroy", trigger_unitmessage(mage, - "trigger_alp_destroy", MSG_EVENT, ML_INFO)); - /* Wenn Opfer oder Magier nicht mehr existieren, dann stirbt der Alp */ - add_trigger(&mage->attribs, "destroy", trigger_killunit(alp)); - add_trigger(&opfer->attribs, "destroy", trigger_killunit(alp)); - } - msg = msg_message("summon_alp_effect", "mage alp target", mage, alp, opfer); - r_addmessage(r, mage->faction, msg); - msg_release(msg); - - return cast_level; -} - -void alp_findet_opfer(unit * alp, region * r) -{ - curse *c; - attrib *a = a_find(alp->attribs, &at_alp); - alp_data *ad = (alp_data *)a->data.v; - unit *mage = ad->mage; - unit *opfer = ad->target; - float effect; - message *msg; - - assert(opfer); - assert(mage); - - /* Magier und Opfer Bescheid geben */ - msg = msg_message("alp_success", "target", opfer); - add_message(&mage->faction->msgs, msg); - r_addmessage(opfer->region, opfer->faction, msg); - msg_release(msg); - - /* Relations werden in destroy_unit(alp) automatisch gelöscht. - * Die Aktionen, die beim Tod des Alps ausgelöst werden sollen, - * müssen jetzt aber deaktiviert werden, sonst werden sie gleich - * beim destroy_unit(alp) ausgelöst. - */ - a_removeall(&alp->attribs, &at_eventhandler); - - /* Alp umwandeln in Curse */ - effect = -2; - c = - create_curse(mage, &opfer->attribs, ct_find("worse"), 2, 2, effect, - opfer->number); - /* solange es noch keine spezielle alp-Antimagie gibt, reagiert der - * auch auf normale */ - set_number(alp, 0); - - /* wenn der Magier stirbt, wird der Curse wieder vom Opfer genommen */ - add_trigger(&mage->attribs, "destroy", trigger_removecurse(c, opfer)); -} - -void register_alp(void) -{ - at_register(&at_alp); -} - -unit *alp_target(unit * alp) -{ - alp_data *ad; - unit *target = NULL; - - attrib *a = a_find(alp->attribs, &at_alp); - - if (a) { - ad = (alp_data *)a->data.v; - target = ad->target; - } - return target; - -} diff --git a/src/spells/alp.h b/src/spells/alp.h deleted file mode 100644 index f30cc1837..000000000 --- a/src/spells/alp.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * - * Eressea PB(E)M host Copyright (C) 1998-2003 - * Christian Schlittchen (corwin@amber.kn-bremen.de) - * Katja Zedel (katze@felidae.kn-bremen.de) - * Henning Peters (faroul@beyond.kn-bremen.de) - * Enno Rehling (enno@eressea.de) - * Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) - * - * This program may not be used, modified or distributed without - * prior permission by the authors of Eressea. - */ - -#ifndef ALP_H -#define ALP_H -#ifdef __cplusplus -extern "C" { -#endif - - struct castorder; - struct region; - struct unit; - /* ------------------------------------------------------------- */ - /* Name: Alp - * Stufe: 15 - * Gebiet: Illaun - * Wirkung: - * Erschafft ein kleines Monster (den Alp). Dieser bewegt sich jede - * zweite Runde auf eine Zieleinheit zu. Sobald das Ziel erreicht ist, - * verwandelt es sich in einen Curse auf die Einheit, welches -2 auf - * alle Talente bewirkt. - * - * Fähigkeiten (factypes.c): - * Der Alp hat mittlere Tarnung (T7) und exzellente Verteidigung - * (+20, 99% Magieresistenz, siehe factypes.c) - * - * TODO: Der Alp-Curse sollte sich durch besondere Antimagie (Tybied) - * entfernen lassen. - * - * (UNITSPELL | SEARCHGLOBAL | TESTRESISTANCE) - */ - - extern int sp_summon_alp(struct castorder *co); - extern void register_alp(void); - - struct unit *alp_target(struct unit *alp); - void alp_findet_opfer(struct unit *alp, struct region *r); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/triggers/CMakeLists.txt b/src/triggers/CMakeLists.txt index 76e7bf02f..18561f521 100644 --- a/src/triggers/CMakeLists.txt +++ b/src/triggers/CMakeLists.txt @@ -8,7 +8,6 @@ createunit.c gate.c giveitem.c killunit.c -removecurse.c shock.c timeout.c triggers.c diff --git a/src/triggers/removecurse.c b/src/triggers/removecurse.c deleted file mode 100644 index d44f9dc22..000000000 --- a/src/triggers/removecurse.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright (c) 1998-2015, Enno Rehling -Katja Zedel - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -**/ - -#include -#include -#include "removecurse.h" - -/* kernel includes */ -#include -#include - -/* util includes */ -#include -#include -#include -#include -#include -#include - -#include - -/* ansi includes */ -#include -#include -#include - -#include - -typedef struct removecurse_data { - curse *curse; - unit *target; -} removecurse_data; - -static void removecurse_init(trigger * t) -{ - t->data.v = calloc(sizeof(removecurse_data), 1); -} - -static void removecurse_free(trigger * t) -{ - free(t->data.v); -} - -static int removecurse_handle(trigger * t, void *data) -{ - /* call an event handler on removecurse. - * data.v -> ( variant event, int timer ) - */ - removecurse_data *td = (removecurse_data *)t->data.v; - if (td->curse && td->target) { - if (!remove_curse(&td->target->attribs, td->curse)) { - log_error("could not perform removecurse::handle()\n"); - } - } - unused_arg(data); - return 0; -} - -static void removecurse_write(const trigger * t, struct storage *store) -{ - removecurse_data *td = (removecurse_data *)t->data.v; - WRITE_TOK(store, td->target ? itoa36(td->target->no) : 0); - WRITE_INT(store, td->curse ? td->curse->no : 0); -} - -static variant read_curse_reference(struct gamedata *data) { - return read_int(data->store); -} - -static int removecurse_read(trigger * t, gamedata *data) -{ - removecurse_data *td = (removecurse_data *)t->data.v; - - read_reference(&td->target, data, read_unit_reference, resolve_unit); - read_reference(&td->curse, data, read_curse_reference, resolve_curse); - - return AT_READ_OK; -} - -trigger_type tt_removecurse = { - "removecurse", - removecurse_init, - removecurse_free, - removecurse_handle, - removecurse_write, - removecurse_read -}; - -trigger *trigger_removecurse(curse * c, unit * target) -{ - trigger *t = t_new(&tt_removecurse); - removecurse_data *td = (removecurse_data *)t->data.v; - td->curse = c; - td->target = target; - return t; -} diff --git a/src/triggers/removecurse.h b/src/triggers/removecurse.h deleted file mode 100644 index 406132083..000000000 --- a/src/triggers/removecurse.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright (c) 1998-2015, Enno Rehling -Katja Zedel - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -**/ - -#ifndef REMOVECURSE_H -#define REMOVECURSE_H -#ifdef __cplusplus -extern "C" { -#endif - - /* all types we use are defined here to reduce dependencies */ - struct trigger_type; - struct trigger; - - struct unit; - struct curse; - - extern struct trigger_type tt_removecurse; - - extern struct trigger *trigger_removecurse(struct curse *c, - struct unit *target); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/triggers/triggers.c b/src/triggers/triggers.c index 6a4bb780d..152fdcb58 100644 --- a/src/triggers/triggers.c +++ b/src/triggers/triggers.c @@ -28,7 +28,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include #include -#include #include #include #include @@ -50,7 +49,6 @@ void register_triggers(void) tt_register(&tt_unguard); tt_register(&tt_giveitem); tt_register(&tt_killunit); - tt_register(&tt_removecurse); tt_register(&tt_shock); tt_register(&tt_unitmessage); tt_register(&tt_timeout); From 98a3b31953620d33b25336aa54ff3978857b91e4 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Fri, 25 Mar 2016 21:51:49 +0100 Subject: [PATCH 2/2] cfindhash is gone --- src/kernel/curse.c | 44 ++++++-------------------------------------- src/kernel/curse.h | 3 --- src/kernel/unit.c | 1 - 3 files changed, 6 insertions(+), 42 deletions(-) diff --git a/src/kernel/curse.c b/src/kernel/curse.c index d018ec117..11f389474 100644 --- a/src/kernel/curse.c +++ b/src/kernel/curse.c @@ -98,16 +98,6 @@ static void cunhash(curse * c) } } -curse *cfindhash(int i) -{ - curse *old; - - for (old = cursehash[i % MAXENTITYHASH]; old; old = old->nexthash) - if (old->no == i) - return old; - return NULL; -} - /* ------------------------------------------------------------- */ /* at_curse */ void curse_init(attrib * a) @@ -389,9 +379,13 @@ curse *get_curse(attrib * ap, const curse_type * ctype) /* ------------------------------------------------------------- */ /* findet einen curse global anhand seiner 'curse-Einheitnummer' */ -curse *findcurse(int cid) +curse *findcurse(int i) { - return cfindhash(cid); + curse *old; + for (old = cursehash[i % MAXENTITYHASH]; old; old = old->nexthash) + if (old->no == i) + return old; + return NULL; } /* ------------------------------------------------------------- */ @@ -700,32 +694,6 @@ bool is_cursed_with(const attrib * ap, const curse * c) /* ------------------------------------------------------------- */ /* cursedata */ /* ------------------------------------------------------------- */ -/* - * typedef struct curse_type { - * const char *cname; (Name der Zauberwirkung, Identifizierung des curse) - * int typ; - * spread_t spread; - * unsigned int mergeflags; - * int (*curseinfo)(const struct locale*, const void*, int, curse*, int); - * void (*change_vigour)(curse*, double); - * int (*read)(struct storage * store, curse * c); - * int (*write)(struct storage * store, const curse * c); - * } curse_type; - */ - -int resolve_curse(variant id, void *address) -{ - int result = 0; - curse *c = NULL; - if (id.i != 0) { - c = cfindhash(id.i); - if (c == NULL) { - result = -1; - } - } - *(curse **)address = c; - return result; -} static const char *oldnames[MAXCURSE] = { /* OBS: when removing curses, remember to update read_ccompat() */ diff --git a/src/kernel/curse.h b/src/kernel/curse.h index 817b48ad3..3e2cf3095 100644 --- a/src/kernel/curse.h +++ b/src/kernel/curse.h @@ -286,8 +286,6 @@ extern "C" { void ct_register(const curse_type *); void ct_checknames(void); - curse *cfindhash(int i); - curse *findcurse(int curseid); void curse_init(struct attrib *a); @@ -296,7 +294,6 @@ extern "C" { double destr_curse(struct curse *c, int cast_level, double force); - int resolve_curse(variant data, void *address); bool is_cursed_with(const struct attrib *ap, const struct curse *c); /* gibt true, wenn der Curse nicht NULL oder inaktiv ist */ diff --git a/src/kernel/unit.c b/src/kernel/unit.c index e5746b11e..1c6553c79 100644 --- a/src/kernel/unit.c +++ b/src/kernel/unit.c @@ -1876,7 +1876,6 @@ int newunitid(void) start_random_no = random_unit_no; while (ufindhash(random_unit_no) || dfindhash(random_unit_no) - || cfindhash(random_unit_no) || forbiddenid(random_unit_no)) { random_unit_no++; if (random_unit_no == MAX_UNIT_NR + 1) {