Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//wiz/heilungHeilung von Spielern durch Objekte, Raeume, portable Heilung
============================================================
Generelles:
**********
Neben den bekannten Heilstellen fuer Spieler (den Kneipen sowie gildeninterne
Faehigkeiten) gibt es noch die Moeglichkeit, den Spielern Heilung durch Ver-
wendung der LFUNs "heal_self", "restore_hit_points", "restore_spell_points",
"buffer_hp" und "buffer_sp" Heilung zukommen zu lassen.
Dies wird meist ueber Raeume gemacht, in denen der Spieler ein bestimmtes
Kommando ausfuehren muss oder ueber Objekte, die der Spieler mit sich tragen
kann ('tragbare Tanken'), um Heilung zu erfahren.
ES WIRD EMPFOHLEN, jede mobile Heilung ueber "/std/food" zu implementieren.
Dort muessen lediglich ein paar Properties gesetzt werden, um sicherzugehen,
dass diese Heilungsregeln eingehalten werden.
Gleichzeitig wird auch sichergestellt, dass z.B. Props von Containern, die
Heilung enthalten, nach Leerung korrekt gesetzt werden.
Neben diesen Moeglichkeiten gibt es auch noch Enttankungen, also die
Moeglichkeit, im Spieler eine der Properties P_DRINK, P_FOOD oder P_ALCOHOL
ueber die LFUNs "defuel_food/drink" oder "reduce_food/drink/alcohol" zu
mindern. Dies ist eine Form der Heilung, da der Spieler danach wieder
regulaer essen und trinken kann. Sie muss allerdings ortsgebunden sein.
Grundsaetzlich kann eine Heilstelle natuerlich auch Schaden in einem Spieler
verursachen. Das macht dann Sinn, wenn er z.B. der - fuer diese Heilstelle -
'falschen' Gilde oder Rasse angehoert. Dabei MUSS fuer den Spieler aber
vorher deutlich erkennbar gewesen sein, dass diese 'Heilstelle' fuer ihn
nicht geeignet ist.
Spezifisches:
************
Bei jeder Form von Heilung MUSS "eat_food" (bei Essen) oder "drink_soft" (bei
Trinken) und ggf. "drink_alcohol" verwendet werden! Diese Funktionen sorgen
fuer einen unkomplizierten Ablauf der Heilung, da sie pruefen, ob der Spieler
noch genuegend Tankkapazitaeten hat und wenn ja, die entsprechenden Properties
(P_DRINK, P_FOOD oder P_ALCOHOL) automatisch raufsetzen.
"drink_alcohol" ist in diesem Zusammenhang besonders wichtig, da es auf einen
evtl. vorhandenen Saufskill prueft!
Die Heilung selber muss dann aber noch ueber "heal_self", "restore_hit_points",
"restore_spell_points", "buffer_hp" oder "buffer_sp" geschehen!
Ortsgebundene Heilung:
---------------------
Kneipen: Hier ist klar, dass, je hoeher die Heilung ist, umso teurer die
Heilung sein muss. Ausserdem MUSS "buffer_hp" verwendet werden.
Ausnahme hiervon ist die Kneipe bei den Eistrollen im Warok.
Mit dem Pubtool ("/obj/tools/pubtool") kann man pruefen, ob die
Werte der Kneipe in Ordnung gehen.
Raeume: Es gibt viele ortsgebundene Heilungsstellen im MG, welche in erster
Linie dazu da sind, den Spielern *in diesem Gebiet* eine Tankmoeg-
lichkeit zur Verfuegung zu stellen (-> Drakonien). Hierfuer sollte
man die Property P_LAST_XP benutzen, was aber allerdings keine
Pflicht ist, wenn man moechte, dass auch "gebietsfremde" Spieler
hier tanken gehen koennen (-> SSP). Dann wiederum sollte man aber
darauf achten, dass sie nicht zu gut sind, u.U. schwer zu erreichen
sind (-> T'emong), Blockmonster den Weg versperren (-> SSP) etc.
In jedem Fall aber MUSS eine Begrenzung der Tankmoeglichkeit sicher-
gestellt werden; entweder erfolgt die Limitierung durch Reset oder
durch Zeitbegrenzung (-> check_and_update_timed_key).
"eat_food" bzw. "drink_soft" MUSS bei den Tanken gesetzt werden, die
den Spieler darauf schliessen lassen, Nahrung aufgenommen zu haben
(-> "iss beeren", "trinke schleim", etc.).
Bei allen anderen (-> "rieche blume", etc.) sollten Qualitaet und
Quantitaet im Rahmen bleiben.
Diese ortsgebundenen Heilungen duerfen Instant-Tanken sein.
Tragbare Heilung:
----------------
Tragbare Heilung sollte nach max 5 Resets verderben, die Wirkung vermindern
oder verloren gehen. Sie sollte nicht beliebig im Spieler oder anderswo
hortbar sein. Eine begrenzte Anzahl pro Reset kommt hierbei auch immer gut
(gute Beispiele hierfuer: Drops von Twingi, Heilblaetter von Zook).
Richtwerte fuer Aufloesung oder Wirkungsminderung von tragbarer Heilung:
Heilung Reset-Zeit
> 200 : 30- 60 min
150 - 200 : 60-120 min
100 - 150 : 90-180 min
50 - 100 : 120-240 min
< 50 : 150-300 min
Diese Richtwerte sind gute Anhaltspunkte, koennen aber bei Bedarf mit dem
Erzmagier der Heilungs-Balance individuell abgestimmt werden.
'Wirkungsminderung' ist hierbei im Sinne von *deutlich* gemeint.
*** NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU ***
Tragbare Heilungen, die im weitesten Sinne aus Lebensmitteln bestehen,
duerfen nicht mehr instant sein, sondern MUESSEN "buffer_hp/sp" verwenden!
*** NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU - NEU ***
Bei tragbaren Heilungsmoeglichkeiten, die weder aus Essbarem, noch aus Trink-
barem besteht (bei denen es also nicht logisch waere, "buffer_hp/sp" zu
benutzen), MUSS "check_and_update_timed_key" verwendet werden, da sie sonst zu
kritisch werden. Dann darf es natuerlich auch sowas geben. Beispielsweise kann
man solche Objekte gut als (Mini-)Questbelohnung integrieren.
Hier gilt: Je hoeher die Heilung, um so hoeher die Zeitdauer, nach der der
Spieler diese Moeglichkeit wieder in Anspruch nehmen darf.
(Richtwerte: heal_self(50): ~ 1800 sec., heal_self(150): ~ 3600 sec.)
Auch bei diesen Objekten ist es ein MUSS, die Heilungsmoeglichkeiten einmal
erschoepfen zu lassen, sie also entweder 'verderben' oder sich verabschieden
(-> Dschinn) zu lassen oder sie 'stillegen', da sie dann einfach eine zeitlang
Ruhe brauchen, um sich neu 'aufzuladen'.
Questbelohnungen:
----------------
Diese Objekte stellen eine Ausnahme unter den tragbaren Heilungen dar. Hier
kann auf "buffer_hp/sp" verzichtet werden; dafuer muessen aber andere Regeln
beachtet werden: das Objekt darf pro Reset nur begrenzt heilen bzw. nach der
Anwendung sich selber zerstoeren (-> gelber Stein). Oder es muss vorher eine
erhebliche Menge LP/KP investiert werden, um das Objekt zu nutzen
(-> Infernoblock).
Enttanken:
---------
Die Moeglichkeit zur Enttankung MUSS an einen festen Ort gebunden sein. Sie
darf also nicht durch tragbare Objekte hervorgerufen werden koennen. Ein
Beispiel hierfuer sind die Toiletten von Wurzel in Wilhelmsburg oder die
Fleischreste in der SSP. Weiteres hierzu siehe -> "man enttanken".
Logisches:
*********
Jede (!) Moeglichkeit zur Heilung, abgesehen von regulaeren Kneipen, muss dem
zustaendigen Magier fuer Heilungs-Balance gemeldet und von diesem genehmigt
werden. Wer diesen Posten momentan innehat, kann dem MailAlias
"heilungs_balance" entnommen werden.
Siehe auch:
----------
Tanken: consume, drink_alcohol, eat_food, drink_soft
Heilung: heal_self, restore_spell_points, restore_hit_points,
buffer_hp, buffer_sp
Timing: check_and_update_timed_key
Enttanken: defuel_drink, defuel_food
Props: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
P_DEFUEL_TIME_DRINK
Konzepte: enttanken, food
----------------------------------------------------------------------------
17.09.2010, Zesstra
zurück zur Übersicht