Gesammelte Doku-Updates
Groesstenteils Formatierung, Whitespace und kleinere
Aenderungen.
Change-Id: I2a7363cb10ff5b4c5252e1e7bef62d2bff6d9ff0
diff --git a/doc/WIZRULES b/doc/WIZRULES
new file mode 100644
index 0000000..652d2c1
--- /dev/null
+++ b/doc/WIZRULES
@@ -0,0 +1,158 @@
+
+Magiervertrag
+*************
+
+Herzlich willkommen im Kreis der Magier!
+
+Ab jetzt kannst Du hinter die Kulisse des MorgenGrauens schauen. Diese
+Faehigkeit birgt Verantwortung.
+
+Deshalb gelten ab jetzt zusaetzlich zu den bisherigen Regeln folgende
+Magierregeln fuer Dich:
+
+
+Hilfe durch Magier
+==================
+
+Man darf Spielern keine Hilfen geben, es sei denn, es liegt ein
+*offensichtlicher* Fehler vor. Dabei zaehlt auch ein Zweitspieler, mit
+dem ein Magier spielt, zu den Spielern! Haelt der Sheriff einen Extra-
+Charakter eines Magiers nicht fuer einen echten Zweitie, kann er ihn
+jederzeit zum Testspieler erklaeren.
+
+Beispiele fuer nicht erlaubte Hilfen:
+
+ * Stats von Monstern mitteilen.
+
+ * Objekte clonen, und Spielern geben.
+
+ * Objekte schreiben, die den Spielern zu sehr helfen, oder
+ umgekehrt die Spieler schaedigen.
+
+ * Spieler teleportieren.
+
+ * Explizite Kommandos angeben, die ein Spieler eingeben muss.
+
+ * Selber (oder mit Zweitcharakteren) mitspielen oder -kaempfen,
+ sobald Insiderwissen in Anwendung kommt. Hier ist der gesunde
+ Menschenverstand bei der Entscheidung gefragt, ab wann dies der
+ Fall ist.
+
+ * Raeume resetten, damit die Spieler Objekte bekommen.
+ (Insbesondere kann das Nebeneffekte haben, die man als normaler
+ Magier nicht ueberschauen kann, ausserdem koennen die Spieler
+ auch mal warten.)
+
+ * Weitergabe von Objektinformationen, die der Spieler nicht
+ einsehen kann.
+
+In den folgenden Faellen darf natuerlich geholfen werden:
+
+ * Spielern aus fehlerhaften Raeumen oder der 'void' heraushelfen.
+
+ * Man sieht, dass der Spieler weiss, was er zu tun hat, aber ihm
+ die abwegige(!) Formulierung nicht einfaellt. (Hier sollte man
+ aber zusaetzlich dem Magier, der das entsprechende Objekt
+ 'verbrochen' hat, eine Mitteilung geben, auf dass er es
+ verbessert.)
+
+Selber spielen soll man nur dann, wenn man den Spielern dabei nicht
+hilft oder ihnen ein Abenteuer vor der Nase wegloest.
+
+
+Privatsphaere / Snoopen
+=======================
+
+*Generell muss die Privatsphaere von Spielern geachtet werden.*
+
+Snoopen von Spielern ist nur dann erlaubt, wenn es darum geht, Fehler
+im Mud zu finden oder Ideen zu sammeln, um seinen _eigenen_ Gebiete,
+bzw. Regionen fuer die man verantwortlich ist, zu verbessern und
+anzupassen. Es darf auf keinen Fall dafuer benutzt werden, Spieler
+ohne besonderen Grund zu beobachten, sich ueber sie lustig zu machen,
+oder sie auszuspionieren. Wenn Spieler Post schreiben oder lesen ist
+snoopen strengstens untersagt (Briefgeheimnis). Generell ist es
+angebracht Spieler darauf hinzuweisen, dass sie gesnoopt werden.
+
+Es ist ebenso unzulaessig, andere Moeglichkeiten auszunutzen, die dazu
+dienen Spieler zu beobachten, bzw. auszuspionieren (zB verfolgen).
+
+Insbesondere ist es STRIKT untersagt, Objekte zu schreiben, die in
+irgendeiner Weise (zB add_action(...,"",1)) 'teile mit', 'fluester'
+und aehnliche Kommunikationsbefehle abfangen, um Gespraeche von
+anderen abzuhoeren. Dies stellt einen schweren Eingriff in die
+Intimsphaere der anderen Teilnehmer dar und wird dementsprechend
+geahndet!
+
+Jegliche Art von Belaestigung von Spielern ist untersagt. Dazu gehoert
+das Verfluchen, Monster auf sie hetzen, oder ihnen auf irgendeine Art
+boeswillig Schaden zuzufuegen.
+
+
+Zu dem, was Du hier so programmierst:
+=====================================
+
+Alles was Du hier an Daten ablegst ist natuerlich Dein eigenes,
+geistiges Eigentum. Trotzdem gehen wir davon aus, das alles, was hier
+im Mudverzeichnis landet, auch fuer das MorgenGrauen entwickelt worden
+ist, also alles was Du schreibst, auch vom Mud genutzt werden darf.
+Dies fuehrt zu folgender Regelung:
+
+Fuer das MorgenGrauen gilt uneingeschraenktes Nutzungsrecht fuer alle
+Monster, Objekte oder Raeume die Du hier programmierst. Dies gilt
+insbesondere fuer alle Sachen, die bereits an die Regionen des MGs
+angeschlossen sind. Das bedeutet fuer Dich, dass unter Umstaenden von
+Dir geschriebene Objekte auch gegen Deinen Willen angeschlossen
+bleiben, und vielleicht sogar ggf. aus einem Backup wieder eingespielt
+werden. Mit dieser Regel soll verhindert werden, das unglueckselige
+Magier aus- steigen und beim Verlassen des MG riesige Loecher in der
+Landschaft und im allgemeinen Gleichgewicht hinterlassen.
+
+
+Beendigung Deiner Magierzeit
+============================
+
+Sollte Deine Magierzeit beendet sein, verpflichtest Du Dich, ueber
+etwaige waehrend Deiner Magierzeit gewonnene, nicht-oeffentliche
+Interna - insb. nicht-oeffentlichen Code - auch weiterhin
+Stillschweigen zu bewahren. Dies gilt unabhaengig von dem Grund oder
+der Art und Weise, Deine Magierzeit zu beenden (z.B. Loeschung).
+
+Wenn Du diesen Vertrag unterschreibst, erkennst Du die Regeln an. Die
+Regeln in /etc/WIZRULES sind immer verbindlich, unabhaengig davon, wie
+sie zum Zeitpunkt deines Magierwerdens aussahen.
+
+Nun genug der strengen Regeln ;).
+
+
+Nun zu dem, was Du jeden Moment wirst; und zu dem, was danach kommt:
+====================================================================
+
+1.) Wenn Du diesen Vertrag unterschrieben hast, und Dein Sponsor (das
+ist
+ der, der Dir den Vertrag gegeben hat) Merlin gebeten hat, Dich zum
+ Magier zu machen, bekommst Du die magischen Faehigkeiten der
+ Magier. Du wirst Dich unsichtbar machen koennen, andere Wesen
+ teleportieren koennen (siehe jedoch Regeln), Objekte clonen und so
+ weiter und so weiter. Dein Sponsor hat die Aufgabe, Dir den Umgang
+ mit den neuen Faehigkeiten beizubringen (Du darfst ihn darauf
+ festnageln ;-)).
+
+2.) Du kannst jedoch selbst noch keinerlei Programme schreiben. Wenn
+Du
+ auch selber programmieren willst, musst Du zuerst ein
+ Gesellenstueck abliefern. Wie das geht, findest du bei der Hilfe
+ zum Gesellenstueck beschrieben("hilfe gesellenstueck").
+
+So und nun zu den Dingen, die fuer Dich da sind:
+
+ Mit dem Befehl "mhilfe" kannst Du eine Uebersicht ueber die Befehle
+ bekommen, die ein Magier zusaetzlich zu denen der Spieler hat. In
+ dem Verzeichniss /doc findest Du verschiedene Files, die Dir das
+ Verstaendnis erleichtern sollen. Eine Uebersicht kannst Du mit dem
+ Befehl. "more /doc/README" bekommen.
+
+ Der gute alte Merlin ist nicht nur der Urvater aller Magier,
+ sondern beherbergt darueber hinaus auch einen (ab und zu) gut
+ besuchten WizClub. Wer sich mit "goto" noch nicht so gut auskennt,
+ kann ihn in der Abenteurergilde mit dem Kommando "treff" betreten.
diff --git a/doc/balance/artillerie b/doc/balance/artillerie
index 914278d..d18a55c 100644
--- a/doc/balance/artillerie
+++ b/doc/balance/artillerie
@@ -24,29 +24,11 @@
a. Artillerie _muss_ P_ATTACK_BUSY beachten (setzen/abfragen).
b. Artillerie _muss_ bei Verwendung Konzentrationspunkte
verbrauchen.
- c. Artillerie darf nicht (bzw. nur begrenzt) gehortet werden
- koennen.
- d. Artillerie darf bei Paralyse nicht angewendet werden koennen
+ c. Artillerie darf bei Paralyse nicht angewendet werden koennen
(P_DISABLE_ATTACK).
- e. Artillerie muss durch Setzen der Property P_IS_ARTILLERY
+ d. Artillerie muss durch Setzen der Property P_IS_ARTILLERY
gekennzeichnet sein.
- f. Artillerie, die Munition benutzt oder selbst Munition ist (wie z.B.
- Wurfsterne), muss das Unitobjekt und den dortigen Mechanismus zum
- Zerfall von Objekten nutzen. Dabei sind P_UNIT_DECAY_INTERVAL und
- P_UNIT_DECAY_QUOTA so zu setzen, dass die Munition eine Halbwertszeit
- zwischen 5 und 10 Tagen hat, der ihrer Verfuegbarkeit angemessen
- ist. Dies laesst sich durch geeignetes Einstellen des
- Prozentsatzes und/oder der Resetzeit erreichen.
-
- Beispiele:
- Setzt man p=1% Zerfall pro Reset an, dann muss der Reset
- fuer eine Halbwertszeit von 5 Tagen dann
- t=ln(0.5)/ln(0,99)*5*24*3600 s dauern, das sind 6224 s.
-
- Moechte man lieber den normalen Reset, der im Mittel 45 min, d.h. 160
- Resets in 5 Tagen betraegt, so erhaelt man folgenden Prozentsatz:
- p = 1-0,5^(1/160) d.h. ca. 0,43%.
- g. Artillerie ist immer genehmigungspflichtig.
+ e. Artillerie ist immer genehmigungspflichtig.
Details werden fallweise entschieden.
@@ -58,6 +40,7 @@
Revision am 5. April 2008
Revision am 7. April 2011
Revision am 24. August 2011
+Revision am 8. August 2018
--------------------------------------------------------------------------
-Letzte Aenderung: Mi, 24.8. 2011 von Humni
+Letzte Aenderung: Mi, 8.8. 2018 von Humni
diff --git a/doc/index b/doc/index
index 6f84b1c..778f6b5 100644
--- a/doc/index
+++ b/doc/index
@@ -14,8 +14,8 @@
Indices and tables
******************
-* *Stichwortverzeichnis*
+* Stichwortverzeichnis
-* *Modulindex*
+* Modulindex
-* *Suche*
+* Suche
diff --git a/doc/lfun/AddExtraLook b/doc/lfun/AddExtraLook
index 279b496..3e6edc2 100644
--- a/doc/lfun/AddExtraLook
+++ b/doc/lfun/AddExtraLook
@@ -172,12 +172,12 @@
==========
Verwandt:
- *RemoveExtraLook()*, *P_INTERNAL_EXTRA_LOOK*
+ RemoveExtraLook(), P_INTERNAL_EXTRA_LOOK
Sonstiges:
- *replace_personal()*, *break_string()*
+ replace_personal(), break_string()
Fuer Spielerobjekte:
- *P_EXTRA_LOOK*
+ P_EXTRA_LOOK
5. Juni 2017 Gloinson
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index e2774d5..193e407 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -241,18 +241,18 @@
==========
Verwandt:
- *AddSpecialInfo()*, *RemoveInfo()*
+ AddSpecialInfo(), RemoveInfo()
Props:
- *P_PRE_INFO*
+ P_PRE_INFO
Files:
/std/npc/info.c
Loggen:
- *P_LOG_INFO*
+ P_LOG_INFO
Interna:
- *GetInfoArr()* , *do_frage()*
+ GetInfoArr() , do_frage()
7. Mar 2017 Gloinson
diff --git a/doc/lfun/AddRoomMessage b/doc/lfun/AddRoomMessage
index 7d33a52..82c2c99 100644
--- a/doc/lfun/AddRoomMessage
+++ b/doc/lfun/AddRoomMessage
@@ -152,9 +152,9 @@
==========
Verwandt:
- tell_room(), *send_room()*, *ReceiveMsg()*
+ tell_room(), send_room(), ReceiveMsg()
Props:
- *P_MSG_PROB*, *P_FUNC_MSG*, *P_ROOM_MSG*
+ P_MSG_PROB, P_FUNC_MSG, P_ROOM_MSG
28. Mar 2016 Gloinson
diff --git a/doc/lfun/AddSpell b/doc/lfun/AddSpell
index b8175e5..c0e6da7 100644
--- a/doc/lfun/AddSpell
+++ b/doc/lfun/AddSpell
@@ -192,10 +192,9 @@
SIEHE AUCH
==========
- Sonstiges: *SpellAttack()*, *SpellDefend()*, *Defend()*,
- *QueryDefend()*, *SelectEnemy()*, *ReceiveMsg()*,
- *replace_personal()*
+ Sonstiges: SpellAttack(), SpellDefend(), Defend(), QueryDefend(),
+ SelectEnemy(), ReceiveMsg(), replace_personal()
- Properties: *P_DISABLE_ATTACK*, *P_SPELLRATE*, *P_AGGRESSIVE*
+ Properties: P_DISABLE_ATTACK, P_SPELLRATE, P_AGGRESSIVE
Letzte Aenderung: 15.02.2018, Bugfix
diff --git a/doc/lfun/Defend b/doc/lfun/Defend
index dd66fa1..1de1f78 100644
--- a/doc/lfun/Defend
+++ b/doc/lfun/Defend
@@ -178,20 +178,20 @@
SIEHE AUCH
==========
- Angriff: *Attack()*, *P_NO_ATTACK*, *InsertEnemy()*
+ Angriff: Attack(), P_NO_ATTACK, InsertEnemy()
- Schaden: *P_ENABLE_IN_ATTACK_OUT*, *P_LAST_MOVE*, *do_damage()*,
- *reduce_hit_points()*
+ Schaden: P_ENABLE_IN_ATTACK_OUT, P_LAST_MOVE, do_damage(),
+ reduce_hit_points()
- Schutz: *P_DEFENDERS*, *InformDefend()*, *DefendOther()*,
- *P_ARMOURS*, *P_AC*, *P_DEFEND_FUNC*, *QueryDefend()*, *P_BODY*
+ Schutz: P_DEFENDERS, InformDefend(), DefendOther(), P_ARMOURS,
+ P_AC, P_DEFEND_FUNC, QueryDefend(), P_BODY
- Daten: *P_LAST_COMBAT_TIME*, *P_LAST_DAMTYPES*,
- *P_LAST_DAMTIME*, *P_LAST_DAMAGE*, *P_DAMAGE_MSG*
+ Daten: P_LAST_COMBAT_TIME, P_LAST_DAMTYPES, P_LAST_DAMTIME,
+ P_LAST_DAMAGE, P_DAMAGE_MSG
- Resistenz: *P_RESISTANCE_STRENGTHS*, *CheckResistance()*
+ Resistenz: P_RESISTANCE_STRENGTHS, CheckResistance()
- Sonstiges: *CheckSensitiveAttack()*, *InternalModifyDefend()*,
- *UseSkill()*, *DefendInfo()*
+ Sonstiges: CheckSensitiveAttack(), InternalModifyDefend(),
+ UseSkill(), DefendInfo()
Letzte Aenderung: 29.12.2017, Bugfix
diff --git a/doc/lfun/DefendFunc b/doc/lfun/DefendFunc
index a544cc2..5338a9f 100644
--- a/doc/lfun/DefendFunc
+++ b/doc/lfun/DefendFunc
@@ -103,4 +103,4 @@
SIEHE AUCH
==========
- *P_DEFEND_FUNC*, "QueryDefendd" /std/armour/combat.c
+ P_DEFEND_FUNC, *QueryDefendd* /std/armour/combat.c
diff --git a/doc/lfun/GetHelperObject b/doc/lfun/GetHelperObject
index e879129..87b1b8a 100644
--- a/doc/lfun/GetHelperObject
+++ b/doc/lfun/GetHelperObject
@@ -39,9 +39,8 @@
welches die Anforderungen erfuellt.
Ist <strength> ein int, muss die Staerke/Guete des Helfers
- (Rueckgabewert der Callback-Methode, siehe
- *RegisterHelperObject()*) mindestens so gross sein wie der als
- <strength> uebergebene Wert.
+ (Rueckgabewert der Callback-Methode, siehe RegisterHelperObject())
+ mindestens so gross sein wie der als <strength> uebergebene Wert.
Ist <strength> eine Closure, wird diese fuer jeden Helfer
ausgewertet und entscheidet, ob der Helfer akzeptiert wird. Die
@@ -87,7 +86,7 @@
SIEHE AUCH
==========
- *RegisterHelperObject()*, *UnregisterHelperObject()*,
- *P_AERIAL_HELPERS*, *P_AQUATIC_HELPERS*, *P_HELPER_OBJECTS*
+ RegisterHelperObject(), UnregisterHelperObject(), P_AERIAL_HELPERS,
+ P_AQUATIC_HELPERS, P_HELPER_OBJECTS
Letzte Aenderung: 9.3.2018, Zesstra
diff --git a/doc/lfun/GetShopItems b/doc/lfun/GetShopItems
index 9c7f28d..1b8cfa5 100644
--- a/doc/lfun/GetShopItems
+++ b/doc/lfun/GetShopItems
@@ -37,4 +37,4 @@
SIEHE AUCH
==========
- *PrintList()*
+ PrintList()
diff --git a/doc/lfun/GuildName b/doc/lfun/GuildName
index 4a4dbdf..080fcf9 100644
--- a/doc/lfun/GuildName
+++ b/doc/lfun/GuildName
@@ -31,7 +31,7 @@
==========
Verwandt:
- *GuildName()*
+ GuildName()
Props:
- *P_GUILD*
+ P_GUILD
diff --git a/doc/lfun/InternalModifyDefend b/doc/lfun/InternalModifyDefend
index 3762c07..efe50ab 100644
--- a/doc/lfun/InternalModifyDefend
+++ b/doc/lfun/InternalModifyDefend
@@ -50,4 +50,4 @@
SIEHE AUCH
==========
- *InternalModifyAttack()* *Defend()*
+ InternalModifyAttack() Defend()
diff --git a/doc/lfun/IsGuildMember b/doc/lfun/IsGuildMember
index bc29366..20074d9 100644
--- a/doc/lfun/IsGuildMember
+++ b/doc/lfun/IsGuildMember
@@ -61,7 +61,7 @@
==========
Verwandt:
- *GuildName()*
+ GuildName()
Props:
- *P_GUILD*
+ P_GUILD
diff --git a/doc/lfun/PresentRows b/doc/lfun/PresentRows
index 37e3ab8..e69de29 100644
--- a/doc/lfun/PresentRows
+++ b/doc/lfun/PresentRows
@@ -1,120 +0,0 @@
-
-PresentRows()
-*************
-
-
-FUNKTION
-========
-
- mixed *PresentRows(object env);
-
-
-DEFINIERT IN
-============
-
- TEAM_OBJECT (s. <living/team.h>)
-
-
-ARGUMENTE
-=========
-
- object env
- Das Environment des gewuenschten Objektes.
-
-
-BESCHREIBUNG
-============
-
- Mit dieser Funktion bekommt man die aktuellen Teamreihen, die im Argument
- env anwesend sind, des Teams zurueckgegeben. Ist env kein Objekt, so
- wird environment(this_player()) als solches angenommen.
-
-
-RUECKGABEWERT
-=============
-
- Es wird ein mixed-Array zurueckgegeben, dabei sind die einzelnen Reihen
- selbst wiederum Arrays mit den Spielerobjekten.
-
-
-BEISPIEL
-========
-
- Ein NPC im Kampf laesst eine Feuerwalze auf ein Team los, welche aber nur
- Spieler in der ersten und zweiten Teamreihe Schaden zufuegen soll.
-
- void Attack( object enemy )
- {
- ...
-
- object team = enemy->QueryProp(P_TEAM);
-
- if ( objectp(team) )
- {
- mixed teamrows = team->PresentRows(enemy);
-
-// Inhalt von "teamrows" zu diesem Zeitpunkt:
-
-// ({ ({[/dwarf:hauweg]}),({}),({[/elf:spitzohr]}),({}),({}),({}) })
-
-// In der Umgebung von Zwerg Hauweg steht also noch Elf Spitzohr, und
-zwar // in der dritten Teamreihe (der hat Glueck gehabt). // Wenn
-dem Team noch mehr Spieler angehoeren, befinden sie sich gerade //
-nicht in der Umgebung (sprich im selben Raum) wie Hauweg.
-
- foreach ( i : 2 )
- {
- foreach ( object pl : teamrows[i] )
- {
- tell_object(pl,"Der Feuerteufel laesst eine
- Feuerwalze auf Dich "
- "und Dein Team los.n");
-
- pl->Defend(200+random(200),({DT_FIRE}),([SP_S
- HOW_DAMAGE:1]),TO);
-
- }
-
- }
-
- }
-
- else
- {
- tell_object(enemy,"Der Feuerteufel laesst eine Feuerwalze
- auf Dich "
- "los.n");
-
- enemy->Defend(200+random(200),({DT_FIRE}),([SP_SHOW_DAMAG
- E:1]),TO);
-
- }
-
- ...
-
- }
-
-
-BEMERKUNG
-=========
-
- Man beachte, dass das erste Argument (also Argument 0) die erste
- Teamreihe ist.
-
-
-SIEHE AUCH
-==========
-
- Uebersicht: teamkampf
- Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
- P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
- P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
- Bewegung: IsTeamMove, TeamFlee
- Mitglieder: IsTeamLeader, TeamMembers
- Kampf: AssocMember, DeAssocMember, InsertEnemyTeam,
- SelectNearEnemy, SelectFarEnemy
- Positionen: PresentPosition, PresentEnemyRows, PresentTeamPosition,
- SwapRows
- Sonstiges: TeamPrefix, teamkampf_intern
-
-Last modified: 16-08-2010, Gabylon
diff --git a/doc/lfun/PreventFollow b/doc/lfun/PreventFollow
index fcfc2a6..f8b0343 100644
--- a/doc/lfun/PreventFollow
+++ b/doc/lfun/PreventFollow
@@ -58,4 +58,4 @@
SIEHE AUCH
==========
- * *AddPursuer()*, *RemovePursuer()*
+ * AddPursuer(), RemovePursuer()
diff --git a/doc/lfun/PrintList b/doc/lfun/PrintList
index 18be079..d4caffc 100644
--- a/doc/lfun/PrintList
+++ b/doc/lfun/PrintList
@@ -54,4 +54,4 @@
SIEHE AUCH
==========
- *GetShopItems()*
+ GetShopItems()
diff --git a/doc/lfun/RemoveExtraLook b/doc/lfun/RemoveExtraLook
index 1bcde43..4323bef 100644
--- a/doc/lfun/RemoveExtraLook
+++ b/doc/lfun/RemoveExtraLook
@@ -81,12 +81,12 @@
==========
Verwandt:
- *AddExtraLook()*, *P_INTERNAL_EXTRA_LOOK*
+ AddExtraLook(), P_INTERNAL_EXTRA_LOOK
Sonstiges:
- *replace_personal()*, *break_string()*
+ replace_personal(), break_string()
Fuer Spielerobjekte:
- *P_EXTRA_LOOK*
+ P_EXTRA_LOOK
15. Jun 2017 Gloinson
diff --git a/doc/lfun/SetAttackChats b/doc/lfun/SetAttackChats
index b5a26e9..ac3d108 100644
--- a/doc/lfun/SetAttackChats
+++ b/doc/lfun/SetAttackChats
@@ -114,12 +114,12 @@
==========
Verwandt:
- *SetChats()*, *AddSpell()*
+ SetChats(), AddSpell()
Props:
- *P_CHAT_CHANCE*
+ P_CHAT_CHANCE
Sonstiges:
- *send_room()*, *process_string()*
+ send_room(), process_string()
3. April 2017 Gloinson
diff --git a/doc/lfun/SetChats b/doc/lfun/SetChats
index ee6d04b..e99314b 100644
--- a/doc/lfun/SetChats
+++ b/doc/lfun/SetChats
@@ -145,12 +145,12 @@
==========
Verwandt:
- *SetAttackChats()*
+ SetAttackChats()
Props:
- *P_CHAT_CHANCE*
+ P_CHAT_CHANCE
Sonstiges:
- *send_room()*, *process_string()*
+ send_room(), process_string()
3. April 2017 Gloinson
diff --git a/doc/lfun/create b/doc/lfun/create
index 03fc91a..066ee55 100644
--- a/doc/lfun/create
+++ b/doc/lfun/create
@@ -7,7 +7,6 @@
========
protected void create();
- void create();
DEFINIERT IN
@@ -25,15 +24,15 @@
BESCHREIBUNG
============
- Diese Funktion wird aufgerufen, wenn ein Objekt geladen oder geclont
- wird.
- In dieser Funktion wird das Objekt initialisiert und konfiguriert.
- Waehrend des create() kann es einen this_player()/this_interactive()
- geben, muss aber nicht!
- Im create() hat das Objekt noch kein environment().
- create() wird nur gerufen, wenn das Objekte geclont oder explizit geladen
- wird. Wenn es aufgrund eines inherit in einem anderen Objekt vom Driver
- geladen wird, wird das create() nicht ausgefuehrt (s. create_super()).
+ Diese Funktion wird aufgerufen, wenn ein Objekt geladen oder
+ geclont wird. In dieser Funktion wird das Objekt initialisiert und
+ konfiguriert. Waehrend des create() kann es einen
+ this_player()/this_interactive() geben, muss aber nicht! Im
+ create() hat das Objekt noch kein environment(). create() wird nur
+ gerufen, wenn das Objekte geclont oder explizit geladen wird. Wenn
+ es aufgrund eines inherit in einem anderen Objekt vom Driver
+ geladen wird, wird das create() nicht ausgefuehrt (s.
+ create_super()).
RUeCKGABEWERT
@@ -45,20 +44,24 @@
BEMERKUNGEN
===========
- Erbt man von anderen Objekten, so besteht die erste Aktion innerhalb
- von create() normalerweise darin, in diesen Objekten create()
- aufzurufen.
- Die Funktion kann protected oder static sein (aber nicht private). Es
- duerfte fuer die meisten Objekte sinnvoll sein, create() protected zu
- deklarieren.
+ Erbt man von anderen Objekten, so besteht die erste Aktion
+ innerhalb von create() normalerweise darin, in diesen Objekten
+ create() aufzurufen.
- Um Speicher zu sparen, kann man bei Blueprints von der Konfigurierung
- absehen (siehe Beispiel). Dies sollte man allerdings nicht bei Objekten
- machen, von denen keine Clones erzeugt werden sollen (zB. bei Raeumen).
+ In altem Code wird create() haeufig ohne Sichtbarkeitsmodifikator
+ verwendet, es sollte aber immer protected gewaehlt werden, es gibt
+ keinen guten Grund create() mehr als einmal zu rufen, im Gegenteil,
+ wird das geerbte create() mehrfach gerufen kann das zu schwer zu
+ findenden Bugs fuehren.
- Man sollte bei Abbruch des create() in BP unbedingt set_next_reset(-1);
- rufen, da sonst die (nicht konfigurierte) BP resetten kann und dann
- buggt.
+ Um Speicher zu sparen, kann man bei Blueprints von der
+ Konfigurierung absehen (siehe Beispiel). Dies sollte man allerdings
+ nicht bei Objekten machen, von denen keine Clones erzeugt werden
+ sollen (zB. bei Raeumen).
+
+ Man sollte bei Abbruch des create() in BP unbedingt
+ set_next_reset(-1); rufen, da sonst die (nicht konfigurierte) BP
+ resetten kann und dann buggt.
BEISPIELE
@@ -66,18 +69,19 @@
Ein Gegenstand wuerde wie folgt konfiguriert:
- inherit "std/thing";
+ inherit "/std/thing";
#include <properties.h>
- create()
+ protected void create()
{
// Wenn wir die Blueprint sind: NICHT konfigurieren!
- // Bei normalen Raeumen oder Transportern sind diese beiden
+ // Bei normalen Raeumen oder Transportern sind diese
// Zeilen wegzulassen!!!
- if (!clonep(this_object())) {
- set_next_reset(-1); // wichtig, damit die BP nicht resettet.
- return;
+ if (!clonep(this_object()))
+ {
+ set_next_reset(-1); // wichtig, damit die BP nicht resettet.
+ return;
}
// Ansonsten die allgemeinen Eigenschaften von /std/thing
@@ -97,8 +101,6 @@
SIEHE AUCH
==========
- create(L), reset(L)
- hook(C), create(H), create_ob(H), create_super(H, reset(H)
- create(A), reset(A)
+ create(), reset(), create_super() set_next_reset()
-22.10.2007, Zesstra
+Letzte Aenderung: 27.10.2018, Bugfix
diff --git a/doc/lfun/init b/doc/lfun/init
index 813c8f3..8a2688f 100644
--- a/doc/lfun/init
+++ b/doc/lfun/init
@@ -107,7 +107,7 @@
SIEHE AUCH
==========
- *exit()*, *AddCmd()*, *NotifyInsert()*
+ exit(), AddCmd(), NotifyInsert()
add_action(E)
diff --git a/doc/lfun/list b/doc/lfun/list
index 41b989f..4148dc0 100644
--- a/doc/lfun/list
+++ b/doc/lfun/list
@@ -41,4 +41,4 @@
SIEHE AUCH
==========
- *PrintList()*, *AddCmd()*
+ PrintList(), AddCmd()
diff --git a/doc/lfun/obsolete/DoList b/doc/lfun/obsolete/DoList
index 17cc419..2119f05 100644
--- a/doc/lfun/obsolete/DoList
+++ b/doc/lfun/obsolete/DoList
@@ -36,4 +36,4 @@
SIEHE AUCH
==========
- *PrintList()*
+ PrintList()
diff --git a/doc/lfun/obsolete/GetList b/doc/lfun/obsolete/GetList
index 2e58523..e066273 100644
--- a/doc/lfun/obsolete/GetList
+++ b/doc/lfun/obsolete/GetList
@@ -36,4 +36,4 @@
SIEHE AUCH
==========
- *GetShopItems()*
+ GetShopItems()
diff --git a/doc/lfun/obsolete/extra_look b/doc/lfun/obsolete/extra_look
index 6d134a9..9d1ac15 100644
--- a/doc/lfun/obsolete/extra_look
+++ b/doc/lfun/obsolete/extra_look
@@ -27,4 +27,4 @@
SIEHE AUCH
==========
- *AddExtraLook()*, *P_EXTRA_LOOK*
+ AddExtraLook(), P_EXTRA_LOOK
diff --git a/doc/lfun/remove b/doc/lfun/remove
index 78d8ada..ea982b1 100644
--- a/doc/lfun/remove
+++ b/doc/lfun/remove
@@ -60,6 +60,6 @@
SIEHE AUCH
==========
- "../efun/destruct", *U_REQ*, *P_AMOUNT*
+ *../efun/destruct*, U_REQ, P_AMOUNT
Letzte Aenderung: 24.07.2018, Bugfix
diff --git a/doc/pcmd/passwort b/doc/pcmd/passwort
index 191b5b2..bc48b04 100644
--- a/doc/pcmd/passwort
+++ b/doc/pcmd/passwort
@@ -13,7 +13,7 @@
BESCHREIBUNG:
Aendert das Passwort. Zur Sicherheit muss zuerst das alte Passwort
eingegeben werden. Daraufhin wird das neue Passwort zweimal erfragt. Das
- Passwort wird nur dann geaendert, wenn die beiden Eingaben des neues
+ Passwort wird nur dann geaendert, wenn die beiden Eingaben des neuen
Passwortes uebereinstimmen.
LETZTE AeNDERUNG:
diff --git a/doc/props.index b/doc/props.index
index b63a77e..938833b 100644
--- a/doc/props.index
+++ b/doc/props.index
@@ -91,7 +91,7 @@
* "mixed Set(<name>, <wert>, <interpretation>)" wird genutzt,
um eines der folgenden zu setzen:
- * den normalen Wert (aber fast immer besser: *SetProp()*
+ * den normalen Wert (aber fast immer besser: SetProp()
verwenden!)
* eine Query- oder Setmethode
@@ -101,7 +101,7 @@
* "mixed Query(<name>, <interpretation>)" fragt fuer <name>
einen <wert> ab
- * den normalen Wert (aber fast immer besser: *QueryProp()*
+ * den normalen Wert (aber fast immer besser: QueryProp()
verwenden!)
* die Closure der Query- oder Setmethode
@@ -142,9 +142,9 @@
SIEHE AUCH:
===========
-* *SetProp()*, *QueryProp()*, *Set()*, *Query()*,
+* SetProp(), QueryProp(), Set(), Query(),
-* *SetProperties()*, *QueryProperties()*
+* SetProperties(), QueryProperties()
* objekte, effizienz, closures
diff --git a/doc/props/P_AERIAL_HELPERS b/doc/props/P_AERIAL_HELPERS
index 7fbe8d0..5d9b030 100644
--- a/doc/props/P_AERIAL_HELPERS
+++ b/doc/props/P_AERIAL_HELPERS
@@ -23,7 +23,7 @@
Fliegen/Segeln bei diesem Lebewesen registriert haben. Die Daten
werden als Mapping der folgenden Form zurueckgeliefert: ([ Objekt :
Rueckgabewert von dessen Callback-Methode ]) Eine Erlaeuterung dazu
- findet sich in der Dokumentation zu *RegisterHelperObject()*.
+ findet sich in der Dokumentation zu RegisterHelperObject().
BEMERKUNGEN
@@ -57,7 +57,7 @@
SIEHE AUCH
==========
- Methoden: *RegisterHelperObject()*, *UnregisterHelperObject()*
- Properties: *P_HELPER_OBJECTS*, *P_AQUATIC_HELPERS*
+ Methoden: RegisterHelperObject(), UnregisterHelperObject()
+ Properties: P_HELPER_OBJECTS, P_AQUATIC_HELPERS
04.02.2018, Arathorn
diff --git a/doc/props/P_AQUATIC_HELPERS b/doc/props/P_AQUATIC_HELPERS
index ef80e67..b1bab50 100644
--- a/doc/props/P_AQUATIC_HELPERS
+++ b/doc/props/P_AQUATIC_HELPERS
@@ -23,7 +23,7 @@
diesem Lebewesen registriert haben. Die Daten werden als Mapping
der folgenden Form zurueckgeliefert: ([ Objekt : Rueckgabewert von
dessen Callback-Methode ]) Eine Erlaeuterung dazu findet sich in
- der Dokumentation zu *RegisterHelperObject()*.
+ der Dokumentation zu RegisterHelperObject().
BEMERKUNGEN
@@ -58,7 +58,7 @@
SIEHE AUCH
==========
- Methoden: *RegisterHelperObject()*, *UnregisterHelperObject()*
- Properties: *P_HELPER_OBJECTS*, *P_AERIAL_HELPERS*
+ Methoden: RegisterHelperObject(), UnregisterHelperObject()
+ Properties: P_HELPER_OBJECTS, P_AERIAL_HELPERS
04.02.2018, Arathorn
diff --git a/doc/props/P_EXTRA_LOOK b/doc/props/P_EXTRA_LOOK
index 5ea639a..b0f8869 100644
--- a/doc/props/P_EXTRA_LOOK
+++ b/doc/props/P_EXTRA_LOOK
@@ -33,7 +33,7 @@
verwendet werden, sollte man das Umbrechen der Mudlib ueberlassen.
**Nur** dann benutzen, wenn ihr auch unabhaengig vom Extralook ein
- Objekt im Spieler benoetigt, ansonsten **immer** *AddExtraLook()*
+ Objekt im Spieler benoetigt, ansonsten **immer** AddExtraLook()
verwenden.
Bemerkung: Der Extralook taucht an einem Lebewesen nur auf, wenn
@@ -55,10 +55,10 @@
SIEHE AUCH
==========
- * *long()*
+ * long()
- * *AddExtraLook()*, *RemoveExtraLook()*
+ * AddExtraLook(), RemoveExtraLook()
* /std/living/description.c, /std/player/base.c
- * *replace_personal()*
+ * replace_personal()
diff --git a/doc/props/P_FUNC_MSG b/doc/props/P_FUNC_MSG
index ac09232..811e71c 100644
--- a/doc/props/P_FUNC_MSG
+++ b/doc/props/P_FUNC_MSG
@@ -34,12 +34,12 @@
==========
LFuns:
- *AddRoomMessage()*
+ AddRoomMessage()
Verwandt:
- tell_room(), *send_room()*, *ReceiveMsg()*
+ tell_room(), send_room(), ReceiveMsg()
Props:
- *P_MSG_PROB*, *P_ROOM_MSG*
+ P_MSG_PROB, P_ROOM_MSG
2.Feb 2016 Gloinson
diff --git a/doc/props/P_HARBOUR b/doc/props/P_HARBOUR
index 80ee19a..5b79d9b 100644
--- a/doc/props/P_HARBOUR
+++ b/doc/props/P_HARBOUR
@@ -84,8 +84,8 @@
SIEHE AUCH
==========
- Properties: *P_NO_TRAVELING*, *P_TRAVEL_INFO* Funktionen:
- *AddRoute()* Spielerbefehle: reise weitere Doku:
+ Properties: P_NO_TRAVELING, P_TRAVEL_INFO Funktionen:
+ AddRoute() Spielerbefehle: reise weitere Doku:
/d/inseln/schiffe/HowTo
diff --git a/doc/props/P_INFO b/doc/props/P_INFO
index 214301a..c18cd97 100644
--- a/doc/props/P_INFO
+++ b/doc/props/P_INFO
@@ -49,6 +49,6 @@
==========
Aehnlich:
- *GetOwner()*
+ GetOwner()
14. Mar 2017 Gloinson
diff --git a/doc/props/P_INTERNAL_EXTRA_LOOK b/doc/props/P_INTERNAL_EXTRA_LOOK
index d61da7a..9e18201 100644
--- a/doc/props/P_INTERNAL_EXTRA_LOOK
+++ b/doc/props/P_INTERNAL_EXTRA_LOOK
@@ -69,9 +69,9 @@
==========
Verwandt:
- *AddExtraLook()*, *RemoveExtraLook()* *long()*
+ AddExtraLook(), RemoveExtraLook() long()
Fuer Spielerobjekte:
- *P_EXTRA_LOOK*
+ P_EXTRA_LOOK
15. Juni 2017 Gloinson
diff --git a/doc/props/P_LIGHT b/doc/props/P_LIGHT
index d0b55d8..c1eb0e5 100644
--- a/doc/props/P_LIGHT
+++ b/doc/props/P_LIGHT
@@ -19,34 +19,34 @@
============
Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
- aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+ aus leuchtet. Moechte man den gesamten Lichtlevel haben, der von einem
Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
Containers direkt mit verrechnet.
Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
- Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
- gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+ Berechnung wichtig ist, dass in allen Containern P_LAST_CONTENT_CHANGE
+ gesetzt wird, um ein Neuberechnen des Lichtlevels auszuloesen!
ANMERKUNG
=========
- Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
- etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+ Um ein ungefaehres Gefuehl davon zu bekommen, was ein Lichtlevel in
+ etwa bedeutet, hier einige allgemeine Beispiele von Gegenstaenden.
Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
Balanceteam benutzt werden.
Lichtlevel -1, z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
ausgeht, die den Spieler umgibt.
Lichtlevel 0, der Gegenstand beeinflusst das Licht ueberhaupt nicht
- Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in Haenden,
- dieses kann ein Leuchtpfirsich, eine Fackel oder ein
- Feuerschwert oder aehnliches sein.
+ Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in den
+ Haenden, dieses kann ein Leuchtpfirsich, eine Fackel oder
+ ein Feuerschwert oder aehnliches sein.
Lichtlevel 2, eine etwas groessere Lichtquelle, die aber immer noch
- nicht den Raum beleuchtet sondern lediglich dem Spieler
- einen Lichtschein gewaehrt mit dem er sehen kann.
+ nicht den Raum beleuchtet, sondern lediglich dem Spieler
+ einen Lichtschein gewaehrt, mit dem er sehen kann.
Lichtlevel >2, extrem helle Lichtquellen, die den gesamten Raum
- ausleuchten, in der Regel wohl eher magischer Natur.
+ ausleuchten; in der Regel wohl eher magischer Natur.
Solche Lichtquellen sollten sich mit der Zeit
verbrauchen, dem Spieler Schaden zufuegen oder
aehnliches, damit die Spieler nicht defaultmaessig mit
@@ -59,20 +59,20 @@
ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
Raumes kann der Spieler dann doch den Nachtkampf nutzen.
Lichtlevel 1: Der Raum ist erleuchtet und die Spieler koennen ohne
- weitere Lichtquellen sehen...
- Lichtlevel 0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
- Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+ weitere Lichtquellen sehen.
+ Lichtlevel 0: Ein dunkler Raum, in dem man mit jeder Fackel sehen kann.
+ Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht,
um in diesem Raum etwas sehen zu koennen.
- Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle um in
+ Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle, um in
diesem Raum noch etwas sehen zu koennen. Solche
Lichtquellen sind nichts fuer Anfaenger oder mittlere
- Spieler da sie schwer zu beschaffen und in der Regel
+ Spieler, da sie schwer zu beschaffen und in der Regel
auch einige Handicaps haben.
Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
- Lichtquellen die solch einen Raum ausleuchten koennen,
+ Lichtquellen, die solch einen Raum ausleuchten koennen,
sind ausserordentlich selten und haben immer ihre
Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
- genossen werden.
+ gesetzt werden.
SIEHE AUCH
diff --git a/doc/props/P_MSG_PROB b/doc/props/P_MSG_PROB
index 216d8e0..5c679a7 100644
--- a/doc/props/P_MSG_PROB
+++ b/doc/props/P_MSG_PROB
@@ -71,10 +71,10 @@
==========
LFuns:
- *AddRoomMessage()*
+ AddRoomMessage()
Props:
- *P_ROOM_MSG*, *P_FUNC_MSG*
+ P_ROOM_MSG, P_FUNC_MSG
Verwandt:
call_out()
diff --git a/doc/props/P_PURSUERS b/doc/props/P_PURSUERS
index 8348a6a..feaf575 100644
--- a/doc/props/P_PURSUERS
+++ b/doc/props/P_PURSUERS
@@ -35,4 +35,4 @@
SIEHE AUCH
==========
- * *AddPursuer()*, *RemovePursuer()*
+ * AddPursuer(), RemovePursuer()
diff --git a/doc/props/P_RACE b/doc/props/P_RACE
index c6aebc7..1c61e7a 100644
--- a/doc/props/P_RACE
+++ b/doc/props/P_RACE
@@ -22,11 +22,10 @@
gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
dieser Property automatisch die Rasse der Lebewesen, aus denen sie
- hervorgegangen sind.
- Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
- gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
- Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
- beruecksichtigt wurde.
+ hervorgegangen sind. Der Sinn des Ganzen liegt darin, das Spiel
+ differenzierter zu gestalten und auf Rassenspezifika einzugehen.
+ Zum Beispiel koennen Elfen weniger Alkohol vertragen als Zwerge,
+ was in '/std/pub' beruecksichtigt wurde.
BEISPIEL
@@ -43,6 +42,7 @@
SIEHE AUCH
==========
- /std/npc.c, /std/pub.c
+ P_REAL_RACE
+ /std/npc.c, /std/pub.c
-Last modified: Mon Sep 15 21:15:49 2003 by Vanion
+Last modified: 15.10.2018 Zesstra
diff --git a/doc/props/P_REAL_RACE b/doc/props/P_REAL_RACE
index 39c196a..713ceb3 100644
--- a/doc/props/P_REAL_RACE
+++ b/doc/props/P_REAL_RACE
@@ -18,28 +18,27 @@
BESCHREIBUNG
============
- Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
- Shadows ueberschrieben werden.
+ Diese Property enthaelt die Rasse des Livings und sollte wie P_RACE
+ aus traditionellen Gruenden gross geschrieben werden.
+ Diese Property darf nicht durch Shadows ueberschrieben werden.
+ Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort
+ kann man mit dieser Property trotz Tarnung feststellen, welche
+ Rasse der Spieler hat.
- Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
- man mit dieser Property trotz Tarnung feststellen, welche Rasse der
- Spieler hat.
-
- Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
- allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
- lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
+ Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn
+ P_REAL_RACE allerdings gesetzt wird, kann man damit einen
+ getarnten NPC simu- lieren, da dann P_RACE und P_REAL_RACE
+ voneinander abweichen.
BEISPIEL
========
- Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
- Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
-
- int futter(string arg)
- {
+ // Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
+ // Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
+ int futter(string arg) {
notify_fail("Was willst Du essen?\n");
if(!arg || !id(arg)) return 0;
@@ -50,39 +49,33 @@
say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
this_player()->Name()));
-
switch( this_player()->QueryProp(P_REAL_RACE) )
{
- case "Zwerg":
- if ((this_player()->QueryProp(P_RACE))!="Zwerg")
- write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
- this_player()->buffer_hp(100,10);
- this_player()->buffer_sp(100,10);
- break;
+ case "Zwerg":
+ if ((this_player()->QueryProp(P_RACE))!="Zwerg")
+ write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
+ this_player()->buffer_hp(100,10);
+ this_player()->buffer_sp(100,10);
+ break;
- case "Elf":
- write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
- // Getarnt?
- if ((this_player()->QueryProp(P_RACE))!="Elf")
- write(" Deine Tarnung nutzt Dir da wenig.\n"
- else write("\n");
- this_player()->restore_spell_points(-100);
- this_player()->do_damage(100,this_object());
- break;
+ case "Elf":
+ write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
+ // Getarnt?
+ if ((this_player()->QueryProp(P_RACE))!="Elf")
+ write(" Deine Tarnung nutzt Dir da wenig.\n"
+ else
+ write("\n");
+ this_player()->restore_spell_points(-100);
+ this_player()->do_damage(100,this_object());
+ break;
- default:
- write("Du bekommst nur wenig davon herunter..\n");
- this_player()->buffer_hp(10,1);
- this_player()->buffer_sp(10,2);
- break;
+ default:
+ write("Du bekommst nur wenig davon herunter..\n");
+ this_player()->buffer_hp(10,1);
+ this_player()->buffer_sp(10,2);
+ break;
}
-
-
-
remove();
-
-
-
return 1;
}
@@ -90,6 +83,7 @@
SIEHE AUCH
==========
- /std/living/description.c, /sys/living/description.h, P_RACE
+ P_RACE
+ /std/living/description.c, /sys/living/description.h,
-Last modified: Mon Sep 15 21:15:49 2003 by Vanion
+Last modified: 15.10.2018 Zesstra
diff --git a/doc/props/P_ROOM_MSG b/doc/props/P_ROOM_MSG
index 2d52e57..44ea622 100644
--- a/doc/props/P_ROOM_MSG
+++ b/doc/props/P_ROOM_MSG
@@ -33,12 +33,12 @@
==========
LFuns:
- *AddRoomMessage()*
+ AddRoomMessage()
Verwandt:
- tell_room(), *send_room()*, *ReceiveMsg()*
+ tell_room(), send_room(), ReceiveMsg()
Props:
- *P_MSG_PROB*, *P_FUNC_MSG*
+ P_MSG_PROB, P_FUNC_MSG
2.Feb 2016 Gloinson
diff --git a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
index 6bfcad3..a976072 100644
--- a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
+++ b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
@@ -18,8 +18,8 @@
BESHREIBUNG
===========
- Der Wert der Property ist ein Mapping: ([Attributname: Wert])
- In dieser Property stehen permanente Abweichungen der Skillattribute
+ Der Wert der Property ist ein Mapping: ([Attributname: Wert]) In
+ dieser Property stehen permanente Abweichungen der Skillattribute
vom Standardwert 100.
Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
@@ -27,23 +27,31 @@
Die Werte duerfen zwischen 10 und 1000 liegen.
-BEMERKUNG
-=========
+BEMERKUNGEN
+===========
Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
werden, ohne Ruecksprachen mit allerhoechsten Stellen!
+ Nur via SetProp() setzen, Query-Methoden werden nicht ausgewertet.
+
+
+BEISPIEL
+========
+
+ // Zwei Angriffe pro Kampfrunde
+ SetProp(P_SKILL_ATTRIBUTE_OFFSETS,([SA_SPEED:200]));
+
SIEHE AUCH
==========
- Skills Lernen: LearnSkill, ModifySkill, LimitAbility
- * Nutzung: UseSpell, UseSkill
- * Abfragen: QuerySkill, QuerySkillAbility
- * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
- QuerySkillAttributeModifier, RemoveSkillAttributeModifier
- * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
- * sonstig: spruchermuedung, skill_info_liste
- * Properties: P_NEWSKILLS
+ Skills Lernen: LearnSkill(), ModifySkill(), LimitAbility()
+ Nutzung: UseSpell(), UseSkill() Abfragen: QuerySkill(),
+ QuerySkillAbility() Modifikation: ModifySkillAttribute(),
+ QuerySkillAttribute(), QuerySkillAttributeModifier(),
+ RemoveSkillAttributeModifier() Properties: P_SKILL_ATTRIBUTES
+ sonstig: spruchermuedung, skill_info_liste Properties:
+ P_NEWSKILLS
-31.12.2013, Zesstra
+Letzte Aenderung: 27.10.2018, Bugfix
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index fee400f..1d1cb67 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -61,4 +61,4 @@
SIEHE AUCH
==========
- *AddCmd()*
+ AddCmd()
diff --git a/doc/props/P_WEIGHT b/doc/props/P_WEIGHT
index a68f580..024ba11 100644
--- a/doc/props/P_WEIGHT
+++ b/doc/props/P_WEIGHT
@@ -44,7 +44,7 @@
SIEHE AUCH
==========
- *P_TOTAL_WEIGHT* *P_EMPTY_PROPS*, *P_WEIGHT_PERCENT*,
- *P_WEIGHT_PER_UNIT*, zu Speisen: wiz/food
+ P_TOTAL_WEIGHT P_EMPTY_PROPS, P_WEIGHT_PERCENT, P_WEIGHT_PER_UNIT,
+ zu Speisen: wiz/food
Last modified: 25.07.2018 by Zesstra
diff --git a/doc/sefun/log_file b/doc/sefun/log_file
index a3f3cab..b8bfb41 100644
--- a/doc/sefun/log_file
+++ b/doc/sefun/log_file
@@ -6,24 +6,30 @@
FUNKTION
========
- int log_file(string file, string text)
- int log_file(string file, string text, int size_to_break)
+ varargs int log_file(string file, string text, int size_to_break)
ARGUMENTE
=========
- file - Name der Datei, in die geschrieben werden soll
- text - Der Text, der geschrieben werden soll
- size_to_break - Groesse, ab der ein neues File begonnen wird (optional)
+ file
+ Name der Datei, in die geschrieben werden soll
+
+ text
+ Der Text, der geschrieben werden soll
+
+ size_to_break
+ Groesse, ab der ein neues File begonnen wird (optional)
BESCHREIBUNG
============
- log_file schreibt den Text text in die Datei /log/file.
- Sollte file schon mit einem /log/ beginnen, wird kein erneutes /log/ davor
- eingefuegt.
+ log_file schreibt den Text text in die Datei /log/file. Sollte file
+ schon mit einem /log/ beginnen, wird kein erneutes /log/ davor
+ eingefuegt. Falls das Zielverzeichnis unterhalb von /log/ noch
+ nicht existiert, wird dies automatisch angelegt, sofern das rufende
+ Objekt das Logfile schreiben darf.
RUECKGABEWERT
@@ -35,11 +41,12 @@
BEMERKUNGEN
===========
- Wenn die Groesse von file vor dem Schreiben 50000 Bytes ueberschreitet,
- wird sie in file.old umbenannt. Eine schon vorhandene Datei file.old
- wird dabei geloescht. Der Text wird nach dem Umbenennen geschrieben.
- Wird 'size_to_break' angegeben und ist dies > 0, wird dieser Wert (in
- Bytes) statt der 50000 Bytes zum Rotieren des Logfiles benutzt.
+ Wenn die Groesse von file vor dem Schreiben 50000 Bytes
+ ueberschreitet, wird sie in file.old umbenannt. Eine schon
+ vorhandene Datei file.old wird dabei geloescht. Der Text wird nach
+ dem Umbenennen geschrieben. Wird 'size_to_break' angegeben und ist
+ dies > 0, wird dieser Wert (in Bytes) statt der 50000 Bytes zum
+ Rotieren des Logfiles benutzt.
BEISPIELE
@@ -56,4 +63,4 @@
write_file(E)
-29.01.2017, Zesstra
+05.09.2018, Zesstra
diff --git a/doc/sefun/send_room b/doc/sefun/send_room
index 2a34ba2..2906b5a 100644
--- a/doc/sefun/send_room
+++ b/doc/sefun/send_room
@@ -67,6 +67,6 @@
SIEHE AUCH
==========
- *ReceiveMsg()* tell_object(E), tell_room(E), say(E), write(E)
+ ReceiveMsg() tell_object(E), tell_room(E), say(E), write(E)
31.01.2018, Deaddy
diff --git a/doc/sphinx/props/P_LIGHT.rst b/doc/sphinx/props/P_LIGHT.rst
index 5f06359..1475b29 100644
--- a/doc/sphinx/props/P_LIGHT.rst
+++ b/doc/sphinx/props/P_LIGHT.rst
@@ -18,34 +18,34 @@
::
Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
- aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+ aus leuchtet. Moechte man den gesamten Lichtlevel haben, der von einem
Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
Containers direkt mit verrechnet.
Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
- Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
- gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+ Berechnung wichtig ist, dass in allen Containern P_LAST_CONTENT_CHANGE
+ gesetzt wird, um ein Neuberechnen des Lichtlevels auszuloesen!
ANMERKUNG
---------
::
- Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
- etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+ Um ein ungefaehres Gefuehl davon zu bekommen, was ein Lichtlevel in
+ etwa bedeutet, hier einige allgemeine Beispiele von Gegenstaenden.
Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
Balanceteam benutzt werden.
Lichtlevel -1, z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
ausgeht, die den Spieler umgibt.
Lichtlevel 0, der Gegenstand beeinflusst das Licht ueberhaupt nicht
- Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in Haenden,
- dieses kann ein Leuchtpfirsich, eine Fackel oder ein
- Feuerschwert oder aehnliches sein.
+ Lichtlevel 1, der Spieler haelt eine kleine Lichtquelle in den
+ Haenden, dieses kann ein Leuchtpfirsich, eine Fackel oder
+ ein Feuerschwert oder aehnliches sein.
Lichtlevel 2, eine etwas groessere Lichtquelle, die aber immer noch
- nicht den Raum beleuchtet sondern lediglich dem Spieler
- einen Lichtschein gewaehrt mit dem er sehen kann.
+ nicht den Raum beleuchtet, sondern lediglich dem Spieler
+ einen Lichtschein gewaehrt, mit dem er sehen kann.
Lichtlevel >2, extrem helle Lichtquellen, die den gesamten Raum
- ausleuchten, in der Regel wohl eher magischer Natur.
+ ausleuchten; in der Regel wohl eher magischer Natur.
Solche Lichtquellen sollten sich mit der Zeit
verbrauchen, dem Spieler Schaden zufuegen oder
aehnliches, damit die Spieler nicht defaultmaessig mit
@@ -58,20 +58,20 @@
ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
Raumes kann der Spieler dann doch den Nachtkampf nutzen.
Lichtlevel 1: Der Raum ist erleuchtet und die Spieler koennen ohne
- weitere Lichtquellen sehen...
- Lichtlevel 0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
- Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+ weitere Lichtquellen sehen.
+ Lichtlevel 0: Ein dunkler Raum, in dem man mit jeder Fackel sehen kann.
+ Lichtlevel -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht,
um in diesem Raum etwas sehen zu koennen.
- Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle um in
+ Lichtlevel -2: Man benoetigt schon eine besondere Lichtquelle, um in
diesem Raum noch etwas sehen zu koennen. Solche
Lichtquellen sind nichts fuer Anfaenger oder mittlere
- Spieler da sie schwer zu beschaffen und in der Regel
+ Spieler, da sie schwer zu beschaffen und in der Regel
auch einige Handicaps haben.
Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
- Lichtquellen die solch einen Raum ausleuchten koennen,
+ Lichtquellen, die solch einen Raum ausleuchten koennen,
sind ausserordentlich selten und haben immer ihre
Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
- genossen werden.
+ gesetzt werden.
SIEHE AUCH
----------
diff --git a/doc/wiz/artillerie b/doc/wiz/artillerie
index 349cec4..6a4bdb5 100644
--- a/doc/wiz/artillerie
+++ b/doc/wiz/artillerie
@@ -24,28 +24,11 @@
a. Artillerie _muss_ P_ATTACK_BUSY beachten (setzen/abfragen).
b. Artillerie _muss_ bei Verwendung Konzentrationspunkte
verbrauchen.
- c. Artillerie darf nicht (bzw. nur begrenzt) gehortet werden
- koennen.
- d. Artillerie darf bei Paralyse nicht angewendet werden koennen
+ c. Artillerie darf bei Paralyse nicht angewendet werden koennen
(P_DISABLE_ATTACK).
- e. Artillerie muss durch Setzen der Property P_IS_ARTILLERY
+ d. Artillerie muss durch Setzen der Property P_IS_ARTILLERY
gekennzeichnet sein.
- f. Artillerie, die Munition benutzt oder selbst Munition ist (wie z.B.
- Wurfsterne), muss das Unitobjekt und den dortigen Mechanismus zum
- Zerfall von Objekten nutzen. Dabei sind P_UNIT_DECAY_INTERVAL und
- P_UNIT_DECAY_QUOTA so zu setzen, dass die Munition eine Halbwertszeit
- zwischen 5 und 10 Tagen hat, der ihrer Verfuegbarkeit angemessen
- ist. Dies laesst sich durch geeignetes Einstellen des
- Prozentsatzes und/oder der Resetzeit erreichen.
-
- Beispiele:
- Setzt man p=1% Zerfall pro Reset an, dann muss der Reset
- fuer eine Halbwertszeit von 5 Tagen dann
- t=ln(0.5)/ln(0,99)*5*24*3600 s dauern, das sind 6224 s.
-
- Moechte man lieber den normalen Reset, der im Mittel 45 min, d.h. 160
- Resets in 5 Tagen betraegt, so erhaelt man folgenden Prozentsatz:
- p = 1-0,5^(1/160) d.h. ca. 0,43%.
+ e. Artillerie ist immer genehmigungspflichtig.
Details werden fallweise entschieden.
@@ -56,6 +39,7 @@
Diese Regeln treten am 5. August 2003 in Kraft.
Revision am 5. April 2008
Revision am 7. April 2011
+Revision am 8. August 2018
--------------------------------------------------------------------------
-Letzte Aenderung: Sam, 7. April 2011 von Humni
+Letzte Aenderung: Mi, 8. August 2018 von Humni