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/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) {
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);