MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | heart_beat() |
| 2 | |
| 3 | FUNKTION: |
| 4 | protected void heart_beat(); |
| 5 | |
| 6 | DEFINIERT IN: |
| 7 | /std/living/life.c |
| 8 | /std/living/combat.c |
| 9 | und anderen... |
| 10 | kann auch in beliebigen Objekten selbst definiert werden. |
| 11 | |
| 12 | BESCHREIBUNG: |
| 13 | Diese Funktion wird alle zwei Sekunden vom GameDriver aufgerufen. Sie |
| 14 | regelt in der MG-MudLib das Heilen von Spielern und Monstern, den |
| 15 | Ablauf von Kampfrunden, die Verdauung etc. |
| 16 | |
| 17 | Da heart_beat() ziemlich viele Ressourcen des GameDrivers verbraet, |
| 18 | sollte man Objekte mit heart_beat() nur so selten wie moeglich |
| 19 | benutzen! Und selbst dann sollte der heart_beat() nicht die ganze Zeit |
| 20 | ueber laufen, sondern sich so bald wie moeglich abschalten. |
| 21 | |
| 22 | Das Ein- und Ausschalten des heart_beat()s erfolgt mit |
| 23 | set_heart_beat(). |
| 24 | |
| 25 | BEMERKUNGEN: |
| 26 | 1. Teuer, teuer, teuer! |
| 27 | 2. Soll euer Viech pro "echtem" Heartbeat mehrere Kampfrunden haben, |
| 28 | benutzt dafuer SA_SPEED und ruft auf gar keinen Fall mehrfach |
| 29 | ::heart_beat() auf. Also _NICHT_ |
| 30 | void heart_beat() { |
| 31 | ::heart_beat(); |
| 32 | ::heart_beat(); } |
| 33 | sondern: |
| 34 | SetProp(P_SKILL_ATTRIBUTE_OFFSETS, ([SA_SPEED: 200]) ); |
| 35 | |
| 36 | SIEHE AUCH: |
| 37 | Efuns: set_heart_beat(), absolute_hb_count(), set_next_reset() |
| 38 | Fehler: make_immortal(L) |
| 39 | |
| 40 | ---------------------------------------------------------------------------- |
| 41 | 22.3.2008, Zesstra |
| 42 | |