blob: 6daa2af39e0b0c752729796bab4f319c64b77ae4 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001remove()
2========
3
4FUNKTION
5--------
Zesstra18626972017-01-31 10:38:27 +01006
Bugfix77c5c9d2018-07-24 13:50:46 +02007 varargs int remove(int silent);
Zesstra18626972017-01-31 10:38:27 +01008
9DEFINIERT IN
10------------
Zesstra18626972017-01-31 10:38:27 +010011
Bugfix77c5c9d2018-07-24 13:50:46 +020012 /std/thing/moving.c
13 /std/living/moving.c
14 /std/room/moving.c
Bugfixebe130f2018-07-24 14:00:44 +020015 /std/unit.c
Zesstra18626972017-01-31 10:38:27 +010016
17ARGUMENTE
18---------
Zesstra18626972017-01-31 10:38:27 +010019
Bugfix77c5c9d2018-07-24 13:50:46 +020020 - silent: Falls ungleich 0, so werden beim Zerstoeren keine Meldungen
21 ausgegeben.
Zesstra18626972017-01-31 10:38:27 +010022
23BESCHREIBUNG
24------------
Zesstra18626972017-01-31 10:38:27 +010025
Bugfixebe130f2018-07-24 14:00:44 +020026 Die meisten Objekte zerstoeren sich durch den Aufruf von remove() selbst.
27
28 Unitobjekte reduzieren P_AMOUNT um U_REQ Einheiten. Will man ein Unit-
29 Objekt vollstaendig zerstoeren, ist vor dem Aufruf von remove() U_REQ auf
30 P_AMOUNT zu setzen. Wird durch remove() P_AMOUNT 0, wird das Objekt
31 natuerlich zerstoert.
32
33 Durch Ueberladen dieser Funktion kann man diesen Vorgang noch durch die
Bugfix77c5c9d2018-07-24 13:50:46 +020034 Ausgabe von Meldungen kommentieren, oder irgendwelche Daten
35 abspeichern, oder das Zerstoeren ganz verhindern (auf diesem Weg... Mit
36 destruct() kann das Objekt immer noch direkt zerstoert werden!)
Bugfixc29d52a2018-07-24 14:07:58 +020037
38 ACHTUNG: Wenn ein Objekt durch remove() nicht zerstoert wird, koennte das
39 einen Grund haben. Bitte nicht einfach destruct() verwenden, das ist nur
40 fuer Notfaelle wie ein buggendes remove().
Zesstra18626972017-01-31 10:38:27 +010041
42RUeCKGABEWERT
43-------------
Zesstra18626972017-01-31 10:38:27 +010044
Bugfix77c5c9d2018-07-24 13:50:46 +020045 1, wenn sich das Objekt erfolgreich selbst zerstoert hat, sonst 0.
Zesstra18626972017-01-31 10:38:27 +010046
47BEMERKUNGEN
48-----------
Zesstra18626972017-01-31 10:38:27 +010049
Bugfix77c5c9d2018-07-24 13:50:46 +020050 Nach einem erfolgreichen ::remove() gelten die selben Einschraenkungen
51 wie nach einem destruct()!
Zesstra18626972017-01-31 10:38:27 +010052
53SIEHE AUCH
54----------
Zesstra18626972017-01-31 10:38:27 +010055
Bugfixebe130f2018-07-24 14:00:44 +020056 :doc:`../efun/destruct`,
57 :doc:`../props/U_REQ`, :doc:`../props/P_AMOUNT`
Zesstra18626972017-01-31 10:38:27 +010058
59
Bugfixebe130f2018-07-24 14:00:44 +020060Letzte Aenderung: 24.07.2018, Bugfix
Zesstra18626972017-01-31 10:38:27 +010061