blob: 1cc4e4733fe73eb7b7c2d6cff4ccb839c0e665ab [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001MayAddWeight()
2
3FUNKTION:
4 int MayAddWeight(int gewicht);
5
6DEFINIERT IN:
7 /std/container/restrictions.c
8
9ARGUMENTE:
10 gewicht
11 Das zu pruefende Gewicht.
12
13BESCHREIBUNG:
14 Wenn ein Objekt ein einen Behaelter bewegt wird, prueft move() ueber
15 diese Funktion, ob das Objekt ueberhaupt noch in den Behaelter hinein
16 passt. Dazu uebergibt move() dieser Funktion das Gewicht des zu
17 bewegenden Objektes.
18
19RUeCKGABEWERT:
20 0, wenn der Behaelter noch ein gewicht Gramm wiegendes Objekt aufnehmen
21 kann, -1 im anderen Fall.
22
23BEMERKUNGEN:
24 move() ruft diese Funktion nicht auf, wenn in den Flags M_NOCHECK
25 gesetzt war!
26
27BEISPIELE:
28 Die entsprechende Abfrage in /std/thing/moving.c sieht etwa
29 folgendermassen aus:
30
31 int weight;
32
33 ...
34 weight = QueryProp(P_TOTAL_WEIGHT); // Behaelter? Ja => Gesamtgewicht
35 if (!weight)
36 weight = QueryProp(P_WEIGHT); // Nein: einfaches Gewicht
37
38 if (ziel->MayAddWeight(weight) == -1) // Passt es noch rein?
39 return ME_TOO_HEAVY; // Nein, entspr. Fehler zurueckgeben
40
41 ...
42
43SIEHE AUCH:
44 MayAddObject(), PreventInsert(), move(), /std/container/restrictions.c
45
46----------------------------------------------------------------------------
47Last modified: 23.09.2007, Zesstra