Es darf gebetet werden... (Wargon,  2. Mai 1996, 15:51:22):
  Hi!
Der Heilige Orden hat in der Stadt Djelibeby seine Tempeltore geoeffnet!
Wer also immer schon mal das Mud aus der Sicht einer Bettelnonne oder eines
Wanderpredigers sehen wollte: Hier seid ihr richtig!
Alles weitere findet ihr im Tempel.
  Wargon

-----------------------------------------------------------------------------



Talismane... (Wargon,  3. Mai 1996, 14:21:24):
  Hi!
Die Glaubensstaerke nimmt jetzt nicht mehr ab, wenn man sich in einem der
beiden Ordenshaeuser befindet.
Damit das aktiv wird, muss man sich allerdings erst einmal mit "ende"
ausloggen (oder auf den naechsten Reboot warten).
  Wargon

-----------------------------------------------------------------------------



Gilde (Anakin,  3. Mai 1996, 22:59:31):
Hiho,

Hmm, also ich will nur sagen, dass die Kleriker genau das Richtige
ist fuer Leute die zwanghaftes Ueben hassen. Man muss keine
irgendwelche Prozentpunkte "erueben" und keinen TopGildenListenPlatz
erreichen um mal einen Level aufzusteigen. Die Aufgaben sind
verschieden um aufzusteigen je hoeher desto schwerer.
Also ich find es ziemlich klasse, dass da einer mal was anderes macht.

Anakin.


-----------------------------------------------------------------------------



Re: Gilde (Asmodis,  3. Mai 1996, 23:01:24):
~#! rn=Anakin rt=831157171
~#! tid=831157171
Aber leider ist da immer noch die Spielerlevel-Restriktion, die
natuerlich nichts aussagt, denn stumpfsinnig metzeln fuer Level 27,
das kann wohl jeder. Da sollten eher die APs rein. Wird Zeit, dass
die Levelreform kommt.

-----------------------------------------------------------------------------



Re: Re: Gilde (Anakin,  3. Mai 1996, 23:02:56):
~#! rn=Asmodis rt=831157284
~#! tid=831157171
Ja klar, aber ein Schritt in die richtige Richtung und damit mal wieder
gegen einen Hauptgrund fuer Trigger und Uebescripts.

Anakin.

-----------------------------------------------------------------------------



Ein paar Ergaenzungen... (Wargon,  9. Mai 1996, 10:08:02):
  Hi!
Mittlerweile hat es ein paar Ergaenzungen bei den Klerikern gegeben:
- eine neue Anrufung "lebenskraft"
- "heile" kostet waehrend der Erholungszeit nicht mehr den vollen MP-Preis
- auf der Insel am Ende der Welt gibt es jetzt ein Sehertor
- die Beschreibungen der Anrufungen sind (hoffentlich) etwas klarer.

Weitere Ergaenzungen sind in Arbeit ;)
  Wargon

-----------------------------------------------------------------------------



Noch mehr Ergaenzungen... (Wargon, 14. Mai 1996, 11:20:54):
  Hi!
Und der naechste Streich...
- es gibt drei neue Anrufungen, fuer jede Gottheit eine.
- ich habe ein paar Krankheiten des MG als solche markiert; 'kuriere' sollte
also haeufiger zum Erfolg fuehren (ggf. erst nach dem naechsten Reboot).

Naeheres zu den Anrufungen wie ueblich im Buch...
  Wargon

-----------------------------------------------------------------------------



FAQ (Wargon, 20. Mai 1996, 13:32:12):
  Hi!
Hier folgt mal ein erster Versuch einer Kleriker-FAQ. Die FAQ laesst sich auch
in den Tempeln lesen.
----------


		      @~~~~~~~~?+++?~~~~~~~~~@
		      ) 		    (
		     /	     KLERIKER	   /
		     )			  (
		    /	      FAQ	 /
		   )			(
		  @~~~~~~~~~?+++?~~~~~~~@


  STAND: 18. Mai 1996

Diese Schriftrolle enthaelt  kurzgefasst  wichtige  Informationen  zum
Heiligen Orden.  Doch vergiss niemals: nichts ist  kostbarer  als  die
eigenen Erfahrungen....

Kapitel 1:  Wie, was wo?
----------
1.1 Was ist ueberhaupt der Heilige Orden?
1.2 Wie kann ich Mitglied werden?
1.3 Wo liegt der Tempel?
1.4 Gibt es einen Klerikerkanal?


Kapitel 2:  Stufen, Sprueche, Faehigkeiten
----------
2.1   Welche Stufen gibt es?
2.1.1 Welchen Einfluss haben die Gottheiten?
2.2   Welche Sprueche gibt es?
2.3   Gibt es besondere Faehigkeiten?
2.4   Wie verbessere ich mich?
2.5   Welche Einschraenkungen gibt es im Tragen von Ruestung
      und Benutzen von Waffen?
2.5.1 Wieso diese Unterscheidung bei Waffen?
2.5.2 Gibt der Malus bei Schwertern Probleme in gewissen Quests?


Kapitel 3: Abstufungen und Aufstiege
----------
3.1 Was sagt der Talisman ueber die Glaubensstaerke?
3.2 Was sagen mir die Ordensvorsteher?
3.3 Wie setzt sich die allgemeine Einstufung zusammen?
3.4 Wie steige ich auf?
3.5 Wo ist der Uebungsraum?


Kapitel 4:  Verschiedenes
----------
4.1 Wer ist fuer die Gilde verantworlich und nimmt
    Anregungen/Kritik entgegen?


Dank geht an Myself fuer die urspruengliche FAQ.


Kapitel 1:  Wie, was wo?
==========

1.1 Was ist ueberhaupt der Heilige Orden?
    -------------------------------------

  Vor langer Zeit gab es weit  im  Osten  der  Morgengrauenwelt  einen
  grossen Kontinent mit der Hauptstadt Thaesalidon.

  Bluehendes  Lebens  pulsierte  durch	die   Staedte,	 Fluesse   und
  Handelswege des Kontinents.

  Doch Verfall und Niedergang machten auch  vor  dieser  Kultur  nicht
  halt. Es kam	zu  grauenhaften  Kaempfen,  die  in  der  Katastrophe
  gipfelten: Der Kontinent wurde von den Goettern zerschlagen, und  es
  blieb einzig die Insel  am  Ende  der  Welt  und  eine  kleine,  den
  Goettern wohlgefaellige Gruppe, die dieses  vernichtende  Schauspiel
  ueberlebte. Aus  den	Reihen	dieser	Gruppe	entwickelte  sich  der
  Heilige Orden. Die angesammelte Weisheit und Erkenntnis vieler Jahr-
  hunderte floss  in  den  Orden  mit  ein. Die Spuren der  Geschichte
  veranlassten die Kleriker, besonders	die  Heil-  und  Schutzfaehig-
  keiten  zu  pflegen  und  sie,  wenn	moeglich,  zum	 Wohle	 aller
  einzusetzen. Doch  auch  die	Offensivstaerke  der  Ordensmitglieder
  sollte nicht unterschaetzt werden. Sagen doch  Geruechte,  dass  die
  Ueberreste des Boesen noch immer  nicht gaenzlich   getilgt  sind  -
  doch das ist eine andere Geschichte...

  Der Orden wuchs und entwickelte sich weiter. So weit, dass er  sogar
  einen Zweigtempel auf dem Koninent eroeffnen konnte, der  nun  allen
  Ratsuchenden und Glaeubigen offensteht.


1.2 Wie kann ich Mitglied werden?
    -----------------------------

  Begebe Dich in den Zweigtempel zu Djelibeby des Heiligen Ordens  und
  frage den Ordensvorsteher Arkshat nach Beitritt.

  Um beitreten zu koennen, musst Du einen heiligen Charakter aufweisen
  und einen Fuersprecher im Orden haben.  Ausserdem  darfst  Du  nicht
  verheiratet sein!


1.3 Wo liegt der Tempel?
    --------------------

  Es gibt zur Zeit 2 Tempel: den Stammtempel auf der Insel am Ende der
  Welt und den Zweigtempel in der Wuestenstadt Djelibeby.

  Die Insel am Ende der Welt liegt ganz im Osten,  noch  jenseits  des
  Verlorenen Landes und der Insel Akhar Nth'tar. Sie  ist  vom  Verlo-
  renen Land aus mit der Barke zu erreichen, fuer Seher auch ueber ein
  Portal.

  Die Stadt Djelibeby liegt im Sueden der  Wueste  auf	dem  Festland.
  Folge dem Weg durch  die  Wueste,  und  Du  wirst  sie  finden.  Ein
  Sehertor gibt es dort nicht.

  Der Tempel in Djelibeby ist derjenige, in dem sich  der  wesentliche
  Teil des Ordensgeschehens abspielt. Nur dort kannst Du in den  Orden
  eintreten (oder aus ihm wieder austreten), und auch die wesentlichen
  Stufenaufstiege finden dort statt.


1.4 Gibt es einen Klerikerkanal?
    ----------------------------

  Normalerweise richtet der Orden selbstaendig den Kanal 'Klerus' ein,
  den Du mit -Klerus+ betreten kannst.


Kapitel 2:  Stufen, Sprueche, Faehigkeiten
==========

2.1 Welche Stufen gibt es?
    ----------------------

  In der Hierarchie des Heiligen Ordens gibt es acht Stufen:

  Novize/in	      --   Ordensstufe 1
  Bettelmoench/nonne  --   Ordensstufe 2
  Wanderprediger(in)  --   Ordensstufe 3
  Diakon(isse)	      --   Ordensstufe 4
  Priester(in)	      --   Ordensstufe 5
  Kurat(in)	      --   Ordensstufe 6
  Erleuchtete(r)      --   Ordensstufe 7
  Hohepriester(in)    --   Ordensstufe 8

  Naeheres zu den einzelnen Stufen findest Du im Buch der  Hierarchie,
  das in den Tempeln eingesehen werden kann.


2.1.1 Welchen Einfluss haben die Gottheiten?
      --------------------------------------

  Bei der Weihe zum Priester muss man sich fuer eine  der  drei  Gott-
  heiten entscheiden. Infolgedessen werden die Anrufungen, die in  den
  Bereich dieser Gottheit fallen, in der Anwendung  um	20%  billiger,
  waehrend die Anrufungen der anderen  Gottheiten  sich  um  20%  ver-
  teuern.

  Weiterhin werden einige Anrufungen effektiver oder  haben  geringere
  Nebenwirkungen. Naeheres findet man auf den Hilfeseiten oder im Buch
  der Anrufungen.

  Von den Anrufungen der Erleuchteten kann man nur diejenige erlernen,
  deren Gottheit man geweiht ist. Wer also zB.	einmal	Wunder	wirken
  will, muss sich  schon  bei  der  Priesterweihe  fuer  Lembold  ent-
  scheiden.

  !!! DIE ENTSCHEIDUNG FUER EINE GOTTHEIT IST UNWIDERRUFLICH !!!

  Selbst ein Austritt aus dem Heiligen Orden aendert daran nichts!


2.2 Welche Sprueche gibt es?
    ------------------------

  Die 'Sprueche' heissen bei den Klerikern Anrufungen, da die  Wirkung
  nicht vom Kleriker selbst hervorgerufen  wird,  sondern  dieser  die
  Goetter darum bittet.

  Im einzelnen gibt es die folgenden Anrufungen:

   Bete 		(Novize ab Stufe 1)
   Entfrosche		(Bettelmoench ab Stufe 4)
   Identifiziere	(Bettelmoench ab Stufe 4)
   Lebenskraft		(Bettelmoench ab Stufe 7)
   Entfluche		(Wanderprediger ab Stufe 7)
   Kuriere		(Wanderprediger ab Stufe 8)
   Laeutere		(Wanderprediger ab Stufe 7)
   Blitz		(Diakon ab Stufe 13)
   Heile		(Diakon ab Stufe 12)
   Schaetz		(Diakon ab Stufe 9)
   Segne		(Diakon ab Stufe 8)
   Elementarsphaere	(Priester ab Stufe 17 (Ausd. >= 14, Gesch. >= 14))
   Entgifte		(Priester ab Stufe 12)
   Leuchten		(Priester ab Stufe 10)
   Traue		(Priester beliebiger Stufe)
   Weihe		(Priester ab Stufe 12)
   Heiligenschein	(Kurat ab Stufe 15 (Int. >= 17))
   Messerkreis		(Kurate ab Stufe 26)
   Regeneriere		(Kurate ab Stufe 18)
   Spaltung		(Kurate ab Stufe 17 (Ausd. >= 18))
   Heiltrank		(Erleuchteter ab Stufe 27 (Int. >= 19))
   Schutzhand		(Erleuchteter ab Stufe 27 (Gesch. >= 18))
   Wunder		(Erleuchteter ab Stufe 27 (Gesch., Int. >= 17))

  Die Stufe bezieht sich dabei auf die	Spielerstufe,  nicht  auf  die
  Ordensstufe.

  Details stehen im Buch der Anrufungen (in den Tempeln einsehbar) und
  auf den Hilfeseiten zu den Spruechen. Falls Du noch  nicht  Mitglied
  des Heiligen Ordens bist, kannst Du die  Hilfeseiten	mit  folgender
  Syntax bekommen: 'hilfe gilde klerus <spruch>'


2.2.1 Was beeinflusst die Qualitaet einer Anrufung?
      ---------------------------------------------

  In die Qualitaet der Anrufung gehen drei Faktoren ein:
  - die Beherrschung der Anrufung an sich
  - die Glaubensstaerke
  - ab der Priesterweihe auch noch die allgemeine Faehigkeit der An-
    rufung


2.3 Gibt es besondere Faehigkeiten?
    -------------------------------

  Direkt beim Eintritt in den Orden erwirbt  man  die  Faehigkeit  des
  besonderen Umgangs mit Schlagwaffen wie Knueppeln, Haemmern, Keulen.
  Die Faehigkeit verbessert sich von selbst,  wenn  man  entsprechende
  Waffen benutzt.
  Die Faehigkeit aeussert sich darin, dass der Schaden,  den  man  mit
  der Waffe anrichtet, hoher ist als normal.

  Wird man zum Priester geweiht, erwirbt  man  zusaetzlich  eine  all-
  gemeine Faehigkeit der Anrufung. Diese allgemeine Faehigkeit	laesst
  auch das besonders gute Gelingen von Anrufungen zu, was sich je nach
  Anrufung in einer hoehern  Staerke  (zB.  bei  'heile')  oder  einer
  laengeren Dauer (zB. bei 'messerkreis') der Anrufung auswirkt.
  Die allgemeine Anrufung verbessert sich immer dann, wenn eine  Anru-
  fung besonders gut gelungen ist.


2.4 Wie verbessere ich mich?
    ------------------------

  Wie bei normalen Zauberspruechen, lernt man auch bei den  Anrufungen
  aus den Fehlern, die man macht (auf gut deutsch: wenn  die  Anrufung
  fehl schlaegt).

  Die allgemeine Anrufungsfaehigkeit dagegen verbessert sich gerade im
  anderen Fall, naemlich wenn eine Anrufung besonders gut gelingt.

  Die Faehigkeit mit Schlagwaffen  schliesslich  verbessert  sich  von
  selbst, wenn man mit einer entsprechenden Waffe kaempft.


2.5 Welche Einschraenkungen gibt es im Tragen von Ruestung
    und Benutzen von Waffen?
    ------------------------

  In der Wahl der Ruestungen ist ein Kleriker keinen  Einschraenkungen
  unterworfen.

  Anders dagegen bei den Waffen: Die Nutzung  von   Hieb-  und	Stich-
  waffen wie Schwertern, Messern und Speeren  fuehrt  zu  einem  Malus
  beim angerichteten Schaden.

  Schlagwaffen wie Keulen, Staebe oder Haemmer dagegen werden von  den
  Goettern mit einer eigenen Kampffaehigkeit gefoerdert. Diese Faehig-
  keit verbessert sich allmaehlich beim taeglichen Gebrauch.

  Aexte und aehnliche Waffen verhalten sich wie gewohnt, da sie Eigen-
  schaften aus beiden Bereichen haben und sich Malus und  Bonus  somit
  ausgleichen.


2.5.1 Wieso diese Unterscheidung bei Waffen?
      --------------------------------------

  Bei der Verwundung durch Hieb- oder Stichwaffen  fliesst  die  Seele
  des Opfers mit seinem Blut aus seinem Koerper. Dies kann u.U.  recht
  lange dauern und ist den Goettern somit nicht zu Wohlgefallen.

  Im Spritzen des Hirns durch die Benutzung von  Schlagwaffen  dagegen
  wird die Seele des Opfers in des Wortes wahrstem  Sinne  schlagartig
  frei, was den Goettern viel besser gefaellt.


2.5.2 Gibt der Malus bei Schwertern Probleme in gewissen Quests?
      ----------------------------------------------------------

  Nein; die mangelnden Schwertkampffaehigkeiten spielen entweder keine
  Rolle (Maerchenquest) oder lassen sich durch andere Faehigkeite, die
  man als Kleriker aufweisen kann, ausglichen.


Kapitel 3: Abstufungen und Aufstiege
==========

3.1 Was sagt der Talisman ueber die Glaubensstaerke?
    ------------------------------------------------

  Allgemein laesst sich sagen: Je hoeher  die  Glaubensstaerke,  desto
  heller erscheint der Talisman. Bringt man ihn zum  Strahlen,	eignet
  er sich sogar als Lichtquelle!

  Die einzelnen Abstufungen:
  - schwarz angelaufen
  - dunkel angelaufen
  - angelaufen
  - stumpf aussehend
  - matt
  - matt schimmernd
  - schimmernd
  - poliert
  - hell poliert
  - glaenzend
  - hell glaenzend
  - funkelnd
  - strahlend


3.2 Was sagen mir die Ordensvorsteher?
    ----------------------------------

  Die Ordensvorsteher Arkshat und Mindra koennen  Auskunft  ueber  die
  einzelnen Anrufungen geben. Fragt  man  sie  nach  'anrufungen',  so
  geben sie Auskunft ueber saemtliche gelernte	Anrufungen;  man  kann
  aber auch gezielt nach einer einzelnen Anrufung fragen.

  Fragt man nach 'faehigkeiten', so werden  die  Kampffaehigkeit  und,
  soweit schon erlernt, die allgemeine Anrufungsfaehigkeit bewertet.

  Schliesslich verstehen sie noch die Frage nach dem 'status', der die
  allgemeine Einstufung im Orden angibt.

  Die einzelnen Faehigkeiten und Einstufungen koennen
  - gar nicht
  - erbaermlich schlecht
  - sehr schlecht
  - noch kaum
  - nur sehr wenig
  - gar nicht gut
  - nur wenig
  - noch nicht gut
  - schon nicht schlecht
  - nur unterdurchschnittlich
  - fast durchschnittlich gut
  - durchschnittlich gut
  - etwas besser als der Durchschnitt
  - ueberdurchschnittlich gut
  - besser als der Durchschnitt
  - recht gut
  - gut
  - schon sehr gut
  - ausserordentlich gut
  - hervorragend
  - phantastisch gut
  - fast perfekt
  - unuebertrefflich gut
  ausgepraegt sein.


3.3 Wie setzt sich die allgemeine Einstufung zusammen?
    --------------------------------------------------

  In die allgemeine Einstufung gehen vier Faktoren mit ein:

  - Den Loewenanteil machen die einzelnen Anrufungen aus. Da die Anru-
    fungen aber nicht alle gleich wichtig sind, werden einige staerker
    bewertet als andere (so wird zB. 'heile' staerker  beruecksichtigt
    als 'lebenskraft').
  - Den zweitgroessten Anteil steuern die Faehigkeiten bei, wobei  die
    Kampffaehigkeit staerker gewertet wird  als  die  Anrufungsfaehig-
    keit.
  - Die Glaubensstaerke hat einen gewissen Einfluss, wenn auch	keinen
    sehr grossen.
  - Die Ordensstufe geht ebenfalls in geringem Masse ein.


3.4 Wie steige ich auf?
    -------------------

    Es gibt fuer jede Ordensstufe  ein	Kriterium,  das  zum  weiteren
    Aufstieg erfuellt sein muss. Naeheres dazu findet man im Buch  der
    Hierarchie.

    Eine Sonderrolle nimmt das Amt des Hohepriesters ein. Ist das  Amt
    frei, kann man direkt nach der Erleuchtung weiter zum Hohepriester
    aufsteigen.

    Ist die Stelle schon besetzt, werden die allgemeinen  Einstufungen
    des amtierenden Hohepriesters und des  Aspiranten  verglichen  und
    evtl. ein Wechsel an der Ordensspitze vorgenommen. Der alte  Hohe-
    priester wechselt in die Reihe der Erleuchteten.

    Aehnliches	geschieht,  wenn  die  Raenge  der  Erleuchteten  voll
    besetzt sind und ein Kurat die Aufgabe  erfuellt  hat.  In	diesem
    Fall wird der aelteste Erleuchtete (d.h. der Erleuchtete,  der  am
    laengsten auf diesem Posten sitzt) zum Kuraten degradiert, um fuer
    den Neuling Platz zu machen.


3.5 Wo ist der Uebungsraum?
    -----------------------

  In der freien Wildbahn!

  Da der Aufstieg nicht an bestimmte Mindestfaehigeiten gebunden  ist,
  besteht auch keine Notwendigkeit fuer eine Einrichtung, wo man seine
  Anrufungen erst mal (womoeglich noch per Skript...) hochpushen kann.


Kapitel 4: Verschiedenes
==========

4.1 Wer ist fuer die Gilde verantworlich und nimmt
    Anregungen/Kritik entgegen?

  Ideen ('idee <object>: <text>') und Kritik nehmen die Ordensvorsteher
  und Wargon, der Vater der Gilde, gerne entgegen.




-----------------------------------------------------------------------------



Aenderung der Anforderungen (Wargon, 21. Mai 1996, 15:48:58):
  Hi!
Durch das neue Stufensystem haben sich die Anforderungen fuer Kurate und
Erleuchtetete etwas geaendert:
Um Kurat werden zu muessen, muss man mindestens Stufe 25 erreicht haben
(vorher 23), und um zum/zur Eleuchteten aufsteigen zu koennen, ist Stufe 29
erforderlich (vorher 25?).
  Wargon

-----------------------------------------------------------------------------



Ruecktritt (Wargon, 30. Mai 1996, 12:36:20):
  Hi!
Wenn ein Erleuchteter oder Hohepriester freiwillig seinen Platz raeumen
moechte, kann er/sie es jetzt tun: Einfach im Tempel in Djelibeby "tritt
zurueck", und schon ist man wieder Kurat (auch als ehemaliger Hohepriester!).
Es gibt uebrigens keine Sicherheitsabfrage, da ich mal davon ausgehe, dass man
sich sowas schon gut ueberlegt hat.
  Wargon

-----------------------------------------------------------------------------



Re: Ruecktritt (Durian,  3. Jun 1996, 17:08:35):
~#! rn=Wargon rt=833452580
~#! tid=833452580
Tempel in Djelibeby? Die Priester sind in der Wueste?

Kaum faehrt man mal 3 Wochen in Urlaub ist die Wueste um eine Attraktion
reicher ... sollte mir zu denken geben ;-)

- Durian

-----------------------------------------------------------------------------



Re: Re: Ruecktritt (Asmodis,  3. Jun 1996, 17:11:04):
~#! rn=Durian rt=833814515
~#! tid=833452580
Hmm, was soll denn der Titel? willst du jetzt zuruecktreten, weil du dich
in deiner eigenen Wueste nicht mehr auskennst, Durian ?? :)

-----------------------------------------------------------------------------



Re^3: Ruecktritt (Mupfel,  3. Jun 1996, 18:25:54):
~#! rn=Asmodis rt=833814664
~#! tid=833452580
Du meinst es ist egal welcher der Dancer-Zwillinge die Wueste regiert, Asmo?
:-)

-----------------------------------------------------------------------------



Re: Ruecktritt (Yendi,  4. Jun 1996, 15:55:51):
~#! rn=Wargon rt=833452580
~#! tid=833452580

Geht mich als Nichtkleriker ja nichts an, Wargon, aber eine Sicherheitsabfrage
ist bei so etwas in jedem Fall empfehlenswert. Wenn ich daran denke, was ich
schon alles im Kaffeerausch und Uebermuedungswahn getippt habe...


-----------------------------------------------------------------------------



Kleine Aenderungen (Wargon,  5. Jun 1996, 13:48:29):
  Hi!
Ich habe mal ein paar kleine Aenderungen vorgenommen:
- Geweihte Waffen helfen jetzt auch gegen Daemonen
- "schaetz" zeigt an, wenn ein Monster untot oder ein Daemon ist
- einige Sprueche haben sich in der Wirkung etwas verbessert
- Wenn ein Hohepriester freiwillig zuruecktritt, und es gibt weniger als fuenf
  Erleuchtete, so wird er zum Erleuchteten statt zum Kuraten.

Wenn ihr Monster findet, die zwar eindeutig untot oder daemonisch sind, bei
denen das in der Einschaetzung aber nicht angezeigt wird: sagt mir Bescheid!
  Wargon

-----------------------------------------------------------------------------



Spenden (Wargon, 28. Jun 1996, 11:40:56):
  Hi!
Das Spenden in den Tempeln des Ordens hat jetzt auch fuer Nicht-Bettelmoenche
(und sogar fuer Nicht-Kleriker) eine praktische Bedeutung bekommen ;)
  Wargon

-----------------------------------------------------------------------------



Spenden (Bottom, 28. Jun 1996, 12:03:16):
Hi!
Praktische Bedeutung? - Hoert sich verdammt gut an aber was mag es wohl
sein???

-----------------------------------------------------------------------------



Re: Spenden (Grimmborn, 28. Jun 1996, 12:06:53):
~#! rn=Bottom rt=835956196
~#! tid=835956196

Du verlierst Geld und tust damit was gegen die Inflation?

Grimmborn der Atheist lehnt das prinzipiell ab. ;-)

-----------------------------------------------------------------------------



Re: Spenden (Orktoeter, 28. Jun 1996, 12:42:21):
~#! rn=Wargon rt=835954856
~#! tid=835954856
Nein nein und noch mal nein !
Ich habe im moment null FP und dabei soll es auch bleiben !
Orktoeter hate 43 von 49 quests, alle Sehertore gefunden und kennt sich im MG
so gut wie gar nicht aus.

-----------------------------------------------------------------------------



Re: Re: Spenden (Catweazle, 28. Jun 1996, 17:58:13):
~#! rn=Orktoeter rt=835958541
~#! tid=835954856
Hm, wenn ich das richtig sehe, hatter im Moment genau 10 :)
YTC

-----------------------------------------------------------------------------



Re^3: Spenden (Orktoeter, 28. Jun 1996, 18:23:46):
~#! rn=Catweazle rt=835977493
~#! tid=835954856
Ih ! 
Stimmt, da ist ploetzlich wieder eine relativanzeige, wie gut (aeh.. schlecht)
ich mich auskenne... mach sie wieder weg Cat*, sonst heisst es hinterher
wieder ich haette gescriptet, oder noch schlimmer, ich gewoehne mich noch an
die FP... *graus*
OrkT (immer noch gruebelnd, wo die FP herkommen).

-----------------------------------------------------------------------------



Re^3: Spenden (Schrumpfi,  5. Jul 1996, 15:26:50):
~#! rn=Catweazle rt=835977493
~#! tid=835954856
Tja, dat is er wohl selber schuld nicht wahr.
Schrumpfi grinst fies und klopft Cat auf die Schulter

-----------------------------------------------------------------------------



Zwei kleine Neuerungen (Wargon,  9. Jul 1996, 11:28:22):
  Hi!
Es gibt zwei kleine Neuerungen:
- In der Uebersicht der Anrufungen ('lerne') werden die Gottheiten mit
angezeigt
- Es gibt eine neue Schriftrolle: Das Buch der Weihen. Hier sind alle
Ordensmitglieder vermerkt, die schon zur Priesterin/zum Priester geweiht
wurden. Allerdings werden die "alten" Preister erst in die Liste aufgenommen,
wenn sie den Tempel in Djelibeby das naechste Mal besuchen.
  Wargon

-----------------------------------------------------------------------------



Priester gesucht (Cifer, 16. Jul 1996, 13:08:07):
Hallo zusammen,

fuer meine geplante Hochzeit suche ich noch einen Priester, der die Trauung
vollziehen kann / darf, und am Montag, dem 22.7. etwa um 19-20 Uhr anwesend
sein kann.
Ich hoffe, dass sich jemand per mail bei mir meldet, da ich die Hochzeit nur
ungern verschieben wuerde.

Cifer, auf zahlreiche Zuschriften hoffend.

P.S.: Es hat durchaus seinen Grund, dass ich den Namen der Braut an dieser
Stelle nicht nennen moechte. Die Hochzeit soll naemlich ohne groesseres
Aufsehen durchgefuehrt werden :)

-----------------------------------------------------------------------------



Re: Priester gesucht (Hadra, 16. Jul 1996, 16:48:47):
~#! rn=Cifer rt=837515287
~#! tid=837515287
du setzt nen artikel in die zeitung und anonymisierst die braut und glaubst
allen ernstes, das wuerde keine aufsehen erregen? ;))

-----------------------------------------------------------------------------



Re: Priester gesucht (Acrimon, 16. Jul 1996, 20:22:55):
~#! rn=Cifer rt=837515287
~#! tid=837515287
Nanu, willst Du Larissa heiraten?

Wenn das keine Neuigkeit ist!

Acrimon der Rote Ritter, spekulierend

-----------------------------------------------------------------------------



Re: Re: Priester gesucht (Larissa, 17. Jul 1996, 19:58:04):
~#! rn=Acrimon rt=837541375
~#! tid=837515287
Unverschaemtheit!
Ich bin vergeben. Fuer immer und ewig! So ist das und so bleibt das.

Lari ;)

-----------------------------------------------------------------------------



Einige Ideen (Wargon, 20. Aug 1996, 12:28:12):
  Hi!
Ich habe mir mal einige Gedanken zu Erweiterungen im Orden gemacht (nicht
zuletzt inspiriert durch die Mails einiger Ordensmitglieder... :)
Folgendes schwebt mir momentan an Aenderungen vor:
- neue Anrufungen
  beistand (Lembold, ab Kurat)
  Ruft himmlische Wesen zur Unterstuetzung herbei. Es gibt drei verschiedene
Arten (allgemein, Kampf, Heilung) in drei verschiedenen Stufen. Kurate koennen
nur aus der schwaechsten Stufe waehlen, Erleuchtete auch noch aus der
mittleren, Hohepriester auch aus der staerksten. Lemboldgeweihte koennen alle
Beistaende erflehen, Kandri- und Saphinageweihte die schwaechste Stufe von
allen, von der mittleren und starken Stufe nur die ihrer Gottheit
entsprechenden.
  elementarschild (Kandri, ab Kurat?)
  Aehnlich wie Elementarsphaere, aber rein defensiv.
Durch diese beiden Anrufungen wird "spaltung" wohl schon fuer Wanderprediger
erhaeltlich werden...

- Hohepriester werden (einmal pro Woche oder so) vom Kreis der Erleuchteten
gewaehlt. Ich hoffe mal, dass ihr euch da genuegend untereinander abstimmen
koennt :)
- weitere Aufgaben fuer den Aufstieg Kurat->Erleuchteter (ich muss mir Toeters
Insel vielleicht doch mal ansehen... :)
- Wenn ein Erleuchteter zum Kuraten degradiert wurde, kann er seinen Spell
noch ein paarmal verwenden.
- eine Moeglichkeit, die Faehigkeit der allg. Anrufung abzustellen (Holy Shit
:)

Das wars erst mal, schreibt mal was dazu!
  Wargon

-----------------------------------------------------------------------------



Re: Einige Ideen (Tanis, 20. Aug 1996, 12:36:20):
~#! rn=Wargon rt=840536892
~#! tid=840536892
Also den Beistand und den Elementarschildspruch finde ich spitze, aber
spaltung schon fuer wanderprediger ... naja, ich weiss nicht. Desweiteren 
haette ich den vorschlag, evtl eine zweite schadensart einzufuehren, krach
naemlich, und man koennte dann entweder zwischen den schadensarten waehlen,
oder einen zweitenn spruchg draus machen (donner oder so). Jo, und ein neuer
Spruch fuer Saphina waere mal was nettes :)

Achja, das waehlen find ich nicht so toll :)

Tanis .... noch Hohepriester :)

-----------------------------------------------------------------------------



Es geht ums beten... (Thasco, 20. Aug 1996, 13:59:59):
Hi Brueder und Schwestern!
Hi grosser Wargon! :)

Ich haette da mal einen kleinen Vorschlag das Beten betreffend:
Koennte man es nicht so einrichten, dass man das Beten unterbrechen kann?
Irgendeine Aktionstaste oder so....
Manchmal wird man dann von anderen Spielern im Raum gefragt und kann nicht
antworten.
Naja, war so ein Vorschlag.....

Gruss an euch und Saphinas Segen

Bruder Thasco, Diakon.

-----------------------------------------------------------------------------



Re: Einige Ideen (Myself, 20. Aug 1996, 14:31:00):
~#! rn=Wargon rt=840536892
~#! tid=840536892
Hi Kleriker, hi Wargon!

  Plaene, die Klerikergilde zu bereichern stossen bei mir immer auf
grosse Gegenliebe :-)  
Nach meinen eigenen Erfahrungen haetten Kleriker ein staerkeren Angriffsspell
am noetigsten.  -Der koennte -sofern es nach mir geht- durchaus Vorbereitung
(Meditieren zum 'Aufladen') und/oder Nachwirkungen ('mentale und koerperliche
ERschoepfung' eine bestimmte Zeit nach einem Kampf (verwirklich durch
Stat-Reduzierung wie beim Sterben und allmaehliche Normalisierung -verhindert
zudem Missbrauch durch Uebermass-) haben und dadurch kein 'Standardspruch'
sein.
Allerdings scheint das Hauptaugenmerk der Gilde nach wie vor in den
Defensivfaehigkeiten zu liegen, wie auch die geplanten
Erweiterungsvorschlaege.
Sehr gut finde ich die Idee, 'Gruppenkonzepte' wie in 'Beistand' angedeutet
mit einzubauen!
Ebenso gefaellt mir die Schutz-elementarspaere sehr gut -vor allem deshlab,
weil sie mir als Spieler erlaubt, _gezielt_ auf die Situation einzugehen -
das macht allemal mehr Spass als ein 08/15-Geknueppel mit immer dem 
gleichen Standardspruch.
Mit der Wahl des Hohpriesters tue ich mich etwas schwer - es koennte
leicht dazu fuehren, dass sich Hohepriester-cliquen bilden und ein
unnoetiges Gegeneinander aufkommt.  -Wenn ich nicht befuerchten
muesste, in den Rang eines Kuraten abzurutschen, haette ich selber
auch weniger Probleme, meinen Rang als Hohpriester aufzugeben -vielleicht
laesst sich in der Richtung noch etwas veraendern?

Wichtig, und fuer die Gilde unbedingt sinnvoll finde ich auch die
Moeglichkeit, die allgemeine Anrufung abzustellen, um die Sprueche
besser zu lernen -evtl nach dem Vorbild des Ringes der Zauberbremse
bei den Zauberern.  So wie es im Moment ist, lerne ich jedenfalls
bei den Spells ga rnichts mehr dazu und kann damit den Gildenrahmen
auch gar nicht voll ausschoepfen (und ich moechte den sehen, der das
so wie es im Moment ist hinbekommt ;)  )...

Soweit mein Kommentar.

Ich denke fuer die Kleriker und natuerlich fuer Wargon ist es wichtig,
ein einigermassen representatives Meinungsbild zustande zu bekommen.
-Also meldet Euch bitte auch zu Wort, wenn Ihr nen Kommentar habt.

Gruss,

Myself  - ist gerne Kleriker und dankbar fuer Neuerungen

-----------------------------------------------------------------------------



Es geht ums Waehlen... (Thasco, 20. Aug 1996, 14:43:06):
Hallo Brueder und Schwestern!!

Yo, ich melde mich nochmal zu Wort, nachdem ich Bruder Myselfs Artikel lass...
Also, warum waehlen wir nicht einen Papst, der dann alle Vorteile der drei
Gottheiten
bekommt. Er koennte ja zeitlich befristet sein und eine Wiederwahl ist nur
moeglich, wenn dazwischen drei weitere Paepste amtierten. Als Amtszeit schlage
ich
vier Realwochen vor, also einen Monat. Dann haetten wir auch unser
so gerne gesehenes Konzil! :) Die Wahl koennte ja per Briefwahl erfolgen
und die Ernennung so ein richriger Akt sein, dem NUR Kleriker
beiwohnen duerfen! :))

War so ein Vorschlag meinerseits!! Lustig waers!!!

Gruss

Bruder Thasco, Diakon (und das wohl noch laengere Zeit...)

-----------------------------------------------------------------------------



Re: Es geht ums Waehlen... (Tanis, 20. Aug 1996, 15:05:22):
~#! rn=Thasco rt=840544986
~#! tid=840544986
klingt gut :) ich stelle mich mal zur wahl :)))

-----------------------------------------------------------------------------



Es gehts ums waehlen ??? (Sharia, 20. Aug 1996, 16:36:39):
So nun muss ich, nachdem ich Kalliope gestern wieder erwarten abgeloest habe,
doch auch mal meinen Senf dazu abgeben ... 
Ersteinmal Wargon nen dickes Lob an deine Gilde ... und auch an deine neuen
Ideen... es waere wirklich wuenschenswert, wenn man die einzelnen Goetter
untereinander etwas staerker abgrenzen wuerde und wenn es zudem eine staerkere
abgrenzung zwischen Erleuchteter und Hohepriester geben wuerde. 
Ob man hohepriester waehlen sollte oder nicht, ist eine wirklich gut Frage,
denn wer waehlt denn z.b. den Hohepriester des Lembold ???
Hier sollte lieber eine etwas andere Version gesucht werden, denn bei Lembold
waere es so, das nicht alle Erleuchteten immer da sind... wie sind die
Kriterien nach denen man waehlen soll ??? Nein, ich bin gegen das waehlen des
Hohepriesters, denn es ist nichts anderes, wie bei anderen Gilden auch, wo man
sich drauf einigt, wer jetzt den Kampf oder aehnliches gewinnt. 
Hier liegt doch eigentlich die Individualitaet der Klerus Gilde. Wer ganz oben
stehen will sollte derjenige sein, der insgesamt auch die besten Spells hat.
und wenn jemand kommt der juenger ist, so wird er verdraengt ...
Fand ich bisher eigentlich immer ne nette Regelung.
Hmm natuerlich steht auf der anderen Seite der Versuch, eine Gilde zu
schaffen, in der man nicht wie verrueckt ueben muss, um ganz oben zu stehen.
Das waere zwar ein Argument fuer eine Wahl, jedoch ist diese Wahl auf keinen
Fall gerecht, denn hier liegt wirklich die Gefahr der grueppchenbildung und
der Intrigen...
Ich bin fuer einen regelmaessigen wechsel der Hohepriester (sagen wir mal
jeden Monat) innerhalb einer Gottheit unter den Erleuchteten einfach immer
nacheinander und wer zwischendurch wiede Kurat wird, der hat Pech gehabt .....

Sharia, die sich immernoch wundert wie sie DAS geschafft hat ...

P.S.: Sorry fuer den schwachsinnigen Artikel :-)

-----------------------------------------------------------------------------



Re: Es gehts ums waehlen ??? (Tanis, 20. Aug 1996, 16:42:57):
~#! rn=Sharia rt=840551799
~#! tid=840551799
Also im grossen und ganzen bin ich Sharias meinung. FAST. den das mit dem
wechsel find ich nun wieder nicht so toll. ich meine, das sich die
erleuchteten einmal im monat abwechseln. So wies ist, kanns zwar nicht
bleiben, denn wenn irgendwann einmal alles besetzt ist, und die erleuchteten
ihre sprueche alle perfekt koennen, wirds eben keine wechsel mehr geben, das
ist nicht so gut. Wie waere es denn mit einem kampf um den hohepriester? ist
zwar nicht ganz der sinn der gilde, aber immerhin ne loesung.

Tanis

-----------------------------------------------------------------------------



Re: Re: Es gehts ums waehlen ??? (Letti, 23. Aug 1996, 14:59:48):
~#! rn=Tanis rt=840552177
~#! tid=840551799
So, jetzt melde ich mich auch mal zu Wort.
Was die neuen Vorschlaege betrifft, so bin ich sowohl fuer die neuen
Anrufungen, wie fuer den Vorschlag einer Papstwahl.
Das waere echt witzig. Die Sache mit den Hohepriestern liesse sich vielleicht
mit einer Art Wettkampf loesen, der jeden Monat oder so ausgetragen wird.
Dabei sollten dann nicht nur die gelernten Sachen angwandt werden, sondern
auch ein wenig Glueck eine Rolle spielen. Ich denke da an eine Art Ausgleich
fuer Schwaechere, die zumindest eine Chance haben sollten. Kein Kampf, sondern
eben ein Wettkampf, wie waere es denn damit. Und wer nicht antritt, der kann
auch nicht Hohepriester werden/bleiben.
Als dringende Neuerung stelle ich mir, wie Myself auch sagte, etwas in
Auftrag, das es ermoeglicht, seine Skills zu verbessern, auch wenn man sehr
intelligent und einen strahlenden Talisman hat. Je intelligenter und
geschickter man ist, desto besser muesste man doch lernen koennen.

Letti hat sich mal nicht philosophisch geauessert...

-----------------------------------------------------------------------------



Bugfix (Wargon, 27. Aug 1996, 10:34:49):
  Hi!
Ein kleiner Bug in den Heiltraenken ist jetzt behoben: Sie sind jetzt nicht
mehr autoload...
(Dass es wirklich ein Bug und kein Feature war, sieht man daran, dass die
Traenke nach einem "ende" oder Reboot nicht mehr wirkten :)
  Wargon

-----------------------------------------------------------------------------



Einige Ideen: Zwischenstand (Wargon, 30. Aug 1996, 14:49:23):
  Hi!
Hier mal ein kleiner Zwischenstand:

- zu Thascos Idee, das Beten abbrechen zu koennen: Das gibts nicht. Die
Goetter haben es halt nicht so gerne, wenn man anderen Themen mehr
Aufmerksamkeit schenkt...

- zu der Idee "wenn schon waehlen, dann nen Papst": Gute Idee, mal sehen, wie
sich das realisieren laesst. Wenn, dann kommt das aber erst spaeter.

- zum Unterdruecken der allgemeinen Anrufung: da kommt auf jeden Fall was, ich
bin mir nur noch nicht ganz ueber die Praesentation im klaren.

- zu den Anrufungen: Sharia hatte die Idee, "wunder" fuer alle Hohepriester
zugaenglich zu machen und dafuer "beistand" als Erleuchteten-/
Hohepriesteranrufung der Lemboldgeweihten zu nehmen. Das hat meiner Meinung
nach durchaus was fuer sich; was meint ihr? (Kandri- und Saphinageweihte
haetten dann natuerlich nix mehr davon :)
Ansonsten:
- sonnenschutz (Saphina, ab Bettelmoench)
  Hilft, in der heissen Wueste zu ueberleben.
- kuriere (gibts schon)
  Hilft auch gegen Sonnenstich. Sollte Sonnenbrand auch heilbar sein?
- donner (Kandri, Level mal sehen...)
  Ein Flaechenspell. Zu leiden haben alle anwesenden gegnerischen NPCs (wenn
  sie noch keine Gegner sind: danach bestimmt :) und (in abgeschwaechter Form)
  der Kleriker selbst. Als Schaden kommt hier Laerm zum Zuge (wer haette das
  gedacht?), Taube sind nicht betroffen.
- elementarschild (Lembold (doch nicht Kandri...), ab ???)
  Aehnlich wie Elementarsphaere, aber rein defensiv.
- blitz (gibts schon)
  Unter bestimmten Bedingungen wird er von einer abgeschwaechten Version des
  Donners begleitet (dadurch treten aber KEINE neuen Gegner in den Kampf
  ein!)

- zu der Idee, die Hohepriester anders auszukungeln: Mal sehen, das kommt
jedenfalls auch nicht sofort.

So, das wars wohl erst mal,
  Wargon

-----------------------------------------------------------------------------



Re: Einige Ideen: Zwischenstand (Nixihou, 30. Aug 1996, 17:20:17):
~#! rn=Wargon rt=841409363
~#! tid=841409363
also die idee mit dem gewaehlten papst ist gut. 
wird der auch fuers ganze leben gewaehlt? also immer neuwahlen, wenn der
papst mal stirbt????

nixihou

-----------------------------------------------------------------------------



Re: Re: Einige Ideen: Zwischenstand (Mupfel, 30. Aug 1996, 18:40:03):
~#! rn=Nixihou rt=841418417
~#! tid=841409363

So richtig mit schwarzem und weissem Rauch? :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Einige Ideen: Zwischenstand (Tanis, 30. Aug 1996, 23:59:16):
~#! rn=Wargon rt=841409363
~#! tid=841409363
Jo, klingt alles ganz gut, und zu dem beistandsspruch/wunderspruch ... also
wunder fuer alle zugaenglich zu machen, und den lembold-bruedern und
schwestern einen maechtigeren spruch zuzugestehen, find ich auch ganz ok. Ich
kenn die wirkung von wunder zwar nicht, aber wenn ich es richtig mitbekommen
habe, ist es nix so tolles. Also schon der fairnesshalber sollten die
lemboldgeweihten was aenlich maechtiges bekommen, wie es heiltrank oder
schutzhand ist.

Tanis ... vielleicht ein klein wenig unverstaendlich :)

-----------------------------------------------------------------------------



Re: Einige Ideen: Zwischenstand (Silvana,  2. Sep 1996, 07:57:00):
~#! rn=Wargon rt=841409363
~#! tid=841409363
Aehm, *huestel*
Hat Rochus die neuen Spells abgenommen, Wargon?
Silvana (fragt Boing das auch gleich noch)

-----------------------------------------------------------------------------



Re: Re: Einige Ideen: Zwischenstand (Wargon,  2. Sep 1996, 10:20:53):
~#! rn=Silvana rt=841643820
~#! tid=841409363
Noch sind sie ja gar nicht geschrieben :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: Einige Ideen: Zwischenstand (Mupfel,  2. Sep 1996, 18:36:22):
~#! rn=Silvana rt=841643820
~#! tid=841409363

Und nach Rochus muss dann noch Paracelsus 'ran, wegen der
'Balance'-Vertraeglichkeit :-)

-mupfel- (hihi)

-----------------------------------------------------------------------------



Zum Zwischenstand (Thasco,  3. Sep 1996, 14:43:32):
Halloechen Brueder und Schwestern! Hallo Fuerst! hallo Lieblingsschildkroete!
(Falls die das hier auch aboniert hat! :)

Also, Wargon, dass mit dem Abrechen des Betens, dass das die Goetter nicht
gerne sehen, jo, sehe ich ein. Hab ja auch jetzt entdeckt, dass da automatisch
n "weg" gesetzt wird, das ist gut! :)
Aber: Man muesste doch die Tierbefehle weiterhin benutzen koennen, die beten
doch garnicht, oder? :)
zur Papstwahl: Ich hatte mir das nicht auf "Lebenszeit" vorgestellt, sondern
irgendwie so fuer einen Monat oder so. Derjenige Papst koennte ja ziemliche
Zaubersprueche bekommen, die ihn maechtig machen. Und man kann erst wieder,
nachdem halt drei 
oder vier andere Papst waren, wiedergewaehlt werden. Jo. Und dann kann jeder
Papst werden, der Erleuchteter ist. :) Naja, aber das ist diskussionswuerdig!
:)
Ansonsten: Die Sprucherweiterung - klasse Idee!!

Moege Saphina euch segnen!

Bruder Thasco, der Diakon (genau! :)

-----------------------------------------------------------------------------



Noch ne Idee.... (Thasco, 11. Sep 1996, 12:12:55):
Hallo Brueder und Schwestern!

Mir ist gerade noch eine kleine Idee gekommen, auch wenn sie besser in
allgemeines passen wuerde.
Kann man es nicht irgendwie so einrichten, dass nur KLeriker auf unserer Ebene
sprechen koennen und sonst nur die, die mindestens zwei Fuersprecher haben? 
Manche nerven naemlich ziemlich auf dieser Ebene! Und dabei ist gerade die
Klerusebene mit die schoenste und beste (meiner Ansicht nach!).
Gebt mal ein Statement dazu ab!

Gruss

Bruder Thasco, Diakon 

-----------------------------------------------------------------------------



Re: Noch ne Idee.... (Asmodis, 11. Sep 1996, 13:12:54):
~#! rn=Thasco rt=842436775
~#! tid=842436775
Nee, dann will jede Gilde wieder, dass nur Gildenmitglieder auf ihrem
Kanal senden koennen, das hatten wir schon, ist nicht so gut angekommen.

-----------------------------------------------------------------------------



Papst (Azzuro, 11. Sep 1996, 23:57:00):
Wenn ich mich mal so in der Geschichtsschreibung umschaue wie viele Paepste
keines natuerlichen Todes starben, dann koennte man auch den Papstkill
einfuehren. Wenn er schon starke Zaubersprueche hat, dann kann er sich ja auch
verteidigen.
Natuerlich darf er nur von anderen hohen Geistlichen gemeuchelt werden.
Damit waeren endlich mal den Klerus-Intrigen Tuer und Tor geoeffnet und der
geistliche Machtkampf fast perfekt.

Azzuro Pius I

-----------------------------------------------------------------------------



Re: Papst (Tanis, 12. Sep 1996, 09:26:57):
~#! rn=Azzuro rt=842479020
~#! tid=842479020
Du meinst sowas wie den Erzmeister-kampf? hmm, klingt gut, klingt seeeeeehr
gut :)

Tanis ... der sich damit durchaus anfreunden koennte, auf lebenszeit Papst zu
sein :)

-----------------------------------------------------------------------------



Re: Re: Papst (Wargon, 12. Sep 1996, 10:40:43):
~#! rn=Tanis rt=842513217
~#! tid=842479020
Das waere doch mal ein Betaetigungsfeld fuer die noch zu schreibende
Assassinengilde (Cat*?)
  Wargon

-----------------------------------------------------------------------------



Re: Papst (Acrimon, 12. Sep 1996, 14:51:53):
~#! rn=Azzuro rt=842479020
~#! tid=842479020
Das hat doch keinen Sinn; wer Paepste ermordet, verstoeszt gegen die klerikale
Gesetzgebung.
Paepste wurden hauptsaechlich von weltlichen Machthabern ermordet, um ihrem
unbaendigen, sinnlosen Streben nach noch mehr Macht stattzugeben.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Papst (Engywuck, 12. Sep 1996, 14:53:49):
~#! rn=Acrimon rt=842532713
~#! tid=842479020
Huch...waren das
dann auch die weltlichen Machthaber, die den Paepsten die ganzen Kinder
vermacht haben...? Oder stehen Kinder nicht im Widerspruch zur klerikalen
Gesetzgebung? Wuerd mich ja jetzt mal interessieren...

Engy*

-----------------------------------------------------------------------------



Re^3: Papst (Asmodis, 12. Sep 1996, 18:37:05):
~#! rn=Wargon rt=842517643
~#! tid=842479020
Hmm, jo, ich denke auch, dass Geistliche nicht selbst die Drecksarbeit
machen, wenn schon Paepste ermorden, dann durch Auftragskiller.
Das war in RL ja auch nicht anders :)
Danach muessen die Killer selbst natuerlich auch um ihr Leben bangen,
wer laesst schon Mitwisser und Zeugen leben ? :)

-----------------------------------------------------------------------------



Re^4: Papst (Tanis, 12. Sep 1996, 18:38:32):
~#! rn=Asmodis rt=842546225
~#! tid=842479020
cool, auch ne idee :) haetten die abenteurer endlich nen sinn zu leben :) die
koennten sich dann als soeldner oder so verdienen :))

-----------------------------------------------------------------------------



Re: Re: Papst (Bendeigid, 13. Sep 1996, 12:50:22):
~#! rn=Acrimon rt=842532713
~#! tid=842479020
Daran glaubst du? Ziemlich naiv. Sogar in der Modernen Kirchengeschichte gibt
es ein schreckliches Beispiel dafuer, dass das gebot "Du sollst nicht toeten"
fuer so ziemlich jeden gilt... nur nicht fuer Kleriker. Ich erinner hier nur
mal an die Ermordung von Papst Johannes Paul I., der aus finanz- und
machtpolitischen Interessen von der roemischen Kurie bzw. in deren Auftrag
geschah.

Wollene wir sowas hier im MG? JA! BLUT! Klerikerfehlde! Nieder mit den
Scheinheiligen! ;))

Z'par Servu,
       Bendeigid

-----------------------------------------------------------------------------



Re^3: Papst (Acrimon, 13. Sep 1996, 13:14:23):
~#! rn=Bendeigid rt=842611822
~#! tid=842479020
Das hab ich doch gemeint: "Du sollst nicht toeten" gilt fuer JEDEN.
Und Du willst hier mit der Tatsache, dasz ein Mord am Papst, der von der Kurie
veruebt wurde, absolut verabscheuungswuerdig und ein schreckliches Beispiel
ist, beweisen, dasz man im MG genau dies wolle?

Klar, das MG soll spannend sein und nicht langweilig, und Intrigen und Mord,
die gegen die ureigenen Gesetze verstossen, SIND spannend.

Und dann beklagen sich die Leute wieder, warum hier im MG so schlechtes Klima
herrsche, und dasz die Kleriker sich gegenseitig bekriegen, obwohl sie
eigentlich zusammenhalten wollten...

Acrimon, der Rote Ritter    (kopfschuettelnd)

-----------------------------------------------------------------------------



Re^4: Papst (Tanis, 13. Sep 1996, 13:16:17):
~#! rn=Acrimon rt=842613263
~#! tid=842479020
Hier muss ich mal wiedersprechen. Die chaoten haben auch erzmeister-kaempfe,
und das sie sich ausserhalb ihres kampfes bekriegen ist einfach nicht wahr.
Der Kampf ist die eine sache, Freundschaft eine ganz andere.

Tanis

-----------------------------------------------------------------------------



Re^5: Papst (Acrimon, 13. Sep 1996, 13:37:45):
~#! rn=Tanis rt=842613377
~#! tid=842479020
Nachmacher! :-)
Haben eigentlich die Kleriker irgendwo irgendwelche Regeln definiert, an die
sie sich halten muessen?

Im Uebrigen wuerde man die ganzen Vorteile der unterschiedlichen Gilden wieder
zunichte machen, wenn jede Gilde sich an eine andere anlehnt.

Den Machtkampf haben schon die Chaoten und die Zauberer; denkt Euch fuer die
Klerikergilde doch was Neues aus!
Beispiele:
- Eine Abstimmung, in der sich die Kandidaten nicht mit Namen vorstellen,
sondern anonym ihre Versprechungen abgeben, und die Wahl findet dann
ueber die Versprechen statt, und es wird derjenige Papst, dessen
Versprechen gewaehlt wurde.
(Wobei die Wahl nicht in einer Versammlung stattfindet, sondern an einer
Urne ueber einen Zeitraum von 24 oder 48 Stunden)
- Wer den drei Goettern am meisten gefaellt, der wird Papst

Euch fallen sicher noch mehr Moeglichkeiten ein.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^6: Papst (Tanis, 13. Sep 1996, 13:45:52):
~#! rn=Acrimon rt=842614665
~#! tid=842479020
naja, regeln ... es gibt ein gebot: Das erste gebot: Du darfst nicht heiraten.
Aber eigentlich wars das an regeln :) ... hmm, das mit den anderen
vorschlaegen ist so ne sache, dein zweiter vorschlag ist genau der, den wir
bei denn Hohepriestern benutzen, allerdings ist da irgendwann schluss,
naemlich genau dann, wenn alle ihr sprueche auf 100 % haben, dann ist leider
schluss und es wird einer fuer immer hohepriester bleiben (oder dann halt
papst)
Wahl waere schon ok, aber wenns dann ne grosse gruppe gibt, die maechtig genug
sind (also zum beispiel ueber 50% der waehler), die wechseln sich ja dann
immer ab, so das andere keine chance haben. Aber man koennte ja fuer jeweils
einen monat einen hohepriester bestimmen, der papst wird (der reihe nach, erst
saphina :), dann kandri und dann lembold) oder sowas in der art

Tanis

-----------------------------------------------------------------------------



Re^6: Papst (Wargon, 13. Sep 1996, 13:48:41):
~#! rn=Acrimon rt=842614665
~#! tid=842479020
Das hoert sich so an, als waere der "Papstkampf" schon beschlossene Sache...

-----------------------------------------------------------------------------



waffen (Wurzel, 13. Sep 1996, 21:25:19):
hallo,

da in letzter zeit die arbeit fuer ihn ziemlich knapp geworden ist, hat sich
walter, der schmied von wilhelmsburg, gedanken ueber eine erweiterung seines
geschaefts gemacht.
kein leichtes unterfangen, wenn man sieht, dass kaum noch waffen und 
ruestungen beschaedigt werden... und fuer neuanfertigungen hat er leider
keine lizenz.

doch da gibt es ja noch die kleriker, die auch gelegentlich ein problem
mit bestimmten waffen haben. nun ist walter im grunde seines herzens nicht
sehr religioes, aber wenn eine huebsche priesterin... aehm, ja.

jedenfalls bietet walter ab sofort eine neue dienstleistung an: er macht
nicht etwa schwerter zu pflugscharen, sondern zu keulen. keulen, die auch
ein kleriker benutzen kann. besonders stolz ist er darauf, dass bei seiner
schonenden behandlung die magie der schwerter in den allermeisten faellen
erhalten bleibt (nun ja, ein gewisses restrisiko bleibt immer), so hat er
z.b. schon erfolgreich eine blutsaugerkeule geschaffen...

have fun, wurzel

-----------------------------------------------------------------------------



Re: waffen (Myself, 13. Sep 1996, 22:03:25):
~#! rn=Wurzel rt=842642719
~#! tid=842642719
Hi Wurzel, hi Mit-Kleriker,

so ganz unbesehen sag ich erst mal *genial* und danke! :-)

Myself - haut gerne auch mal kraeftig zu

-----------------------------------------------------------------------------



Re: waffen (Lariel, 14. Sep 1996, 13:15:26):
~#! rn=Wurzel rt=842642719
~#! tid=842642719
Wow! Grosse Klasse, das!
Ich liebe dich, Wurzel!

- Lariel Falkenflug, Inquisitor von Taramis
  (Ist schon dreimal aus dem Orden ausgetreten,
   um wieder mit BSS kaempfen zu koennen...)

-----------------------------------------------------------------------------



Papst - ein Vorschlag (Myself, 14. Sep 1996, 15:43:07):
Hi Kleriker,

die Idee, einen 'Kleriker-Papst' zu haben finde ich sehr gut.
Deshalb will ich hier mit einem sehr detaillierten Vorschlag, der
inbesondere das Ziel hat, moeglichst vielen Klerikern die Moeglichkeit
Papst zu werden, offenzuhalten, zur Papst-Debatte beitragen:

Mein Vorschlag enthaelt die folgenden Punkte:

I. Ernennung eines neuen Papstes
Der Papst wird sowohl aufgrund fachlicher Kompentenz (Gildenfaehigkeiten
) als auch aufgrund sozialer Faehigkeiten (Wahl durch die Mit-Schwestern
und Brueder) bestimmt. -Ich schlage vor
1. Zur Papstqualifikation tragen bei  FAehigkeiten (50%), Wahl (50%)
2. Wahlberechtigt sind alle Kleriker ab der Stufe Priester (zur
    Vermeidung einer ZweitiSChwemme vor einer wahl keine niedrigeren
    Stufen)
3. Papst wird, wer die hoechste Gesammtqualifikation besitzt.
4. Der Papst wird mindestens fuer 1 Woche gewaehlt.
5. Der Papstaspirant darf innerhalb der letzten 4 Wochen NICHT
    schon einmal Papst gewesen sein.
6. Innerhalb eines (Kalender?)Jahres sind nur maximal 6 Amtsperioden
   als Papst zulaessig.
7. Die Papstwahl ist wenigstens 6 Tage vorher anzukuendigen.
8. Bis 3 Tage vorher erhalten Kandidaten die Moeglichkeit, sich
   fuer die Wahl als Kandidat anzumelden.
9. Ab 3 Tage vorher kann gewaehlt werden.
10. Als Kanditaten kommen alle Kleriker ab der Stufe Erleuchteter
    in Frage.
11. Fuer eine gueltige Wahl muessen mindestens je ein Priester 
    (oder hoeher) jeder Gottheit abgestimmt haben.
12. Der Papst braucht ebenfalls die Zustimmung mindestens jeweils
    eines Priesters/Priesterin jeder Gottheit.
13. Sollte es zu groben Missbraeuchen bei der Wahl kommen (Heerscharen
    von Zweitis zur (Dauer)Wahl eines Papstes, koennen auf Antrag
   Kandidaten von der Wahl ausgeschlossen werden.
14. Die Zustimmung des Papst-Aspiranten fuer den Posten ist erforderlich.
15. Als Wahllokale fungieren die Ordenstempel.

II. Nach dem Abtreten des Papstes

Als Gegenleistung fuer die besonderen Verguenstigungen waehrend der
Amtszeit (siehe III. Besondere Faehigkeiten des Papstes) wird der
Papst nach dem Ende seiner Amtszeit in den Rang eines Kuraten (nicht
erleuchtet) zurueckgestuft.  Sollten die Erleuchtetenraenge (der
jeweiligen Gottheit) nicht vollstaendig besetzt sein, erfolgt die
Rueckstufung nur in den Erleuchtetenrang.
Davon unberuehrt bleiben die Papst-Faehigkeiten in ihrer Guete erhalten,
sind jedoch nicht anwendbar.

III. Besondere Faehigkeiten des Papstes

1. Die Glaubensstaerke des Papstes nimmt nicht ab.
2. Der Papst verfuegt ueber einen (permanenten) Heiligenschein.
3. Der Papst kann andere Gildenmitglieder 'heilig' sprechen
    (--> Charakter = heilig)
4. Der Papst verfuegt ueber die Hohepriestersprueche aller 3 Zweige.
5. Als besondere Verpflichtung gerade gegenueber den Armen und
    Schwachen der Gilde besitzt der Papst die Moeglichkeit, 
    3 klerikale Orte zu markieren (nen Pontifexstab (Namensvorschlag)
    als MArkierung), von und zu denen aus ALLE Mitglieder der Gilde
    kostenlos teleportieren koennen; diese Massnahme kaeme 
    insbesondere den Nicht-Sehern unter den Klerikern zu Gute...


Soweit mein VORSCHLAG.  -Diskussion bitte in der MPA, flames und
dergleichen per mail an mich.

Um unoetige Diskussionen zu vermeiden: es geht nicht darum, irgendwelche
real existierenden Personen/Aemter zu kopieren oder verunglimpfen,
sondern um die sinnvolle Gestaltung des hoechsten Amtes der Klerikergilde.

Gruss,

Myself

-----------------------------------------------------------------------------



Gemeinsam sind wir stark... (Myself, 14. Sep 1996, 15:52:37):
Hi Mitkleriker,

in Zusammenhang der angekuendigten Neuerungen (grosser Dank an Wargon!)
hier noch ein Vorschlag, der auf das Zusammenarbeiten mehrerer Kleriker
zielt. -Unter allen Gilden scheinen mir gerade die Kleriker fuer einen
besonderen Zusammenhalt und damit auch besondere Gruppenfaehigkeiten
praedestiniert.
Liesse es sich denken (schiel zu Wargon), in dieser Richtung etwas zu
unternehmen?
Ein Beispiel waere das Zusammenfassen saemtlicher LPs und MPs in einen
GruppenPool oder ein Bonus, wenn sich mehrere Kleriker zu einer Gruppe
zusammentun.  Die Regeln fuer die Bildung einer Gruppe und das 
Verteilen von Boni muessten natuerlich sehr genau geplant werden,
um Missbrauch zu vermeiden.
Es gaebe auch die Moeglichkeit, unabhaengigen Entwicklungen (etwa
die Matrix der Leronis, schiel zu Bendeigid) mit in ein solches
Konzept einzubeziehen.

Was meint Ihr dazu? Was sagen die Magier zur Machbarkeit?

Gruss,

Myself

-----------------------------------------------------------------------------



soft power (Myself, 14. Sep 1996, 16:00:13):
Hi Mit-Kleriker,

auch zum Thema 'Angriff' muss ich mich noch einmal aeussern:
Wie Ihr alle wisst und bei jedem Kampf spuert, sind die Offensiv-
faehigkeiten der Kleriker, zumal gegen gute NPCs, sehr bescheiden.

Das ist vom Gildenhintergrund her durchaus zu verstehen, und ich bin
entschieden gegen eine allgemeine Gleichmacherei der verschiedenen
Gilden.

Dennoch sehe ich in diesem Bereich einen deutlichen Nachholbedarf.
Deshlab hierzu ein konkreter Vorschlag:
Waere es moeglich, eine Vergiftung oder eine -neu zu schaffende-
Krankheit einzufuehren, mit der man einem NPC im Kampf allmaehlich
aber trotzdem wirksam LPs (oder auch MPs?) entziehen kann?
Nebenwirkungen koennten sein, dass das Gift oder die Krankheit
auch auf einen selber wirkt und man entsprechend auch sich selber heilen
muss...
Solche Massnahmen moegen nicht ganz dem heren Bild der Kleriker
entsprechen, wer jedoch das Buch oder den Film 'Im Namen der Rose'
kennt, sieht dort ganz gut, was ich meine...

Noch ein Punkt der klar sein sollte: ich waere durchaus bereit,
Kostensteigerungen bei den bisherigen spells hinzunehmen, falls die
Vielfalt der Meoglichkeiten -und damit auch der Spielspass- erweitert
werden.

Gruss,

Myself

-----------------------------------------------------------------------------



Re: Papst - ein Vorschlag (Guldukat, 15. Sep 1996, 10:36:42):
~#! rn=Myself rt=842708587
~#! tid=842708587
quatsch, ein papst wird auf lebenszeit gewaelt!
wenn ihr einen loswerden wollt, muesst ihr den alten schon killen, oder er
muss sich selbst umbringen (obwohl selbsmord glaube ich keine loesung ist! ;))
naja, dann muss sich der papst halt beim metzeln etwas zurueckhalten!
GD

-----------------------------------------------------------------------------



Re: waffen (Silvana, 15. Sep 1996, 11:29:58):
~#! rn=Wurzel rt=842642719
~#! tid=842642719
Jeder Wette, dass Paracelsus das nicht genehmigt hat, von nichts weiss
und das SEHR schnell wieder unterbinden wird. Schon mal auf die Idee
gekommen, dass bestimmte Waffen ABSICHTLICH bestimmten Waffentyp
haben?

  Silvana

-----------------------------------------------------------------------------



Re: Re: waffen (Wurzel, 15. Sep 1996, 11:30:45):
~#! rn=Silvana rt=842779798
~#! tid=842642719
hm, hat er doch...
wurzel

-----------------------------------------------------------------------------



Re: Re: waffen (Morgoth, 15. Sep 1996, 14:09:04):
~#! rn=Lariel rt=842699726
~#! tid=842642719
eine Elementarkeule ??

-----------------------------------------------------------------------------



Re^3: waffen (Mupfel, 15. Sep 1996, 16:21:47):
~#! rn=Morgoth rt=842789344
~#! tid=842642719
Eine Vollstrecker-Keule ?
Eine Schwertmeister-Keule ??

-mupfel- *kichert*

-----------------------------------------------------------------------------



Re^4: waffen (Wurzel, 15. Sep 1996, 16:59:44):
~#! rn=Mupfel rt=842797307
~#! tid=842642719
alles schon dagewesen :) wird natuerlich mitgelogt.
wurzel

-----------------------------------------------------------------------------



Re: Papst - ein Vorschlag (Fyt, 15. Sep 1996, 19:53:50):
~#! rn=Myself rt=842708587
~#! tid=842708587

Also witziger waer's ja, wenn der Papst Nichtgildenmitglieder heilig
sprechen koennte... Chaoten zum Bleistift *hust*

Fyt.

-----------------------------------------------------------------------------



Re: Re: Papst - ein Vorschlag (Mupfel, 15. Sep 1996, 19:55:45):
~#! rn=Fyt rt=842810030
~#! tid=842708587

Jaja ein Zauberer und ein Kleriker treffen einen Chaoten - nachher ist er ein
heiliger Frosch :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Papst - ein Vorschlag (Augra, 15. Sep 1996, 19:55:52):
~#! rn=Fyt rt=842810030
~#! tid=842708587
Das geht aber immer erst, wenn die tot sind. ;-))))

Agra.
Augra.
argl:)



-----------------------------------------------------------------------------



Re^3: Papst - ein Vorschlag (Fyt, 15. Sep 1996, 19:57:31):
~#! rn=Augra rt=842810152
~#! tid=842708587

Naja, dann brauchen sie halt noch nen Karateka fuer die 'erst-tot-sein-
Geschichte'...  Armer Chaot :)

Fyt.

-----------------------------------------------------------------------------



Re: waffen (Sharia, 15. Sep 1996, 22:33:25):
~#! rn=Wurzel rt=842642719
~#! tid=842642719
Ich sag da nur danke Wurzel.

Sharia, seit neuestem Priesterin ????

-----------------------------------------------------------------------------



Re: Papst - ein Vorschlag (Asmodis, 16. Sep 1996, 19:57:27):
~#! rn=Myself rt=842708587
~#! tid=842708587
Hmm, zu den Besonderen Faehigkeiten eines Papstes:
1. Ich weiss nicht, ob das so erwuenscht ist, mit geringer
Glaubensstaerke gehen immerhin mehr Sprueche schief und man lernt was.
2. Ne tolle Sache, find ich gut.
3. Das geht doch schon, da gibts nen Spruch dafuer, jemanden heilig zu
machen.
4. Ist auch nett, schwaecher als die einzelnen Hohepriester sollte er
auf jeden Fall nicht sein :)
5. Auch nett, weiss aber nicht, wie dasgehen soll, naja, sind die
Programmierer gefragt :)

-----------------------------------------------------------------------------



Neue Faehigkeit (Karatekid, 17. Sep 1996, 16:42:01):
Wie waers mit einer neuen Faehigkeit, die man dem Papst geben koennte ?
Z.B. ein Schutzengel, der Schlaege abwehrt (natuerlich nur bei Angriffen
von boesen NPCs) ??

-----------------------------------------------------------------------------



Re: Neue Faehigkeit (Sharia, 17. Sep 1996, 16:47:15):
~#! rn=Karatekid rt=842971321
~#! tid=842971321
soetwas solls doch vielleicht geben .-.... lies mal den Artikel von Wargon
----> beistand :-)
Sharia, Anatol angrummelnd

-----------------------------------------------------------------------------



Mein Gott Walter! (Kandri, 20. Sep 1996, 12:59:46):
  Liebe Gemeinde,
auch durch einfaches Umschmieden bleibt ein Schwert im Grunde ein Schwert.
Deshalb haben Saphina, Lembold und ich beschlossen, dass auch umgeformte
Schwerter weiter wie Schwerter behandelt werden (jedenfalls die meisten).
Auf die Seele kommt es an, und die aendert sich nicht durch Aenderungen des
Aeusseren!
  Kandri die Gerechte.

PS: Hat man eine der betroffenen Waffen gezueckt, kommt es evtl. noch zu der
Meldung, dass man sich damit wohl fuehlt. Um das zu aendern, sollte man einmal
"ende" machen oder bis zum naechsten Reboot warten (boese Zungen behaupten,
das waere schneller, als "ende" zu tippen...)

-----------------------------------------------------------------------------



Re: Mein Gott Walter! (Kalliope, 20. Sep 1996, 15:22:28):
~#! rn=Kandri rt=843217186
~#! tid=843217186

Ich wuerde gerne die Gottheit wechseln...

     ...von Lembold zu Walter! :)

Kalliope


-----------------------------------------------------------------------------



Re: Mein Gott Walter! (Myself, 20. Sep 1996, 16:44:39):
~#! rn=Kandri rt=843217186
~#! tid=843217186
Werte Kandri, liebe Mitschwestern und -brueder,

    traurige Kunde war da zu lesen - der Weltuntergang muss nahe sein,
wenn die Goetter uns so hart gesonnen sind...

Die Klerikergilde gibt es doch nun schon eine Weile, und natuerlich haben
wir uns sehr um die Aus- und Weiterbildung der im Morgengrauen ansaessigen
Waffenkundigen und Schmiede bemueht.  Da wurde es eigentlich Zeit, dass
einer die Faehigkeit des Umschmiedens erlernte - Walter sei Dank!

Offenbar haben wir dabei 2 Faktoren nicht beruecksichtigt:
Es ist sicherlich nicht sooo leicht, den Waffentyp eines Schwertes
umzuwandeln.  Aber ich halte es fuer durchaus denkbar, dass durch weiteres
Forschen und den Einsatz neuer Materialien und magischer Zutaten auch
das Umschmieden moeglich sein sollte!  -Es waere halt nur nicht mehr
so einfach.....
Das Zweite ist, dass wir offenbar unsere Goetter allzu wenig mit den
Sorgen unseres harten Alltags, gefuellt mit dem Kampf gegen alles Boese
im Morgengrauen, beschaeftigt haben.  Aber seid versichert, Kandri,
Saphina und Lembold, wir werden weiter fleissig beten (bleibt ja auch
kaum was anderes uebrig) und hoffen sehnlichst auf Euer Erbarmen und
wiedereinsetzendes Wohlwollen in dieser Sache.

Mit bruederlichem Gruss,

Myself,  Hohepriester der Kandri

-----------------------------------------------------------------------------



Schwerter zu Keulen (Raindog, 24. Sep 1996, 00:59:52):
Ganz toll jetzt kann man sich wenigstens keine waffe mehr besorgen die etwas
die total bekloppt versteckten zt's erreichbar machen wuerde. Ist aber auch
besser so, weil wenn man eine niedriege ordensstufe hat kann man auch nicht so
gut zaubern -> das nenne ich dann Gildenausgeglichenheit. (Ich muss zu den
Steinbeissern und Seeungeheuern, ach ja die quests habe ich noch vergessen, da
wuerde eine halbwegs vernuenftige waffe [Glitzerkeule z.b.] echt nur stoeren)
danke fuer die Aenderung so hat man langer was von Morgengrauen.


-----------------------------------------------------------------------------



Re: Schwerter zu Keulen (Ringor, 24. Sep 1996, 01:08:20):
~#! rn=Raindog rt=843519592
~#! tid=843519592
Dass man in den niedrigeren Gildenstufen noch nicht so gut ist wie in den 
hohen, ist eigentlich vollkommen normal und in jeder Gilde so - schliesslich
sollte es auch einen Anreiz geben, aufzusteigen, gell? :-)

Und dass es im MG keine guten Keulen gibt, halte ich fuer ein Geruecht.

Ringor - trauert dem Elementarschwert auch nur leise hinterher ;^)

-----------------------------------------------------------------------------



Re: Schwerter zu Keulen (Grimmborn, 24. Sep 1996, 09:48:32):
~#! rn=Raindog rt=843519592
~#! tid=843519592

Tja, werd halt Magier und programmier die "Wir sind die Besten und machen
alles alleine"-Gilde. Und versuch zusaetzlich noch, sie genehmigt zu bekommen.
Es gilt hier wie immer: Keine Gilde soll alles koennen, jede sollte Staerken
und Schwaechen haben die sich dann zwischen den Gilden ausgleichen, damit ein
Zusammenspiel gefoerdert wird und es nicht so zu Einzelkaempfern kommt.
Nebenbei kenne ich keine Quest (ausser Gladiatoren), fuer die man uebermaessig
kaempfen muesste, sonst gibt es eigentlich immer eine Moeglichkeit, das zu
umgehen, sich genug Zeit zu lassen oder Freunde mitzubringen, die einem
durchhelfen. Und wenn das nichts hilft: Das Leben hier ist voller Gefahren,
das erste Mal als ich bei den Steinbeissern war waren wir sieben Leute, von
denen zwei (darunter natuerlich auch ich) gestorben sind. Ach ja, und dann hab
ich den zt nichtmal bekommen... *grummel*

Also, wenn Du das MG voellig gefahrlos und problemfrei spielen willst gibts
einen passenden Befehl fuer Dich: "selbstloeschung". Dann bist Du naemlich
hier falsch.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re: Re: Schwerter zu Keulen (Phobos, 24. Sep 1996, 16:54:12):
~#! rn=Ringor rt=843520100
~#! tid=843519592
Falsch!
Mein Zweitie ist jetzt auch in die Gilde eingetreten, und hat jetzt schon
bessere
Werte als ich, da ich bei hoeherer Ordensstufe absolut nichts lerne. Ist
wohl auch eher ne Gilde fuer Zweities.

-----------------------------------------------------------------------------



Re: Re: Schwerter zu Keulen (Raindog, 26. Sep 1996, 01:01:27):
~#! rn=Grimmborn rt=843551312
~#! tid=843519592
Lieber grimmborn solche beitraege wie der deine sind echt toll. "wenn es dir
hier nicht gefaellt dann hau doch ab" sehr konstruktiv, es sollte doch ein
medium geben um auch mal seinen frust loszuwerden (z.b. in der zeitung), und
das es ein sehr unausgewogenes verhaeltnis zwisc
hen magischen und nichtmagischen angriffen gibt sollte selbst dir aufgefallen
sein. 
Es geht mir nicht darum, MG geahrenlos und problemfrei zu spielen, sondern das
ist eindeutig ein missstand der fuer alle gilden  zutrifft.

-----------------------------------------------------------------------------



Re^3: Schwerter zu Keulen (Yantro, 26. Sep 1996, 08:09:00):
~#! rn=Raindog rt=843692487
~#! tid=843519592

Liebster Regenkoeter :-)

Es ist eine ebenso falsche wie auch hartnaeckige Meinung, dass die Zeitung
dafuer da ist, seinen Frust abzulassen, aber weil das zu viele machen (ich
zieh mir den Schuh auch an), verkommt die MPA genau zu dem, was sie ist: Ein
Haufen MUELL! 

Wenn Du ein Problem mit einer Programmierung hast, dann mail das dem
zustaendigen Magier oder nutze Befehle wie idee, typo, bug. Wenn Du ein
allgemeineres Problem hast, dann frag erstmal auf einem der Kanaele nach, ob
Du nicht einem Missverstaendnis unterliegst. Im Zweifel ist eigentlich immer
einer der anwesenden Magier bereit, das zu klaeren. Wenn Du Deinen Frust
ablassen willst, dann erschaffe die ebene 'frust' und moser da.

Die MPA ist eigentlich nur dafuer da, dass ueber Neuentwicklungen im MG
informiert und KONSTRUKTIV Diskutiert wird. Die MPA ist eine Zeitung und da
sollten generell nur Sachen drinstehen, die entfernt an einen Artikel erinnern
und dazu gehoeren weder sinnfreie Einzeiler Zustimmender Art noch ein
schwachsinniges und Durchzaehlen dirverser Stammtischgaeste :) 

FLAME #1

Yantro.

-----------------------------------------------------------------------------



Re^4: Schwerter zu Keulen (Laila, 26. Sep 1996, 11:06:37):
~#! rn=Yantro rt=843718140
~#! tid=843519592
Da muss ich dir recht geben Yantro und zwar GANZ GANZ dolle :)

Und damit diesert ARTIKEL nicht zu einem sinnfreien Einzeiler moechte ich noch
gesagt haben, das wir schon ganz ganz viele beim Stammtisch sind

Laila, grinsend

-----------------------------------------------------------------------------



Re^4: Schwerter zu Keulen (Fyt, 26. Sep 1996, 18:12:33):
~#! rn=Yantro rt=843718140
~#! tid=843519592

Richtig, Yantro.

Fyt.

PS fuer Acrimon: *ironie off*, ich wollte Dich jetzt nicht beluegen.

-----------------------------------------------------------------------------



Re^5: Schwerter zu Keulen (Bottom, 26. Sep 1996, 18:25:59):
~#! rn=Fyt rt=843754353
~#! tid=843519592

Schwestern und Brueder! Pax vobiscum!

Bottom - sinnfrei und scheinheilig

-----------------------------------------------------------------------------



Re^6: Schwerter zu Keulen (Felagund,  1. Okt 1996, 12:35:57):
~#! rn=Bottom rt=843755159
~#! tid=843519592
Was soll denn staendig diese Rumheulerei? Dass Kleriker nur mit Keulen
kaempfen koennen und daher etwas laenger nach ner passenden Waffe suchen
muessen is von Wargon doch genauso beabsichtigt wie die ganzen anderen Dinge,
wegen denen ihr in der Gilde seid. Wer Die Vorteile will muss eben auch
Nachteile in Kauf nehmen. (Korrigier mich, wenn ich damit falsch liege, Wargon
;))
Wenn Grimm dazu sagt wems nicht passt der soll halt austreten, dann hat er
damit ja wohl voellig recht. Und wenn wir nicht diese duemmlichen Xtis
rumlaufen haetten waere wohl auch die Identifikation mit der eigenen Gilde
groesser und es wuerden wohl auch mehr Leute diese Konsequenz ziehen. Aber wen
stoerts denn schon wirklich, wenn die eigene Gilde einige Nachteile hat? Man
steckt einfach nen Zweitie in ne andere Gilde und schon is das Thema erledigt.
(Nein, das soll keine Debatte zur Abschaffung der Zweities im Mud werden. Die
Hoffnung hab ich schon lange aufgegeben.)
Das Problem, dass Waffen allgemein oft zu schlecht treffen ist eigentlich
schon ne Weile bekannt (ich glaub auch in oeffentlichen Rubriken erklaert
worden?) und ob das noch zutrifft weiss ich im Moment auch nedd..lang nimmer
gespielt :)
Naja genug gemeckert fuer heute.
Gemein , arrogant und Fela

-----------------------------------------------------------------------------



Re^7: Schwerter zu Keulen (Myself,  1. Okt 1996, 15:00:43):
~#! rn=Felagund rt=844166157
~#! tid=843519592
Hi,

    eine kurze Ergaenzung zum Artikel von Felagund zum Thema Keulen:
So wie ich Wargon verstanden habe, war der Sinn der Beschraenkung auf
Keulen auch, dass ein vollausgebildeter Kleriker mit seiner Waffe ein
wenig besser dasteht als ein vergleichbarer Abenteurer, weil der Kleriker
nur ueber einen schwachen magischen Angriff verfuegt.  Wegen der
der eingeschraenkten magischen Eigenschaften der verfuegbaren Keulen,
wird der Schlagwaffenbonus allerdings wieder kompensiert. Deshalb der
Wunsch der Kleriker nach 'vernuenftigen' Keulen.

Um Missverstaendnisse zu vermeiden: es geht dabei _nicht_ um das
alte Thema 'die Gilde xyz ist aber zu stark/schwach' oder etwa die
-in meinen Augen bloedsinnige- Forderung, Gilde xyz muss aber 'alles'
koennen, sondern allein um die Schwerter und Keulen.

Gruss,

Myself,     Kleriker und immer auf der Suche nach guten Keulen

-----------------------------------------------------------------------------



Re^8: Schwerter zu Keulen (Orktoeter,  1. Okt 1996, 21:51:44):
~#! rn=Myself rt=844174843
~#! tid=843519592
Warum muss ein Kleriker besser kaempfen koennen als ein Abenteurer ?
(gut, wer wuerde sonst schon in die Gilde gehen ist ein Argument) aber es geht
doch ums rollenspiel und die EP sind doch schliesslich genuegend (meiner
meinung nach eher mehr als dass) abgwertet worden...
Also ich denke man sollte mal darueber nachdenken, ob Gilden, die nicht
speziell aufs kaempfen ausgelegt sind  wirklich bessere Kaempfer hervorbringen
muessen als Abenteurer, vor allem wenn es keinen echten "Sinn" macht. Kleriker
sind fuer mich keine speziellen Kaempfer..
OrkT senft mal wieder.

-----------------------------------------------------------------------------



Re^8: Schwerter zu Keulen (Wargon,  2. Okt 1996, 11:09:44):
~#! rn=Myself rt=844174843
~#! tid=843519592
Das Problem durch einfaches Umschmieden zu loesen ist aber auch nicht der
Weisheit letzter Schluss, schon wegen der einiger schwertspezifischer
Sonderfunktionen (und wenn es nur die Meldungen sind, zB. bei ner
Schwertmeisterkeule: "Es gelingt Dir mit dem Schwert, ...").
Da sind die Magier eher gefragt, ihre Phantasie auch mal an anderen
Waffentypen auszulassen. Das waere sicher auch im Interesse der
Kaempfergilde...
Abgesehen davon ist "ein wenig besser dastehen" recht untertrieben; wenn man
die Faehigkeit perfekt beherrscht, schlaegt man (je nach Stats) wesentlich
staerker zu.
Ausserdem ist es ja nicht so, als ob man ueberhaupt nichts von den
"Sonderfunktionen" der Schwerter hat. Sie wirken halt nur nicht zu 100% (es
sei denn, man weiht die Waffe und setzt sie gegen Untote oder Daemonen ein).
  Wargon

-----------------------------------------------------------------------------



Re^9: Schwerter zu Keulen (Sharia,  2. Okt 1996, 16:07:16):
~#! rn=Wargon rt=844247384
~#! tid=843519592
Hi Brueder und Schwestern......
Lieber Wargon ......
Ich habe mich bisher schon ziemlich rausgehalten .. aber ich moechte behaupten
Wargon, dass das "sehr harte reinschlagen, wenn man seinen skill auf 100 %
hat" nen Witz ist :-)
Ich kann meine allgemeine Faehigkeit nach x stunden ueben immernoch nicht
besser als unterdurchschnittlich .....
Ich frage mich langsam wieviele Jahre ich da ueben muss :-)))
Achja: gibts es auch jemanden der einen Spell besser als hervorragend hat ? 
Gruss Sharia, die sich freuen wuerde, wenn es mehr Mags gaebe, die sich auch
andere Waffen ausser Schwertern aus den fingern saugen wuerden :-)

-----------------------------------------------------------------------------



Re^10: Schwerter zu Keulen (Atoz,  2. Okt 1996, 20:11:54):
~#! rn=Sharia rt=844265236
~#! tid=843519592
Hmm naja, immerhin wurde die Streitaxt in einen Streitkolben umgewandelt und
der ist auch noch einhaendig... *grummel*
Atoz Chaot aus Leidenschaft

-----------------------------------------------------------------------------



Re^11: Schwerter zu Keulen (Sharia,  2. Okt 1996, 20:12:53):
~#! rn=Atoz rt=844279914
~#! tid=843519592
ja Zardoz tut was fuer die Kleriker :) DANKE !!!
Naja er wuerde mehr tun wenn Wargon noch das weihen der waffen eingebaut
haette :-) 

-----------------------------------------------------------------------------



hmmmm... (Sharia,  4. Nov 1996, 11:44:09):
Hiho zusammen...
Ich weiss nichtmeh in welcher Rubrik der Artikel von Asmodis stand, der Inhalt
war so ungefaehr, dass er moechte, dass die Hohepriester UND die Erleuchteten
Posten in unserer Gilde ebenfalls "Magier-Zweiti-Frei" sind... 
Naja ihr wisst ich bin einer von diesen Mag-Zweitis aber ich denke solange
nicht alle Posten besetzt sind kann ich doch auch Erleuchteter bleiben oder ?
Von meinem Hohepriester-posten bin ich schon zurueckgetreten, auch wenn ich,
um diesen zu erreichen NICHT an mir herum manipulierte....
Frage: soll ich jetzt auchnoch den Erleuchteten Posten abgeben oder soll ich
meinen Erstie spielern lassen ? 
Sharia.......

-----------------------------------------------------------------------------



Re: hmmmm... (Wargon,  5. Nov 1996, 13:36:21):
~#! rn=Sharia rt=847104249
~#! tid=847104249
  Hi!
Also zumindest fuer die Kleriker sehe ich die Sache so:
- Magier sollten von den eingeschraenkten Raengen zuruecktreten. Sie koennen
sich danach immer noch den Gildenlevel "von Hand" setzen, ohne einen Platz in
der Liste einzunehmen.
- Fuer Testies gilt das gleiche, nur das hier halt der entsprechende Besitzer
den Gildenlevel setzen kann.
- Bei Magierzweities, d.h. bei Leuten, die nur in Abwesenheit ihres
Magierersties spielen, liegt die Entscheidung bei ihnen selbst.
Es besteht also fuer Magierzweities kein Ruecktrittszwang.
  Wargon

-----------------------------------------------------------------------------



neuen spells (Tanis, 16. Nov 1996, 22:15:48):
wann kommen sie denn? und was koemmt nun eigentlich? die rubrik ist so leer,
da frage ich mich, ob es die gilde ueberhaupt noch gibt. also schreibt mal
wieder was hier rein. ;)

-----------------------------------------------------------------------------



Re: neuen spells (Wargon, 18. Nov 1996, 10:51:54):
~#! rn=Tanis rt=848178948
~#! tid=848178948
Geruechten zufolge gibt es die Gilde noch. Rochus will sich den neuen Kram
aber erst ansehen, wenn die Kaempfer angeschlossen sind. Es kann sich also nur
noch um Jahre handeln :)
Bittgesuche bitte nicht in diese Rubrik oder an mich, sondern direkt an Rochus
schicken :))
  Wargon

-----------------------------------------------------------------------------



Re: Re: neuen spells (Bendeigid, 18. Nov 1996, 12:10:38):
~#! rn=Wargon rt=848310714
~#! tid=848178948
Frechheit!!!!
Natuerlich kommen die Kaempfer bald!!! Sehr bald, und dann wird die
Klerikergilde eigentlich nur noch aus historischen Gruenden angehaengt
bleiben, da alle Mitglieder endlich in die eizig wahre Gilde abwanderen> Die
Kaempfergilde!!!!

Z'par Servu, \
             Bendeigid


-----------------------------------------------------------------------------



Re^3: neuen spells (Sharia, 18. Nov 1996, 12:48:40):
~#! rn=Bendeigid rt=848315438
~#! tid=848178948
*taetschel Bendeigid* 

Na hoer mal Ben* wenn die Kaempfergilde sooo gut waere, dann waer sie schon
laengst angeschlossen :-).....
Also ICH werde meinem Lembold bestimmt nicht untreu werden :-)

Sharia, Hohepriesterin des Lembold

-----------------------------------------------------------------------------



Re^3: neuen spells (Zardoz, 18. Nov 1996, 14:54:42):
~#! rn=Bendeigid rt=848315438
~#! tid=848178948
Aeh, stimmt nicht, Bendeigid!

Die Kaempfer kommen dieses Jahr nicht mehr...


Ciao Zardoz

-----------------------------------------------------------------------------



Re^4: neuen spells (Sharia, 18. Nov 1996, 15:03:46):
~#! rn=Zardoz rt=848325282
~#! tid=848178948
d.h. wir koennen noch ewig warten bis wir an der Reihe sind ????
Och Rochus tu doch mal was fuer uns BITTEEEEE :-)
Sharia, flehend

-----------------------------------------------------------------------------



Hmm..... (Thasco, 18. Nov 1996, 15:10:03):
Gruess euch, Brueder und Schwestern!

Also, sind die neuen Spells so wichtig?? Ich finde, wir sollten uns erstmal
um unsere Papstwahl kuemmern!! (Nein, AUA, nicht schlagen Wargon!! :-))
Was gibts in der Hinsicht denn neues? 
Ach ja, ich haette da noch einen Vorschlag: Wie waer es, wenn wir in unserer
Gilde einen Prokurator haetten (NPC), der das Geld der Gilde verwaltet?
Man koennte als Mitglied der Gilde einzahlen und spaeter davon schoepfen!!
Soll heissen: Die, die an VIEL Geld kommen, koennen mehr einzahlen, Anfaenger
zum Beispiel weniger. Aber alle koennten von diesem Prokurator profitieren.
Man koennte zum Beispiel einmal pro Tag 20000 Muenzen abheben (falls dann mal
so ne Summe drinn ist...).
So koennten vor allem Anfaenger sich etwas ausstatten.... Aber der Vroschlag
ist Diskussionswuerdig..... Was meint ihr dazu?? 
Der Prokuartor als Anfaengerhilfe??

Mit bruederlichem Grusse
Bruder Thasco, Dekan

-----------------------------------------------------------------------------



Re^3: neuen spells (Tanis, 18. Nov 1996, 15:19:30):
~#! rn=Bendeigid rt=848315438
~#! tid=848178948
wers glaubt wird selig, ben :) ich habe da was vieeeeel schoeneres vor :) und
ich wette, es werden wohl dann alle in meine gilde kommen :)

-----------------------------------------------------------------------------



antworte (Raffi, 18. Nov 1996, 16:48:16):
Hmm Abheben ist fade, aber wie waers wenn die Stimmen zur Papstwahl im
verhaeltniss der Gesammteinzahlungssumme vergeben werden ? (Kann man
eigentlich das geld aus der Zentralbank transferieren Wargon ?)

Grins
H. 
(Raffi ueberlegt gerade ob er bei dieser aussicht nicht Kleriger werden soll.)

-----------------------------------------------------------------------------



Re: antworte (Lariel, 18. Nov 1996, 16:50:26):
~#! rn=Raffi rt=848332096
~#! tid=848332096
Origineller Artikelname, Raffi :-)

- Lariel Falkenflug, Inquisitor von Taramis
  (Mag solche Syntax-Typos...)

-----------------------------------------------------------------------------



Re: Hmm..... (Jasper, 18. Nov 1996, 18:16:00):
~#! rn=Thasco rt=848326203
~#! tid=848326203
es gibt doch schon ne bank im mg :)

-----------------------------------------------------------------------------



Re: Hmm..... (Wargon, 19. Nov 1996, 10:02:13):
~#! rn=Thasco rt=848326203
~#! tid=848326203
  Hi!
Den Prokurator gibt es schon, er heisst Inflatius und ist Herr der
Zentralbank. Alles Geld, das man im Orden los wird (seien es nun Spenden oder
der Bettelnonnen/moenchsablass) geht an die Zentralbank und wird von dort
regelmaessig an die Beduerftigen (sprich: Laeden) weitergegeben.
  Wargon
PS: Um Sachen wie die Papst-Wahl kuemmere ich mich erst, wenn die momentan
anstehenden Aenderungen drin sind.

-----------------------------------------------------------------------------



Also gut.... (Thasco, 19. Nov 1996, 18:01:57):
Hallo Brueder und Schwestern!
Also gut, den Prokurator gibt es schon, war ja auch nur ne idee...
Aber eine Ersti-Ausstattung mit Geld waere doch ne nette Idee, oder??

Gruss
Bruder Thasco, Dekan

-----------------------------------------------------------------------------



Berichtigung!!! (Thasco, 19. Nov 1996, 18:03:23):
Nee, ich meine eine Anfaenger-Ausstattung! :)
Sorry!
Gruss
Bruder Thasco

-----------------------------------------------------------------------------



Re: Berichtigung!!! (Morgoth, 20. Nov 1996, 07:34:00):
~#! rn=Thasco rt=848423003
~#! tid=848423003
Wieso richtet ihr (Wargon) nicht einen Raum ein, wo nur Kleriker hinein
koennen und die hoeheren Clerics Sachen ablegen koennen, damit sie, bei
badarf, dort 'ausgeliehen' werden koennen? 
Morgoth
P.S.: Die IDee ist aus dem TappMUD und voellig genial.

-----------------------------------------------------------------------------



Re: Re: Berichtigung!!! (Raindog, 22. Nov 1996, 16:36:04):
~#! rn=Morgoth rt=848471640
~#! tid=848423003
Einen Raum nur fuer Kleriker finde ich gut und wenn sich das machen liesse
dort was fuer Einsteiger abzulegen auch, wuerde unserer Gilde gut stehen. Aber
diesen Raum muesste man so gestalten, das die Bettelmoenche dort auch nicht
reinkoennen, sonst waere diese Gildenaaufgabe sinnlos (Spenden sollen ja
erbettelt werden, und wenns auch von Monstern ist und man manchmal schon sehr
nachdruecklich betteln muss :))).
q

-----------------------------------------------------------------------------



Klerikerraum? Find ich gut! (Thasco, 26. Nov 1996, 12:16:22):
Moin Brueder und Schwestern!

Also, dass mit dem Klerikerraum, das ist ne spitze Idee!! Das waere ganz nach
dem Sinn, den ich in meinen ach so unverstaendlichen Mails zum Ausdruck
bringen wollte! :)
Klar, Bettelmoenche muessten davon ausgenommen sein, aber ansonsten: PRIMA
IDEA!! :))

Mit lieben Gruessen

Bruder Thasco, Dekan

-----------------------------------------------------------------------------



Nostalgie (Wargon, 29. Nov 1996, 13:28:47):
Gerade beim Stoebern gefunden: Die Kleriker-Hilfeseite vom 28.10.94:
--------------------
MOENCHE: (beta) ;)
	Vor uralten Zeiten, noch lange ehe die MudGoetter diese Welt betra-
	ten, entstand in der Stadt Djelibeby der Heilige Orden. Seine An-
	haenger unterwarfen sich strenger Askese und dem Zoelibat, erfuhren
	dafuer von ihren Goettern aber auch Anerkennung in Form von (zumin-
	dest fuer hoehere Ordensmitglieder) maechtiger magischer Kraefte,
	die sie fast ausnahmslos zur Unterstuetzung anderer bzw. zum Selbst-
	schutz einsetzen.

	Zum Eintritt in den Orden muessen einige Bedingungen erfuellt sein.
	Zunaechst einmal darf der/die Eintrittswillige nicht verheiratet
	sein. Da man im Orden einem Zoelibat unterliegt, ist auch im nach-
	hinein eine Heirat ausgeschlossen.

	Zwerge werden ueberhaupt nicht in den Orden aufgenommen. Dies mag
	diskriminierend wirken, doch hat sich im Laufe der Ordensgeschichte
	herausgestellt, dass die Goetter von Gebeten, die im wesentlichen
	aus der Aneinanderreihung der Woerter "Gold", "Gold" und "Gold"
	bestanden, nicht sehr angetan waren, selbst wenn sie mit einem noch
	so inbruenstigen "Heiho!" abgeschlossen wurden.

	Weiterhin muss der potentielle Novize beim Eintritt in den Orden
	mindestens heilig sein, um ueberhaupt zugelassen zu werden. Beim
	weiteren Aufstieg innerhalb des Ordens zaehlen allerdings andere
	Werte.

	Dies fuehrt uns zur Ordenshierarchie:

	Man beginnt als Novize. Mit Eintritt in den Orden erwirbt man auto-
	matisch die Faehigkeit des Kampfes mit Staeben oder Keulen. Diese
	Faehigkeit ist anfangs noch nicht sehr ausgepraegt, bildet sich aber
	bei der alltaeglichen Anwendung immer weiter heraus. Die Zeit des
	Noviziats dauert mindestens sechs Stunden reine Spielzeit. Ausserdem
	ist zum Aufstieg mindestens Stufe 7 (erfahrene(r) Kaempfer(in))
	noetig.

	Der Aufstieg fuehrt zum Titel der Bettelnonne oder des Bettelmoen-
	ches. Nun darf man die Sprueche "Segne" und "Gesundheit" erlernen;
	sie sind jedoch nur auf andere Lebewesen anwendbar! In der Zeit
	als Bettelnonne/-moench hat man die Aufgabe, fuer die Kasse des
	Ordens aufzukommen. Fuer den weiteren Aufstieg muss man deshalb
	eine Summe von 100000 Muenzen sammeln und der Ordenskasse spenden.
	Man muss das Geld nicht auf einmal einzahlen, sondern kann seine
	Spenden nach und nach taetigen.

	Hat man dieses geschafft, so erhaelt man den Rang des Wanderpredi-
	gers/der Wanderpredigerin. In dieser Position kann man heirats-
	willige Spieler miteinander verheiraten sowie die Sprueche "Heile"
	und "Entfrosche " erlernen. Diese Sprueche koennen wiederum nur auf
	andere angewandt werden. Um zur naechsten Stufe aufsteigen zu duerfen,
	muss man drei gute Taten vollbringen (leichte, mittlere und schwerere
	Quest).

	Damit wird man zum Priester/der Priesterin. Als Zugabe erhaelt man
	eine weitere Faehigkeit, mit deren Hilfe man die Sprueche "Heile",
	"Gesundheit" und "Entfrosche " auch auf sich selbst anwenden kann.
	Weiterhin darf man nun auch die Sprueche "Entgifte" und "Blitz"
	lernen. Fuer den Normalsterblichen ist die Ordenskarriere hiermit
	beendet. Um weiter aufzusteigen, muss man den Spielerstatus eines
	Sehers haben.

	Als Erleuchtete(r) betritt man die Fuehrungsriege des Heiligen Or-
	dens. In dieser Position hat man jedoch nicht nur Rechte, sondern
	auch Pflichten. Die muss ich mir allerdings noch ueberlegen...
	Erleuchtete koennen die Sprueche "Heiltrank" und "Schutzhand" er-
	lernen.
	Aus den Reihen der Erleuchteten wird der Hohepriester des Ordens
	bestimmt.

	Der Hohepriester schliesslich steht an der Spitze des Heiligen Or-
	dens. Es gibt immer nur EINEN Hohepriester. Der Hohepriester hat
	vor allem bei den Spruechen "Heiltrank" und "Schutzhand" erweiterte
	Moeglichkeiten.
	Zur Ernennung des Hohepriesters muss ich mir auch noch Gedanken
	machen...

SIEHE AUCH:
	blitz, entfrosche, entgifte, gesundheit, heile, heiltrank,
	schutzhand, segne

--------------------
Hach ja, die gute alte Zeit... :)
  Wargon

-----------------------------------------------------------------------------



Re: Nostalgie (Myself,  2. Dez 1996, 18:01:30):
~#! rn=Wargon rt=849270527
~#! tid=849270527
Wenn ich das so lese, kommt mir eine Frage:

Muss ich nun aus dem Orden austreten?

Myself,   der hohepriesterliche Zwerg

-----------------------------------------------------------------------------



Re: Re: Nostalgie (Sharia,  2. Dez 1996, 21:14:11):
~#! rn=Myself rt=849546090
~#! tid=849270527
hmm ich wuerde sagen Myself du bist gerade so geduldet... :-)

Sharia, hohepriesterliche Elfe, die Myself gerade so toleriert :-)

-----------------------------------------------------------------------------



SAUERREI !!! (Sharia, 10. Dez 1996, 01:31:54):

Was faellt Chilana eigentlich ein ????
[Tod:Lars] Die stinksaure Chilana hat gerade GUILD.klerus umgebracht.
Das haette doch gereicht oder :
[Tod:Die stinksaure Chilana] Ich hab Sharia gewarnt, aber sie wollte einfach
[Tod:Die stinksaure Chilana] nicht hoeren. 01:18:55>
[Tod:Lars] Die stinksaure Chilana hat gerade Sharia umgebracht. 01:18:55>
[Tod:Die stinksaure Chilana] Ich hab ein Abbild Sharias gewarnt, aber es
[Tod:Die stinksaure Chilana] wollte einfach nicht hoeren. 01:18:57>

Sharia, alle Kleriker dazu aufrufend Chilana zu toeten !!!!
RACHE !!!

-----------------------------------------------------------------------------



Re: SAUERREI !!! (Wargon, 10. Dez 1996, 09:24:23):
~#! rn=Sharia rt=850177914
~#! tid=850177914
Naja, dafuer bringt Chilana aber auch oft genug Silvana um. Und das sogar,
wenn sie gar nicht eingeloggt ist :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: SAUERREI !!! (Methedras, 10. Dez 1996, 10:55:08):
~#! rn=Wargon rt=850206263
~#! tid=850177914
Wieso Chilana? Ich dachte, das war Lhana mit dem Ring der
... . Oder hab ich was verpasst, Wargon?

      *smile & murmel was von 'Erzies'*    Methedras

-----------------------------------------------------------------------------



Re^3: SAUERREI !!! (Wargon, 10. Dez 1996, 11:01:12):
~#! rn=Methedras rt=850211708
~#! tid=850177914
Ach ja, stimmt ja...
NIEDER MIT CHILANA! :))

-----------------------------------------------------------------------------



Spenden .... (Sharia, 16. Dez 1996, 20:19:31):
Man kann ja in der Kapelle spenden um heilig zu werden, aber bei uns in
unserem Orden kann man das nicht ... schade eigentlich, denn ich wuerde gerne
unserem Orden etwas gutes tun!!! Also Wargon was haelst du davon nen
Opferstock oder eine Spendenschale bei uns aufzustellen, wo man dann auch
heilig werden kann ???... 
Sharia die Hohepriesterin des Lembold die endlich ihr allgemeinen Faehigkeiten
auf 100 % hat ......

-----------------------------------------------------------------------------



Gebet (Bottom, 17. Dez 1996, 19:16:05):

Brueder und Schwestern!

Da wir zur Wahrung unserer Anrufungen staendig Staerkung im Gebet suchen
muessen, sollte uns Saphina dabei etwas entgegenkommen - wie waere es daher,
wenn mann waehrend des Gebets schneller regeneriert? Wir sollten zu Saphina
beten - vielleicht gelingt es ihr, Wargon dahingehend zu beeinflussen. ;-)

Bottom - idlet in letzter zeit einfach zu langsam

-----------------------------------------------------------------------------



Typo (Bottom, 17. Dez 1996, 19:17:57):
Ich streich noch schnell ein "n" aus dem vorgehenden Artikel, damit sich keine
Schwester diskreminiert zu fuehlen braucht! ;-)

-----------------------------------------------------------------------------



Re: Typo (Sharia, 17. Dez 1996, 20:59:05):
~#! rn=Bottom rt=850846677
~#! tid=850846677
Brav Bottom, Brav !!!:-)
Achja ich bete meist lieber zu Lembold auch wenn er mich letzens gekillt hat
:-(((
Sharia.

-----------------------------------------------------------------------------



Fernwest ... (Gloin, 18. Dez 1996, 01:30:26):
Die Karawane zum Wald erreicht den Sammelplatz am Rande des Waldes.
Du betest vor Dich hin: Gold, Gold, Gold, Gold, Gold, ...
Der Karawanenfuehrer bruellt: So, alle raus! Pause und Rast!

Aua - mitten beim Beten vom Kamel geschmissen :)

Gloin

-----------------------------------------------------------------------------



Aus den Heiligen Schriften (Wargon, 13. Jan 1997, 09:47:37):
[...]

Und es begab sich, dass unter den Bruedern und Schwestern des Heiligen Ordens
ein lautes Wehklagen anhub, denn sie waren mit den Anrufungen, die sie an die
Goetter richten konnten, nicht mehr zufrieden.

Und so wandten sie sich an Wargon den Behueter, auf dass er ihr Begehren  nach
weiteren Anrufungen den Goettern unterbreite,  denn,  so  meinten  sie,  durch
Gebete allein wuerde den Goettern  ihr	Beduerfnis  nach  groesserer  Vielfalt
nicht eindringlich genug dargelegt.

Und die Goetter hatten ein Einsehen mit den Bruedern und Schwestern des Heili-
gen Ordens, und sie beratschlagten und kamen zu folgendem Entschluss:

Lembold der Erschaffer verleiht Kuraten und Kuratinnen die Moeglichkeit,  sich
mittels eines 'elementarschild'es gegen Angriffe elementarer Natuer zu schuet-
zen.

Kandri die Gerechte stellt Wanderpredigern und Wanderpredigerinnen als Ergaen-
zung zum 'blitz' auch noch einen 'donner' zur Verfuegung.  Der  'blitz'  wurde
in der Wirkung ebenfalls um einen Donner bereichert.

Saphina die Heilerin leiht schon Bettelmoenchen und Bettelnonnen bei ihrem Ruf
nach 'sonnenschutz' Gehoer. Weiterhin wird durch die  Anrufung  'kuriere'  nun
auch ein Sonnenstich geheilt.

Und die Goetter beschlossen weiterhin, dass  nur  ihre	Hohepriester  'wunder'
wirken duerften. Die Erleuchteten des Lembold koennen als Ausgleich nun  einen
goettlichen 'beistand' erflehen.

Die Goetter betrachteten ihr Werk, und sie sahen, dass es gut war.

Doch ach! Bevor diese Aenderungen durch Wargon den Behueter an die Ordensleute
weitergegeben wurden, erhob Rochus der Begutachter  das  Wort  und  verlangte,
dass man ihm die Neuerungen vorlege.

Und die Goetter erkannten Rochus als neutrale Instanz an und  legten  ihm  die
Neuerungen vor.

Und Rochus der Begutachter versprach, die Neuerungen baldmoeglichst zu	begut-
achten.

Und die Zeit verstrich, und nichts geschah.

Und die Brueder und Schwestern des Heiligen Ordens begannen abermals  zu  mur-
ren, denn sie dachten, die Goetter haetten sie vergessen.

Doch die Goetter bemerkten den Unmut, und sie wandten sich an Rochus  den  Be-
gutachter.

Und Rochus der Begutachter sprach: "Ueber Weihnachten!"

Und die Zeit verstrich, und nichts geschah.

Und wieder wandten sich die Goetter an	Rochus	den  Begutachter,  und	wieder
sprach dieser: "Naechste Woche!"

Da wurde Saphina die Heilerin von Zorn erfuellt.

Und Saphina die Heilerin sprach: "Nun beeile Dich, Rochus,  denn  sonst  werde
ich Deine Cola in reines Quellwasser verwandeln. Das Zeug  ist	sowieso  unge-
sund!"

Und Rochus der Begutachter sprach: "Argh!"

Und Rochus der Begutachter tat seine Pflicht, und schon am uebernaechsten  Tag
konnte er den Goettern berichten, dass er die Neuerungen fuer gut befand.

Und so ueberliessen die Goetter Wargon dem Behueter die Neuerungen, und Wargon
gab sie sogleich an die Ordensleute weiter.

[...]

(Quelle: Das Buch der Ergaenzungen, Kapitel 2)


-----------------------------------------------------------------------------



Nachtrag (Wargon, 13. Jan 1997, 09:50:55):
  Hi!
Wie ihr seht, sind die Neuerungen jetzt drin. Als Folge der neuen Anrufungen
nimmt eure Gildeneinstufung etwas ab, als wundert euch nicht, wenn euch
Stufenpunkte abhanden kommen.
Naeheres zu den Anrufungen findet ihr im Buch der Sprueche und in den
Hilfeseiten.
  Wargon
PS: Die Moeglichkeit, die Faehigkeit der allgemeinen Anrufung abzuschalten,
ist zwar schon implementiert, aber noch nicht angeschlossen. Ich muss dazu
erst noch nen passenden Verteiler proggen :) (Kommt aber bald)

-----------------------------------------------------------------------------



Neue Anrufungen (Bottom, 14. Jan 1997, 20:04:11):
 Pax vobiscum, Brueder und Schwestern!
 Nach langem Flehen wurden unsere Gebete also doch noch erhoert. Dafuer sei
ihnen unser Dank gewiss! Besonderer Dank gilt aber auch und vor allem unserm
Fuersten Wargon! Er hat das scheinbar Unmoegliche doch noch vollbracht. Und
dann treff ich ihn auch noch persoenlich im Tempel (*stolz*). Wir haben ein
bischen ueber die Gilde und das Leben, ueber den Glauben und ueber
Sumpfdrachen geplaudert. Tja und dann hat er noch ein gutes Wort bei Lembold
fuer mich eingelegt - dafuer schulde ich ihm besonderen Dank! Vielleicht kann
ich seinem Sumpfdrachen ja mal ein paar Zentner Wasserlinsen durch fleurop
zuschicken lassen...

Bottom - benoetigt den Beistand Lembolds schon lange - endlich kriegt er ihn!

-----------------------------------------------------------------------------



Nachtrag (Bottom, 17. Jan 1997, 19:06:08):
 Schwestern und Brueder!

Nach den ersten Tests der neuen Anrufungen, moechte ich unserem Fuersten
Wargon ein dickes Lob aussprechen - grosse Klasse was er da fabriziert hat!!!
Anscheinend haben meine Gebete geholfen...Lembold muss ihm erschienen sein... 

Bottom ;-)

-----------------------------------------------------------------------------



donner (Flora, 21. Jan 1997, 09:16:47):

Aehem, wie ist es eigentlich, wen man mal donnert und dabei ein player mit
draufgeht; ist das ein PK?

just wondering,
Flora

-----------------------------------------------------------------------------



Re: donner (Wargon, 21. Jan 1997, 09:51:23):
~#! rn=Flora rt=853834607 rg=gilden.klerus
~#! tid=853834607
Der Schaden, den der Donner bei Spielern anrichtet, ist nicht toedlich.
  Wargon

-----------------------------------------------------------------------------



(Kleine) Ode an den Fuerst (Thasco, 21. Jan 1997, 12:47:58):
Oh Fuerst wir danken Dir!
Du bist es, der unser Flehen den Goettern nahebringt!
Du bist es, der den Goettern Verstaendnis vermittelt
und auch Du bist es, den wir deshalb verehren!
Moegest Du in aller Ewigkeit dem Wohlgefallen der Goetter ausgesetzt sein.
Moegest Du derjenige sein, den Mana und Honig zu Haufe kommen!
Moegest Du der sein, den wir auch in Tausenden von Jahren als den Schoepfer
und Hueter unserer Gilde betrachten. 
In Ewigkeit
Amen!

geschr. zu Mainz
Bruder Thasco, der (wohl ewige) Diakon.
Moege Hans der Meiser und Ilona die Christen uns wohlgesonnen sein.

-----------------------------------------------------------------------------



In Ewigkeit... (Bottom, 23. Jan 1997, 16:58:42):

Moegest Du der sein, den wir auch in Tausenden von Jahren als den Schoepfer
und Hueter unserer Gilde betrachten???
Soll das etwa heissen, ich muss hier noch ewig mudden??? Was wird meine Frau
einmal dazu sagen? Wie soll ich das meinen Kindern dereinst erklaeren? 
Lembold sei mir gnaedig!

Bottom - sorgt sich um's RL ;-)

-----------------------------------------------------------------------------



Re: In Ewigkeit... (Mupfel, 23. Jan 1997, 18:08:04):
~#! rn=Bottom rt=854035122 rg=gilden.klerus
~#! tid=854035122
Nein Du kannst natuerlich jederzeit aufhoeren - kannst Du das wirklich??? :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: In Ewigkeit... (Sharia, 23. Jan 1997, 18:09:35):
~#! rn=Mupfel rt=854039284 rg=gilden.klerus
~#! tid=854035122
och noeeeeeeee
nee Bottom nicht aufhoeren, dann gibbet ja noch weniger Lembold-Erleuchtete
!!!
Sharia.

-----------------------------------------------------------------------------



Re: Aus den Heiligen Schriften (Myself, 24. Jan 1997, 21:51:26):
~#! rn=Wargon rt=853145257 rg=gilden.klerus
~#! tid=853145257
Liebe Mit-Schwestern und -Brueder, Edler Fuerst,

mit grosser Freude und Dankbarkeit habe ich die Erhoerung
der klerikalen Wuensche durch die Goetter und die 'neutralen
Instanzen' aufgenommen!
Nach etlichen Dankgebeten und Huldigungen aber nochmal 2 Vorschlaege:
1. wie waere es mit einer Erweiterung der 'Elementar-sprueche',
i.e. Elementarschild und -sphaere; immerhin sind diese recht teuer
(so etwa 45 MPs pro Spruch) und in ihrer Wirkung auf Standard-DTs
beschraenkt.  Ich plaediere fuer einen Ausbau der Vielfalt der
schadenstypen - imho sollte jede Gilde (d.h. nicht nur die Kleriker)
ueber ihr eigene Schadens- (bzw. Schutzmoeglichkeiten) verfuegen.
Speziell fuer die Kleriker, die ja bekanntlich Experten zum Thema
Krakheiten sind, wuerde sich etwas in dieser Richtung anbieten.
-es lebe die Vielfalt!
2. Ich wuerde es weiterhin sehr begruessen, wenn es die Moeglichkeit
gaebe, einen Gilden-Gruppen-Spruch anzuwenden.  Also, z.B. 'kreuzzug'
ab 3 Kleriker -was immer das fuer Vorteile haette.  Ich denke, die
Kaempfer bieten eine Menge Anschauungsmaterial in diese Richtung,
und faende gerade fuer eine so geschwisterliche Gemeinde wie die
Kleriker einen entsprechenden Spruch (muss nix dolles sein -ist
hauptsaechlich fuer gemeinsamen Spielspass gedacht) besonders
hilfreich.

Oh Ihr Goetter, moeget Ihr, nachdem Ihr Eure Ohren endlich aufgetan
habt, auch weiterhin dem Flehen und den Bitten der Glaeubigen
mit Freundlichkeit und Wohlwollen entgegensehen.

Gruss,

Bruder Myself

-----------------------------------------------------------------------------



Re: Re: Aus den Heiligen Schriften (Fyt, 25. Jan 1997, 04:12:50):
~#! rn=Myself rt=854139086 rg=gilden.klerus
~#! tid=853145257

Genau, es wird Zeit, dass sich Karateka gegen Saeure wehren koennen.

Fyt.

PS: Genau. Ab nch Schmarrn.

PPS: kzeptiert doch ml die Gilden in ihrer Beschraenktheit. Das macht die
Sache interessant. Oder hb ich Patryn falsch verstanden, dass ihm das
Spielen nicht mehr so viel Spass gemcht ht, als er alle Monster zappen
konnte?

-----------------------------------------------------------------------------



Re^3: Aus den Heiligen Schriften (Hood, 26. Jan 1997, 21:10:59):
~#! rn=Fyt rt=854161970 rg=gilden.klerus
~#! tid=853145257
das mit dem gefahrlosen zappen war nen bug, genauso meine rein theorietisch
unendlich hohe misc-ruestung u.s.w.
das problem der jetzigen magie-orientierten gilden ist eigentlich nur die
sehr grosse vielfalt an spells, ein spell allein bringt kaum
nennenswerte vorgaenge, aber es laesst sich frad in der zauberergilde nur
noch sehr schlecht ueberpruefen, wie die spells gemeinsam wirken.

------
patryn

-----------------------------------------------------------------------------



Re^4: Aus den Heiligen Schriften (Hood, 26. Jan 1997, 21:12:28):
~#! rn=Hood rt=854309459 rg=gilden.klerus
~#! tid=853145257
typo-log-file: vorgaenge -> vorzuege, frad -> grad :)

-----------------------------------------------------------------------------



Re^4: Aus den Heiligen Schriften (Fyt, 27. Jan 1997, 20:00:28):
~#! rn=Hood rt=854309459 rg=gilden.klerus
~#! tid=853145257

Naja, ich bin generell dafuer, lieber zwei kliene Gilden irgendwo
ufzumachen, als den Ich-kill-sie-alle-Wummer irgendwo hinzustellen.

Fyt.

PS: Eine der interessanteren Sachen an der Karategilde ist das fehlende
Feuer. Naja, es gibt genuegend Ersatz... Aber ohne Zauberstab/Pfirsiche
koennte man immer noch leben...


-----------------------------------------------------------------------------



Wie waers denn mit.... (Thasco, 28. Jan 1997, 16:22:12):
Gruess euch, Brueder und Schwestern!
Gruess Dich, oh Fuerst!

Ich hab das eben mit der Kreuzzugsidee von Myself gelesen und da kam mir
spontan folgender Vorschlag (ist wirklich nur erstma ne Idee!!):
Der Kreuzzug muss von jedem Gruppenmitglied, der im uebrigen Kleriker sein
muss, gesprochen werden. Dabei muss die Person angegeben werden, auf die sich
der Spruch konzentrienen muss.
Beispiel: kreuzzug myself => Myself waere die von diesem Spruch profitierende
Person. Die Person, die von diesem Spruch profitiert muss selber KEIN Kleriker
sein!!
Der Spruch bewirkt dann im uebrigen, dass die Person, auf die der Spruch
gesprochen wurde, die Magiepunkte der Zaubernden mitbenutzen kann. 
Alles im Rahmen natuerlich, will heissen: Man muesste, so wie bei den
Lebenspunkten, eine Magiergrenze einrichten koennen, bis zu der die Punkte
runtergehen. 
Wie gesagt, das ist mal so ne Idee....
Waere uebrigens ganz witzig fuer andere Charactere, wie Zauberer oder
Karateka!

Gruss
Bruder Thasco
Dekan

-----------------------------------------------------------------------------



Re: Wie waers denn mit.... (Sharia, 28. Jan 1997, 23:47:01):
~#! rn=Thasco rt=854464932 rg=gilden.klerus
~#! tid=854464932
hmmmm irgendwie relativ sinnlos, denn die Kleriker haben eh immer zu wenig
mp... ausserdem: das unterstuetzt nur, dass die Kleriker als
"ich-hab-nen-zweiti-den-ich-mitnehm-damit-der-mich-heilt"-Zweitis verwendet
werden... und DAGEGEN wehre ich mich !!! :-))))

Sharia, Klerikerin aus Ueberzeugung....

-----------------------------------------------------------------------------



Re: Re: Wie waers denn mit.... (Asmodis, 29. Jan 1997, 02:26:31):
~#! rn=Sharia rt=854491621 rg=gilden.klerus
~#! tid=854464932
Och, mein Kleriker ist das gewoehnt, der meckert nicht mehr,
wenn er nicht mitkaempfen darf :)

-----------------------------------------------------------------------------



Re^3: Wie waers denn mit.... (Sharia, 29. Jan 1997, 11:05:22):
~#! rn=Asmodis rt=854501191 rg=gilden.klerus
~#! tid=854464932
pah ! 
Das ist ein Missbrauch dieser schoenen Gilde !!!!

Sharia :-)

-----------------------------------------------------------------------------



Re^4: Wie waers denn mit.... (Wargon, 29. Jan 1997, 11:31:25):
~#! rn=Sharia rt=854532322 rg=gilden.klerus
~#! tid=854464932
  Hi!
Die "Gruppenidee" an sich hat schon was fuer sich, auch wenn natuerlich die
Gefahr besteht, dass dadurch das Zweitieunwesen noch weiter gefoerdert wird :)
Bei der Ausfuehrung gaebe es dann natuerlich mehrere Moeglichkeiten, zB. eine
Gruppe aus mehreren Klerikern, die dann in eine Art Trance verfallen, oder ein
Kleriker, der eine Gruppe von Nichtklerikern um sich schart, o.ae.
Wie das ganze dann implementiert wird (wenn ueberhaupt :) ist natuerlich eine
andere Frage; das Spellbook der Kleriker betrachte ich zumindest als
abgeschlossen.
  Wargon

-----------------------------------------------------------------------------



Re^5: Wie waers denn mit.... (Sharia, 29. Jan 1997, 11:57:37):
~#! rn=Wargon rt=854533885 rg=gilden.klerus
~#! tid=854464932
abgeschlossen ???? *heul*
Sharia, die auf neue wunder hoffte...

-----------------------------------------------------------------------------



Re^6: Wie waers denn mit.... (Wargon, 29. Jan 1997, 12:02:27):
~#! rn=Sharia rt=854535457 rg=gilden.klerus
~#! tid=854464932
Ich meinte, was die Zahl der Anrufungen angeht. Die bestehenden (insbesondere
Wunder) werden natuerlich weiterhin gewartet/ergaenzt/getunt.
  Wargon

-----------------------------------------------------------------------------



Wie waer's denn mit... (Bottom, 30. Jan 1997, 14:57:41):

Tuning tut Not! Mein Schutzengel ist irgendwie ein bischen lauffaul - den
wuerd ich aber ganz gerne bei Gelegenheit als Begleitung in meiner naehe
wissen...das Leben als Kleriker ist doch voller Gefahren...Wie waere es denn,
wenn man den Schutzengel wie den Phoenix mitnehmen koennte?!

Bottom - fuehlt sich ohne Schutzengel immer so alleingelassen.

-----------------------------------------------------------------------------



Arkshat (Bottom, 30. Jan 1997, 15:20:05):

Brueder und Schwestern!

Zu meinem Leidwesen ist es mir in letzter Zeit mehr als einmal passiert, dass
Arkshat gerade einen Besuch bei Lars machte - ausgerechnet immer dann, wenn
ich den weiten und beschwerlichen Weg durch die glutheisse Wueste hinter mich
gebracht hatte. Um solchem Unbill zumindest etwas vorzubeugen, schlage ich
vor, Arkshat ein paar faehige Tempeldiener zur Seite zu stellen. Schliesslich
sieht man diese Diener ja sowieso immer geschaeftig im Hintergrund rumwuseln
und murmeln.Diese "Schweizer Gardisten" sollten vielleicht im Falle eines
Angriffs auf Arkshat gemeinsam mit ihm den Ketzer zurechtweisen!

Bottom - sorgt sich um den Verfall der Werte in heiligen Hallen.

-----------------------------------------------------------------------------



Re: Arkshat (Sharia, 30. Jan 1997, 18:19:34):
~#! rn=Bottom rt=854634005 rg=gilden.klerus
~#! tid=854634005
Also Arkshat etwas widerstandfaehiger zu machen ist keine schlechte idee, aber
den Schutzengel mitzunehmen ??? waere klasse, klar, aber vielleicht etwas ZU
gut !!! naja wenn der Phoenix richtig funzt, isses vielleicht auch damit getan
oder ??? 

Sharia, die ihr eigener Schutzengel gekillt hat.

-----------------------------------------------------------------------------



Re: Re: Arkshat (Kalliope, 30. Jan 1997, 19:24:30):
~#! rn=Sharia rt=854644774 rg=gilden.klerus
~#! tid=854634005

Schwestern und Brueder, ich ziehe in Zweifel, dass uns die Goetter weiter
wohlgesonnen bleiben werden, wenn wir sie um beweglichere Schutzengel bitten.
Sollten wir nicht von morgens bis abends Lembold loben und preisen dafuer, 
dass der feurige Phoenix uns begleitet? Denket an unsere armen chaotischen
Mitlebewesen, sie muessen staendig auf der Hut vor ihren daemonischen
Begleitern sein, denn diese sind hinterhaeltig und greifen in ihrer
Niedertraechtigkeit auch ihren Herrn an!
Seien wir nicht zu anspruchsvoll, auf dass wir den Goettern nicht
ueberdruessig werden, gestehen wir uns ein, dass wir schon mehr geschenkt
bekamen, als unseren armen suendigen Seelen zusteht...

Moege Kandri uns beschuetzen, Saphina uns gesund erhalten und Lembold die
noetige Kraft schenken, unsere Seelen rein zu halten,
    Kalliope


-----------------------------------------------------------------------------



Re^3: Arkshat (Sharia, 31. Jan 1997, 10:57:32):
~#! rn=Kalliope rt=854648670 rg=gilden.klerus
~#! tid=854634005
Wohlan, liebe Kalliope, welch weise Worte muss ich aus dem Eurigen Munde
vernehmen? Meine Wenigkeit preist die Goetter die meiste Zeit des Tages ob des
wunderbarlichsten Geschenkes welches sie uns bereiteten. 

Sharia, deren Seele von Lembold freigehalten wird.

-----------------------------------------------------------------------------



Re^4: Arkshat (Mupfel, 31. Jan 1997, 14:33:15):
~#! rn=Sharia rt=854704652 rg=gilden.klerus
~#! tid=854634005
Himmel was ein Geschwafel :-)
Zur 'Schweizergarde': Dem allgemeinen Trend folgend, koennten das ja Kaempfer
sein... nein aua nicht hauen... :-)

-mupfel-

-----------------------------------------------------------------------------



Re^5: Arkshat (Wargon, 31. Jan 1997, 14:36:20):
~#! rn=Mupfel rt=854717595 rg=gilden.klerus
~#! tid=854634005
Hm, vielleicht sollte ich mal einen "Wir stellen ein:"-Artikel nach
gilden.kaempfer schreiben :)
  Wargon

-----------------------------------------------------------------------------



Re^6: Arkshat (Thasco,  3. Feb 1997, 12:08:46):
~#! rn=Wargon rt=854717780 rg=gilden.klerus
~#! tid=854634005
Hee, Wargon, das waere doch mal ne Gute Idee!!
Wir suchen:
Faehige Kaempfer, die unseren Gildenhueter bewachen
Bezahlung: Keine, ist fuer einen guten Zweck! :)
Voraussetzung: Keine, ist ja fuer n guten Zweck! :)))))
Gruss
Bruder Thasco, der (ewige) Dekan
-sponsored by Klerus
**#
Ich hasse diese Tastatur! ;-))

-----------------------------------------------------------------------------



Re^7: Arkshat (Asmodis,  3. Feb 1997, 12:33:34):
~#! rn=Thasco rt=854968126 rg=gilden.klerus
~#! tid=854634005
Tja, ich wuerde ja helfen, aber PKs sind verboten :)

-----------------------------------------------------------------------------



Re^7: Arkshat (Snuggle,  3. Feb 1997, 16:38:21):
~#! rn=Thasco rt=854968126 rg=gilden.klerus
~#! tid=854634005
Klar werden die bezahlt.. Kann ne Gildenquest werden, dann kommen 
bestimmt ein paar vorbei.
(wenn sies finden :-) )

gruss
snug

-----------------------------------------------------------------------------



Re^8: Arkshat (Lariel,  4. Feb 1997, 18:38:06):
~#! rn=Snuggle rt=854984301 rg=gilden.klerus
~#! tid=854634005
Au ja, und dann proggt Wargon ein paar Mega-Monster,
um die gegnerische Gilde zu dezimieren... So was ala 
Hydra, Weghier und Etwas. Und abhauen ist natuerlich 
erst recht nicht (Was ein echter Trves ist...)

- Lariel Mondschatten von SalaMandra
  (Trves aus Leidenschaft - Aendert den Namen wie's Hemd...)

-----------------------------------------------------------------------------



Re: Arkshat (Bottom,  5. Feb 1997, 19:45:02):
~#! rn=Bottom rt=854634005 rg=gilden.klerus
~#! tid=854634005
Brueder und Schwestern!
Edler Fuerst (oder war's dunkler?)!

Ganz selbstverstaendlich sind auch Trves als Gardisten fuer Arkshat willkommen
- es duerfen aber keine Stuemper sein! Und nicht zu vergessen sollten sie
glaeubige Anhaenger Lembolds sein!!! Man koennte sie auch ehrenhalber in den
Orden aufnehmen - als Bettelmoenche kaemen ihre Leistungsbezuege dem Orden
direkt wieder zu gute.

Bottom - ist sehr an einer schnellen und pragmatischen Loesung gelegen.

-----------------------------------------------------------------------------



Re: Re: Arkshat (Predator,  7. Feb 1997, 09:05:54):
~#! rn=Bottom rt=855168302 rg=gilden.klerus
~#! tid=854634005
aber welche trves sinken schon so weit, dass sie klerikern dienen

-----------------------------------------------------------------------------



atrikel (Bluemel, 11. Feb 1997, 15:36:32):
Vielleicht solltet ihr in eurer Gilde mal Gebetsmuehlen einfuehren, so dass
man doppelt so schnell beten kann ( sozusagen beidhaendig).
Es ist naemlich extrem nervig, wenn Bottom neben mir stundenlang seine Seele
laeutert und rumbetet, statt mir beim metzeln zu helfen !
Ok - ab nach Schmarrn
Bluemel ( wollt auch mal was schreiben )

-----------------------------------------------------------------------------



Bettelmoench ... (Mahatmu, 11. Feb 1997, 22:06:47):
... will Spell betteln, der keinen weiterlaesst, bevor er nicht
einen Gegenstand im werte vom 10k gespendet hat :)

kleiner Bruder

-----------------------------------------------------------------------------



Re: Bettelmoench ... (Hadra, 11. Feb 1997, 22:09:51):
~#! rn=Mahatmu rt=855695207 rg=gilden.klerus
~#! tid=855695207
das koennte die pk-rate hier im mud durchaus drastisch erhoehen ;)

hadra - boeses ahnend

-----------------------------------------------------------------------------



Heilige Scheisse .... (Sharia, 12. Feb 1997, 02:22:59):
ENDLICH !!!!

Sharia, dankt Wargon (wenns auch noch etwas verbesserungswuerdig ist...)

-----------------------------------------------------------------------------



Re: Heilige Scheisse .... (Bottom, 12. Feb 1997, 19:49:43):
~#! rn=Sharia rt=855710579 rg=gilden.klerus
~#! tid=855710579

Aehm...ja - grundsaetzlich stimme ich Dir da voll und ganz zu, Schwester
Sharia...aber um was ging es gleich nochmal???

-----------------------------------------------------------------------------



Ruecktritt (Wargon, 20. Feb 1997, 15:18:21):
  Hi!
Wenn ein Hohepriester oder Erleuchteter auf den Posten des Kuraten
zuruecktritt, so kann er jetzt erst fruehestens zwei Wochen spaeter wieder
aufsteigen (das gilt nicht, wenn man von einem aufsteigenden Kuraten von
seinem Posten verdraengt wurde).
  Wargon

-----------------------------------------------------------------------------



Fauler Phoenix (Wargon,  5. Mar 1997, 14:22:33):
  Hi!
Lembolds Erleuchtete werden es schon gemerkt haben: Der Phoenix reagiert
nicht, wenn man zB. in einen Raum mit einem aggressiven Monster kommt.
Der Grund: Das liebe Federviech ist ziemlich behaebig.
Die Abhilfe: Man muss ihn treten, das motiviert ihn so sehr, dass er wieder
mit kaempft.
  Wargon

-----------------------------------------------------------------------------



Re: Fauler Phoenix (Sharia,  5. Mar 1997, 14:44:43):
~#! rn=Wargon rt=857568153 rg=gilden.klerus
~#! tid=857568153
Danke Wargon :-)

Er macht dann KEIN Beleidigtes Gesicht und haut ab ? :-)

Sharia, endlich Phoenix testend...

-----------------------------------------------------------------------------



Re: Fauler Phoenix (Sharia,  5. Mar 1997, 15:58:28):
~#! rn=Wargon rt=857568153 rg=gilden.klerus
~#! tid=857568153
hmm aber IMMER scheint das nicht zu gehen oder ? :-)
 
Sharia, sich wundernd.

-----------------------------------------------------------------------------



Re: Re: Fauler Phoenix (Bottom, 18. Mar 1997, 20:30:41):
~#! rn=Sharia rt=857573908 rg=gilden.klerus
~#! tid=857568153

Nein, Schwester, der Phoenix haut nicht ab, reagiert aber anscheinend leicht
pikiert und verweigert demgemaess die Mitarbeit im Kampf. Musste das Vieh
schon ein paarmal entlassen und mir dafuer den Schutzengel rufen...eine
Unschoene Geschichte ist das...
Edler Fuerst, Ihr habt dem Phoenix die Fluegel gestutzt - koennt Ihr die nicht
wieder wachsen lassen? Ich bitte Lembold instaendig darum!

Bottom - will seinen gefluegelten Begleiter zurueck.

-----------------------------------------------------------------------------



Re: Re: Fauler Phoenix (Sharia, 18. Mar 1997, 22:57:13):
~#! rn=Sharia rt=857573908 rg=gilden.klerus
~#! tid=857568153
Bottom: (und auch andere die gerne den Phoenix bei sich haben):

Lembold erschien mir in einem meiner zahlreichen Gebete und erklaerte mir, das
bei der Schoepfung des Phoenix ihm scheinbar ein kleiner Fehler unterlaufen
ist. Tja der gute Phoenix ist halt etwas stoerrisch, aber wenn du ihn mal
ordentlich trittst, dann weigert er sich nichtmehr am Kampf teilzunehmen und
du hast ihm damit gezeigt, wer der Herr und Meister ist.

Sharia, die Hohepriesterin des Lembold.

-----------------------------------------------------------------------------



Re^3: Fauler Phoenix (Bottom, 19. Mar 1997, 15:20:19):
~#! rn=Sharia rt=858722233 rg=gilden.klerus
~#! tid=857568153

Wie?!? Lembold ist Dir ERSCHIENEN? *staun*
Wie oft hab ich mich nach einem kleinem Zeichen seinerseits gesehnt. Stunde um
Stunde betete ich ihn, den Allerhoechsten, an. Zugegeben - es brachte mir den
erhofften Frieden, aber ein kleiner Fingerzeig in die richtige Richtung, mir
den rechten Weg zu weisen, haette mir grosse Erleichterung gebracht. 
 Und Dir ist der Allmaechtige, der Unerblickte hoechstselbst erschienen...
Wisse, Schwester Sharia, wie sehr ich Dich beneide...
Taeglich werde ich IHM ein Opfer darbringen, alleinig in der Hoffnung, dass
auch mir einmal dieses unendliche Glueck zuteil wird!

Bottom - der erbaermlichste der getreuen Diener des Lembold

-----------------------------------------------------------------------------



Gruss (Thasco,  7. Apr 1997, 12:32:20):
Hallo!
Ich wuensche allen meinen Schwestern und Bruedern, die sich der heiligen
Aufgabe des Studierens widmen muessen, einen schoenen Semesterbeginn!

Gruss
Bruder Thasco, der ewige Diakon

-----------------------------------------------------------------------------



Re: Gruss (Flinx,  7. Apr 1997, 13:37:48):
~#! rn=Thasco rt=860409140 rg=gilden.klerus
~#! tid=860409140

Schoen waers. An unserer FH ackern wir schon seit 5 Wochen wieder :(

Flinx. Arbeitsam.

-----------------------------------------------------------------------------



Magierzweities (Wargon, 14. Apr 1997, 13:57:13):
  Hi!
Entgegen meiner frueheren Einstellung will ich ab jetzt keine Magierzweities
mehr in den Erleuchteten- und Hohepriesterraengen haben.
Zur Begruendung siehe polizei.bekanntmachungen.
  Wargon

-----------------------------------------------------------------------------



Ordensspitze (Bottom, 14. Apr 1997, 16:32:45):

Geehrte Brueder, verehrte Schwestern,

heute musste Schwester Sharia, auf Wargons Geheiss, von ihrem ehrenwerten Amt
als Hoheprieterin Lembolds zuruecktreten. Ich bedaure diesen Umstand sehr und
moechte die Gelegenheit nutzen, Schwester Sharia meine Hochachtung zu
versichern. Sie hat das Amt in hervorragender Art und Weise bekleidet und
erwies sich als wuerdiger Traegerin der Titels der Hohepriesterin. Sie war
unerbittlich im Kampf gegen die Feinde des Glaubens und, noch wichtiger, sie
war vorbildlich in allen Belangen der Repraesentation der Gilde nach innen und
aussen! 
Ich kann mir zum gegenwaertigen Zeitpunkt nur schwer jemanden vorstellen, der
in der Lage waere Sharia in ihrer bisherigen Position zu ersetzen. Deshalb
appelliere ich an alle Brueder und Schwestern, Sharia die Treue zu halten.
Ganz besonders appelliere ich aber an Fuerst Wargon, Sharia die Moeglichkeit
einzuraeumen, ihren alten Platz in unserem Orden wieder einzunehmen. Sie war
und ist die Beste, deshalb sollte sie auch den Platz einnehmen duerfen, der
ihr gebuehrt. Ich werde daher bis auf weiteres darauf verzichten, das vakante
Amt des Hohenpriesters zu besetzen! Mir ist es schlichtweg unbegreiflich,
warum jemand wie Sharia, die sich um die Gilde derart verdient machte, um ihr
Amt gebracht wird. Die zur Entscheidung Wargons fuehrende Problematik sehe
ich, nicht jedoch die Verbesserung fuer die Gilde, die mit vollzogenem Schritt
eingetreten sein soll. Da bitte ich um eine offene Stellungnahme, Fuerst
Wargon, die mir das Verstaendnis fuer Deine Entscheidung erleichtert oder
einen Ansatz zu gepflegter Diskussion bietet.

Bottom - der geringste unter den Dienern des Lembold.

-----------------------------------------------------------------------------



Re: Ordensspitze (Homm, 15. Apr 1997, 08:38:33):
~#! rn=Bottom rt=861028365 rg=gilden.klerus
~#! tid=861028365
Bruder Bottom sprach weise und wahr.

Es gibt meiner Meinung nach solche und solche Magierzweitis und ich glaube
(und hoffe) Sharia zaehlt nicht zu den Unwuerdigen.

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re: quatsch (Wargon, 15. Apr 1997, 13:32:19):
~#! rn=Wurzel rt=861036150 rg=magier.magier
~#! tid=861036150
Das glaube ich ja gerne, aber bevor ich mich auf Diskussionen ueber
"vertrauenswuerdige" und "nicht vertrauenswuerdige" Magierzweities einlasse,
sag ich lieber rigoros, dass ich gar keine Magierzweities in den obersten
Raengen haben will.
  Wargon

-----------------------------------------------------------------------------



Re: Re: quatsch (Nairolf, 15. Apr 1997, 13:55:22):
~#! rn=Wargon rt=861103939 rg=gilden.klerus
~#! tid=861036150
und treffen tut das nur Sharia....

Nairolf, bekannt als Sharias Erstie...

-----------------------------------------------------------------------------



Magzweitis (Homm, 15. Apr 1997, 14:35:42):
Wargon,

meinst du nicht, das die Leute sich dann einfach neue Charaktere aufbauen,
sich andere Zugaenge besorgen etc.??

Wer bescheissen will, der kann es auch so machen, das es nicht
auffaellt...gewusst wie!!

Sicher ist es nicht schoen wenn solche Leute die hohen Gildenplaetze
wegnehmen, aber Silvana hatte die selbe Diskussion bei den Zauberern...dort
ging es friedlich ab.
Auch kann ich Dich verstehen, wenn Du sagst: Ich mache mir die Muehe und
moechte nicht weggesciptet werden....aber was soll es?? Erfreue Dich doch an
den Leuten die es ehrlich machen....:))

Wuerdelvoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re: Magzweitis (Sharia, 15. Apr 1997, 15:16:47):
~#! rn=Homm rt=861107742 rg=gilden.klerus
~#! tid=861107742
Zunaechst meinen Dank an meine Lieben Brueder und Schwestern Erleuchteten des
Lembold...mit einer so grossen Solidaritaet mit mir haette ich nun wirklich
nicht gerechnet...es ehrt mich zutiefst und ich bin sehr geruehrt...
Ich werde natuerlich alles tun um unserem Orden wieder zu Ruhm und Ehre zu
verhelfen, auch wenn ich dafuer meinen Erstie aus den ach so erlauchten
Kreisen der Magier herausnehmen muss....

Ich kann Wargon sehr gut verstehen, dass er sich zu diesem Schritt
entschlossen hat, auch wenn dies meiner Meinung nach der falsche ist, denn nur
mich trifft es scheinbar in unserer immernoch schoenen Gilde, denn ich scheine
der einzige Magierzweiti zu sein.
Als die Diskussion bei den Zauberern anfing um Magierzweitis und begrenzte
Gildenplaetze war ich sofort bereit zurueckzutreten und tat dies auch
voruebergehend, jedoch sagte Wargon SOFORT zu mir: nein, dies wird es bei den
Klerikern nicht geben, du kannst Ruhig Hohepriesterin bleiben.
Tja dies ist auch ein Grund, warum ich mich noch etwas mehr darueber
aufrege...
Daher Wuensche ich mir von Wargon zunaechst, sich diesen Schritt nocheinmal zu
ueberlegen, und vielleicht das eine oder andere Savefile zu ueberpruefen oder
aehnliche "kontrollen" durchzufuehren, die ihm Klarheit darueber verschaffen,
wer "beschissen" hat und wer wirklich ehrlich gespielt hat.
Ich weiss nicht ob ich da mehr Durchblick habe, jedoch hat auch mein Erstie
mehr oder weniger "kontrolliert" und MEINER Meinung nach hat gerade bei den
Klerikern kein Zweiti (auch wenn es vielleicht ein Magierzweiti, oder ein
Zweiti mit zugriff auf einen Magier) es noetig gehabt zu bescheissen.....
Es waere wirklich schoen, Wargon, wenn du dir die ganze Sache nocheinmal durch
den Kopf gehen lassen wuerdest und keine angst: wenn du meinst du muesstest es
aus PRINZIP so belassen ... das PRINZIP "Im Heiligen Orden duerfen auch
Magierzweitis Hohe Raenge bekleiden"  hast du ja auch schonmal umgeworfen...

Anmerkung: Sollte Nairolf spielerhilfe, bescheissen oder aehnlicher
unterstellt sein, so wird er selbstverstaendlich die Konsequenzen tragen, aber
NICHT der Zweiti !!!

Sharia segnet ihre Brueder und Schwestern mit der Kraft Lembolds.

-----------------------------------------------------------------------------



Re: Magzweitis (Quasimodo, 16. Apr 1997, 17:22:25):
~#! rn=Homm rt=861107742 rg=gilden.klerus
~#! tid=861107742
Du willst nicht ehrlich sagen, dass man nichts gegen Mogeln tun soltte, nur
weil man es ohnehin nicht ausschliessen kann, oder?????

Polizei verhindert auch nicht alle Verbrechen und ist trotzdem aeussert
sinnvoll.

Quasi.

-----------------------------------------------------------------------------



Re: Re: Magzweitis (Tunixgut, 17. Apr 1997, 07:45:55):
~#! rn=Quasimodo rt=861204145 rg=gilden.klerus
~#! tid=861107742
In dem Sinne ist Verbrechen allerdings, mir faellt zumindestens kein
Gegenbeispiel ein, etwas, das andere schaedigt, Quasi! Hier fehlt mir
jeglicher Hinweis darauf! Mich jedenfalls hat noch keiner geschaedigt, und
meine ZT-Liste auch noch niemanden! Hoechstens das Ego einiger Magier!!!

TuNixGut

-----------------------------------------------------------------------------



Re^3: Magzweitis (Bloodyharry, 17. Apr 1997, 07:53:17):
~#! rn=Tunixgut rt=861255955 rg=gilden.klerus
~#! tid=861107742
Hmm, vielleicht wird der Ruf des Muds geschaedigt?
Wie dem auch sei. Wenn die Selbstzerfleischung hier so weiterlaeuft, wird
wohl bald auch das nicht mehr moeglich sein oder zumindest keinen groesseren
Schaden mehr anrichten koennen. Weil er eben schon gross genug ist.

bh - noch hoffend

-----------------------------------------------------------------------------



Re^3: Magzweitis (Quasimodo, 17. Apr 1997, 17:35:17):
~#! rn=Tunixgut rt=861255955 rg=gilden.klerus
~#! tid=861107742
Das ist doch eigentlich ganz einfach. Wenn ich mit jemanden Karten spiele,
dann erwarte ich, dass er sich an die Regeln haelt. Klar werde ich nicht
geschaedigt, wenn er mogelt (solange man nicht um Geld spielt). Aber trotzdem
kann es mir den Spass am Spiel nehmen. (Und dafuer muessen wirnoch nicht
einmal gegeneinader spielen!)

Quasi

-----------------------------------------------------------------------------



mogeln und andere spieler (Cerebus, 17. Apr 1997, 17:48:32):
Der Vergleich mit Kartenspielen, den Quasi brachte, hinkt insofern etwas, da
Kartenspiele normalerweise Nullsummenspiele sind, will sagen: Was einer
gewinnt, verliert der andere *(ganz allgemein gesprochen, nicht auf Geld
bezogen).
Im morgengrauen ist das schon etwas komplexer, da man selten direkt
gegeneinandr spielt,
ab und zu spielt man miteinander (zusammen quests loesen oder monster
plaetten) und die meiste Zeit spielt man einfach "nebeneinander" - das chatten
und reden ist ja im grunde kein bestandteil des spiels an sich, sondern
angenehmer seiteneffekt.
Cerebus
(der immer mehr ueberlegt, mal eine genauere analyse des morgengrauens in
sozialwissenschaftlicher Hinsicht zu unternehmen...:-))

-----------------------------------------------------------------------------



Re^4: Magzweitis (Tunixgut, 18. Apr 1997, 07:40:50):
~#! rn=Quasimodo rt=861291317 rg=gilden.klerus
~#! tid=861107742
Doch Quasi, genau da liecht der Unterschied! Wenn wir gegeneinander spielen,
dann ist Schummelei wirklich bloed, aber wenn nicht, dann wirst Du nicht
geschaedigt - hoechstens neidisch.... - und das wird wohl auch der Grund sein,
warum sich alle dadurch gestoert fuehlen. Ich fuer meinen Teil denke noch, ich
hatte mehr Spass als ein 20-Stunden alter Seher...

TuNixGut - sieht zwei Meinungen und findet langsam, da kommen wir uns eh nicht
naeher...

-----------------------------------------------------------------------------



Re^5: Magzweitis (Leusel, 18. Apr 1997, 10:08:53):
~#! rn=Tunixgut rt=861342050 rg=gilden.klerus
~#! tid=861107742
Hiho!

Ob die nichtschummelden Spieler nicht durch das Schummeln einiger geschaedigt
waeren, ist auch so eine Frage. Spaetestens wenn irgendwelche Monster mit
guter Ausruestung verstaerkt werden, weil sie von (schummelnden) Spielern zu
oft erledigt werden, ist auch der nichtschummelnde Spieler indirekt betroffen.

Leusel

-----------------------------------------------------------------------------



Neues zur Erleuchtung (Wargon, 22. Apr 1997, 10:55:02):
  Hi!
In naechster Zeit wird es einige neue Aufgaben zur Erleuchtung geben. Man
sollte die Ordensvorsteher deshalb erst mal fragen, was man ueberhaupt zu tun
hat.
Ausserdem dauert es mindestens vier Wochen, bis einem erneut eine Erleuchtung
zuteil werden kann (gemessen ab dem Zeitpunkt der letzten Erleuchtung, nicht
ab dem Ausscheiden aus den Erleuchtetenraengen). Die Pause beim freiwilligen
Ruecktritt bleibt allerdings weiterhin bestehen.
  Wargon

-----------------------------------------------------------------------------



Re: Neues zur Erleuchtung (Karatekid, 23. Apr 1997, 05:54:56):
~#! rn=Wargon rt=861699302 rg=gilden.klerus
~#! tid=861699302
Hmm, Wargon wird ja richtig gemein :)

-----------------------------------------------------------------------------



Weihebedingungen (Alpha,  2. Jun 1997, 19:28:00):
Moin Ihr Kleriker,
ich wollte mal heute meinen Zweitie zum Priester weihen lassen, war aber dann
ueber die (in meinen augen sehr harten) Anforderungen erstaunt. Selbst ich
wuerde fuer keine Gottheit die Weihebedingungen erfuellen. Also, entweder ist
Eure Gilde anspruchsvoller als die meine, oder da war heut was ziemlich buggy.
Ich denke, man sollte schon vor bzw. bei Gildeneintritt informiert werden.
Gluecklicherweise bin ich nicht selbst eingetreten - sonnst waere ich heute
sehr enttaeuscht. 
Alpha (hat nicht einmal die Haelfte der notwendigen APs)

-----------------------------------------------------------------------------



Re: Weihebedingungen (Asmodis,  2. Jun 1997, 19:55:13):
~#! rn=Alpha rt=865272480 rg=gilden.klerus
~#! tid=865272480
Das ist eben kein Zuckerschlecken, nicht wie bei den Bierschuettlern,
die alles nachgeworfen bekommen, ohne viel dafuer zu tun...

Wenn es so leicht waere, dann waeren die Erleuchtetenplaetze restlos
ueberfuellt.

-----------------------------------------------------------------------------



Re: Re: Weihebedingungen (Grimmborn,  2. Jun 1997, 20:08:44):
~#! rn=Asmodis rt=865274113 rg=gilden.klerus
~#! tid=865272480
Naja, dass die Bierschuettlergilde mit Abstand zu stark ist, ist ja nun
hinreichend bekannt... ;-)

GdA

-----------------------------------------------------------------------------



Re^3: Weihebedingungen (Homm,  3. Jun 1997, 08:32:55):
~#! rn=Grimmborn rt=865274924 rg=gilden.klerus
~#! tid=865272480
Hiho,

nun muss ich mich auch mal wieder einschalten!

Die Anforderungen an die Mitglieder unserer Gilde sind komplett
gerechtfertigt!!

Wir sind nun mal keine Jammerlappen und wollen keine Wurstkleriker an der
Ordensspitze!!

Ausserdem : Wertet die Zauberer ab!!!!!

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



Re^4: Weihebedingungen (Mahatmu,  3. Jun 1997, 15:22:49):
~#! rn=Homm rt=865319575 rg=gilden.klerus
~#! tid=865272480
Die Klerusgilde ist anspruchsvoll, aber nicht zu anspruchsvoll. Das
Dein Erstie eine Wurst ist, ist reichlich schnell zu erfahren. Die
was in die 500 APs sind sehr schnell gquestet, selbst von so einem
questfaulen Kerl wie mir. Und ausserdem ist es eine sehr ausfuehrlich
und exzellent beschriebene Gilde, man muss sich nur die Zeit nehmen,
und mal alle unsere alten Aufzeichnungen lesen. Ich bin sogar der
Meinung, dass der Priester noch unterbewertet ist. Da koennte ruhig
noch eine Gildenquest rein.

Gloin

-----------------------------------------------------------------------------



Re^5: Weihebedingungen (Homm,  3. Jun 1997, 15:32:15):
~#! rn=Mahatmu rt=865344169 rg=gilden.klerus
~#! tid=865272480
War das jetzt ernst gemeint??

Die Gilde ist schon ok, aber diese Gildenquest ist doch ziemlich albern, man
sollte nicht alle Dinge aus den anderen Gilden nehmen. 
Meiner Meinung nach werden diese Mini-Quests dann sowieso nur mit KL-s
versaut, die Anforderungen an die Erleuchteten sind gut genug!

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



Re^6: Weihebedingungen (Mahatmu,  3. Jun 1997, 15:40:28):
~#! rn=Homm rt=865344735 rg=gilden.klerus
~#! tid=865272480
Eben nicht. Fuer alle moeglichen Quests gibt es KL, da jedoch eine
Gildenquest ein weitaus geringeres Interesse an KL erzeugt, bezogen
auf die Gesamtmuddelei, denke ich, wird es da auch weniger Chancen
zum FixMalHochScripten von Zweities fuer Wursties geben.
Man koennte das ganze ja auch an einer Menge guter Taten (was es
alles fuer huebsche Mglkeiten fuer GL-Qs gibt) oder dem allgemeinen
Auskennen festmachen. Auf jeden Fall sind die 500 APs, an der
naechsten Stufe, dem Seher fuer Kurat gemessen, laecherlich.

Gloin ... stoeckelt in Kandris Namen.

-----------------------------------------------------------------------------



Re^7: Weihebedingungen (Atoz,  3. Jun 1997, 17:11:08):
~#! rn=Mahatmu rt=865345228 rg=gilden.klerus
~#! tid=865272480
Tja Gloin mal eine Frage: Wie lange bist du denn schon Priester?
Ich weiss von Tolgan, als er Priester werden wollte brauchte er 750 AP. Nein
nicht Tolgan, sein Zweiti ;).
Nicht dass ich als boeser Chaot viel draufgebe was ihr Betbrueder und
-schwestern machen muesst um bei euren albernen Goettern etwas mehr Ansehen zu
bekommen ;))). Aber ich persoenlich finde auch nicht, dass die 750 zu viel
seien. (oder dass die Stats ein mindestmass haben muessen), immerhin seit ihr
auch nicht gerade ein schwache Gilde, wenn ich mir die komische Sharia da
angucke... ;)
Tschau Atoz

PS Chaos Forever!

-----------------------------------------------------------------------------



Re^8: Weihebedingungen (Zentrit,  4. Jun 1997, 12:11:56):
~#! rn=Atoz rt=865350668 rg=gilden.klerus
~#! tid=865272480
Man braucht einen gewissen Anteil der Seher-Bedingungs-AP, und der ist je nach
Alter des Spielers verschieden.
Und es ist auch nicht geplant, irgendwas an den Aufstiegsbedingungen zu
aendern (ausser vielleicht noch ein paar Alternativaufgaben fuers Erleuchten).
  i.A., Zentrit

-----------------------------------------------------------------------------



Re^9: Weihebedingungen (Homm,  4. Jun 1997, 13:53:22):
~#! rn=Zentrit rt=865419116 rg=gilden.klerus
~#! tid=865272480
Ich bin deiner Meinung Testi!!

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



Re^8: Weihebedingungen (Mahatmu,  4. Jun 1997, 14:38:09):
~#! rn=Atoz rt=865350668 rg=gilden.klerus
~#! tid=865272480
o, ich brauch ja auch nur 1300 AP fuer den Seher. Dadurch waren es
bei mir so arg wenig. Aber wenn man sich die Aufstiege in Klerus so
anschaut, dann sind ja die ersten zwei/drei geschenkt und dann geht
es zur Sache. Ich waere zwar Meinung, dass etwas anzugleichen,
und zwar mehr in die Hoehe ;-) ... aber das ist ja nur meine _Meinung_.
Ausserdem hat der grosse Testi ja sein Wort gesprochen ...

Gloin

-----------------------------------------------------------------------------



Re^9: Weihebedingungen (Sharia,  4. Jun 1997, 17:24:41):
~#! rn=Mahatmu rt=865427889 rg=gilden.klerus
~#! tid=865272480

Hallo liebe Schwestern und Brueder

Ich denke ich muss jetzt auch das eine oder andere Wort mal verlieren zu
dieser, meiner Meinung nach nicht sonderlich sinnvollen Diskussion.
Die aufstiegsbedingungen bei den Klerikern fand ich bisher wirklich sehr
witzig, als ich die 100k Muenzen spenden musste war ich vollkommen auf die
Mithilfe anderer angewiesen, da ich keinen Zweiti hatte der mir so viele
Gegenstaende haette besorgen koennen tja und auch die aufstiegsbedingungen zum
Priester finde ich vollkommen gerecht und ausgewogen.
Was mich letztens etwas schockte waren die neuen Aufstiegsbedingungen fuer die
Erleuchteten, da diese Aufgaben nicht als Kleriker allein moeglich sind und
somit wiedereinmal die Zweitis von "Grossfamilien" extrem bevorzugt sind.. ich
haette eine oder mehrere Mini-Quests NUR fuer Kurate bevorzugt, da dort auch
die "grossfamilienzweitis" ihre Kampfkraft haetten beweisen muessen, denn ich
hab oft festgestellt, dass viele zwar einen Hohen Klerus Zweiti haben aber
ueberhaupt nicht mit ihm umgehen koennen leider.. tja und wer wirklich selbst
mal metzelt wird leicht feststellen, dass z.b. Water Luh oder die Raeuber
nicht gerade ein Zuckerschlecken fuer uns sind, sondern so gut wie
unschaffbar....(oder bin ich doch unfaehig...) tja also ich haette mir
wirklich etwas Klerusspezifischeres gewuenscht, aber naja ok ich halt mich mal
raus :)
So das war mein Senf....

Sharia, noch (!?) Hohepriesterin des Lembold

-----------------------------------------------------------------------------



Re^10: Weihebedingungen (Lightning,  5. Jun 1997, 02:27:31):
~#! rn=Sharia rt=865437881 rg=gilden.klerus
~#! tid=865272480
Ich muss jetzt unbedingt auch mal was sagen. Bei meiner Erleuchtung gabs nur
eine Bedingung, neue konnte ich (leider?) noch nicht ausprobieren, da mich
anscheinend niemand verdraengen will. (Sharia: Ich habs zwar auf deinen Posten
abgesehen, nur werde ich ihn wohl nie kriegen, solange du noch was machst...
;-)).
Die Anforderungen fuer die Stufen sind zumindest ab Kurat gerechtfertig und
keineswegs zu hoch. Waeren sie niedriger, koennte sich jeder mal nebenbei
einen Erleuchteten-Kleriker-Zweitie zusammenbasteln. Ich fuer meinen Teil
hatte z.B. auch fuers Spenden lange gebraucht und nur dank der Hilfe anderer
hilfsbereiter (Danke Homm!) Kleriker mein Ziel erreicht. Der
'Durchschnitts-MG-ler' schert sich leider recht wenig um die Beduerfnisse
eines Bettelmoenchen/einer Bettelnonne, dafuer nimmt er umso lieber spaeter
die Hilfe eines hoeheren Klerikers beim Entgiften/Entfluchen/Kurieren an.
Wenn jetzt Leute wie Alpha beklagen, dass ihr Zweiti noch unheimlich viel tun
muss, um eine hohe Stufe im Orden zu erreichen, frage ich mich echt, ob diese
Leute nicht ein Ding zu laufen haben, respektive die Bedeutung dieser Gilde
verkennen. Sie wurde schliesslich nicht als Hilfsgilde fuer die kaempfende
Schicht im Morgengrauen konzipiert, sondern als echte Bereicherung und
Alternative zu den anderen, vorwiegend auf kaempferische Faehigkeiten
ausgelegten Gilden konzipiert. (Hierbei stellen die Bierschuettler evtl. eine
Ausnahme da, da sie zwar ueber sehr wirksame Kampfsprueche verfuegen, jedoch
viel eher als Fun-Gilde konzipiert sind)
Ich bin der Ansicht, dass sich durch die grosse Differenz der Anforderungen
zwischen niedrigen und hohen (ab Kurat) Gildenleveln die Attraktivitaet der
Gilde erhoeht, wuerden doch sonst lauter Zweiti-Kleriker in hohen Raengen
rumlaufen. Ich bin zwar selber Zweiti, jedoch bin ich in dieser Gilde
wesentlich aktiver, als in der meines Erstis. Ich sehe die Anforderungen bei
uns durchaus gerechtfertig, es koennten im Gegenteil mehr klerikerspezifische
Aufgaben, meinswegen auch zur Statuserhaltung, anstehen.

-----------------------------------------------------------------------------



Re^11: Weihebedingungen (Homm,  5. Jun 1997, 08:38:20):
~#! rn=Lightning rt=865470451 rg=gilden.klerus
~#! tid=865272480
Ich danke Sharia und Lightning fuer ihre ausformulierten Kommentare. Wir
Kandri sind nicht so sehr auf die gesellschaftsbezogene Konversation
eingestellt, daher konnte ich, die selben Gedanken in mir habend, nicht so
gekonnt diesen Standpunkt vertreten.

Wuerdevoll verneigend

Papst Homm

P.S.: Danke fuer die liebe Erwaehnung, Lightning....*leicht erroetend*

-----------------------------------------------------------------------------



Re^10: Weihebedingungen (Zentrit,  5. Jun 1997, 11:03:54):
~#! rn=Sharia rt=865437881 rg=gilden.klerus
~#! tid=865272480
Wenn es wirklich die herrschende Meinung ist, dass man fuer Aufgaben, die fuer
einen Einzelcharakter zu schwer sind, unbedingt eine grosse Zweitifamilie
braucht, dann kann ich nur sagen: Ihr habt es nicht besser verdient!
Zu meiner Spielerzeit zumindest war es so, dass sich der Multi-User-Charakter
dieses Spiels nicht nur auf die Kommunikation bezog, sondern auch aufs
Spielgeschehen selbst. Wenn damals eine Gruppe von zB. sechs Charakteren
loszog, gehoerten da auch mindestens fuenf RL-Tastaturbediener zu.
Die "alte" Erleuchtungsaufgabe mit dem silbernen Auge war auch nicht
klerikerspezifisch (hoechstens insoweit, als dass Kleriker von dem Auge auch
was hatten). Im wesentlichen sollte es bei den Aufgaben ums Zusammenspiel
gehen, und wenn ihr das nicht koennt: Bitte sehr...
  Wargon
  aeh... Zentrit

-----------------------------------------------------------------------------



Re^11: Weihebedingungen (Sharia,  5. Jun 1997, 12:36:18):
~#! rn=Zentrit rt=865501434 rg=gilden.klerus
~#! tid=865272480
hmmm lieber Gildenchef... 
ich denke du hast mich da falscg verstanden leider..
Ich meinte, dass Zweitis aus "Grossfamilien" es wesentlich leichter haben als
wirkliche Ersties oder auch Zweitis die keine solche Familie haben.. 
Ich persoenlich habe auch keine solche Familie, Wargon, und geniesse es
selbst, hier ein ROLLENSPIEL zu betreiben. Ich wollte dich nur einmal zum
Nachdenken anregen, ob "Gildenquests" dieser Art nicht wiedereinmal Zweitis
bevorzugen, da sich nicht sehr haeufig genug Seher finden lassen, die z.b. das
Raeuberlager leerraeumen koennen.
Naja vielleicht kann man mal drueber nachdenken..

Sharia, senfend und missverstanden...

-----------------------------------------------------------------------------



Re^11: Weihebedingungen (Majestix,  5. Jun 1997, 13:16:58):
~#! rn=Zentrit rt=865501434 rg=gilden.klerus
~#! tid=865272480
Hi Zentrit !!
Du schriebst eben 'Wenn damals eine Gruppe von zB. sechs Charakteren loszog,
gehoerten da auch mindestens fuenf RL-Tastaturbediener zu'
ich an deiner Stelle waer mir da nicht so sicher :)

-----------------------------------------------------------------------------



Re^11: Weihebedingungen (Alpha,  5. Jun 1997, 13:32:59):
~#! rn=Lightning rt=865470451 rg=gilden.klerus
~#! tid=865272480
Mann-0-Mann, da scheint mein Artikel ja wohl ziemlich falsch angekommen zu
sein. Ich beschwere mich doch gar nicht darueber, das mein Zweitie nun kein
Priester wird. Ich habe nur angemerkt, dass ich selbst die Priesterbedungungen
nicht erfullen wuerde und die Erfuellung in meinem Falle auch noch sehr viel
Zeit in Anspruch naehme. (Warum man hohe Stats bracht, um aufzusteigen wird
mir wohl nie klar. Ich denke mal, jeder ist selbst bestrebt, moeglichst viele
ZTs zufinden. Wenn man halt, so wie ich, nicht viel gefunden hat, ist das
Leben im MG schon so nicht leicht. Da muss einem nicht auch noch das
Aufsteigen in der Gilde erschwert werden.) Und zweitens: meine Zweities sind
nicht zum rumkaempfen da. Sie sind einzig und allein dazu da, andere Gilden
auszutesten und dabei neue Gegenden und Aufgaben fuer meinen Erstie zu finden.
Wuerde Alpha ja selbst machen. Ein Gildenaustritt kommt aber nicht in Frage,
weil:1. Idetifiziere ich mich doch recht stark mit meiner Gilde. 2. Muss ich
ja dann die ganzen Spells nochmal hochueben.  
So, mein Zweitie wird halt kein Priester, und damit hat es sich.
Alpha, kommt bei den Bierschuettlern auch ohne viel APs klar. Naja, Shaky
Island musste ich machen :(

-----------------------------------------------------------------------------



Re^12: Weihebedingungen (Mahatmu,  5. Jun 1997, 13:33:49):
~#! rn=Alpha rt=865510379 rg=gilden.klerus
~#! tid=865272480
Oehm. Heul doch.

Gloin.

-----------------------------------------------------------------------------



Re^13: Weihebedingungen (Anatol,  5. Jun 1997, 13:41:31):
~#! rn=Mahatmu rt=865510429 rg=gilden.klerus
~#! tid=865272480
Ich schaetze, dass jemand, der den Ehrgeiz entwickelt hat, unbedingt die
oberste Gildenstufe erreichen zu muessen, fuer die Folgen (viel Aufwand)
selbst verantwortlich zeichnen muss...

Anatol


-----------------------------------------------------------------------------



Re^12: Weihebedingungen (Zentrit,  6. Jun 1997, 10:48:17):
~#! rn=Sharia rt=865506978 rg=gilden.klerus
~#! tid=865272480
Die Alternativen waeren: 
- auf Gemeinschaftsaufgaben zu verzichten (was dem Spielprinzip widerspraeche)
- Zweities oder zumindest das gleichzeitige Einloggen von Zweities zu  
  unterbinden (was kaum praktikabel ist)
- sich Einzelkaempfer-Erleuchtungsaufgaben auszudenken (wozu ich keine Lust
  habe)
Es bleibt also wie gehabt.
  Zentrit

-----------------------------------------------------------------------------



Neue Kirche! (Homm,  6. Jun 1997, 18:17:52):
Man hoert von einer neuen Kirche..sucht mal fein!

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



nachtrag (Homm,  6. Jun 1997, 18:22:10):
ok, ok, etwas undurchsichtig, mein haus ist fertig, und steht auf einer rel.
kalten insel

homm

-----------------------------------------------------------------------------



Re: nachtrag (Bottom,  6. Jun 1997, 18:35:07):
~#! rn=Homm rt=865614130 rg=gilden.klerus
~#! tid=865614130

hmm...ist ja wirklich am A**** der Welt ;-)

Bottom

-----------------------------------------------------------------------------



Re^10: Weihebedingungen (Asmodis,  6. Jun 1997, 19:48:29):
~#! rn=Sharia rt=865437881 rg=gilden.klerus
~#! tid=865272480
Hmm, es war wohl nie geplant, dass Kleriker die grossen Metzler sind,
warum sollte man also einen hohen Klerus Zweiti dazu missbrauchen ?
Die Funktionen sind doch anders viel besser zu gebrauchen :)

-----------------------------------------------------------------------------



Re^11: Weihebedingungen (Sharia,  6. Jun 1997, 19:54:25):
~#! rn=Asmodis rt=865619309 rg=gilden.klerus
~#! tid=865272480
hmpf :-)
najaok die Kleriker sind sicherlich nicht die kampfstaerkste Gilde aber wenn
ich einen Kleriker der hoeheren Raenge untersuche kommt bei mir meistens
folgende meldung:
XXXXX hat keine Ruestung an, keine Waffe gezueckt und einen strahlenden
Talisman an und traegt ein Freundschaftsband.

Das ist dann doch irgendwie schade oder ? :-)))))

Sharia...

-----------------------------------------------------------------------------



Re^12: Weihebedingungen (Asmodis,  6. Jun 1997, 20:11:03):
~#! rn=Sharia rt=865619665 rg=gilden.klerus
~#! tid=865272480
Noe, wieso sollte das schade sein ? Muss denn jeder metzeln ?
Zumal es inzwischen kaum noch was bringt :)

-----------------------------------------------------------------------------



Re: Neue Kirche! (Lightning,  6. Jun 1997, 21:33:54):
~#! rn=Homm rt=865613872 rg=gilden.klerus
~#! tid=865613872
Ich habe genannte Kirche ausgiebig untersucht und muss unserem Bruder dafuer
danken, dass er ein schoenes Plaetzchen geschaffen hat, an dem man in Ruhe und
Frieden meditieren und Busse tuen kann.
Das kuehle Klima der Insel wirkt sich auch sehr wohltuend auf den Kopf, sprich
Geist aus. Ein schoenes Kleinod, welches nur noch besser werden kann.


Lightning (ha, diesmal habe ich nich vergessen, meinen Willi runter zu setzen
;-))

-----------------------------------------------------------------------------



Re^12: Weihebedingungen (Morgar,  9. Jun 1997, 09:56:49):
~#! rn=Sharia rt=865619665 rg=gilden.klerus
~#! tid=865272480
Das sieht aber in anderen Gilden genau so aus, Sharia. Kaum koennen Spieler
relativ gut Zaubern denken sie, sie braeuchten keine Ruestung mehr...

Morgar (senfend)

-----------------------------------------------------------------------------



Re^12: Weihebedingungen (Rochus,  9. Jun 1997, 15:25:58):
~#! rn=Sharia rt=865506978 rg=gilden.klerus
~#! tid=865272480
Es ist uebrigens nicht notwendig, das Raeuberlager leerzuraeumen....

-----------------------------------------------------------------------------



Re^13: Weihebedingungen (Zorro,  9. Jun 1997, 15:36:25):
~#! rn=Rochus rt=865862758 rg=gilden.klerus
~#! tid=865272480
Robin killen und dann Bogen und Koecher zuverschenken ist wirklich eine
dankebare alternative rochus, vollkommen angebracht ...

Gruss Zorro

-----------------------------------------------------------------------------



Re^13: Weihebedingungen (Key,  9. Jun 1997, 16:35:42):
~#! rn=Rochus rt=865862758 rg=gilden.klerus
~#! tid=865272480
Rochus net alles verraten =;)
Das konnte man doch auch selbst rausfinden :))

Key

-----------------------------------------------------------------------------



Re^13: Weihebedingungen (Tunixgut, 10. Jun 1997, 09:44:46):
~#! rn=Morgar rt=865843009 rg=gilden.klerus
~#! tid=865272480
Jup, aba die karateka sind da wedda ganz besonders schlimm.... ;o)))
Nicht amal ein schwert ha'm die Deppen bei sich....

TuNixGut - wie ueblich scheisse senfend...

-----------------------------------------------------------------------------



Hausbau (Bottom, 10. Jun 1997, 17:01:26):

Schwestern und Brueder, 

Endlich war es auch mir vergoennt, ein Lichtlein zu Ehren der Goetter im neuen
Haus des Gebets, der Kirche auf Svolvaer, anzuzuenden.Ich moechte dafuer an 
dieser Stelle Bruder Homm meinen tiefempfundenen Dank aussprechen, war er es
doch der dieses herrliche Zeugnis unseres Glaubens mit Hilfe der Goetter
erbaut hat. Moege sich noch manche Schwester und mancher Bruder daran ein
Beispiel 
nehmen und ein beredetes Zeichen fuer unsere Gilde setzen!

Bottom - Geringster der Diener Lembolds

Ach ja...zu den weihebedingungen ist ja wohl alles gesagt...lasst ihn also
in Frieden ruhen!


-----------------------------------------------------------------------------



Re: Hausbau (Bottom, 10. Jun 1997, 17:03:23):
~#! rn=Bottom rt=865954886 rg=gilden.klerus
~#! tid=865954886

...den thread meinte ich...Ruhe er in Frieden!

-----------------------------------------------------------------------------



Ein Vorschlag (Homm, 16. Jun 1997, 08:54:03):
Hiho Brueder und Schwestern,

am WE hatte ich ein geselliges Beisammensein mit Morgar, Astar, Ronda und
anderen Leuten, die nicht unbedingt namentlich erwaehnt werden sollen oder
wollen....:))

Was mir dann nah ein paar Bieren auffiel war, warum es bei uns kein Befrieden
gibt?? Eigentlich wuerde dieser Spruch doch in unserer Gilde viel besser
plaziert sein, als bei den Zauberern!
Nun meine Frage zum Thema: Was haltet ihr davon?

Wuerdevoll verneigend

Papst Homm

P.S.: Ach ja, wertet die Zauberer ab!!

-----------------------------------------------------------------------------



Re: Ein Vorschlag (Wargon, 16. Jun 1997, 10:30:51):
~#! rn=Homm rt=866444043 rg=gilden.klerus
~#! tid=866444043
Ihr koennt natuerlich fleissig diskutieren, ich werde das Kleriker-Gebetbuch
allerdings um keine neue Anrufung erweitern.
  Wargon

-----------------------------------------------------------------------------



Re: Re: Ein Vorschlag (Homm, 16. Jun 1997, 11:12:06):
~#! rn=Wargon rt=866449851 rg=gilden.klerus
~#! tid=866444043
Eigentlich schade, da es bei uns schon gut reinpassen wuerde!

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



Re^3: Ein Vorschlag (Sharia, 16. Jun 1997, 13:30:35):
~#! rn=Homm rt=866452326 rg=gilden.klerus
~#! tid=866444043
Tja Homm, das sagte Wargon schon vor laengerer Zeit als die neuen Sprueche
eingefuehrt wurden... 
aber ne Frage an Wargon: wie siehts aus mit der erweiterung der Wunder ??? 

Sharia

-----------------------------------------------------------------------------



Re: Ein Vorschlag (Asmodis, 16. Jun 1997, 14:15:59):
~#! rn=Homm rt=866444043 rg=gilden.klerus
~#! tid=866444043
Kleriker auch abwerten, und Chaoten, Bierschuettler, Abenteurer, nur die
Karatekas muss man aufwerten.

P.S.: NEIN, die Trves nicht!

-----------------------------------------------------------------------------



Re: Re: Ein Vorschlag (Astar, 16. Jun 1997, 14:51:58):
~#! rn=Asmodis rt=866463359 rg=gilden.klerus
~#! tid=866444043
Ist es mal wieder so weit, ich sage dazu nur noch:

Wertet die Abenteurer auf!

Astar

PS: Die sind echt zu schwach, oder _alle_ Anderen sind zu stark.

-----------------------------------------------------------------------------



anrufungen (Nonne, 20. Jun 1997, 13:49:45):
Hi ihrs!

Keinen neuen Anrufungen aber Wunder erweitern? Ob das sinnig ist?
Ich kann mich nur Homm anschliessen: Befrieden passt wirklich besser zu uns,
aber muss ja nicht sein.
Ich haette lieber noch eine offensiver Anrufung, damit man nicht nur auf Blitz
angewiesen ist.
Ein anderes Element faende ich nicht schlecht. Warum Wargon sich sperrt ist
mir ein Raetsel, ich glaube, es ist ihm einfach zuviel arbeit, oder?

Eure Nonne :)

-----------------------------------------------------------------------------



Re: anrufungen (Key, 20. Jun 1997, 15:03:47):
~#! rn=Nonne rt=866807385 rg=gilden.klerus
~#! tid=866807385
Nu ma langsam ... wenn ich net irre sollte die Klerusgilde ne Defensivgilde
sein ... Oder soll hier sowas durchgezogen werden wie bei den Bierschuettlern?

Key

-----------------------------------------------------------------------------



Re: Re: anrufungen (Trekan, 20. Jun 1997, 15:05:05):
~#! rn=Key rt=866811827 rg=gilden.klerus
~#! tid=866807385
ich stimme asmo zu und sage: ABWERTEN!
Trekan ;)

-----------------------------------------------------------------------------



Re^3: anrufungen (Homm, 20. Jun 1997, 17:14:27):
~#! rn=Trekan rt=866811905 rg=gilden.klerus
~#! tid=866807385
Es ist eine Defensivgilde und sollte meiner Meinung auch eine bleiben!!
Aber es sollte wohl moeglich sein auf Anregungen einzugehen oder bestehende
Bugs zu beheben.

Andereseits sehe ich manchmal mit Erschrecken das meine Defensive etwas
leidet, obwohl ich HS, SH, ES und gute Ausruestung habe, aber das sollte nicht
primaer behandelt werden, es waere einfach schoen wenn mal auf Anregungen
eingegangen wird.

Meine Meinung ist: Wargon wenn Du keine Zeit oder Lust (?) hast, uebertrage
doch einige Rechte an andere Magier. Leider kann ich so etwas nicht machen, da
ich Werktaetiger bin und bei mir das MG parallel laeuft.

Wuerdevoll verneigend

Papst Homm

-----------------------------------------------------------------------------



Re^4: anrufungen (Gloin, 20. Jun 1997, 20:04:25):
~#! rn=Homm rt=866819667 rg=gilden.klerus
~#! tid=866807385
Ich habe mit dem Offensivgrad der Gilde kein Problem, im Gegenteil, mir
passiert es oft genug, das Wurstseher MIR zuschauen, wenn ich den Weg in der
SSP freikloppe.
Und wenn ich mir mal anschaue, dass ich bald wohl wieder einer der Spieler
in der Spielertopliste mit den hoechsten EPsen bin, seh ich erst recht
keinen Grund, daran gross rumzunoergeln.
Eine Idee meinerseits irgendwannmal an Wargon ging in die Richtung, dass wir
Kleriker uns auch ein bischen gegen Alkoholvergiftungen durch NPCs schuetzen
koennen.
Dabei musste ich aber eine aehnliche Erfahrung wie Homm machen: Wargon wirder
Gilde in naher Zukunft nichts machen wollen.

Tja, und damit muessen wir uns abfinden.

Gloin

-----------------------------------------------------------------------------



oh bruder genesys... (Nachtwind, 24. Jun 1997, 05:46:27):
Neulich vor dem Altar Kandris...

Du verneigst dich vor Genesys.
Du beginnst inbruenstig zu beten.
Genesys macht mit den Fingern irgendwas unanstaendiges unter der Kutte.
Genesys verdreht auf einmal die Augen.
Du schliesst Kraeuter, Straeucher, Buesche und Baeume in Dein Gebet ein.
Genesys fuehlt sich jetzt besser.
Du schliesst Kraeuter, Straeucher, Buesche und Baeume in Dein Gebet ein.
Genesys muss auf Einmal noch mehr beten.
Genesys waelzt sich vor Lachen auf dem Boden.
Genesys versinkt in tiefer Andacht.
Du betest fuer ein wohlschmeckenderes Lembaswaffelrezept.
> seufze
Das wuerde Deine Andacht stoeren!

Moege Kandri Bruder Genesys vergeben! :)

Nachtwind. Der Inquisitor der Kandri

PS: Grimmborn uebernehmen sie!

-----------------------------------------------------------------------------



Re^5: anrufungen (Wargon, 24. Jun 1997, 10:26:37):
~#! rn=Gloin rt=866829865 rg=gilden.klerus
~#! tid=866807385
  Hi!
Wie frueher schon mal gesagt: Ich sehe die Gilde so, wie sie jetzt ist, als
abgeschlossen an, was Zahl und Art der Anrufungen angeht. Wenn sich nichts
wesentliches am Spielsystem selbst aendert, sehe ich keinen Grund, hier gross
was zu erweitern.
Wundererweiterungen und -ergaenzungen sind zwar geplant, dafuer habe ich aber
im Moment nicht viel Zeit. Gleiches gilt fuer einige andere Ergaenzungen, wie
z.B. eigene Schadensmeldungen beim Laeutern.
Zum Befrieden: Ich glaube, dass Kleriker auch ohne so einen Spruch ganz gut
durchs Leben kommen. Wer unbedingt ohne Waffen Frieden schaffen will, kann ja
immer noch einen geeigneten Zauberer um Hilfe bitten.
  Wargon

-----------------------------------------------------------------------------



anrufungen (Nonne, 24. Jun 1997, 11:14:04):
Hi Wargon.
Es hat sich was am System geaendert: Bluemchenpfluecker (Kleriker) sind
abgewertet worden.
Um einen Ausgleich zu schaffen, faende ich einen anderen Elementspruch ganz
nett. Darum ging es mir.
Schoene Gruesse
Nonne
P.S: Dies ist keine Uebermaessige Kritik, nur ne Anregung ;)

-----------------------------------------------------------------------------



Re: anrufungen (Fyt, 24. Jun 1997, 11:42:37):
~#! rn=Nonne rt=867143644 rg=gilden.klerus
~#! tid=867143644
Es hat sich was am System geaendert: Frueher hatten wir uns alle lieb,
jetzt hat nur noch huepfer alle lieb...

Fyt.

-----------------------------------------------------------------------------



Tempelvorsteher (Bottom,  1. Jul 1997, 20:02:41):

Schwestern und Brueder,

in juengerer Zeit wird es immer schwieriger von Mindra, bzw. Arkshat
Informationen zu erhalten. Sie sind ja kaum noch anzutreffen. Einige
Wuestlinge scheinen es zu ihrer Lieblingsbeschaeftigung erkoren zu haben,
unseren verdienten Tempelvorstehern das Leben schwer zu machen. Neu in die
Gilde draengende Spieler beduerfen aber dringendst ihrer erfahrenen
Unterweisung, und nicht zu vergessen habe ich selbst ein nicht
unbetraechtliches Interesse daran, die beiden Gilden-NPC's wohlbehalten und
bester Laune vorzufinden, weine ich mich doch in schweren Zeiten gerne an
Mindras Busen aus und pflege mit Arkshat das Diputieren theophaner
Grundsaetze.
Daher meine Bitte an Fuerst Wargon oder andere Magier, die sich fuer unsere
Gilde zustaendig fuehlen - gebt Mindra und Arkshat die Mittel, laestige
Angreifer wirkungsvoll von ihrem schaendlichen Tun abzuhalten oder verleiht
ihnen den Status der Unantastbarkeit. Mindra und Arkshat dienen in erster
Linie der Information und sollten nicht als Lustobjekte einiger Fehlgeleiteter
erniedrigt werden! Moegen die Goetter allen Frevlern gruene Haare am Sack
wachsen lassen!

Bottom - ohnmaechtiger Diener Lembolds

-----------------------------------------------------------------------------



Re: Tempelvorsteher (Sharia,  1. Jul 1997, 20:30:08):
~#! rn=Bottom rt=867780161 rg=gilden.klerus
~#! tid=867780161


Schwestern und Brueder, oh Fuerst Wargon,

mit Freuden habe ich am heutigen Tage den Artikel von unserem lieben Bruder
Bottom gelesen. Es erfreut mich sehr, dass nicht nur ich dieser Meinung bin
und moechte auch noch einmal unseren lieben Fuerst Wargon um goettliche
Verstaerkung fuer unsere Ordensvorsteher bitten. Auch mir sind leider zu oft
die Haende gebunden, denn ich kann auch nicht immer alle fehlgeleiteten Seelen
in die Arena fordern und vor das Gericht unserer Goetter stellen.

Sharia - ebenfalls ohnmaechtige Dienerin Lembolds

-----------------------------------------------------------------------------



Re: Re: Tempelvorsteher (Dieder,  1. Jul 1997, 20:54:29):
~#! rn=Sharia rt=867781808 rg=gilden.klerus
~#! tid=867780161
Hail Chaos!

Mit Freude hab ich heute festgestellt, dass auf letzte Artikel einige unserer
Kameraden sofort reagiert haben, indem Sie diesen Weicheiern und Betbruedern
erneut das Lebenslicht ausgeblasen haben.
Macht weiter so, denn nur so ist Chaos und CHAOS RULEZ!!!

*Ironie off*
Dieder

PS: Bitte ned zu ernst nehmen *grins Sharia*

-----------------------------------------------------------------------------



Re^3: Tempelvorsteher (Asmodis,  1. Jul 1997, 20:57:39):
~#! rn=Dieder rt=867783269 rg=gilden.klerus
~#! tid=867780161
Da ich auf der anderen Seite der Kleriker stehe (hihi), unterstuetze
ich diese Meinung einiger Chaoten und fordere sie hiermit auf,
diese heuchlerischen Gebetsbruedern das Leben weiter schwer zu
machen.

  Asmodis, Mitglied des satanischen Triumvirats

-----------------------------------------------------------------------------



Re^4: Tempelvorsteher (Chester,  1. Jul 1997, 21:00:20):
~#! rn=Asmodis rt=867783459 rg=gilden.klerus
~#! tid=867780161
jo, ich bin zwar auch der Meinung, dass das Gildenoberhaupt staerkemaessig ein
Witz ist (und deshalb verstaerkt gehoert), aber solange er noch so ein
Schwaechling ist, nehme ich mir die Freiheit, mir mit seinem Tod den Abend zu
versuessen.
CHAOS RULEZ
chester

-----------------------------------------------------------------------------



Re^5: Tempelvorsteher (Atoz,  1. Jul 1997, 21:18:32):
~#! rn=Chester rt=867783620 rg=gilden.klerus
~#! tid=867780161
Jep Leute recht habt Ihr. Vor allem wenn ich bedenken, dass diese Jammerlappen
meinen muehevoll erarbeiteten schlechten Charakter zerstoeren. Da wird mir
doch gleich wieder ganz anders.

Gleich blasen wir dem Kerlchen wieder das Lebenslicht aus.

Atoz Chaot aus Ueberzeugung

-----------------------------------------------------------------------------



Flair (Cytan,  3. Jul 1997, 20:19:21):

Also, wenn man nur nach der MPA geht, ist die Kleriker-Gilde sicherlich die
atmosphaerischste Gilde hier.
Vielleicht schaffen wir ja auch noch einmal eine Schlacht bei besagten
Ordensmitgliedern.

Cytan 


-----------------------------------------------------------------------------



Kleine Aenderungen (Wargon,  4. Jul 1997, 12:59:12):
  Hi!
Zuerst die schlechte Nachricht: Der Messerkreis ist, hm, umgewertet worden :)
Und nun die guten Nachrichten: 'laeutere' hat eigene Schadensmeldungen,
'regeneriere' beruecksichtigt auch die abgeschlagenen Haende der Kaempfer, und
die Ordensvorsteher sollten jetzt vor randalierenden Frevlern sicher sein.
  Wargon

-----------------------------------------------------------------------------



Re: Kleine Aenderungen (Homm,  4. Jul 1997, 13:17:08):
~#! rn=Wargon rt=868013952 rg=gilden.klerus
~#! tid=868013952
Sind die Aenderung des Messerkreises schon die vom EM-Balance, oder bist Du
ihm zuvorgekommen??

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderungen (Wargon,  4. Jul 1997, 13:31:32):
~#! rn=Homm rt=868015028 rg=gilden.klerus
~#! tid=868013952
Das war nur ein Balance-Vorgeplaenkel, das grosse Durchsuchen steht noch an :)
  Wargon

-----------------------------------------------------------------------------



Re: Kleine Aenderungen (Key,  4. Jul 1997, 15:20:39):
~#! rn=Wargon rt=868013952 rg=gilden.klerus
~#! tid=868013952
Hmm Wargon regenerire funzte doch schon lange bei den abgeschlagenen
Kaempferhaenden ...

Oder seh ich da was falsch?

Key

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderungen (Wargon,  7. Jul 1997, 14:18:40):
~#! rn=Key rt=868022439 rg=gilden.klerus
~#! tid=868013952
Verschwanden die Haende dann auch?
  Fragt sich Wargon

-----------------------------------------------------------------------------



Talismane (Wargon, 16. Jul 1997, 13:16:22):
  Hi!
Ab und an scheinen wohl mal Talismane verschuett zu gehen... Wenn man seinen
Talisman verloren hat, kann man jetzt bei den Ordensvorstehern Ersatz bekommen
(und muss sich nicht mehr an irgendwelche Magier wenden :)
Man muss Arkshat oder Mindra dazu einfach nur nach 'talisman' fragen.
Der Talisman ist fuer Kleriker jetzt allerdings auch notwendig geworden. Ohne
ihn koennen sie keine Anrufungen mehr durchfuehren.
  Wargon

-----------------------------------------------------------------------------



Zauberer-Flueche (Silvana,  4. Aug 1997, 11:11:55):
Hi.
Die Wirkungen der Zauber 'zwingtanz' und 'erzwinge' sind jetzt als
schwache Flueche gekennzeichnet und koennen von Klerikern 'geheilt' werden,
so sie es denn koennen.

  Silvana

-----------------------------------------------------------------------------



Aus den Heiligen Schriften... (Wargon, 21. Aug 1997, 10:47:33):
[...]

Und siehe, eine grosse Furcht erfuellte die Voelker, denn Paracelsus  mit  der
Waage verkuendete, dass er Gilden, Glaubensgemeinschaften  und  andere  Buende
auf ihren Einklang mit dem kosmischen Gleichgewicht hin pruefen wuerde.

Und die Brueder und Schwestern des Heiligen Ordens sahen  mit  Schrecken,  was
Paracelsus mit der Waage den Mitgliedern der Akademie der geistigen  Kraft  zu
Taramis auferlegte.

Und als sie sahen, dass Paracelsus mit  der  Waage  selbst  eine  wohlbekannte
Alkoholikervereinigung nicht verschonte, nahm die Dringlichkeit  ihrer  Bitten
an die Goetter um Verschonung weiter zu.

Doch Paracelsus mit der Waage liess sich nicht von seinem Vorhaben abbringen.

Und er studierte das Buch der Anrufungen, und er erbleichte.

Und Paracelsus mit der Waage ging zu Wargon dem Behueter, um  ihn  auf  einige
Stellen im Buch der Anrufungen hinzuweisen.

Und Paracelsus mit der Waage sprach zu Wargon dem Behueter:
"So gehts ja nicht!"

Und Wargon der Behueter warf ebenfalls einen  Blick  in  das  Buch  der  Anru-
fungen, studierte auch lang vergessene Seiten, erbleichte und antwortete dann:
"Hm, stimmt!"

Und Wargon der Behueter wandte sich an die  Goetter,  um  ihnen  das  Ansinnen
Paracelsus' mit der Waage sowie einige eigene Anregungen zu unterbreiten.

Und die Goetter berieten untereinander, und sie kamen zu dem  Schluss,  einige
Aenderungen im Sinne des kosmischen Gleichgewichts vorzunehmen.

Und dies waren die Aenderungen, die sie beschlossen:

Die Wirkung vieler Anrufungen verschlechtert sich, und  die  Kosten  fuer  die
Anrufungen erhoehen sich, wenn der oder die Anrufende von frechem, boesem oder
gar satanischem Charakter ist. 

Die Wirkung der 'schutzhand' wird auf etwas andere Art und Weise ermittelt.

Die Beistaende 'phoenix' und 'schutzengel' sind schwaecher geworden.

Die Wirkungszeit von 'heiligenschein' und 'messerkreis' ist etwas gekuerzt.

Eine 'elementarsphaere' und ein 'elementarschild'  koennen  nur  noch  gleich-
zeitig existieren, wenn sie aus dem gleichen Element bestehen.  Ausserdem  ist
die Wirkung des 'elementarschild'es reduziert worden.

Der 'donner' (auch der Donner nach einem 'blitz') verschont jetzt  Wesen,  die
gegen Zauberei immun sind.

'entfluche' und 'kuriere' sind an Flueche  und  Krankheiten  unterschiedlicher
Staerke angepasst. Die Anrufungen fuehren also nicht unbedingt zum Erfolg.

Und schliesslich wurde die Lerngeschwindigkeit der  Anrufungen  den  aktuellen
Standards angepasst.

Und die Goetter ueberreichten Wargon dem  Behueter  das  geaenderte  Buch  der
Anrufungen.

Und Wargon der Behueter legte das Buch der Anrufungen Paracelsus mit der Waage
vor, und Paracelsus sah, dass es gut war.

Und Wargon der Behueter gab das Buch der Anrufungen an die Brueder und Schwes-
tern des Heiligen Ordens weiter, und wieder einmal erhob sich ein grosses Weh-
klagen.

[...]

(Quelle: Das Buch der Heimsuchungen, Kapitel 17)


-----------------------------------------------------------------------------



Kommentar... (Wargon, 21. Aug 1997, 10:51:53):
Ein paar Randbemerkungen: Nicht alle der Aenderungen sind von Paracelsus
angeregt worden; er hat sich hauptsaechlich ueber den Elementarschild, die
Beistaende und die Lerngeschwindigkeit mokiert.
Ausserdem werden die Waffen jetzt ein wenig differenzierter beurteilt (vor
allem bei der Fehigkeit mitb Schlagwaffen). Z.B. muss eine Keule aus
unheiligem Material den Goettern nicht unbedingt wohlgefaellig sein.
Die FAQ wird wohl auch mal im Laufe der Zeit angepasst; wie sich der Charakter
auf die Kosten der Sprueche auswirkt, koennt ihr in den Tempeln im Buch der
Anrufungen nachsehen.
  Wargon

-----------------------------------------------------------------------------



Re: Kommentar... (Sharia, 21. Aug 1997, 10:53:17):
~#! rn=Wargon rt=872153513 rg=gilden.klerus
~#! tid=872153513
Wie sieht es denn mit Lebenskraft aus ?? habt ihr das auch mal bearbeitet, so
das es auch moeglich ist es auf 100% zu bringen ? 

Sharia, ansonsten neugierig wiesehr mans merkt

-----------------------------------------------------------------------------



erstaunt (Nonne, 21. Aug 1997, 11:21:05):
Hi Brueder und Schwestern.

Es erstaunt mich doch etwas, dass man die Gilde, die am wenigsten Schaden
macht, ihrer defensive beraubt. Welchen Sinn hat ein Schild mit gleichem
Element, wie die Spaehre? Ich habe den Schild benutzt, um die Nachteile der
Spaehre auszugleichen. Das ist ja nichtmehr moeglich. Mit der Schwaeche
unserer Gilde komme ich mich immer gut abfinden, da man ja relativ schnell
gelernt hat. Die Zauberer hingegen rechtfertigen ihre herausragende Staerke
immer mit ihrer geringen Lerngeschwindigkeit. (Die Gefahren kann man ja gegen
Null reduzieren)
Ich glaube mit einer Abwertung werden noch die letzten aktiven Kleriker (deren
es ja wirklich nicht viele gibt) noch vergrault und der Kleriker zu einem
Entgeiftungs- und Hydrakillobjekt degradiert.
Wenn ich die Auswirkugen stark spuere, spiele ich mit dem Gedanken, die Gilde
zu wechseln.
Defensivgilde schoen und gut. Aber eine kleine Daseinsberechtigung moechte ich
doch, und nicht nur am Sandiger stehen und Leute entfroschen.

Traurig,

Nonne

-----------------------------------------------------------------------------



Re: erstaunt (Wargon, 21. Aug 1997, 11:25:22):
~#! rn=Nonne rt=872155265 rg=gilden.klerus
~#! tid=872155265
Nirgendwo steht geschrieben, dass der Pfad der Tugend einfach zu beschreiten
ist. Oder um es musikhistorisch auszudruecken:
There's a Highway to Hell, but only a Stairway to Heaven.
  Wargon

-----------------------------------------------------------------------------



Heaven or hell? (Nonne, 21. Aug 1997, 11:42:35):
Tcha Wargon,

aber am Ende der Treppe wartet der Himmel! Hingegen erschoepft sich das dasein
im diesseites auf die auseinandersetzung mit NPC's. Entweder metzelt oder
bluemchenpflueckend. Wenn du einen Himmel fuer Kleriker proggst, sehe ich das
alles ein, aber solange es den nicht gibt, moechte ich _annaehernd_ mit
anderen Gilden in der staerke vergleichbar sein. Enthusiasmus brachte ich
bisher auch ein, da es keine logische Erklaerung gibt, Kleriker zu werden. Es
ist hoechstens die Stimmung in der Gilde, die mich bewog dabeizubleien. Aner
ich bin es leid, Zauberer zu fragen, ob sie mir mal eben Ausruestung metzeln
koennen. Ich finde es einfach Schade. Ich hatte eher mit einer AUfwertung der
Kleriker gerechnet. Zauberer koennen ihr schild abstellen, Kleriker nicht.
bevor ich ein Schild anmanchen kann muss ich in zukunft warten, bis die
Sphaere auch weg ist. Jetzt stehe ich ja schon ewig in der SSP, damit ich fuer
die Eisebene den SChild wechseln kann. Darueber komme ich nicht weg. Welches
Monster ist empfindlich (nur da half die Spaehre) gegenueber den Schaden den
es selbst macht (da hilft der Schild) ?? Leute, balance ist ja nett, aber auf
den Kleriker rumtrammpeln?
Vielleicht wurden die Spitzen der Zauberer gekappt. Aber sie sind in defensive
und offensive die staerkste Gilde. Bisher kamen die Kleriker in Defensive ran,
aber niemals in der Offensive. Denkt mal drueber nach!

Tut mit leid, ist ein bischen lang geworden, aber ich bin emotionalisiert ;)

Nonne

-----------------------------------------------------------------------------



Re: Heaven or hell? (Silvana, 21. Aug 1997, 19:34:10):
~#! rn=Nonne rt=872156555 rg=gilden.klerus
~#! tid=872156555
Da muss ich Dir wiedersprechen, Nonne. Gerade die Defensive der
Zauberer ist _drastisch_ verschlechtert gegenueber frueher. Und was
bleibt, koennen andere Gilden mitnutzen. Seid ihr noch nie auf die
Idee gekommen, Euch von Zauberern die Ruestungen nachbessern zu 
lassen? Hast Du eine Vorstellung, mit was fuer einem PANZER die 
Kleriker dann immer noch rumlaufen?
Wenn ihr kein Lust habt, zusammenzuarbeiten, dann lasst es - aber 
beschwert Euch hinterher nicht.

  Silvana

-----------------------------------------------------------------------------



Re: Re: Heaven or hell? (Mindblade, 22. Aug 1997, 00:47:05):
~#! rn=Silvana rt=872184850 rg=gilden.klerus
~#! tid=872156555
Also Silvana dem kann ich ja nicht ganz so zustimmen. Es ist zwar richtig,
dass der Schutz der Zauberer erheblich schlechter geworden ist, nur ist er
immernoch extrem stark. Was den "Panzer" der Kleriker angeht, so ist der lang
nicht so flexibel wie der der Zauberer. Bei Monstern, die z.B. Schnittschaden
machen nuetzt das Eschild wenig, dem Zauberer ist die Schadensart relativ
egal. Zwar ist der Schutz (ruesten) auch auf andere uebertragbar, aber naja,
man kann sich ja nicht den ganzen Abend staendig durchruesten lassen um nen
guten Schutz zu haben. Bei Teammetzelaktionen ist klar, dass man da jeglichen
Schutz ausnutzt, aber was Nonne wohl eher meinte war wohl das "normale"
metzeln. Naja, ich wuerde sagen, es bleib eh erstmal abzuwarten wie die
Auswirkungen sind. Aber nochmal zum Schutz/Schutzhuelle der Zauberer: er ist
abgewertet trotzdem definitiv besser als der der Kleriker!;)

Mind*, sich selbst wundernd dass er als Chaot mal FUER Kleriker spricht.:)

-----------------------------------------------------------------------------



Re: Re: Heaven or hell? (Sharia, 22. Aug 1997, 01:40:56):
~#! rn=Silvana rt=872184850 rg=gilden.klerus
~#! tid=872156555
Ich muss Silvana Recht geben, wenn Zauberer und Kleriker zusammenarbeiten ist
der PANZER ( (c) Silvana ) doch noch recht hoch.. und das hat nix mit
Teamkampf zu tun sondern da reicht schon ein fruf oder ein freundliches Fragen
auf den Ebenen. Ich sehe das so: Kleriker sind eine Gilde die vorallem dazu
gedacht ist anderen zu helfen, ich habe so viele Freunde die Zauberer sind
(nicht nur mein Erstie, der kam spaeter) dass ich da echt kein Problem mit
haette auch wenn ich keinen Erstie da haette. Tja und wie bin ich zu den
vielen Zauberer Freunden gekommen ? Ich habe X mal entgiftet, hoerend gemacht,
entblindet etc, dass sich die Freundschaften einfach so entwickelten. Aber
auch sonst.. Kleriker die helfen (und nicht nur Kleriker) denen wird
geholfen... und dies foerdert den Zusammenhalt.
Zu den Abwertungen: das einzige was mir wirklich negativ auffaellt ist die
Sache mit Elesphaere / Eleschild. Hier sehe ich keinen Sinn darin eine
Elesphaere Feuer zu machen und mich gegen feuer schuetzen zu koennen, denn mir
ist so spontan KEIN Monster bekannt, welches empfindlich gegen Feuerschaden
ist und welches auch selbst Feuerschaden macht... also dann kann man ja fast
auch gleich sagen: Elesphaere und Eleschild kann man garnicht gleichzeitig
machen... 
Aber ansonsten ists ok denke ich und das feature, dass die spells teurer
werden, wenn der Charakter schlechter wird, das finde ich eine SEHR gute idee
!!
Zu den Waffen-Abzuegen: Schade um die meiner Meinung nach beste Keule im MG..
diese ist leider NICHT 100% Goettergefaellig und daher schlaegt man nichtmehr
100% zu tja aber ich hoffe mein Aufruf hilft:

 Magier des Morgengrauens: PROGGT BITTE BITTE GOTTGEFAELLIGE GUTE KEULEN :-)


Sharia, die sich fragt, ob es manche nicht uebertreiben. 

P.S.: Schreibt bitte nicht zuviele flame-artikel zur Abwertung denn SOO
schlimm isse nich.

-----------------------------------------------------------------------------



Re^3: Heaven or hell? (Sharia, 22. Aug 1997, 01:56:30):
~#! rn=Sharia rt=872206856 rg=gilden.klerus
~#! tid=872156555

Kleiner Nachtrag zu Nonne:
Sicherlich sind wir nicht die Gilde die am staerksten Reinhaut, aber es IST
moeglich auch als Kleriker in einer Kampfrunde 4 mal zu pulverisieren. Naja
wenn man weiss wie und wo und womit ... NICHT mit zusatzwaffen.. die kaemen
noch dazu :-)
(Hab das aber auch nur 1 mal geschafft bisher :-))))

Sharia, die so wahnsinnig schlecht malen kann.

-----------------------------------------------------------------------------



Re: Aus den Heiligen Schriften... (Tunixgut, 22. Aug 1997, 09:15:51):
~#! rn=Wargon rt=872153253 rg=gilden.klerus
~#! tid=872153253
COOLE Beschreibung fuer "Ihr habt Pech gehabt, ihr armen Schweine!" ;o)

Dat Karate-Zwerchle - wartet noch auf die Abwertung seiner Gilde...

-----------------------------------------------------------------------------



schilde-sphaeren (Nonne, 22. Aug 1997, 11:45:31):
Noch eine kleine Anmerkung, Sharia.
Es gibt eine Stelle an der man mit viel Glueck in einer Runde pulverisieren
kann?
Super! Soll ich nurnoch da metzeln gehen? Unsere Spielwiese Gruft ist
abgehaengt, gegen neutrale/gute NPCs wirkt der Heiligenschein nicht, man muss
sich zwischen Schild und Spaere entscheiden, wo ist denn unser Panzer? Klar
kann ich mich fuer die Hydra oder den Kommandofuehrer ruesten lassen, aber ich
meine den Metzelalltag. Die Abwertung der Zauberer war nicht so schlimm,
unserer auch nicht, aber die alte Kluft zu den Zauberern ist groesser denn je.
Kennst du eine Metzelgruppe die nicht nach Zauberern schreit? Uns braucht man
nur zum heilen und entgiften. Ich moechte aber _auch_ einwenig mit reinhauen.
Um die Gilden ausgeglichener zu gestallten, war diese Abwertung kein Mittel.
Und den Schwachsinn, dass diese Gilde immer schwaecher geplant war, kann sich
jeder sparen. Es ging doch wohl um Ausgeglichenheit. Und das war ein Schlag in
Wasser. Damit wir annaehernd an die Staerkeder Zauberer kaemen, muesste man
die Kleriker extrem aufwerten. Das will ich ja garnicht. Aber ein bisschen
mehr Augeglichenheit schon bitte.

Nonne

P.S.: So wird es dann halt eine reine Zweitiegilde. Ist es das, was Du
wolltest, Wargon?

-----------------------------------------------------------------------------



Re: schilde-sphaeren (Sharia, 22. Aug 1997, 11:51:18):
~#! rn=Nonne rt=872243131 rg=gilden.klerus
~#! tid=872243131
hmmm Nonne:
Was haben wir gemacht als es noch kein Eleschild gab ?
Achnee da gabs dich wohl noch nicht. 
Und: wieso muessen wir so stark wie die Zauberer sein? waere schrecklich, denn
so kann man beweisen, dass ein Kleriker/eine Klerikerin ebenso eigentlich fast
jedes Monster killen kann, auch wenns halt etwas laenger dauert...
Zumindest versuche ich jeden NPC ohne groessere Hilfe von anderen Gilden zu
erlegen, und meistens klappt es.. und auch ohne Wurfsterne oder Pfeile ist das
moeglich

Sharia, schrecklich schlechte Kuenstlerin

-----------------------------------------------------------------------------



Re: Re: schilde-sphaeren (Asmodis, 22. Aug 1997, 14:07:49):
~#! rn=Sharia rt=872243478 rg=gilden.klerus
~#! tid=872243131
Mag sein, aber es ist immer wieder gemein, wenn eine Gilde erst
hochgeruestet wird und dann wieder so abgewertet.
Was macht eigentlich der Gilden- und der Balance-Erz im restlichen
Teil des Jahres?
Die Kleriker-Gilde gibts ja nicht erst seit gestern !
Ich finde, das ist ein Armuts-Zeugnis fuer das MG.

-----------------------------------------------------------------------------



Re^3: schilde-sphaeren (Key, 22. Aug 1997, 14:14:25):
~#! rn=Asmodis rt=872251669 rg=gilden.klerus
~#! tid=872243131
Hmm Amso also auf para rumreiten ist jetzt meiner meinung nach falsch ...
die Sachen die geaendert um am meisten kritisiert wurden stammen von wargon
wenn ich net irre ...
Und wenn nen mag seine gilde schwaecher macht kann der balanceEM wohl kaum was
tun.

Was para das ganze jahr ueber macht? Also ich wuerde mal schaetzen ne menge,
oder glaubst du er wuerde als hauptjob hier im mg erzie sein? .))

Hmm Nonne warum schrie ich den oefter nach nen kleriker? Bevor Tui was taugte
war mir nen kleriker als begleitung zum teil lieber, ja oki net das er stark
mit reinhaut, aber zum entgiften etc.

Und vielleicht sollteste dir mal vor augen halten wie wichtig entgiften ist
zum teil.

Key 

-----------------------------------------------------------------------------



entgiften (Nonne, 22. Aug 1997, 15:17:25):
Ich finde es ja schoen, dass Kleriker wichtig sind und am Sandtiger stehen
koenne und entgiften. Ich moechte aber auch ein wenig mitmetzeln. Ich probiere
gerade aus und muss sagen, dass es ganz okay ist, ausser der Witz mit der
Sphaere. Was die Schutzhand betrifft, kann ich mich nicht aeussern. Trotzdem
finde ich, dass es nichts mit Balance zu tun hat, die Kleriker abzuwerten :(

Nonne


-----------------------------------------------------------------------------



Re: entgiften (Orktoeter, 22. Aug 1997, 15:54:08):
~#! rn=Nonne rt=872255845 rg=gilden.klerus
~#! tid=872255845
Hmm tja, ich koennte ja jetzt was sagen, aber dann heisst es nir, wechsel die
Gilde, aber das koennen andere doch auch..
OrkT (immer noch Abenteurere)

-----------------------------------------------------------------------------



Re^3: schilde-sphaeren (Anatol, 25. Aug 1997, 15:54:19):
~#! rn=Asmodis rt=872251669 rg=gilden.klerus
~#! tid=872243131
Leider, Asmodis, ist das Morgengrauen nicht mehr klein und ueberschaubar.
Und leider gibt es sehr wenig Spieler, die zu irgendeinem Magier, der 
Einfluss nehmen kann, sagt, wenn er etwas, das er selbst nutzt (oder auch 
nur nutzen koennte), fuer `zu gut` haelt.
Ich habe mit meiner Klerikerin wenig Metzelerfahrung. Ich kann mich aber
nicht beklagen, fuer das bisschen Aufwand war (weil ich den neuen Aufwand
nicht kenne eben `war`) sie megastark. Es ist eine Anpassung, und keine
ungerechtfertigte Abwertung. Jemand, der nur `blitz`, `elementarschild` 
und `donner` verwendet, mag allerdings von letzterem ueberzeugt sein.
Abgesehen davon hat Dein Kleriker Deiner eigenen Aussage nach auch nur den
Zweck, seinem Erstie Heiltraenke zu erzeugen. Also was jammerst Du wie ein
Maultier, Du lebst doch noch...?

Anatol

-----------------------------------------------------------------------------



Re: entgiften (Wargon, 26. Aug 1997, 11:05:33):
~#! rn=Nonne rt=872255845 rg=gilden.klerus
~#! tid=872255845
Die Aenderungen an der Schutzhand sind nicht soo wild... Es wird im
wesentlichen verhindert, dass das Ziel einen voellig utopischen Schutz
bekommt, was nach der alten Formel duechaus passieren konnte, wenn es schon
vorher gut geschuetzt war.
  Wargon

-----------------------------------------------------------------------------



Leiser Abschied (Homm, 27. Aug 1997, 15:47:12):
Tja meine Schaefchen, es ist traurig aber wahr und unaufhaltsam...:((

Der Papst wurde zu hoeheren Aufgaben berufen....:((

In den naechsten 3-6 Monaten werde ich auf eine einsame und harte Pruefung
gehen, ob ich von dieser lebend wiederkehre ist noch nicht gewiss.

Tja, ich werde abundzu Lebenszeichen geben und sagen ob Hoffnung besteht.
Tja, ich werde abundzu Lebenszeichen geben und sagen ob Hoffnung besteht.
Ein letztes mal
Wuerdevoll verneigend
Papst Homm


-----------------------------------------------------------------------------



Re: Leiser Abschied (Bottom, 27. Aug 1997, 18:24:16):
~#! rn=Homm rt=872689632 rg=gilden.klerus
~#! tid=872689632

Also irgendwo hab ich mal was von 40 Tage Wueste, wildem Honig und
Heuschrecken gelesen oder gehoert...aber 3 bis 6 Monate haert sich doch sehr
bitter an!
Finde Dich selbst in dieser schweren Zeit, Bruder Homm, und nimm unsere besten
Wuensche und unseren Segen mit. Siehe in der harten Pruefung die Chance zur
Bewaehrung! Moegen die Goetter mit Dir sein!

Bottom gedenkt des Bruders in der Diaspora

-----------------------------------------------------------------------------



Re: Re: schilde-sphaeren (Caramon, 29. Aug 1997, 03:25:25):
~#! rn=Sharia rt=872243478 rg=gilden.klerus
~#! tid=872243131
hmm, so gross hab ich die abwertungen zwar noch net austesten koennen, aber zu
der frage, was wir gemacht haben, als es noch kein Eleschild gab muss ich
sagen, das ich schon damals die Eleruestung net benutzt hab, weil sie einfach
zu wiederspruechlich war. was nuetzt es mir denn, einen npc pulveresieren zu
koennen, weil er (zb eistitan) gegen feuer anfaellig ist, mich aber mit kaelte
angreift und pulveresiert, weil ich dadurch gegen kaelte anfaellig geworden
bin?

Tanis ... nur mal soviel zum Thema Elementarruestung

-----------------------------------------------------------------------------



Re^3: schilde-sphaeren (Sharia, 29. Aug 1997, 08:51:05):
~#! rn=Caramon rt=872817925 rg=gilden.klerus
~#! tid=872243131
Tanis ! :-) Darum gings ja :-) Elementarsphaere Feuer mit Elementarschild
Kaelte kombinieren hob die Nebenwirkungen der Sphaere auf..und das geht halt
jetzt nimmer...find ich aber wirklich nich so schlimm...und auch sonst denke
ich haben wir keinen Grund uns ueber die Abwertungen zu beschweren... nunja
die Elementar* koennte man schon nochmal ueberarbeiten waere aber auch nich
sooo schlimm wenns so bliebe.

Sharia,  senf

-----------------------------------------------------------------------------



Re^4: schilde-sphaeren (Bottom, 29. Aug 1997, 14:20:27):
~#! rn=Sharia rt=872837465 rg=gilden.klerus
~#! tid=872243131

Das ist doch wirklich nicht das Wesentliche. 
Die wahre Kraft liegt im Gebet allein!!!

Bottom - versteckt seinen Talisman

-----------------------------------------------------------------------------



Abwertungen (Gloin,  1. Sep 1997, 15:59:00):
Nachdem ich meine Standard-Ausruestung eingesammelt habe und in den letzten
zwei Stunden so wieder fuer 500k EP Monster umgenietet habe, inklusive eines
kleinen Besuches in der Feuerebene, um Mango zu entgiften, muss ich doch
feststellen, dass ich immer noch genug Schaden mache, trotz irgendwelchen
Keulenabwertungen und Alignment-Veraenderungen.
Also preise ich Kandr, bete, dass die Petersilie bald ihrer unerwuenschten
Nebenwirkungen befreit wird und reiche Nonne ein Taschentuch. Genug geheult.

Gloin

-----------------------------------------------------------------------------



Re: Abwertungen (Mango,  1. Sep 1997, 16:12:37):
~#! rn=Gloin rt=873122340 rg=gilden.klerus
~#! tid=873122340
Petze ;).

Mango, zur falschen Zeit am falschen Ort.


-----------------------------------------------------------------------------



Noch mehr neues... (Wargon,  5. Sep 1997, 10:37:36):
  Hi!
Es gibt schon wieder ein paar (kleinere) Neuerungen:
- 'segne' funktioniert nur noch bei Spielern (aus technischen Gruenden...)
- 'elementarsphaere' und 'elementarschild' kennen jetzt den Parameter 'aus',
  um den entsprechenden Spruch abzubrechen.
- da man die Nachteile der Elementarsphaere nicht mehr mit einem Elementar-
  schild ausgleichen kann, sind die Grundkosten der Sphaere gesunken.
- ein guter/heiliger Charakter wird durch verringerte Anrufungskosten belohnt.
- einmal erreichte Faehigkeiten muessen nicht unbedingt konstant bleiben,
  sondern koennen evtl. auch wieder abnehmen
- bei den begrenzten Ordensraengen wird nicht mehr die normale Ordens-
  einstufung herangezogen, sondern eine Einstufung mit etwas geaenderter
  Gewichtung. Ausserdem wird vor dem Verteilen der Erleuchtungsaufgabe und
  vor dem Abgeben des entsprechenden Gegenstandes geprueft, ob man ueber-
  haupt eine Chance hat, einen der vorhandenen Erleuchteten abzuloesen.
  Falls nicht, wird einem das entsprechend mitgeteilt.
- Damit man sich nicht die Fuesse abrennen muss, um vom Tempel in Djelibeby
  zum Stammtempel ans Ende der Welt und wieder zurueck zu gelangen, gibt
  es in den Tempeln fuer Ordensmitglieder den Befehl 'tempeltransport'.
So, ich hoffe, ich habe nix vergessen :)
  Wargon

-----------------------------------------------------------------------------



Re: Noch mehr neues... (Grimmborn,  5. Sep 1997, 10:54:03):
~#! rn=Wargon rt=873448656 rg=gilden.klerus
~#! tid=873448656
- 'segne' funktioniert nur noch bei Spielern (aus technischen Gruenden...)

Find ich gut, dass sich noch jemand offen zu seinem Sexismus und seiner
Frauenfeindlichkeit bekennt. :-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Noch mehr neues... (Rochus,  5. Sep 1997, 12:35:39):
~#! rn=Wargon rt=873448656 rg=gilden.klerus
~#! tid=873448656
Ich hoffe doch, dass segne weiterhin bei Monstern funktioniert,
wenn Monster das anwenden?

-----------------------------------------------------------------------------



Re: Re: Noch mehr neues... (Asmodis,  5. Sep 1997, 12:36:18):
~#! rn=Rochus rt=873455739 rg=gilden.klerus
~#! tid=873448656
Hoffen wir nicht :)

-----------------------------------------------------------------------------



Re: Re: Noch mehr neues... (Wargon,  9. Sep 1997, 10:29:44):
~#! rn=Rochus rt=873455739 rg=gilden.klerus
~#! tid=873448656
Ich glaube nicht, dass die Folgen in Deinem Interesse waeren, Rochus :)

-----------------------------------------------------------------------------



Re^3: Noch mehr neues... (Key,  9. Sep 1997, 10:31:34):
~#! rn=Wargon rt=873793784 rg=gilden.klerus
~#! tid=873448656
Wer weiss wer weiss :)

Denn wen soll Rochus Raeuber-Kleriker denn sonst segnen ausser seine eigenen
Kumpanen? :))

Key

-----------------------------------------------------------------------------



reale froemmelei (Genesys,  9. Sep 1997, 17:24:21):
Angesichts der enormen Betzeiten, ueber die ich mich schon so manches Mal
geaergert habe schlage ich folgendes vor:

    -> entweder die Effektivitaet des Betens erhoehen
    -> oder einen 'Ablasshandel' einfuehren
    -> oder wenigstens Zeitunglesen beim Beten erlauben *grins*

Was haltet ihr davon?

Gelangweilt die Harfe klimpernd:

Genesys

-----------------------------------------------------------------------------



Stilles Zwiegespraech (Gloin,  9. Sep 1997, 23:41:26):
Da ich ja eine folgsame Dienerin meines Herrn bin, habe ich die
gesenkten Anrufungskosten sehr schnell gemerkt und danke Kandri
dafuer. Was ich bisher noch nicht bemerkt habe, und eigentlich
auch nicht moechte, ist das Absinken der Faehigkeiten im Laufe
der Zeit. Ich hoffe doch, dass dies durch eine Art Lernen beim
normalen Anrufen des Gottes kompensiert wird, da wir ja alle
wissen, dass man normalerweise nur bei misslungenen Anrufungen
lernt. Und deshalb durch diese Aenderung leider das Effizienz-
Scripten im Namen Gottes gefoerdert werden wird. Amen.

Gloin

-----------------------------------------------------------------------------



zweities raus ) (Nonne, 10. Sep 1997, 13:04:38):
~#! rn=Gloin rt=873841286 rg=gilden.klerus
~#! tid=873841286
Hi SChwestern und Brueder,
Ich glaube, der Skillverlust geht sehr langsam vor sich und soll die Heil-und
entgifte-Zweities aus den erleuchtetenraengen halten.
Wenn du also normal kaempfst und anrufst lernst du, oder haelst dein level.
Jedenfalls wenn Wargon das so umgesetzt hat, wie auf der Party angeregt.
Sollte dich das stoeren, beschwer dich bei Nachtwind oder bei mir :)

Nonne

-----------------------------------------------------------------------------



Re: zweities raus ) (Homm, 10. Sep 1997, 16:16:31):
~#! rn=Nonne rt=873889478 rg=gilden.klerus
~#! tid=873841286
Trotz meiner beschraenkten Zeit moechte ich doch mal ein Lebenszeichen von mir
geben!

Komisch, jetzt wo ich weniger Zeit habe (das wird sich bald wieder aendern !!)
passiert ploetzlich wieder was in der Gilde.

Als erstes moechte ich mich mal bei Wargon dafuer bedanken, dass er doch
wieder an der Gilde arbeitet.
Ich hoffe es kommt in diesem Verlauf auch zum Ausbau von Bugs, die ihm
eigentlich bekannt sein sollten.

So, genug Balsam verteilt.

Die Sache mit den Abstufungen ist eine gelunge Umsetzung, da sie Zweitis
wirklich zwingt ihre Anrufungen zu gebrauchen.
Ich weiss leider nicht wie es umgesetzt wurde, aber es sollte ein Wertigkeit
beim Verfall geben.
Z.B. Heilen sinkt staerker als Regenerieren....evtl. sollte die Wertigkeit
gleich der Wertigkeit sein wie sie in der Berechnung des Status eingeht.

Tja...und dann generelles (oder fast Sharia..:)) ) Zweitiverbot in den
Erleuchtetenraengen...sonst befuerchte ich eines Tages so etwas aehnliches wie
bei den Zauberern...naja, wir werden sehen wie das mit der Zweitimarkierung
laeuft.

So das war mein Anteil zu dem letzten Monat!

Wuerdevoll verneigend
Papst Homm


-----------------------------------------------------------------------------



Re: Re: zweities raus ) (Key, 10. Sep 1997, 17:34:30):
~#! rn=Homm rt=873900991 rg=gilden.klerus
~#! tid=873841286
Hmm jetzt erklaertste mir erstmal wie das bei den Zauberern ist ...

Und dann ... Zweities raus ... Oki .. am besten ausm ganzen mg, ist ja auch
kein prob wenn jemand sich die muehe macht und einen charakter hochzuspielen.
Na Danke!

Wenn Du keine Zweities hast Dein Pech. Wenn Du welche hast dann wuensche ich
Dir nicht das so ne Regelung wie die von Dir vorgeschlagene durchkommt.

Key

-----------------------------------------------------------------------------



Re: Re: zweities raus ) (Caramon, 10. Sep 1997, 22:27:49):
~#! rn=Homm rt=873900991 rg=gilden.klerus
~#! tid=873841286
mit dem zweitieverbot erreichst du maximal wieder unmarkierte zweities

caramon, der auch als zweitie anerkannt werden moechte


nn


-----------------------------------------------------------------------------



Re^3: zweities raus ) (Felagund, 10. Sep 1997, 23:24:16):
~#! rn=Caramon rt=873923269 rg=gilden.klerus
~#! tid=873841286
Wenn wir ne vernuenftige 2tiregelung haben, also nur ein Charakter vom
gleichen Spieler zu einer Zeit spielbar ist ein Zweitiverbot in den hohen
Gildenraengen ohnehin ueberfluessig, da dann alle Charaktere den gleichen
Status haben sollten. (und hohe Spieler in allen Gilden auf den oberen
plaetzen ohnehin ein fulltimejob waere)


-----------------------------------------------------------------------------



Re^4: zweities raus ) (Anatol, 10. Sep 1997, 23:37:06):
~#! rn=Felagund rt=873926656 rg=gilden.klerus
~#! tid=873841286
Aehm, Felagund... "Wenn wir ne vernuenftige 2tiregelung haben, also nur ein
Charakter vom gleichen Spieler zu einer Zeit spielbar ist". Du haengst da
gerade eine ganze Menge eigene Wertung rein.

Ja, ok. Vielleicht waere so eine Regelung wirklich vernuenftig. Noch 
vernuenftiger waere ein absolutes Zweitcharakterverbot. Aber in diesem
Fall ist die Vernunft umgekehrt proportional zur Fairness denen gegenueber,
die Zweitcharakter pflegten und spielten. Was in keinster Weise verboten war.

Anatol

PS: Ach ja, das "Nacht-MorgenGrauen" lohnt sich uebrigens auch, man sollte
    wirklich mal eine Woche nur von 23.00-8.00 mudden.

> Du denkst . o O (verlege artikel nach entwickl... nein, nach schmarrn).

-----------------------------------------------------------------------------



Re^6: zweities raus ) (Felagund, 11. Sep 1997, 00:01:19):
~#! rn=Felagund rt=873928635 rg=gilden.klerus
~#! tid=873841286
Ich finde grade ein gleichzeitiges einloggen von mehreren Charakteren unfair.
Das MUD ist nunmal so konzipiert, dass innerhalb einer gewissen Zeiteinheit
nur eine bestimmte Menge an features (Monster, Geld, etc) neu zur Verfuegung
gestellt werden. Wenn du dich nun mit mehreren (hohen) Charaktere einloggst so
nimmst du einen hoeheren Anteil davon in Anspruch, als dir eigentlich
'zugedacht' ist, benachteiligst dadurch also andere Spieler (vor allem solche,
deren Stufe die deines 2ties unterschreitet)

Alles klar?

Fela

P.S. im uebrigen ist Vernunft meiner Meinung nach immer subjektiv.

-----------------------------------------------------------------------------



Re^7: zweities raus ) (Dhojakt, 11. Sep 1997, 00:07:45):
~#! rn=Felagund rt=873928879 rg=gilden.klerus
~#! tid=873841286
Das MG ist mittlerweile so gross, dass es das verkraftet.
Khidar.

-----------------------------------------------------------------------------



Re^8: zweities raus ) (Homm, 11. Sep 1997, 09:25:35):
~#! rn=Dhojakt rt=873929265 rg=gilden.klerus
~#! tid=873841286
Ich sagte nicht, dass Zweiti verboten waeren...dann waere meiner ja auch weg.
Ich meinte nur, dass es nicht ok ist die beschraenkten Gildenraenge auch
(markierten oder nicht) Zweitis zu oeffnen. 

Auf die Zauberer bezogen meinte ich dort die Loeschung der Erzmagisterraenge
(oder hat sich daran was geaendert?)!

Wuerdevoll verneigend
Papst Homm


-----------------------------------------------------------------------------



Re^7: zweities raus ) (Asmodis, 11. Sep 1997, 12:36:33):
~#! rn=Felagund rt=873928879 rg=gilden.klerus
~#! tid=873841286
Fela*, das betrifft nur die Zweities, die bei Monstern herumideln
und es beim Auftauchen jedesmal niedermetzeln.
Normale Zweities nehmen nicht mehr Monster in Anspruch als wie es
der Erstie tun wuerde :)

-----------------------------------------------------------------------------



Re^9: zweities raus ) (Dhojakt, 11. Sep 1997, 13:20:31):
~#! rn=Homm rt=873962735 rg=gilden.klerus
~#! tid=873841286
Ich will es mal anders ausdruecken: Beschraenkte gildenraenge sind zu schade,
um sie mit einem eh nur idelnden zweitie zu besetzen. Wenn man schon mal auf
so einem rang ist, dann sollte man auch fuer die zeit diesen charakter
bevorzugt spielen. Ich denk, bei Sharia oder mir sieht man das ziemlich gut,
immerhin sind wir beide hoeher als unsere ersties.
Dhojakt.

-----------------------------------------------------------------------------



Re^10: zweities raus ) (Sharia, 11. Sep 1997, 13:21:19):
~#! rn=Dhojakt rt=873976831 rg=gilden.klerus
~#! tid=873841286
danke Dhojakt du sprichst mir aus der Seele ...
Sharia immernoch oder immerwieder Hohepriesterin des Lembold

-----------------------------------------------------------------------------



geniestreich (Nonne, 11. Sep 1997, 13:33:05):
~#! rn=Sharia rt=873976879 rg=gilden.klerus
~#! tid=873841286
Hallo Streithaehne,

Das System von Wargon benachteiligt Charaktere, die viel ideln. Das ist
unabhaengig von erstie/zweitie, sondern beschraenkt die Erleuchtetenraenge auf
die wirklich aktiven Kleriker. Das ist Sinn der Sache und hat keine
Nebenwirkungen, wie Verletzung der Kennzeichnungspflicht und benoetigt kein
Zweitieverbot. 
Daher ist das DIE Loesung fuer das Problem der Kleriker mit den beschraenkten
Raengen.
Wargon, ich danke Dir. Ich weiss zwar nicht, wie genau das ermittelt wird,
aber die Idee (von Nachtwind) ist genial.

Nonne

-----------------------------------------------------------------------------



Re: geniestreich (Gloin, 11. Sep 1997, 17:09:00):
~#! rn=Nonne rt=873977585 rg=gilden.klerus
~#! tid=873841286
Ich weiss ja auch nicht genau, WIE es aussieht, falls man aber Sprueche
dann verlernt, wenn man sie nicht hin und wieder mal nutzt, ist das
kein Geniestreich, denke man an Sprueche wie entfrosche oder
eben mal lebenskraft. An sich halte ich ein VERlernen in einem
System, in dem man nur durch Fehler lernt (was bei uns Klerikern
ja auch noch durch Skill/Talisman 'verhindert' wird) fuer verfehlt.
Und aktive Erleuchteten-Skripter werden sich dadurch vermehren.

Gloin

-----------------------------------------------------------------------------



Re: Re: geniestreich (Wargon, 11. Sep 1997, 18:43:06):
~#! rn=Gloin rt=873990540 rg=gilden.klerus
~#! tid=873841286
Das Abnehmen der Faehigkeiten wird nicht ueber das Anwenden oder
nicht-Anwenden der Anrufungen geregelt, sondern ueber andere Faktoren.
  Wargon

-----------------------------------------------------------------------------



Re^9: zweities raus ) (Link, 11. Sep 1997, 22:38:12):
~#! rn=Homm rt=873962735 rg=gilden.klerus
~#! tid=873841286
nu ... also indirekt bist du auch ein zweitie ... wenn vielleicht auch der
erste, der da war, aber trotzdem hast du mehr als einen spieler.
Man glaubt es vielleicht nicht, aber es soll leute geben, die nicht klar sagen
koennen, wer denn nun der erstie ist, und wer der zweitie, weil sie alle ihre
spieler mit viel liebe hochgezogen haben.

Link ... auch nur zweitie

-----------------------------------------------------------------------------



Tod durch Segnung (Gorog, 14. Okt 1997, 13:56:27):
Ich hab neulich eine etwas seltsame Todesmeldung gesehen. "Eine abklingende
Segnung hat gerade *** umgebracht.". 
Das fand ich irgendwie etwas unangenehm, da will man jemanden etwas gutes mit
nem Segen tun und der geht dann auch noch drauf. Eigentlich schade und fuer
den Segner wahrscheinlich auch nicht angenehm, kaeme mir vor wie n halber PK.
Waere vielleicht ne Aregeung das entfernt wird.
Das fand ich irgendwie etwas unangenehm, da will man jemanden etwas gutes mit
nem Segen tun und der geht dann auch noch drauf. Eigentlich schade und fuer
den Segner wahrscheinlich auch nicht angenehm, kaeme mir vor wie n halber PK.
Waere vielleicht ne Aregeung das entfernt wird.
Gorog (nur bedacht auf das Wohl anderer)
Gorog (nur bedacht auf das Wohl anderer)
P.s.: Hoffentlich wars auch ne Klerikersegnung, sonst war der Artikel fuern A.

-----------------------------------------------------------------------------



Re: Tod durch Segnung (Zorro, 14. Okt 1997, 14:02:24):
~#! rn=Gorog rt=876830187 rg=gilden.klerus
~#! tid=876830187
Wieso sollte das abgeschaffen werden, man muss doch nicht nur vorteile dadurch
bekommen. Wenn jemand schon fuer ne gewisse zeit die stats hochgesetzt bekommt
muss er doch auch damit rechnen dass genau diese stats ihm wieder abgezogen
werden. ich sehe dein problem nicht. ohne segnung waere er halt schon lange
tot gewesen.

Zorro

-----------------------------------------------------------------------------



Re: Re: Tod durch Segnung (Nonne, 14. Okt 1997, 14:33:30):
~#! rn=Zorro rt=876830544 rg=gilden.klerus
~#! tid=876830187
Hallo Brueder und Schwerstern,
niemals darf das geaendert werden. Das ist doch die einzige Moeglichkeit einen
PK zu begehen ohne ihn angerechnet zu bekommen. Wenn mich da sonn JHF beim
Schleimdrachen nervt, will ich wenigstens ein Druckmittel haben. Dann
ueberlegt er sich das, sich da reinzustellen, wenn er nicht da ist :)
Das gilt natuerlich fuer alle Scripter!

Racheengel Nonne ;)

-----------------------------------------------------------------------------



Re^3: Tod durch Segnung (Alpha, 14. Okt 1997, 14:34:55):
~#! rn=Nonne rt=876832410 rg=gilden.klerus
~#! tid=876830187
Wird das nicht als PK bestraft?
Na dann, Tja, sollte niemand in geschlossenen Raeumen idlen.
Grins.

-----------------------------------------------------------------------------



Re^3: Tod durch Segnung (Zorro, 14. Okt 1997, 16:07:26):
~#! rn=Nonne rt=876832410 rg=gilden.klerus
~#! tid=876830187
Falsche es gibt genuegend moeglichenkeiten ungestraft pks zumachen. wie z.b.
die letzten tage kemp alias rodman usw. es getan hat bei Riddler und Grendula,
aber keine angst dafuer werde ich mir zusammen mit sting noch was ausdenken :)

Zorro

-----------------------------------------------------------------------------



FAQ-Update (Wargon, 20. Okt 1997, 13:45:18):
  Hi!
Die Kleriker-FAQ im Tempel (das Wort zum Sonntag) ist mal wieder etwas
aktualisiert worden.
Ausserdem kann man sie sich jetzt auch im WWW ansehen:
http://mg.mud.de/Gilden/klerus/faq.html
  Wargon

-----------------------------------------------------------------------------



tschuess :( (Nonne, 22. Okt 1997, 11:53:29):
Hallo Brueder und Schwestern,

nach reiflicher Ueberlegung habe ich mich entschlossen die Gildde zu wechseln.
Ich habe eine Menge Spass mit euch gehabt und hoffe, nicht von euch als
Abtruenn
iger verstossen zu werden. Aber in der letzten Zeit merke ich, dass fuer
andere
Gilden (Kaempfer und Zauberer) jede Menge angeschlossen und verbessert wird,
ein
ige Gilden in die Roehre gucken. Wenn ich selbst einen Vorschlag mache,
bekomme
ich als antwort (sinngemaess): Niemand zwingt dich, in dieser Gilde zu sein.
Um das MorgenGrauen auch weiterhin geniessen zu koennen werde ich in die
Zaubere
rgilde eintreten. Auch wenn das oportunistisch aussieht, ich werde mit dem
Herze
n immer ein Kleriker bleiben, was aber ein euch suessen Schwuchteln liegt und
ni
cht an der Gilde selbst.
Ich moechte auch weiterhin an eurer Seite metzeln gehen und wenn ich dann ein
ma
echtiger Zauberer bin, zeigen wirs den anderen.

Mit nicht nur einer Traene im Auge,

Nonne

P.S.: Was mach ich jetzt mit meinem Namen?

-----------------------------------------------------------------------------



farewell and goobye! (Nachtwind, 27. Okt 1997, 17:42:24):
Tja, nun ist es auch fuer mich soweit...*seufz*

Nach einem knappen Jahr als einer eurer Brueder verlasse
ich den heiligen Orden. Das faellt mir nicht leicht, da
ich bereits einiges erreicht habe und gerne Kleriker war,
doch das Mud hat sich 'weiter gedreht', und wir Kleriker
sind stehen geblieben. Als Erstie ist es mir wichtig,
mich auch entfalten und weiterentwickeln zu koennen, und
dafuer ist der heilige Orden zu beschraenkt:

- die wenigen Gildenlevel werden von Sehern eh in wenigen 
  Stunden uebersprungen, alles draengt sich auf lv 7 zusammen

- 2 gildenraeume sind kaum genug. wo sind die kneipe, 
  eine bibliothek, informative npcs, treffpunkte...?

- alberne gildenquesten. entweder langweilig (das 20. mal 
  das silberne auge holen) oder unmoeglich (water luh, raeuber)

- mittlerweile durch gesenkte lerngeschwindigkeit und das
  unvermeidliche verlernen der sprueche sehr hoher aufwand,
  der durch die im vergleich schwachen sprueche nicht 
  gerechtfertigt ist. Der Uebungsaufwand naehert sich die
  starken gilden an, waehrend die kampfkraft weiter
  entfernt. Dazu kommen die immer staerkeren monster, 
  denen nur noch mit zu brei klopfen oder pulverisieren 
  beizukommen ist...

- ueberhaupt wenig innovationen. wenn man keine zeit mehr hat, 
  sich um die gilde zu kuemmern, waere vielleicht nachfolgersuche
  angebracht... in einem sich staendig veraenderndem mud
  gibt es keine 'fertige' gilde. stillstand ist rueckschritt.

trotzdem bin ich eigentlich nicht sauer oder bitter, denn
kleriker zu sein hat auch oft spass gemacht. ich werde die
ewigen wettrennen zum tiger vermissen, wenn mal wieder jemand 
hilfe braucht :) und fernsehgucken waehrend des hydrakills faellt
wohl auch flach. nunja.
ich wollte ja auch nur begruenden, warum die kleriker meinen
eigentlich nicht so hohen anspruechen nicht mehr gerecht werden
koennen und ich mir neue ziele suche...

Moegen die Goetter mit Euch sein!

Nachtwind. Ex-Inquisitor der Kandri.

PS: Dank an Wargon fuer die urspruengliche Programmierung der 
Gilde. Ich waere wohl sonst gleich zauberer geworden, aber ich
haette ne menge spass verpasst... :)


-----------------------------------------------------------------------------



Re: farewell and goobye! (Sharia, 27. Okt 1997, 21:35:24):
~#! rn=Nachtwind rt=877970544 rg=gilden.klerus
~#! tid=877970544

Schade kann ich da leider nur sagen .. zu beiden...

Aber dennoch: wer soviel an einer Gilde auszusetzen hat, oder sie gerne
verbessern moechte, der sollte Magier werden und dies umsetzen :-)
Ich haette es ja gerne getan, jedoch wurden meine Plaene irgendwie von
hoeheren Maechten durchkreuzt.
Gilde.. stillstand ...
interessant.. ihr solltet mal euer Auge auf andere Gilden werfen. Dort wurden
Spells ABGESCHAFFT (zauberer) oder die Gilde wurde vorallem in der Abwehr
schwaecher gemacht (karatekas)
Die Kleriker haben, seitdem ich in der Gilde bin mehrere Spells HINZU bekommen
(eleschild, donner, sonnenschutz) oder ihre Spells wurden verbessert
(kuriere..) ich wuerde NICHT sagen das das ein Stillstand ist, ich muss da
Wargon mal ganz heftig in Schutz nehmen, denn ihr tut gerade so alsob er sich
0 fuer seine Gilde interessieren wuerdet.. denn das tut er wirklich nich (ich
weiss wieviele Bugs er ausgebaut hat :-( :-) )

Achja: sicher waeren Gildenraeume etwas feines, jedoch: MUSS denn jede Gilde
ihre eigenen Kneipe oder ne Bibliothek haben ???? Ich glaub ihr habt zu oft in
der Zauberer oder Kaempfer gilde geidlet... Wieso nicht so schlicht und
einfach wie bisher... 
Info-NPC ??? hoere ich da richtig ???? habt ihr euch eigentlich mal die
Schriftrollen in der Gilde durchgelesen ??? das muss fuer Wargon nich gerade
wenig Arbeit gewesen sein und auch die Hilfe-Seiten sind nicht ohne... wofuer
brauch man da noch nen doofen NPC ??? am meisten ueber die Gilden wissen eh
die die sich staendig mit den spells beschaeftigen und nach meiner Erfahrung
wissen selbst die Magier, die sie programmiert haben nicht wie unterschiedlich
man gewisse spells anwenden kann denn fuer sie sind dies meistens rein
rechnerische werte...

Ach was fasel ich da eigentlich.. ich will nur sagen: Schade dass Nonne und
Nachtwind weg sind hat immer Spass mit ihnen gemacht....

Und zu Gilde: sie soll so bleiben wie sie ist...auch wenn ich selbst nen paar
wuensche noch haette :-) (kampfkraft mit keulen noch etwas leicht erhoehen
z.b.)


Sharia, Klerikerin aus Ueberzeugung und fast immer den NPC ueberlegen.

-----------------------------------------------------------------------------



Re: Re: farewell and goobye! (Silvana, 27. Okt 1997, 23:20:33):
~#! rn=Sharia rt=877984524 rg=gilden.klerus
~#! tid=877970544
Eieiei... Ich muss wohl dringend die Zauberer abwerten, sonst treten
noch mehr Leute aus... Schade eigentlich.

  Silvana (meint das nicht ganz ernst)

-----------------------------------------------------------------------------



Re: Re: farewell and goobye! (Nachtwind, 28. Okt 1997, 01:20:28):
~#! rn=Sharia rt=877984524 rg=gilden.klerus
~#! tid=877970544
>Aber dennoch: wer soviel an einer Gilde auszusetzen hat, oder sie gerne
>verbessern moechte, der sollte Magier werden und dies umsetzen :-)
na klasse. wargon: 'wechsel die gilde' 
           sharia: 'werd magier'
wer kritik uebt darf wohl nicht mehr mitspielen, oder was?
vielleicht mach ich tatsaechlich mal was in richtung klerusgilde.
aber nicht im mg.

>Ich haette es ja gerne getan, jedoch wurden meine Plaene irgendwie von
>hoeheren Maechten durchkreuzt.
aehem. wer sich da selbst was durchkreuzt hat oder wem lassen wir mal
unkommentiert.

>Gilde.. stillstand ...
>interessant.. ihr solltet mal euer Auge auf andere Gilden werfen. Dort wurden
>Spells ABGESCHAFFT (zauberer) oder die Gilde wurde vorallem in der Abwehr
>schwaecher gemacht (karatekas)
bei den zauberern passiert sehr wohl noch so einiges, siehe die diskussion
wg. erzmagister etc. die gildenmagier dort machen auf mich auf jeden fall
einen sehr aktiven eindruck. was so alles bei den trves passiert will ich 
ja gar nicht erwaehnen. und die karateka? zeig mir mal nen juengeren
karateka-erstie, der nicht 80% der zeit scriptet... bis auf die 
oft verliehenen altcharactere ist da doch auch nichts los.

>Die Kleriker haben, seitdem ich in der Gilde bin mehrere Spells HINZU
bekommen
>(eleschild, donner, sonnenschutz) oder ihre Spells wurden verbessert
>(kuriere..) ich wuerde NICHT sagen das das ein Stillstand ist, ich muss da
>Wargon mal ganz heftig in Schutz nehmen, denn ihr tut gerade so alsob er sich
>0 fuer seine Gilde interessieren wuerdet.. denn das tut er wirklich nich (ich
>weiss wieviele Bugs er ausgebaut hat :-( :-) )
aehm, wann genau war das? :) mindestens seit einem jahr gibts nix neues mehr,
bis auf die sachen die nonne und ich auf der party angeregt haben.
ein jahr ist fuer ein mud aber wohl schon ne ganze zeit. 

>Achja: sicher waeren Gildenraeume etwas feines, jedoch: MUSS denn jede Gilde
>ihre eigenen Kneipe oder ne Bibliothek haben ???? Ich glaub ihr habt zu oft
in
>der Zauberer oder Kaempfer gilde geidlet... Wieso nicht so schlicht und
>einfach wie bisher... 
jau, warum nicht so weiter? du bleibts ewig hohepriesterin, weil dich nach
den neuesten aenderungen eh keiner mehr einholen kann, die gilde bleibt 
eine reine zweitiegilde und alle aktiven ersties wandern ab. 
warum also etwas aendern? alles ist toll.
vielleicht weil das konzept eines heiligen ordens, der heilsprueche
hat und hervorragend zum teamkampf passt, zu schade ist, um in einer
so desolaten gilde implementiert zu sein? Mir hat die Idee
der Kleriker immer sehr gefallen, sie war der Grund warum ich kleriker
wurde und es 40lv lang war. 

>Info-NPC ??? hoere ich da richtig ???? habt ihr euch eigentlich mal die
>Schriftrollen in der Gilde durchgelesen ??? 
Du meinst diese schriftrollen, die von den tollen katakomeben etc sprechen, 
die auf der insel am ende der welt sind? die, die nie geproggt wurden?

>Und zu Gilde: sie soll so bleiben wie sie ist...auch wenn ich selbst nen paar
>wuensche noch haette :-) (kampfkraft mit keulen noch etwas leicht erhoehen
>z.b.)
wie gesagt, alles toll. alles soll bleiben, wie es ist.
und da soll mich noch einer fragen warum ich ausgetreten bin.

irritiert,
nachtwind

ps: selbe anmerkung wie in entwicklung: wenns mir nur um die kampf
kraft gehen wuerde, haette ich nicht ein jahr bei klerus
ausgeharrt und gehofft.

-----------------------------------------------------------------------------



Re^3: farewell and goobye! (Tunixgut, 28. Okt 1997, 09:47:17):
~#! rn=Nachtwind rt=877998028 rg=gilden.klerus
~#! tid=877970544
Hier haste 'n Karate-Erstie, der NET 80% der Zeit scriptet...
Bin zwar nur 'n kleiner Bluemchenzaehler, aber vielleicht fuehl ich mich GENAU
deshalb trotzdem wohl unter der schuetzenden Hand Funakoshis...

's Karate-Zwerchle... Ist fuer Gilden, die man aus Ueberzeugung waehlt...

-----------------------------------------------------------------------------



blabla... (Sharia, 28. Okt 1997, 10:26:53):

Was ich kurz noch loswerden wollte:
Wargon ist auch nur ein Mensch und der kann sich auch nich 24h am Tag damit
beschaeftigen sich um die Klerusgilde zu kuemmern. Oder staendig zu
programmieren... auch er hat hin und wieder sowas wie ein privatleben... so
wie die anderen Magier auch...und man kann ihnen eigentlich nur dankbar sein
dass sie etwas schaffen was uns allen eigentlich Spass macht.... mir
zumindest....

Sharia

-----------------------------------------------------------------------------



Re: Re: farewell and goobye! (Li, 28. Okt 1997, 10:29:14):
~#! rn=Sharia rt=877984524 rg=gilden.klerus
~#! tid=877970544
Hmm, nichts gegen die beiden "austreter", ich moechte ihnen dasauch nicht
unterstellen, aber es gilt halt immer Leute, Sharia, die meinen, etwas zu
verpassen. Wenn sie horen, in der und der Gilde wurde etwas geaendert, und in
ihrer nicht, denken sie gleich, sie werden benachteiligt oder in der anderen
gilde ist es besser. Also wuseln sie hin und her, und glauben, nur weil an
ihrer Gilde grad mal ein paar wochen nichts geaendert wurde, sie waeren
benachteilgt, oder der Gildenmagier wuerde sich nicht mehr um die Gilde
kuemmern.
Li

-----------------------------------------------------------------------------



Re^3: farewell and goobye! (Mango, 28. Okt 1997, 12:05:18):
~#! rn=Silvana rt=877990833 rg=gilden.klerus
~#! tid=877970544
Mango schreit: Ja wertet die Zauberer ab.

Mango pfeift duemmlich.


-----------------------------------------------------------------------------



Re^4: farewell and goobye! (Bottom, 29. Okt 1997, 18:39:48):
~#! rn=Mango rt=878036718 rg=gilden.klerus
~#! tid=877970544

Ich bedauer den Austritt der beiden Mitbrueder sehr, wuensche ihnen aber
weiterhin eine von den Goettern behuetete Zukunft. Im Gebet werden wir stets
bei ihnen sein.
Jedoch moechte ich hier noch einmal anmerken, dass die vornehmste
Eigenschaften eines Klerikers die Demut und die Bescheidenheit sind! Von daher
entstehen aus dieser gottgefaelligen Geisteshaltung heraus erst gar keine
Zweifel an der Gilde. Hoeret darum wohl: der Zweifel naehrt den Unglauben!
Wehret also den Anfaengen! Im Gebet liegt die wahre Kraft und so offenbahrte
mir Lembold im stillen Zwiegespraech, dass unser hochheiliger Fuerst Wargon,
Lembold moege ihn schuetzen, von heiligem Arbeitseifer ergriffen wird und
Stunde um Stunde am ewigen Haus des Ordens bauen wird. 
Ist nicht unser ganzes dasein eine einzige Baustelle? Unser Streben darf
alleine den hoechsten Zielen dienen - der Gilde und dem Dienst an unseren
Goettern. Versammeln wir uns also unter dem Dach unseres Tempels und lasst uns
fuer Wargon beten, dass er die Kraft finden wird das notwendige zu tun!

Bottom - Priester des Lembold


-----------------------------------------------------------------------------



Re^5: farewell and goobye! (Lightning, 30. Okt 1997, 12:54:08):
~#! rn=Bottom rt=878146788 rg=gilden.klerus
~#! tid=877970544

Dem kann ich eigentlich nichts mehr hinzufuegen, Bruder Bottom hat mir aus der
Seele gesprochen!

Lembolds Diener Lightning

P.S. Was das Verhaeltnis Erstie:Zweitie in unserer Gilde angeht, es koennten
ja zur Abwechslung mal letztere austreten, wie z.B. ich. Statt 1:10 kommt dann
1:9,5 oder so raus ;-)
Das waer doch schon was

-----------------------------------------------------------------------------



Proklamation! (Homm,  1. Dez 1997, 11:33:27):
Liebe Brueder und Schwestern!

Die Zeit des Leidens ist vorbei. Das Unglaubliche ist wahr geworden. Sehet, er
weilt wieder unter uns!

Papst Homm darf sich jetzt der Gepruefte nennen, denn mit viel Demut,
Gottvetrauen und Fleiss bewaeltigte er die ihmm gestellten Aufgaben.

In der Zeit seiner Abwesenheit passierten viel Dinge, positive wie auch
negative.

Er trauert um zwei gute Ordensmitglieder, freut sich aber auch ueber die Gnade
des Fuersten,

In der naechsten Zeit wird er dann wieder oefter durchs Morgengrauen pilgern
und helfen wo er nur kann.

Wuerdevoll verneigend
Papst Homm, der Gepruefte

-----------------------------------------------------------------------------



Re: Proklamation! (Bottom,  2. Dez 1997, 17:09:11):
~#! rn=Homm rt=880972407 rg=gilden.klerus
~#! tid=880972407

 Hiho Bruder Homm,

Deine Zeilen erhellen mein Gemuet! Schoen, dass wieder jemand mit
ehrfurchtgebietendem Titel die Gilde vertritt! :)


-----------------------------------------------------------------------------



Krankheiten (Silvana,  4. Dez 1997, 08:59:19):
Hi.

Der zimtfarbene Tod und der grauer Klammergriff (beide von Puma) sind jetzt
als Krankheiten gekennzeichnet und sollte auch fuer Kleriker heilbar
sein. Allerdings sind es ziemlich schwere Krankheiten...

  Silvana

-----------------------------------------------------------------------------



Re: Krankheiten (Sharia,  4. Dez 1997, 23:16:11):
~#! rn=Silvana rt=881222359 rg=gilden.klerus
~#! tid=881222359
DANKE :-)))))

Sharia waehlt.

-----------------------------------------------------------------------------



Toller Tod! (Duffy,  5. Dez 1997, 08:44:06):
Leider waren die Goetter nicht mit mir. Mir ist gerade vollgendes passiert:
Ich habe Mann-im-Schnee gemacht. Im Schneelab  ist es ja finster. Da mein
Amulett nur gefunkelt und nicht gestrahlt hat, ging ich in mich und habe
gebete. Leider kam erst eine Kaki an, die mich angriff. Dann eine Ratte, dann
ein Wolf und noch eine 2. Ratte. Alle haben mich SOFORT angegriffen. Was habe
ich gemacht? Weiter gebetet! Und meine LPs gingen gegen 0 und ich habe immer
noch gebetet. Mitten in der Todessequenz kam dann die Meldung, dass ich mein
Gebet beendet habe. So toll fand ich das nicht. Kann man es nicht aendern?
Wenn ich bete unt ein Monster kommt herein, das mich angrieft, waere es doch
vorteilhaft, dass ich das Beten abbreche und mich meines Lebens schuetze.

Duffy, der die Wege der Goetter nicht immer versteht

-----------------------------------------------------------------------------



Re: Toller Tod! (Wargon,  5. Dez 1997, 09:14:14):
~#! rn=Duffy rt=881307846 rg=gilden.klerus
~#! tid=881307846
  Hi!
Tja, das ist natuerlich Pech! Aber wenn Du aufgepasst hast, wirst Du gemerkt
haben, dass sich Deine Gebete waehrend des Kampfes durchaus mit der aktuellen
Situation befasst haben.
Ob die Goetter die Gebete dann erhoeren, steht natuerlich auf einem anderen
Blatt. :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: Toller Tod! (Duffy,  5. Dez 1997, 09:25:32):
~#! rn=Wargon rt=881309654 rg=gilden.klerus
~#! tid=881307846
Ja, ich habe meine Gebete kurz vor der Todes Sequenz direkt an Saphira gesc
Hat Aber leider nichts gebracht.
Duffy, der noch viel lernen muss ueber den Willen seiner Goetter

-----------------------------------------------------------------------------



Re^3: Toller Tod! (Sharia,  5. Dez 1997, 11:31:41):
~#! rn=Duffy rt=881310332 rg=gilden.klerus
~#! tid=881307846
Duffy ich kann dich troesten:
Acuh mir ist genau das schoneinmal passiert, allerdings jedoch weil ich aus
Versehen das "bete inbruenstig" ali getippt habe und tja dann hat mich so ein
doofer Maulwurf erlegt ... PECH aber nicht zu aendern ich finde es richtig so
und gluab mir: das is mir nicht nochmal passiert :-)))

Zu den Gebeten an sich: Testet das mal z.b. als Frosch, Maulwurf oder im Kampf
.. Wargon hat sich da wirklich Muehe gegeben :-))))

Sharia.

-----------------------------------------------------------------------------



Stufenpunkte (Duffy,  8. Dez 1997, 09:19:10):
Mir ist schon wieder mas aufgefallen.
Nach dem ich meine Geschicklichkeit auf 14 erhoet habe, fehlte mir noch 1
Stufenpunkt, um in der Gilde weiter aufzusteigen. Kurze zeit spaeter habe ich
es nochmal versucht: Es hat geklappt! Ich bin aufgestiegen. Aslo nichts wie
neue Sprueche lernen. Aber Essig: die Stufenpunkte reichen nicht aus. Ich habe
mich mal selbst gefingert und siehe da: ich war immer noch Priester und nicht
eine Stufe weiter! Bei dem 2. "erhoehe Gilde" fehlen mir jetzt 102
Stufenpunkte. Irgendwie seltsam.
Fuer eine Erklaerung waere ich dankbar.

Duffy, der Lernende

-----------------------------------------------------------------------------



Re: Stufenpunkte (Boing,  8. Dez 1997, 09:24:00):
~#! rn=Duffy rt=881569150 rg=gilden.klerus
~#! tid=881569150
Um zu verhindern, dass es konkrete Forscherpunktlisten gibt, sind die
Forscherpunkte etwas verschleiert, d.h. sie sind mit leichten zufaelligen
Schwankungen versehen. D.h. wenn einem nur ein paar Punkte fehlen beim
Erhoehen, sollte man es immer mehrfach versuchen, vielleicht klappt es
ja dann doch. Durch diese Schwankung ist es natuerlich dann auch moeglich,
dass man nach dem Erhoehen ploetzlich mehr als 100 Punkte zur naechsten
Stufe braucht.
  Boing

-----------------------------------------------------------------------------



Re: Stufenpunkte (Asmodis,  8. Dez 1997, 20:22:49):
~#! rn=Duffy rt=881569150 rg=gilden.klerus
~#! tid=881569150
`versuch mal 'erhoehe ordensstufe', dann erhoehst du deinen Gildenlevel ...

-----------------------------------------------------------------------------



Re: Re: Stufenpunkte (Duffy,  9. Dez 1997, 07:34:01):
~#! rn=Asmodis rt=881608969 rg=gilden.klerus
~#! tid=881569150
Die Unwissenheit mancher Spieler (besonders meine) moegen die Goetter gnaedig
uebersehen. Bei 'erhoehe ordensstufe' bekam ich mit, dass ich erst Seher
werden muss, um Saphina naeher zu kommen.
Aber bei meinem Studium der verschlungenen Wege der Goetter und Magier stellte
sich mir folgende Frage: Was ist richtig: das Buch der Hierarchie, welches
behauptet, dass ich fuer die naechsten Gildenstufe Spieler-level 25 brauche,
oder unser allwissender Arkshat, welcher Spieler-Level 27 von mir fordert?

Duffy, der den Goettern lauscht

-----------------------------------------------------------------------------



Re^3: Stufenpunkte (Wargon,  9. Dez 1997, 09:48:55):
~#! rn=Duffy rt=881649241 rg=gilden.klerus
~#! tid=881569150
Der allwissende(?) Arkshat. Beim Buch der Hierarchie scheint sich wohl eine
alte Version von meiner heimischen Festplatte eingeschlichen zu haben...
  Wargon

-----------------------------------------------------------------------------



wo gehen denn die erleuchteten hin? (Gorog, 13. Jan 1998, 09:55:12):
Ich hab gerade bemerkt, dass zwei erleuchten Plaetze unbesetzt sind. Wie kommt
denn sowas? Haben wieder irgedwelche Leute ohne bescheid zu sagen die Gilde
gewechselt.
Ich find das irgendwie schade, aber vielleicht waren es ja auch nur nette
Samariter, die die Plaetze aufgegeben haben.


Gorog (einer der letzten Klerus-Heil-Erstis bangt um das Ansehn der Gilde,
wahrscheinlich uebertrieben)

-----------------------------------------------------------------------------



Re: wo gehen denn die erleuchteten hin? (Grumbart, 13. Jan 1998, 12:59:30):
~#! rn=Gorog rt=884681712 rg=gilden.klerus
~#! tid=884681712
Das wundert mich auch.
ICH habe meinen Posten nicht aufgegeben, bin aber trotzdem rausgeflogen !

Fuer eine Erklaerung waere ich dankbar ... Grumbart

-----------------------------------------------------------------------------



Re: wo gehen denn die erleuchteten hin? (Sharia, 13. Jan 1998, 13:11:57):
~#! rn=Gorog rt=884681712 rg=gilden.klerus
~#! tid=884681712
Keine Sorge Gorog, die Erleuchtetenplaetze werden sicher bald wieder belegt
werden ... 

Sharia, frisch erleuchtet....

-----------------------------------------------------------------------------



Pause von der erleuchtung... (Isis, 13. Jan 1998, 13:21:41):
Also icch mach im Moment etwas pause..obwohl ich nur zu den Gobs muss, um
erleuchtet zu werden...aber ich komm im Mom niht zum richtig mudden und wollte
deswegen Platz machen...;)

Hera

-----------------------------------------------------------------------------



Re: Pause von der erleuchtung... (Bottom, 14. Jan 1998, 12:47:21):
~#! rn=Isis rt=884694101 rg=gilden.klerus
~#! tid=884694101

Vorbildlich, Schwester Hera! Das nenn ich wahre Bescheidenheit.
Ich bin sicher, die Goetter werden Dich dereinst reich entlohnen.


-----------------------------------------------------------------------------



herzlich willkommen (Gorog,  3. Feb 1998, 13:07:24):
Herzlich willkommen Morgoth, neuer Gilden-Magier. Moege deine Herrschaft (?)
gerecht sein und von den Goettern unterstuetzt werden.

Gorog, der imer noch aufs Kampfbrot wartet (was nichts mit Morgoth zu tun hat)

P.s.: Und ein Dankeschoen an die Arbeit Wargons  (GENITIV!!!) , die eine
wirklich gute Gilde hervorbrachte.

-----------------------------------------------------------------------------



Dem Himmel so nah... (Bottom,  4. Feb 1998, 14:28:49):

Da Wargon, dem ich hier noch einmal ausdruecklich Dank sagen moechte, sich
auf's Altenteil zurueckgezogen hat, ihm sei's gegoennt, ist es nun an Morgoth
fuer frischen Wind in der Gilde zu sorgen. Dabei will ich ihn gerne mit
Fuerbitten bei Lembold unterstuetzen. Den Rest schafft er dann schon alleine!
;-)

Bottom - Wurst Lembolds

PS: Wertet die Kleriker auf! *grins*


-----------------------------------------------------------------------------



Re: Traurig aber wahr! (Bottom, 12. Feb 1998, 16:19:51):
~#! rn=Homm rt=887283796 rg=gilden.klerus
~#! tid=887283796

Oweia, Bruder!
Wie sehr musst Du gesuendigt haben, dass Kandri Dich derart straft?
Schickt Dich in eine Sphaere ohne Telnet-Verbindung...
Ich leide mit Dir und wuensche Dir trotz allem eine ertraegliche 
Zukunft. Flehe die Goettin jeden Tag auf den Knien an, sie moege 
Dich zurueck in die Zivilisation versetzen, vielleicht wird sie 
Deine Gebete erhoeren. Ich werde fuer Dich beten, Bruder.

Bottom - kann sich die Greuel einer nichtvernetzten Sphaere
nicht vorstellen.


-----------------------------------------------------------------------------



Seid gegruesst Brueder und Schwestern ,-) (Morgoth, 20. Feb 1998, 15:58:41):
Erstmal ein Dankeschoen an alle die mich Willkommen heissen.

Ich bin natuerlich auf Eure Hilfe und Zusammenarbeit angewiesen und auch
gespannt, was ihr so neues habt.
Ich habe fuers erste den Heiligenschein endlich mal zum 'scheinen' gebracht
und die Elementarsphaere und das Eschild aufeinander 'abgestimmt'.
d.h.: Eine elementarsphaere ohne parameter erkennt ein bereits vorhandenes
elementarschild und wechselt automatisch auf dieses element.
Weitere Dinge in Planung:

1. Keulenskill mit Bonus auf das Gewicht der Waffe (ist bei Rochus und Para im
Briefkasten)
2. Einen Namenlosen Gott mit voellig neuen Spruechen (ganz frisch, ideen her)
3. ???? 

Das wars fuer Heut....
Euer Gildengott Morgoth... ;-)

-----------------------------------------------------------------------------



Re: Seid gegruesst Brueder und Schwestern ,-) (Mingo, 20. Feb 1998, 17:08:01):
~#! rn=Morgoth rt=887986721 rg=gilden.klerus
~#! tid=887986721
Hmmm. Hatte Wargon Ele-Schild und Sphaere nicht mal nicht gleichzeitig
benutzbar gemacht? Egal, ansonsten nett.
Bonus: Soll der nochmal extra drauf, oder ist das eine Modifitkation
des alten Skills? Ich dachte eigentlich, dass der bisherige Bonus
kein Kampfskill im eigentlichen Sinne ist, sondern ein Segen der
Goetter fuer die Verfechter ihres Glaubens, um den Malus auf Schnitt-
waffen wettzumachen ... daher faend ich es etwas unpassend.
Einen weiteren Gott wuerde ich nicht begruessen, da die heilige Drei-
einigkeit bereits schoen aufeinander abgestimmt ist. Aber mal sehen,
was meinen Schwestern und Bruedern waehrend ihrer Gebete so einfaellt.

Gloin

-----------------------------------------------------------------------------



Re^3: Seid gegruesst Brueder und Schwestern ,-) (Atoz, 20. Feb 1998, 18:37:50):
~#! rn=Sharia rt=887995877 rg=gilden.klerus
~#! tid=887986721
Hey Barttante,

Wir Chaoten brauchen sowas laecherliches wie eure armseligen Goetter nicht,
klar?!
Goetter fuer Chaoten soweit kommts noch, unser Gebiet ist das Boese und wir
sind unabhaengig haengen also nicht so wie ihr an den Rockzipfeln von Goettern
oder was auch immer, jawoll!

Tschau Atoz - Es lebe das Chaos

-----------------------------------------------------------------------------



Re^4: Seid gegruesst Brueder und Schwestern ,-) (Ark, 20. Feb 1998, 20:09:08):
~#! rn=Atoz rt=887996270 rg=gilden.klerus
~#! tid=887986721
Warum sollte der namenlose Gott nicht 'Vater Chaos' heissen, der Schoepfer
und Zerstoerer von allem Lebendigen ?
Okok, is nicht auf meinem Mist gewachsen -> siehe 'Dragons of Summer Flame',
aber ich kann der Idee was abgewinnen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Seid gegruesst Brueder und Schwestern ,-) (Mingo, 21. Feb 1998, 00:19:24):
~#! rn=Ark rt=888001748 rg=gilden.klerus
~#! tid=887986721
Ich nicht. -> Schriftrollen zur Geschichte des Klerus lesen.
Wir sidn hier nicht auf Akhar N'thar.

Gloin

-----------------------------------------------------------------------------



Re^6: Seid gegruesst Brueder und Schwestern ,-) (Nixihou, 21. Feb 1998, 15:45:32):
~#! rn=Mingo rt=888016764 rg=gilden.klerus
~#! tid=887986721
waere ein namenloser gott nicht was fuer ne "neue gilde" die dann nem got
(ein t fehlt) wie dem "dark one" (dunklen koenig) in wheel of time (rad der
zeit) folgt?
aber in die bisherige gilde passt ein neuer namenloser gott doch sehr
schlecht..

nixihou, just meddling in foreign affairs

-----------------------------------------------------------------------------



Re^7: Seid gegruesst Brueder und Schwestern ,-) (Silvana, 21. Feb 1998, 18:12:50):
~#! rn=Nixihou rt=888072332 rg=gilden.klerus
~#! tid=887986721
Ich mag was ueberlesen haben, aber wer sagt, dass der namenlose Gott
boese sein muss? Nur weil Morgoth in (be)schreibt? Oder lest ihr 
zu viele DSA-Abenteuer? Ich jedenfalls habe Morgoth so verstanden, dass
er einen weiteren Gott entdecken lassen will und noch keinen Namen fuer
das 'Kind' hat...

  Silvana (koennte das aber auch falsch verstanden haben)

-----------------------------------------------------------------------------



Re^9: Seid gegruesst Brueder und Schwestern ,-) (Birdy, 23. Feb 1998, 12:10:31):
~#! rn=Sharia rt=888219238 rg=gilden.klerus
~#! tid=887986721
Als Vorschlag haette ich da das 'Numen', der 'leuchtende Pfad'.
Siehe Warhammer40000. :)
Eine neue Gottheit, die aus dem Chaos entsteht.

Birdy

-----------------------------------------------------------------------------



Re^10: Seid gegruesst Brueder und Schwestern ,-) (Ark, 23. Feb 1998, 12:27:16):
~#! rn=Birdy rt=888232231 rg=gilden.klerus
~#! tid=887986721
Leuchtender Pfad erinnert eher an Peru, hat irgendwie nen terroristischen
Beigeschmack, oder?!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: Seid gegruesst Brueder und Schwestern ,-) (Mingo, 23. Feb 1998, 15:08:44):
~#! rn=Ark rt=888233236 rg=gilden.klerus
~#! tid=887986721
MAeh. Will kein' neuen Gott. Oder mal so: WO passt der neue Gott rein?
Ich moechte erst mal mehr als nur die IDee 'machma 'n neuen Gott rein'
sehen, z.B. Vorstellungen, welche Aufgaben der in der Dreieinigkeit
uebernimmt ... etwa als Uebergott? Nee, danke :)

Gloin

-----------------------------------------------------------------------------



Re: Seid gegruesst Brueder und Schwestern ,-) (Felbo, 23. Feb 1998, 17:02:45):
~#! rn=Morgoth rt=887986721 rg=gilden.klerus
~#! tid=887986721
Hi,

also erstmal ein Lob an Morgoths Arbeitswut ! Und um diese ein wenig in
konkretere
Bahnen zu lenken hier ein paar Ideen meinerseits:

- Viel wichtiger als nen neuer Gott (mit dem Gedanken kann ich mich nicht
  anfreunden, passt irgendwie nicht) find ich mal neue Gildenquests.
  Zum Beispiel Pilgerfahrten, Kampf gegen die Pest (son ganzes Dorf mal
  entseuchen ;-)), Missionierungen oder was in Richtung Seelsorge ...

- Einige heilige Artefakte (etwa als Questbelohnung), damit man nicht
  immer den Orkpriester umhaun muss ;)

- und dann gaebs auch noch die Moeglichkeit eines neuen Gildenlevels
  und/oder Spruches ...

So dass wars erstmal.


Mit heiligen Gruessen,

Felbo.


-----------------------------------------------------------------------------



Re: Re: Seid gegruesst Brueder und Schwestern ,-) (Ark, 23. Feb 1998, 19:24:32):
~#! rn=Felbo rt=888249765 rg=gilden.klerus
~#! tid=887986721
Hm, zu den heiligen Artefakten als Questbelohnung sag' ich mal nix ...
... und hab' irgendwie doch was gesagt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



warhammer (Cyrax, 23. Feb 1998, 21:23:41):
Warhammer 40k ist was fuer looser

-----------------------------------------------------------------------------



Re: Re: Seid gegruesst Brueder und Schwestern ,-) (Neb, 23. Feb 1998, 22:39:08):
~#! rn=Mingo rt=887990881 rg=gilden.klerus
~#! tid=887986721
Also, ich bin sofort dafuer, dass Sharia ne neue Gottheit bekommt und dahin
wechseln kann, damit dass Gedraengel bei Lembold zumindest vorruebergehend
nachlaesst ;)

Neb, viellcht doch eher was fuer Schmarrn produzierend.

-----------------------------------------------------------------------------



Re: warhammer (Highlander, 24. Feb 1998, 12:28:58):
~#! rn=Cyrax rt=888265421 rg=gilden.klerus
~#! tid=888265421
Wer Loser mit 2 o schreibt, ist selber einer ;>
     HrT

-----------------------------------------------------------------------------



Mal ne Idee (Srabi, 24. Feb 1998, 12:55:17):
Hi Kleriker, ich habe mal ne Idee fuer Euch, Ihr koennt ja Euren Magier ja mal
fragen. Wie waere es, wenn Ihr den Exorzismus lernt, das waere doch eine Sache
fuer Kleriker, denkt mal drueber nach
Srabi, manchmal vom Teufel besessen

-----------------------------------------------------------------------------



Keulenskill (Morgoth, 25. Feb 1998, 07:59:36):
OK. Der Bonus fuer die Keulen ist jetzt drin. Probierts mal aus....

Morgoth

-----------------------------------------------------------------------------



idee fuer Spruch... (Isis, 26. Feb 1998, 16:24:46):
Neue Gottheit find ich auch nicht so gut...

Aber ne Idee fuer nen neuen Spruch haett ich noch...

Wie waers, wenn man Die Krafft der Goetter ion einer Gewitterwolke sammeln
koennte, die sich im Kampf als Blitz, Donner und heiligem Zorn entlaed?

Ich stelle mir das so vor, dass es debei 2 Skills gibt, die man erlernen
muss...

Die Faehigkeit Energier zu sammeln an sich und dann die Faehigkeit mehr
Energie auf Dauer buendeln zu koennen...

Das Problem waere allerdings, dass sich die Wolke auch bei mislingen gegen
einen selber, oder andere npcs richten kann...

Hat man also genug geuebt haette man einen maechtigen Verbuendeten gegen ein
bestimmtes Monster. Allerdiungs erst nach recht viel Uebungszeit und immer mit
dem Risiko, dass sich die Wolke gegen einen selber entlaed...

Nur so ne Idee fuer Monster, die auch Kleriker mit ihren Schutz- Spruechen
einfach so raustreten...

Hera

-----------------------------------------------------------------------------



Re: idee fuer Spruch... (Grimmborn, 26. Feb 1998, 17:19:38):
~#! rn=Isis rt=888506686 rg=gilden.klerus
~#! tid=888506686
Genau. Schliesslich ist die Klerikergilde ja auch primaer als Metzelgilde
gedacht.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: idee fuer Spruch... (Freund, 26. Feb 1998, 17:35:52):
~#! rn=Grimmborn rt=888509978 rg=gilden.klerus
~#! tid=888506686
# Ja, muss sie doch sein, wie uns ein Querverweis auf die Rubrik "anzeigen"
offenbart:

>Bei einem gehts rund, notfalls mit erlaubten PKs an anwesenden klerikern,

Also, dieser Blitz-Spruch sollte dann nur bei einer Hochzeit zur Verteidigung
eingesetzt werden koennen.

Freund, loest Euch vom Schubladen-Denken.

-----------------------------------------------------------------------------



Noch ein paar Ideen (Lightning, 26. Feb 1998, 17:46:38):
Hiho!

Ich hab mir auch mal ein paar Gedanken zur Gilde gemacht. Wie waers denn, wenn
per Zufall jemand aus den Kuraten- und Erleuchtetenraengen bestimmt wird, der
dann 'Auserwaehlter der Goetter' oder sowas ist. 
Derjenige ist das dann fuer einen Tag etwa und hat eine zusaetzliche Anrufung
fuer diesen Zeitraum. Wer schon mal dran war, kriegt ne Markierung und darf
nich mehr, bis alle mal waren.

Bei den Raengen waere auch eine Ergaenzung angebracht, zwischen Kurat und
Priester fehlt irgendwie etwas, zum Namen faellt mir da grad nix ein. Also
sowas wie Oberpriester mit 2-3 neuen Anrufungen, da man sich da ja schon auf
eine Gottheit festgelegt hat, evtl. sogar fuer diese spezifischen.

Dann hab ich noch ne Idee zu 'ner Gildenquest, die fuer Aufstieg in die eben
genannte Zwischenstufe Pflicht ist. Man muss sich einen kleinen Spieler
suchen, und diesen fuehrt man dann ein bisschen rum, metzelt ihm ein paar
Sachen, macht mit ihm 'ne Mehrspielerquest oder irgendsowas. Der kleine
Spieler schreibt dann 'ne Bewertung wie es ihm gefallen hat und wenns gut war,
darf der Kleriker sich freuen und den Heiligenschein etwas heller strahlen
lassen und aufsteigen. 
Evtl. muessten dann die Hohepriester diese Sache alle halbe Jahre wiederholen,
um ihre Position zu rechtfertigen.

Bei den Anrufungen find ich Heras Idee echt gut.
Ausserdem schwebt mir sowas wie das 'Aufspueren' von Gefahr vor. Das wuerde so
funktionieren, dass man in einem Raum mit Ausgang nach Norden 'spuere norden'
etwa eingibt und dann kriegt man eine Meldung wie:
'Du kannst im Norden die starke satanische Aura eines sehr aggressiven Wesens
spueren.' 
Im Klartext: Im Norden steht ein grosses, satanisches Auto-attack-Monster.
Dann weiss man wenigstens in Semmels Gebiet, ob man schon im naechsten oder
erst im uebernaechsten Raum sterben wird. ;-)
Der Hinweis auf Befriede als Kleriker- statt Zaubererspruch fehlt natuerlich
auch hier nicht.

So, das wars erstmal, ist alles noch ziemlich unausgegoren, aber vielleicht
findet ja der eine oder andere etwas davon brauchbar und feilt weiter dran
rum.

Lightning

-----------------------------------------------------------------------------



Re: Noch ein paar Ideen (Jungpapst, 27. Feb 1998, 10:48:55):
~#! rn=Lightning rt=888511598 rg=gilden.klerus
~#! tid=888511598
Seid gegruesst, Brueder und Schwestern..
Ehre sei Kandri in der Hoeh' und ihrem Kraut hier auf der Scheibe!

Die Ideen von Lightning kann ich nur befuerworten :)

der spruch fuer den auserwaehlten koennte dann sowas wie 'goetterdaemmerung'
oder 'gotteszorn' heissen...
damit kann der auserwaehlte einmal pro online-h (oder so) einen flaechen-spell
loslassen, der bis zu 'pulverisieren' (auf alle npcs) reinhaut (je n ach
glaubensstaerke, gesinnung)...
nagut, dass ist nun ziemlich aggressiv...
man koennte ja alternativ auch nen gruppenheilspruch oder gruppenschutzspruch
fuer den/die auserwaehlte/n einfuehren..



fuer den neuen rang koennte man ja einen abt einfuehren (zwischen priester und
kurat)..
dieser abt erhaelt von arkshat eine art speilzeugkloster (mit npc-nonnen und
-ministranten *lechz*)
dort muss er nun 1 oder 2 andere nicht-priester einweisen/ausbilden (queste
loesen, metzeln, kirchenschiff schrubben, kraeuter pflanzen, fliegen
kreuzen)..


die anrufung zum aufspueren von gegnern find ich auch sehr gut; aber sie
sollte auf boese/satanische (und alles was so auto-attack is, wenn nich boese)
monster beschraenkt werden...


befriede waer natuerlich auch toll und dafuer sind die kleriker ja eigentlich
praedestiniert fuer...

dann wuerde ich huldvoll darum bitten, diese eigenartige eschild-esphaere
aufzuheben.. ich verstehe nicht ganz, warum bei schutz vor einem element, die
kampfkraft mit diesem element verstaerkt werden soll..

zu den keulen:
ja, ich habe bemerkt, dass sich der zuschlag vergroessert hat.. sehr positiv
:)

so, das waren meine wuensche und gedanken dazu

achja: herzlich willkommen, morgoth :).. mal sehen, wann mindra von einer
ork-priesterin abgeloest wird ;)
ne neue gottheit wuerde ich aber prinzipiell nicht befuerworten, unsere
schoene dreieinigkeit! wo kaemen wir denn dahin, wenn wir unsere traditionen
einfach so brechen sollten (mein vorbild im fartikan bleibt ja auch starr bei
seinen meinungen haften >:)
dafuer spraeche allerdings eine entlastung der erleuchteten-raenge (wobei bei
Kandri kein gedraenge zu herrschen scheint; bin schon fast 2 mons
erleuchtet)..

just my weed...

             Jungpapst 
              * der beim beten auf Kandris Kampfkraut schwoert *

-----------------------------------------------------------------------------



Re: Re: Noch ein paar Ideen (Wargon, 27. Feb 1998, 10:57:15):
~#! rn=Jungpapst rt=888572935 rg=gilden.klerus
~#! tid=888511598
Also ich weiss nicht, ob ein Metzelspruch das richtige fuer den Auserwaehlten
ist. Vor allem, wenn es gerade ein(e) Saphina-Erleuchtete(r) ist...
Mir gefiele da eher die Moeglichkeit, Orte fuer astrale Reisen zu
praeparieren, sagen wir mal drei Engelslandeplaetze, die der Auserwaehlte
verlegen kann, und zwischen denen Kleriker dann reisen koennen. So aehnlich
wie der Tempeltransport oder die Sehertore, nur dass die Endpunkte halt nicht
dauernd an der gleichen Stelle sein muessen.
  Wargon

-----------------------------------------------------------------------------



Re^3: Noch ein paar Ideen (Neb, 27. Feb 1998, 12:33:22):
~#! rn=Wargon rt=888573435 rg=gilden.klerus
~#! tid=888511598
Vor 8 Wochen haettest Du das noch proggen koennen, Wargon ;)

Neb

-----------------------------------------------------------------------------



Re^4: Noch ein paar Ideen (Tunixgut, 27. Feb 1998, 18:00:48):
~#! rn=Neb rt=888579202 rg=gilden.klerus
~#! tid=888511598
Ich haette gerne einen Gott der Lasterhaftigkeit, so dass mein
sexbesessen-schwuler Zweitie nicht jedesmal bei Saphina betteln muss, bevor
sie ihn mit ihrer recht endlichen Gnade einen GELUNGENEN Spell beschert...

's Karate-Zwerchle...

PS: Walte Deines Amtes, Grimmborn - Ich weiss, Du kannst eh nicht anders...

-----------------------------------------------------------------------------



Anrufungen (Gloinson, 28. Feb 1998, 16:54:17):
Um die Welt zu missionieren sind wir schon offensiv genug, das Wort unserer
Goetter traegt weit. Ich wuesste es allerdings zu schaetzen, wenn das
Entfluchen auf eine tiefe Meditation beschraenkt wuerde, da es ziemlich
schwierig ist, mit Hilfe der Goetter einer gezueckte Waffe den Fluch zu
nehmen, da man dazu zwei freie Haende braucht.
Wird die Insel am Ende der Welt eigentlich noch ausgebaut? Das las sich
recht spannend.

Gloin

-----------------------------------------------------------------------------



Re: Anrufungen (Wargon,  2. Mar 1998, 11:03:54):
~#! rn=Gloinson rt=888681257 rg=gilden.klerus
~#! tid=888681257
>Wird die Insel am Ende der Welt eigentlich noch ausgebaut? Das las sich
>recht spannend.
Ideen hab ich dafuer genug, nur (zumindest im Moment) keine Zeit.
Mal sehen, wie sich das nach der Diplomarbeit entwickelt. :)
  Wargon

-----------------------------------------------------------------------------



Re: Keulenskill (Wargon,  2. Mar 1998, 12:53:41):
~#! rn=Sharia rt=888839565 rg=gilden.klerus
~#! tid=888839565
Vielleicht stellt Arkshat ja ne Waage im Tempel auf? :)
  Wargon

-----------------------------------------------------------------------------



Re^10: Seid gegruesst Brueder und Schwestern ,-) (Felpur,  2. Mar 1998, 17:11:03):
~#! rn=Birdy rt=888232231 rg=gilden.klerus
~#! tid=887986721
Da hat einer zuviel Warhammer gespielt1 Wie waer es denn mit Slanesh oder wie
der heisst. FP

-----------------------------------------------------------------------------



immernoch defensiv (Isis,  3. Mar 1998, 13:48:49):
Also mit meinem Gewittervorschlag meinte ich eigentlich nicht die Kleriker zu
Superkampfmonstern umzugestalten, sondern eher in Richtung Teamkampf....ich
weiss nicht, wies mit Wunder ist, aber bei monstern, die einen gleich
raustreten haben wir Kleriker
nicht viel zu bieten...
ich dachte auch, dass beim Aufbau dieses gewitters eher gefaehrlich waere
ueberhaupt metzeln zu gehen...
Der Aufbau des Gewitters solllte als menthale Vorbereitungszeit auf einen
schweren bevorstehenden Kampf gemeint sein...

Hera

-----------------------------------------------------------------------------



Re: immernoch defensiv (Wargon,  3. Mar 1998, 14:01:07):
~#! rn=Isis rt=888929329 rg=gilden.klerus
~#! tid=888929329
Hmmm... so in der Art, dass ein Blitz- und Donner-Puffer aufgebaut wird, der
dann als draeuende Gewitterwolke dem Kleriker/den Klerikern folgt und am Ort
des Geschehens auf irgendeine Art ausgeloest wird?
> gib blitzableiter an ork
Du gibst dem Ork einen Blitzableiter.
Der Ork mustert Dich verbluefft.
Aus der Gewitterwolke faehrt ein heller Blitz in den Blitzableiter.
Der Blitz hat verheerende Auswirkungen auf die Gesundheit eines Orks.
Ein gewaltiger Donner erschuettert Dein Trommelfell.
Der Ork faellt tot zu Boden.
> nimm blitzableiter aus leiche
Du nimmst einen Blitzableiter aus der Leiche eines Orks.
[...]
Hat natuerlich was :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: immernoch defensiv (Lightning,  3. Mar 1998, 14:03:33):
~#! rn=Wargon rt=888930067 rg=gilden.klerus
~#! tid=888929329

Das kommt gut, gefaellt mir :)

Lightning

-----------------------------------------------------------------------------



Re^3: immernoch defensiv (Gnome,  3. Mar 1998, 14:05:53):
~#! rn=Lightning rt=888930213 rg=gilden.klerus
~#! tid=888929329
hi,
hm, ich kann mich irren, aber gibt es das nicht schon?
nennt sich glaube ich "blitz" :)

gnOme

-----------------------------------------------------------------------------



Re^4: immernoch defensiv (Isis,  3. Mar 1998, 14:26:14):
~#! rn=Gnome rt=888930353 rg=gilden.klerus
~#! tid=888929329
Ja, nur haut der nich besonders arg...wenn Du ein monster mit vielen LPs hast
ist man manchmal recht lange am Blitzen....

man koennte ja auch eine Phase der Erschoepfung hinterher einfuehren...

-----------------------------------------------------------------------------



Re^5: immernoch defensiv (Gnome,  3. Mar 1998, 14:27:55):
~#! rn=Isis rt=888931574 rg=gilden.klerus
~#! tid=888929329
naja, dann kann man den auch verstaerken...
was wirklich neues waere das dann ja nicht ;-)

gnOme

-----------------------------------------------------------------------------



Neues in Kuerze (Morgoth,  3. Mar 1998, 15:08:49):
Hi Leute,
ich hab zu hause mal ein bischen mails abgearbeitet und einige ideen
umgesetzt.....Nicht schreien, sie sind noch nicht frei zugaenglich. ;-)
1. giftschwaechung -> lindert die giftwirkung
2. goetterzorn -> (heiliges) feuer dass boese und aggressive npcs braet
3. begrabe -> eine letzte oelung die leichen entsorgt und die glaubensstaerke
dafuer erhoeht (evtl. charakter)

weiteres auf diesem Kanal...aeh rubrik...

Morgoth

-----------------------------------------------------------------------------



noch ne idee... (Isis,  3. Mar 1998, 15:33:24):
Wie waers mit nem Spruch, der einen unverwundbar, aber auch keinen Schaden
machen laesst? So an Stelle von Lebenskraft...der Spruch ist namlich
ueberfluessig, find ich...

Hera

-----------------------------------------------------------------------------



Re: noch ne idee... (Ringor,  3. Mar 1998, 15:36:27):
~#! rn=Isis rt=888935604 rg=gilden.klerus
~#! tid=888935604
Au ja. Dann haben wir selbst fuer den Fall, dass die Kleriker bei der neuen
Hydra keine Chance mehr haben, wenigstens wen zum Ausbrennen.

Ringor

-----------------------------------------------------------------------------



Re: Re: noch ne idee... (Sharia,  3. Mar 1998, 16:06:07):
~#! rn=Ringor rt=888935787 rg=gilden.klerus
~#! tid=888935604

hmm sicher ist Lebenskraft einer der Spells die am wenigsten gebraucht werden,
allerdings habe ich bisher lebenskraft schon gebraucht (ja genau: bei der
Hydra, als noch keiner wusste wie man das als Kleriker macht :-) ) tja
allerdings ist ein Spell dieser Art wie du ihn vorstellst sicher nicht ganz
schlecht .. nicht unbedingt unverwundbar, aber doch irgendsowas in der Art ...

Ich bin der Meinung, dass unsere offensiven Kraefte keinen weiteren Ausbau
oder wenn dann nicht allzuviel benoetigen aber defensive Dinge nehme ich
jederzeit hinzu.

Sharia.

P.S.: Achja: wer Ideen hat sollte sie zusaetzlich direkt an Morgoth mailen ..
er liest die mails glaub ich haeufiger als die MPA :-)))

-----------------------------------------------------------------------------



Re^3: immernoch defensiv (Cyrax,  3. Mar 1998, 21:29:23):
~#! rn=Lightning rt=888930213 rg=gilden.klerus
~#! tid=888929329
ja das ist lustig :)

-----------------------------------------------------------------------------



Re^11: Seid gegruesst Brueder und Schwestern ,-) (Lug,  4. Mar 1998, 02:29:00):
~#! rn=Felpur rt=888855063 rg=gilden.klerus
~#! tid=887986721
Slaneesh?

da denkt einer nur an das eine. Anhaenger muessen dann nackt oder in engem
Lederoutfit rumlaufen, oder was?

Lustmolch!

Moralisch erschuettert
Lug

-----------------------------------------------------------------------------



Neue Spells (Morgoth,  4. Mar 1998, 09:22:53):
Hi Leute,

wie ihr in der Gilde bemerken werdet, werden Euch drei neue Spells angezeigt.
Diese muessen allerdings noch vom Gildenobermurkel abgesegnet werden bzw. es
bedarf noch einiger Aenderungen an einigen std-files. Also Abwarten und
Monster laeutern ;-)

Morgoth...

-----------------------------------------------------------------------------



Re: Neue Spells (Sharia,  4. Mar 1998, 09:27:05):
~#! rn=Morgoth rt=888999773 rg=gilden.klerus
~#! tid=888999773
DANKE :-)

Naja jetzt musst Du nurnoch die Hilfeseiten schreiben und dann schaun wir uns
das mal alles an :)

Achja: Wer Ideen hat: mailmailmail an Morgoth :-) das is eh seine
Standardaussage :) (und er reagiert dann sogar drauf :-) )

Sharia, will auch mitmischen koennen hat aber nen MBANISH :-)

-----------------------------------------------------------------------------



Re: Neues in Kuerze (Key,  4. Mar 1998, 10:37:35):
~#! rn=Morgoth rt=888934129 rg=gilden.klerus
~#! tid=888934129
ARGL!!!!
Klar .... die Klerikergilde ist ja nur eine Defensivgilde.
Und sie brauchen natuerlich fuer ihre Defensive unbedingt nen starken angriff.

Key der auch immernoch einen schraegen Blick auf die FUN-Gilde Bierschuettler
wirft.

-----------------------------------------------------------------------------



Re: Re: Neue Spells (Key,  4. Mar 1998, 10:43:45):
~#! rn=Sharia rt=889000025 rg=gilden.klerus
~#! tid=888999773
Muss die ganze Gilde auf den Kopf gestellt werden?
Sollen demnaechst Kleriker rumlaufen die alles koennen? Nen Schutz staerker
als der ex-schutz der Zauberer? angriff der den npc gleich niederstreckt?

Mannomann ... ich dachte wenigstens einige leute seien in der gilde wegen dem
FEELING und nicht weil sie die staerksten und besten ueberhaupt sein wollen.
Aber das wird ja wohl alles sofort vergessen wenn sich die moeglichkeit
bietet.

Key Chaot und zufrieden.

-----------------------------------------------------------------------------



Re^3: Neue Spells (Hangover,  4. Mar 1998, 10:45:17):
~#! rn=Key rt=889004625 rg=gilden.klerus
~#! tid=888999773
Ich moechte aber auch der staerkste und der beste sein ;)

Muss ich mir jetzt ne neue Gilde suchen?

-Hangover, schmarrend...

-----------------------------------------------------------------------------



Re^3: Neue Spells (Isis,  5. Mar 1998, 18:23:20):
~#! rn=Key rt=889004625 rg=gilden.klerus
~#! tid=888999773
Hmmm..also ich hab mich eigentlich nie Berschwert, dass ich mich ach so
schwach als Klerikerin fuehle...
Von mir aus koennts so bleiben wies ist...
Aber wenn ich mich recht erinner wurden wir gefragt, ob wir noch ideen
haben...Naja, und da sind sie...ob sie gut sind oder nicht, ist doch ne andere
Sache...

Und von wegen Feeling und so...das ist natuerlich auch davon abhaengig, wie
man die Gilde gestaltet...Wenn man sich anhoert, was die Leute fuer Ideen
haben, und die ein oder andere davon umsetzt, koennt das feeling vielleicht
besser werden...
 Hera

-----------------------------------------------------------------------------



Re^4: Neue Spells (Kalliope,  5. Mar 1998, 18:51:07):
~#! rn=Isis rt=889118600 rg=gilden.klerus
~#! tid=888999773
Ich bin nur Zweitspielerin, gehoere damit aber wohl zur Mehrheit unserer
Glaubensgemeinschaft. Mir fehlen momentan die Stimmen, die die neuen 
Sprueche wirklich haben wollen, bis auf Sharia - und ihre Motive sind
meines bescheidenen Wissens nicht alle gottgefaellig ;-) - zeigten sich
alle, mit denen ich redete, kritisch oder gar abgeneigt.
Dass der Orden eine Gemeinschaft der Unterstuetzung und Defensive ist, 
war jedem, der ihm beitrat, klar. Doch man hatte, trotz Zweitspielerflut,
immernoch etwas, was es bei den Karateka und Bierschuettlern so weder gab
noch gibt: Atmosphaere und Stimmung. Wir haben gerade mal eine Anrufung, 
die einem effektiven Angriffsspruch gleichkommt, und damit war der Schwer-
punkt auf Defensive gelegt. Ein Grundstein fuer den hoffentlich noch 
kommenden Teamkampf, ein Grunstein auf jeden Fall fuer die Kampfunter-
stuetzung, auch wenn wir, leider Got^H^H^HLembolds, an Erfahrungspunkten
zu kurz kommen.
Dass ich damit gegen eine weitere starke (75 Konzentrationspunkte soll
der goettliche Zorn kosten) Angriffssprueche bin, duerfte auf der Hand
liegen - und Morgoth selbst ist nicht ganz gluecklich damit, aber er glaubt,
UNS damit einen Gefallen zu tun.

"giftschwaechung" mag schoen und nett sein - aber bitte: WIRD das denn 
gebraucht? Da muss man fast nicht zweimal drueber nachdenken, jeder Spieler,
der sich eine gewisse Quest antut, verfuegt ueber besseres, jedes etwas
gebildetere Mitglied unseres Ordens ebenso.

"begrabe". DIE Idee finde ich ehrlich gesagt nett, aber als Anrufung doch
etwas fehlplaziert. Ich faende es schoener, wenn sowas generell - auch fuer
andere Spieler in anderen Gilden klappt. Hinzukommen koennte noch, dass man,
wenn man die Leiche seines Opfers (das sich der Bekehrung widersetzte) 
unberuehrt der Erde vermacht, ein kleines Plus auf seine Gesinnung bekommt.
Solche, die ihre Opfer nach dessen Ableben ihrer Besitztuemer berauben oder
gar aufessen (*wuerg*), entfernen sich freilich vom heilig-sein mehr und
mehr... vor dem Tod sind alle gleich, wenn auch manche bleicher.

Kalliope (will kein Wettruesten)


-----------------------------------------------------------------------------



Re^5: Neue Spells (Greystone,  5. Mar 1998, 20:54:58):
~#! rn=Kalliope rt=889120267 rg=gilden.klerus
~#! tid=888999773
So ich als Erstie medle mich nun auch mal zu Wort. Ich hoere hier immer
was von einer guten Stimmung, echt ? Wo ist denn die ?
Mal abgesehen davon das Horden von Zweities die ehh schon begrenzten
Gildenraenge belagern und somit fuer neu Spieler uninterresant machen,
wurde es mal Zeit das was passiert.
Grade nach dem neuen Tanksystem ist es sehr schwer geworden in unserer 
Gilde mal Erleuchteter oder aehnliches zu werden.

So nun mal zu den Spruechen :

1) Giftschwaechung finde ich sehr gut, grade als Neuling und Erstspieler
( ja so einer der die Questen noch nicht kennt), kann man von 
diesen Spruch profitieren. Es ist sehr unwahrscheinlich das man in diesem
Level Duesterwald questet oder mit Sehern metzeln geht, grade eher das 
Gegenteil ist der Fall. Man sucht sich Gleichgesinnte (im gleichen Level)
und erkundet die ersten Teile des MG. Da man ja noch keinen grossen 
Kampfsprueche hat, ist Giftschwaechung fuer eine Gruppe doch grade genial.

2) Das Beerdigen sollte eher eine Faehigkeit sein, schliesslich sind wir 
Kleriker ja grade zu dazu berufen, die armen Seelen zu begraben. Sowas
kann einer Stimmung in der Gilde nur gut tun.

3) Ich weiss ja nicht ob wir noch einen neuen Kampfspruch brauchen, sowas
ist gewiss ein Anreiz fuer neue Spieler der Gilde beizutreten und fuer
jetzige Priester und Kuratenersties ein Grund mehr zu bleiben, aber 
waehre es nicht Sinnvoller so Sprueche wie Heilung anzupassen ?
(denkt da an die Heilpause die nicht grade Teamkampffaehig ist)

Also zusammenfassend bin ich sehr froh darueber das endlcih mal was 
getan wird fuer unsere Gilde, somit besteht Hoffnung nicht mehr
als Zweitie Gilde abgehandelt zu werden.

Greystone (moege Kandri ihm seine Typos verzeihen) :)

-----------------------------------------------------------------------------



Re^6: Neue Spells (Cyrax,  5. Mar 1998, 21:30:20):
~#! rn=Greystone rt=889127698 rg=gilden.klerus
~#! tid=888999773
Also ich hab 2 ideen.
1. die von Greystone das begraben ein skill ist aber meine zusatzidee ist dass
man dafuer ein paar zutaten braucht wie Laken und oele und ne schaufel oder so
was.
2. Bin ich fuer ein 2tie verbot auf den oberen raengen.

-----------------------------------------------------------------------------



Re^6: Neue Spells (Gloinson,  5. Mar 1998, 21:30:39):
~#! rn=Greystone rt=889127698 rg=gilden.klerus
~#! tid=888999773
Die Idee kam ja nun schon zweimal: Beerdigen als 'Skill'. Das koennte
man ja als eine Art Gildenaufgabe stellen (ich hoer schon wieder: oooch
Zwangsquest - keiner zwingt uns zum Spielen). Ansonsten finde ich
Kalliopes Idee gar nicht schlecht.
Die IDee des neuen Offensivspells gefaellt mir ganz und gar nicht,
da tausch ich doch lieber eine Nullhaendigkeit von entfluche fuer ein.
Und eine Anpassung der Alkgrenze an die Rassen ...

Gloin

-----------------------------------------------------------------------------



Re^5: Neue Spells (Alpha,  5. Mar 1998, 21:39:14):
~#! rn=Kalliope rt=889120267 rg=gilden.klerus
~#! tid=888999773
Wiso keine Stimmung bei den Schuettlern, Hae? Also, ich mag meine Gilde sehr,
und verlasse sie nur der Stimmung wegen nicht. 
Alpha ist stolz, ein Schuettelelf zu sein!

-----------------------------------------------------------------------------



Re^6: Neue Spells (Gloinson,  5. Mar 1998, 21:39:38):
~#! rn=Alpha rt=889130354 rg=gilden.klerus
~#! tid=888999773
Ieh, da schuettelts mich ja ;-)

Gloin

-----------------------------------------------------------------------------



Re^5: Neue Spells (Sharia,  6. Mar 1998, 00:08:15):
~#! rn=Kalliope rt=889120267 rg=gilden.klerus
~#! tid=888999773
Hmm Kalli meine liebe Schwester

Ich denke so ganz hast du mir nicht zugehoert:

Ich habe in einer Mail an Morgoth geschrieben, dass ich dem goetterzorn
skeptisch gegenueberstehe und meine dass wir nicht unbedingt etwas offensives
dazubekommen muessen .. und das hab ich dir bzw deinem Erstie eigentlich auch
gesagt .... 

giftschwaechung .. es ist eine nette Idee vorallem fuer Leute die noch keine
Priester sind .. soviel ich weiss stammt diese Idee noch von Wargon unserem
"Ur-Schoepfer" ....

begrabe: meiner Meinung nach ein Spell den man dann mal in der Praxis ansehen
sollte und SO habe ich das auch gesagt ..

Ich finds seltsam, dass Du mir die Worte so im Mund herumdrehst Kalli :-(

Sharia.

-----------------------------------------------------------------------------



Re^6: Neue Spells (Sharia,  6. Mar 1998, 00:14:15):
~#! rn=Sharia rt=889139295 rg=gilden.klerus
~#! tid=888999773
ich weiss der Bezug ist falsch, aber ich hab keine Lust jetzt nochmal
zurueckzublaettern.
also Bezug auf Cyrax Artikel:

die oberen Gildenraenge fuer Zweitis unzugaenglich machen ? na danke :-) da
bin ich gegen !!! (warum nur ? :-) ) 
Nee nun mal ernst, ich denke man kann schon anfangen zu sieben, indem man die
Spielerlevel generell hochsetzt die man braucht um gewisse Gildenstufen zu
erreichen .. 
Man haelt damit zwar nicht alle Zweitis ab, aber dennoch wuerde es verhindern,
dass jemand der gerade seher geworden ist sofort erleuchten kann .... denn das
ist wirklich nicht gerade selten so.
Ausserdem nochmal zu Kalliope: hast du dir mal genau angesehen was
mittlerweile bei den Klerikern los ist ? bei lembold sind mittlerweile sehr
viele Ersties in den Erleuchtetenraengen und auch bei Kandri tut sich
zumindest nen bissl was .. 

Sharia

-----------------------------------------------------------------------------



Re^3: Neue Spells (Felbo,  6. Mar 1998, 00:38:17):
~#! rn=Key rt=889004625 rg=gilden.klerus
~#! tid=888999773
Also Key, ich bin Erstiekleriker und hab Spass dabei ! Musst Dir nicht gleich
in die Hose machen, nur weil ein paar Kleriker rumlaufen die vielleicht so
stark sein koennen wie du ;)) (Chaoten sollte man abwerten, da duerfen ja
nicht mal Hobbits eintreten ;-)
Der Goetterzorn macht mir auch ein wenig Sorgen. Fuer ueber 70 Punkte scheint
das ja ein ganz dickes Ding zu werden. Ausserdem ist er fuer alle Gottheiten,
was ja auch die Verhaeltnisse zwischen diesen verschiebt.
Mein Vorschlag ist, bei Anwendung von Goetterzorn auch was vom Tali abzuziehen
und die Kosten noch etwas hoeher zu setzen, damit der Spruch sowas wird wie
das rettende Fegefeuer, kurz bevor's mit dem Kleriker zu Ende geht. Dadurch
haette man dann auch wieder etwas defensiven Charakter da reingebracht.

So, dann die Giftschwaechung. Gute Idee, besonders fuer die jungen Spieler ist
doch sowas sehr wuenschenswert. Auch wenn man mal in die Verlegenheit kommt,
nicht mehr genuegend Konzentration fuer 'entgifte' zu haben, verschafft einem
dieser Spruch womoeglich die Zeit um zur Tanke laufen zu koennen (Ist mir
neulich erst passiert :( )

Begraben! Klasse Idee! Und es sollte ein Spruch sein, weil:
> begrabe leiche
Mutter Erde oeffnet ihren Schoss und nimmt ihr Kind wieder zu sich.

Schwups und weg. Mit buddeln kommt dann wieder nur ein Zeitfaktor rein und
eklige Chaoten futtern einem die Leichen weg ;)


So long

Felbo - wird auch weiterhin Chaoten laeutern weil er ein Hobbit ist ;-)

-----------------------------------------------------------------------------



Re^7: Neue Spells (Bierchen,  6. Mar 1998, 03:55:12):
~#! rn=Cyrax rt=889129820 rg=gilden.klerus
~#! tid=888999773
guter witz cyrax, die markierung der zweities war nie als strafe gedacht. wenn
eine derartige idee durchkommt, dass zweities heftige nachteile haben, waere
dies schon fast ein aufruf zur nicht-markierung als solchen.
gruss,
    - Bierchen -

-----------------------------------------------------------------------------



Kleriker zu schwach ? (Orktoeter,  6. Mar 1998, 11:20:29):
Hi !
Sorry, das ich mich hier auch zu Wort melde, ich denke die "staerkeren"
Kleriker, die ja auch durchaus geaeussert haben, das Kleriker 1. keine
Metzelgilde sein soll und man 2. als Kleriker auch durchaus metzeln kann, sind
nicht das Problem, aber viele kleinere und schwaechere Kleriker wissen
scheinbar gar nicht, was fuer sie moeglich ist.
Darum wollte ich hier nur mal so zwei Sachen anfuehren, das eine habe ich
selbst miterlebt und das andere ist zugegebenermassen hoerensagen..
Also : Auf dem Todeskanal kam ein dicker fetter Block, 7 mal die meldung, das
gerade ein Hydrakopf das zeitliche gesegnet hat, selbst wenn die alle schon
auf der schwelle standen, welche andere Gilde hat einen Flaechenspell, der das
schaffen wuerde ?  Und das zweite ist, das es wohl durchaus Waffen gibt, mit
den man als Kleriker pulverisieren kann.

Das das natuerlich nicht gegen jeden NPC geht, sollte doch wohl klar sein, wer
Vorteile gegen "boese" Gegner haben will, muss halt Nachteile gegen gute und
neutrale in Kauf nehmen.
Ausserdem sind Kleriker defensiv extrem stark, was sie zu sehr nuetzlichen
Partnern bei heftigen Gegnern macht.

Also kurz und gut, ich denke ihr braucht euch ueber mangelnde kampfkraft nicht
beklagen, fragt lieber nach Klerikerspezifischen Dingen, die zu  eurer Gilde
passen.

OrkT.

-----------------------------------------------------------------------------



Re: Kleriker zu schwach ? (Neb,  6. Mar 1998, 12:11:25):
~#! rn=Orktoeter rt=889179629 rg=gilden.klerus
~#! tid=889179629
Hi, Orktoeter,
ich muss Dir ja im Prinzip zustimmen, nur die Waffe, mit der man NPCs als
Kleriker pulverisieren kann, habe ich leider noch nicht gefunden, ich habe
trotz einigermassen langer Metzelerfahrung nie mehr als in Stuecke
zerschmettern geschafft.
Ein kleiner Hinweis deinerseits waere also supernett, damit ich gegen die NPCs
nicht immer so lange rumwursten muss, bis ich mal einen gekillt habe.

Neb, dankbar fuer jeden Tip zur Erhoehung seiner Trefferkraft mit einer Waffe.

-----------------------------------------------------------------------------



Re: Re: Kleriker zu schwach ? (Hangover,  6. Mar 1998, 13:13:49):
~#! rn=Neb rt=889182685 rg=gilden.klerus
~#! tid=889179629
Hmpf!

Wer glaubt, nur mit solcher Massivzerstoerung (pulverisieren mit
einem Schlag) was werden zu koennen, stellt sich meines Erachtens
in die Wurstseherecke...
Ein bisschen Taktik macht immer noch mehr aus als reine Destruktions-
kraft der Zaubersprueche - meistens jedenfalls.

Hangover
(der nur indoors pulverisiert)

-----------------------------------------------------------------------------



Re^3: Kleriker zu schwach ? (Ringor,  6. Mar 1998, 13:21:27):
~#! rn=Hangover rt=889186429 rg=gilden.klerus
~#! tid=889179629
Ist eigentlich schonmal jemandem der Gedanke gekommen, dass dieses Beispiel
mit dem pulverisieren vielleicht nur fuer einen Kleriker mit sehr hohem
Keulenskill und geweihtem heiligen Hammer gegen SATAN gilt?

Beim "Alltagsmetzeln" wird sowas sicherlich nicht vorkommen. Oder ich hab
bisher ein total falsches Bild von den Klerikern.

Ringor meint: man sollte niemals den Schaden gegen empfindliche Monster zum
Vergleich heranziehen.

-----------------------------------------------------------------------------



Re^4: Kleriker zu schwach ? (Gloinson,  6. Mar 1998, 13:32:49):
~#! rn=Ringor rt=889186887 rg=gilden.klerus
~#! tid=889179629
Dochdoch, ich zerstaeube den lieben langen Tag. Nein, ehrlich: Auch ohne
die >Priester-Spells legt man als kampferprobter Priester so manches
gotteslaesterliche Wesen um. Und zwar ziemlich gut. Und wenn man dann
noch Hilfe bekommt - ich kann ja mal meine Erstkills mit den Wurstsehern
vergleichen, die soviel Wert auf einen weiteren AttackSpell legten.

PS: Ist es schon aufgefallen, dass wir imho 6 Attackspells haben? Bis auf
    die Chaoten kenne ich niemand weiter, der seine Schaeden tunen kann.

Gloin

-----------------------------------------------------------------------------



Re^5: Kleriker zu schwach ? (Gloinson,  6. Mar 1998, 13:34:26):
~#! rn=Gloinson rt=889187569 rg=gilden.klerus
~#! tid=889179629
PPS: Zauberer laufen ausser Konkurrenz ;-) -> Schmarrn

-----------------------------------------------------------------------------



Re^3: Kleriker zu schwach ? (Felbo,  6. Mar 1998, 15:11:10):
~#! rn=Hangover rt=889186429 rg=gilden.klerus
~#! tid=889179629
Stimmt, in allen Rollenspielsystemen und aehlichem sind
Kleriker/Priester/Ordenskrieger ... etc. pp immer diejenigen, die am ehesten
auf taktik und entsprechende Verguenstigungen achten muessen/sollen.

Nen weiterer Angriffs Spruch sollte deswegen mit einigen passenden Handicaps
belegt werden, damit er eben kein 3xGoetterzorn und alles tot Spruch wird.

Felbo

-----------------------------------------------------------------------------



Re^8: Neue Spells (Cyrax,  6. Mar 1998, 21:06:37):
~#! rn=Bierchen rt=889152912 rg=gilden.klerus
~#! tid=888999773
kann man das nicht irgendwie nachweisen ???

-----------------------------------------------------------------------------



Re: Re: Kleriker zu schwach ? (Teddy,  9. Mar 1998, 17:17:19):
~#! rn=Neb rt=889182685 rg=gilden.klerus
~#! tid=889179629
Wie war das? Du zerschmetterst mit einer Waffe, nicht mit einem Spell?
Worueber beschwerst du dich eigentlich?

Teddy, Chaot, bestimmt nicht zu stark aber auch nicht jammernd, weil die NPCs
nicht beim ersten Schlag tod umfallen.


-----------------------------------------------------------------------------



Re^3: Kleriker zu schwach ? (Neb,  9. Mar 1998, 17:54:06):
~#! rn=Teddy rt=889460239 rg=gilden.klerus
~#! tid=889179629
Ich beschwere mich nicht, Teddy, sondern habe lediglich meine Freude ueber
sachdienliche Hinweise zum Ausdruck gebracht, fuer eine Waffe, mit der ein
Kleriker pulverisiert.

Neb, empfiehlt : lesen, dann rumtitschen !

-----------------------------------------------------------------------------



Re^4: Kleriker zu schwach ? (Greystone,  9. Mar 1998, 18:04:16):
~#! rn=Neb rt=889462446 rg=gilden.klerus
~#! tid=889179629
Ich les hier immer von Waffen die pulverisieren, man sollte hier wiklich 
nicht uniques oder schaeden an Empfindlichen Gegnern als Beispiel nehmen.
Fakt ist das ein Kurat bei normalen Gegnern max mit brechenden Knochen trifft.
Ausserdem sollte man auch mal beachten, das man alleine, seit der Tankreform
gar nicht mehr an die besseren Waffen drankommt.
Also vergleicht bitte normale Waffen, an normalen Gegnern.

Greystone (sagt Kleriker sind zwar nicht schlecht, aber auch nicht super gut )

-----------------------------------------------------------------------------



Re^5: Kleriker zu schwach ? (Key,  9. Mar 1998, 18:10:33):
~#! rn=Greystone rt=889463056 rg=gilden.klerus
~#! tid=889179629
Hmm sorry ... aber auch nach der Tankreform klappt bei mir alles ....
Wieso sollte die dich von guten Waffen abhalten?

Key

-----------------------------------------------------------------------------



Re^4: Kleriker zu schwach ? (Teddy, 10. Mar 1998, 02:11:12):
~#! rn=Neb rt=889462446 rg=gilden.klerus
~#! tid=889179629
Ich hab eigentlich ziemlich genau gelesen, aber sicherheitshalber nochmal
nachgelesen.
Du sagst, du machst NUR zerschmettern als Schaden bei Waffen, wenn ich sowas
unter normalen Umstaenden machen wuerde, waere ich happy, kann ich aber nicht,
brauch ich auch nicht dringend, nur DANN noch mehr haben zu wollen, find ich
ziemlich daneben.
Wie waere es mit einem Zap, dann hast du keine Probs mehr, aber vermutlich
auch keinen Spielspass.

Teddy

-----------------------------------------------------------------------------



Re^5: Kleriker zu schwach ? (Gloinson, 10. Mar 1998, 09:33:36):
~#! rn=Teddy rt=889492272 rg=gilden.klerus
~#! tid=889179629
Argl. Koenntet ihr Euch woanders anfloeten? Fakt ist, das wir Kleriker
mit 'ner Eiskeule gegen ein Feuerwesen etc. pp. auch schon mal zer-
schmettern. Mir reicht das als Schaden. Und das war dann auch der eine
Tip, den Dingsda (keine Ahnung, wer das losgetreten hat) haben wollte.
Viel interessanter ist fuer mich immer noch die Begraebnisfrage mit dem
beim Futtern sinkenden Tali :) ... koennte man den dann vielleicht etwas
zeitresistenter machen? Mit 'nem Kleruscharakter kann man bis heute
nicht ordentlich rumidlen ;-)

Gloin

-----------------------------------------------------------------------------



Re^3: Kleriker zu schwach ? (Fyt, 10. Mar 1998, 10:36:27):
~#! rn=Hangover rt=889186429 rg=gilden.klerus
~#! tid=889179629

Ich bin ja immer noch dafuer, einfach mal wieder ne Version von 94
fuer'n paar Tage ranzuhaengen. Vielleicht daempft das die Erwartungen,
was man koennen *muss*, um zu ueberleben, 'n bisschen...

Fyt.

-----------------------------------------------------------------------------



Re^6: Kleriker zu schwach ? (Key, 10. Mar 1998, 11:18:07):
~#! rn=Gloinson rt=889518816 rg=gilden.klerus
~#! tid=889179629
Soso ... mit ner Eiskeule gegen nen Feuerwesen "auch schon mal zerschmettern"
Haste Keulenskill von 1%?

Key unterstreicht ein auch schon mal rot :)

-----------------------------------------------------------------------------



Re^4: Kleriker zu schwach ? (Key, 10. Mar 1998, 11:18:55):
~#! rn=Fyt rt=889522587 rg=gilden.klerus
~#! tid=889179629
Hmm du meinst eine komplette Version des MGs 94? :)
So mit altem Geldsystem usw? :)
Bin dafuer ;))

Key

-----------------------------------------------------------------------------



Re^5: Kleriker zu schwach ? (Gloinson, 10. Mar 1998, 11:19:27):
~#! rn=Key rt=889525135 rg=gilden.klerus
~#! tid=889179629
Ich will die alten ZTs :)))

Gloinson

-----------------------------------------------------------------------------



Re^6: Kleriker zu schwach ? (Wargon, 10. Mar 1998, 11:27:14):
~#! rn=Gloinson rt=889525167 rg=gilden.klerus
~#! tid=889179629
Keine Gilden (ausser Abenteurer), nur zwei (oder waren es drei) Seher,
insgesamt etwa 700 zu holen, anderthalb Etagen SSP, toedliche Steinbeisser,
...
Hach, das waren Zeiten!
  Wargon

-----------------------------------------------------------------------------



Re^7: Kleriker zu schwach ? (Key, 10. Mar 1998, 11:30:15):
~#! rn=Wargon rt=889525634 rg=gilden.klerus
~#! tid=889179629
Hmm ich glaube da irrst Du Dich :)
94 Gabs schon die Chaoten und die Karateka oben unter Mirils-Turm :)
Und auch nen paar Seher mehr .)
Aber das mit den Steinis stimmt ;)
Und von der Schreckensspitze .... hmm weiss ich nimmer so genau :)

Key

-----------------------------------------------------------------------------



Re^8: Kleriker zu schwach ? (Fyt, 10. Mar 1998, 12:21:27):
~#! rn=Key rt=889525815 rg=gilden.klerus
~#! tid=889179629

94? Mom mal... da gab's noch keine Karateka, oder? Kamen die nicht erst im
Fruehjahr 95?

Naja, ich meinte jedenfalls die Zeit, als TF noch 'n Fremdwort war,
die Steinbeisser *wirklich* hart waren und alle sich liebgehabt haben ;-)

Fyt.

-----------------------------------------------------------------------------



Re^9: Kleriker zu schwach ? (Grimmborn, 11. Mar 1998, 00:04:19):
~#! rn=Fyt rt=889528887 rg=gilden.klerus
~#! tid=889179629
Die Karateka kamen als erste Nichtabenteurergilde Fruehjahr 1995, soweit ich
das rekonstruieren kann etwa April, jedenfalls nicht frueher. Dieser komische
Felsen suedwestlich vom Goblinlager dagegen gibt es seit Herbst 1994 (Ende
September, Anfang Oktober?).

Opa Grimmborn der Atheist

-----------------------------------------------------------------------------



Tempelverbot (Catweazle, 11. Mar 1998, 15:23:24):
~#! on=Bensonmam ot=889614106 og=allgemeines
Okay, okay, GdA, ich weiss, dass dieser Artikel hier eigentlich nix zu suchen
hat, aber die Rubrik gilden.klerus ist leider schon voll, und loeschen kann
ich da halt nicht.
Es geht um folgendes: Ich hab gestern Narrenball gemacht und anschliessend
wegen Paranoia den guten Arkshat im Tempel in Djelibeby angegriffen. Daraufhin
hab ich da Hausverbot bekommen. Ich wuerd aber ganz gerne noch ein paar
Anrufungen lernen etc, was eben nur da geht. Auf Anfrage auf dem Klerikerkanal
hab ich erfahren, dass das Tempelverbot bis zum naechsten Reboot gelten soll;
solange hab ich natuerlich keine Lust zu warten. Deswegen waere es doch ganz
nett, wenn es irgendwie geht, sich bei Arkshat zu entschuldigen oder das
Tempelverbot nur ein paar Stunden aufrechtzuerhalten oder die Strafe zur
Bewaehrung auszusetzen (man macht Narrenball ja i.a. nur einmal) oder was
weiss ich.
Koennte einer der Magier so etwas vielleicht einrichten?

Danke im voraus,
J. Bensonmam.

-----------------------------------------------------------------------------



Urlaub (Morgoth, 12. Mar 1998, 16:54:19):
Hi Leute,

ich hab vom 23.3. bis zum 6.4. Urlaub. Wenn ihr mir bis dahin noch ideen
mailt, werde ich mich bemuehen, sie alle abzuarbeiten.

Morgoth

-----------------------------------------------------------------------------



Re^9: Kleriker zu schwach ? (Duffy, 18. Mar 1998, 17:09:00):
~#! rn=Fyt rt=889528887 rg=gilden.klerus
~#! tid=889179629
Also ich gebe es zu Duffy ist ein Zweitie und noch nicht so gut in der Gilde.
Bis zum naechsten Level wird es auch noch dauern. Alsowas vermisse ich fuer
einen Spruch: Offensivsprueche habe ich schon welche, Heilsprueche behersche
ich auch. Aber ein Schutzspruch kann ich noch nicht. Okay, in den naechsten
Gilden-Level mag es welche geben. Aber haben Spieler in den unteren Stufen
nicht auch Bedarf an einem Schutzspruch?

Duffy

-----------------------------------------------------------------------------



Re^10: Kleriker zu schwach ? (Bottom, 19. Mar 1998, 15:49:57):
~#! rn=Duffy rt=890237340 rg=gilden.klerus
~#! tid=889179629

Lehrjahre sind keine Herrenjahre!

 alte Bauernweisheit ;-)


-----------------------------------------------------------------------------



Seniorennachmittag (Bottom,  8. Apr 1998, 10:05:27):



  *****************************************************************
  *                                                               *
  *  E I N L A D U N G  zum  S E N I O R E N N A C H M I T T A G  *
  *                                                               *
  *                                                               *
  *  Die Klerikergilde laed alle Uebriggebliebenen zu unserem     *
  *  woechentlich stattfindenden Seniorennachmittag ein. Fuer     *
  *  gute Laune sorgt wie immer unser bewaehrter Conferencier     *
  *  Arkshat, unterstuetzt von seiner charmanten Assistentin      *
  *  Mindra.  Bei Kaffee und Kuchen bietet sich Gelegenheit in    *
  *  geselliger Runde ueber die Gebrechen des Alters zu klagen.   *
  *  Sollte sich jemand an einem zu grossen Stueck Erdbeertorte   *
  *  verschlucken, steht unser geschultes Personal mit dem Spell  *
  *  "kuriere <Spieler>" zur Verfuegung. Wir weisen darauf hin,   *
  *  dass bei dieser Gelegenheit selbstverstaendlich den Jung-    *
  *  klerikern die Moeglichkeit eingeraeumt wird, sich unter      *
  *  fachmaennischer Aufsicht zu ueben. Fuer die Junggebliebenen  *
  *  bieten wir den Seniorentanz an, musikalisch begleitet von    *
  *  der Bigband der Trves. Dabei sind schon so manche zarte      *   
  *  Bande geknuepft worden. Entfliehen auch Sie der Einsamkeit   *
  *  des Alters und geniessen die koestlichen Kuchen und Torten   *
  *  der Konditorei Pelzfuss und nutzen die Gelegenheit noch      *
  *  einmal so richtig das Tanzbein zu schwingen.                 *
  *                                                               *
  *  Ort:  Stammtempel der Klerikergilde am Arsch der Welt        *
  *  Zeit: jeden Mittwoch ab 15.00 Uhr                            *
  *                                                               *
  *****************************************************************


-----------------------------------------------------------------------------



antwort auf artikel 4 (Gorog,  9. Apr 1998, 09:45:37):
Jo tolle Idee. Werd doch bestimmt mal vorbeischaun. So zum Ueben unter der
Anleitung der anwesenden Senioren. 

Gorog, der bestimmt noch nicht alt ist und wenn doch dann merkt ers nicht (;

P.s.: Ich werd wohl etwas Zwieback und Kaffee mitbringen. 

-----------------------------------------------------------------------------



Taube hoeren? (Arelion, 29. Apr 1998, 11:31:56):
Elaywyn sagt: Gesundheit!
Ein Droehnen faehrt durch Deinen Gehoergang.
Du kannst wieder hoeren!

Arelion - sagt Hatschi! :)

-----------------------------------------------------------------------------



Ideen mal zum diskutieren (Sharia,  4. Mai 1998, 00:27:00):

Hi Schwestern und Brueder und Adoptivsoehne und Ziehsoehne

Ich hab da mal 1-2 Ideen gehabt und dachte vielleicht gebt ihr mal euren Senf
ab:

Das "Amt" des Hohepriesters unterscheidet sich ja irgenwie nicht wesentlich
von dem des Erleuchteten.. naja wunder .. ok ...:-) 
Vielleicht waere es aber doch mal ne Idee wenn HohepriesterInnen z.b bei
Segnen, heilen, leuchten und sonnenschutz nen kleinen Bonus haben ?

Nur mal so um mal drueber geredet zu haben...

Sharia

-----------------------------------------------------------------------------



Re: Ideen mal zum diskutieren (Gorog,  6. Mai 1998, 09:41:50):
~#! rn=Sharia rt=894234420 rg=gilden.klerus
~#! tid=894234420
Moin

Ich finds ne nette Idee, auch wenn ich da so schnell keinen Nutzen von haben
werde. Vielleicht sollte man noch dazu sagen, dass Morgoth vorhatte den
Goetterzorn als HP-Spruch einzusetzten. Was natuerlich den HP wieder
interessanter macht.
Aber allgemein find ich, dass Boni fuer HP bei den genannten Anrufungen
(vielleicht auch Goetterspezifisch) angemessen waeren

Gorog, der hofft nicht zuviel gesagt zu haben.

-----------------------------------------------------------------------------



Re: Ideen mal zum diskutieren (Bottom,  6. Mai 1998, 16:16:11):
~#! rn=Sharia rt=894234420 rg=gilden.klerus
~#! tid=894234420

Also gegen einen klitzekleinen Bonus bei "Sonnenschutz" spricht eigentlich nix
- aber der Rest? Die Kleriker sind eh schon viel zu maechtig! *grins breit*

Bottom


-----------------------------------------------------------------------------



Re: Re: Ideen mal zum diskutieren (Anatol,  6. Mai 1998, 16:56:57):
~#! rn=Bottom rt=894464171 rg=gilden.klerus
~#! tid=894234420
Ich verstehe nicht ganz, warum das Amt des Hohepriesters sich noch
deutlicher vom Rest des Erleuchteten-Kreis unterscheiden muss - das
Gerangel in den Erleuchteten-Raengen ist doch eh schon gross genug...
Selbst wenn man diverse Huerden (Spielerstufe 70 fuer Hohepriester?
Waer doch was!) einfuegt, um Zweitspieler ein wenig einzuschraenken, 
wird es dem Klima unter den Bruedern und Schwestern eher schaden als
gut tun.

Besser, ein Hohepriester ist Gleicher unter Gleichen, mit der Pflicht,
den Mund aufzumachen, wenn in der Gilde was nicht passt... schimpft sich
dann wohl "soziale Verantwortung" ... :)

Nur meine Meinung,
i.V. Anatol


-----------------------------------------------------------------------------



Re^3: Ideen mal zum diskutieren (Sharia,  6. Mai 1998, 22:41:28):
~#! rn=Anatol rt=894466617 rg=gilden.klerus
~#! tid=894234420
In gewisser Hinsicht hat Anatol doch recht finde ich ...ok ich nehme meinen
Vorschlag weg ... achja Level 70 is doof nimm lieber 60 :-))))

Sharia

-----------------------------------------------------------------------------



Neuer Spruch (Duffy, 20. Mai 1998, 10:41:13):
vor einige Zeit wurde ja nach Vorschlaegen gefragt.
Jtzt ist mir folgende Idee gekommen:

Kleriker sollen doch friedlibende Wesen sein und den wahren Glauben
verbreiten. Ware da nicht ein Spruch angebracht, der wie "befriede" von den
Zauberern wirkt? Also einen Kampf beendet bzw. ein aufgebrachten NPC
befriedet.

Duffy, Kleriker mit seiner ganzen 2tie Seele

-----------------------------------------------------------------------------



Re: Neuer Spruch (Bottom, 20. Mai 1998, 12:59:51):
~#! rn=Duffy rt=895653673 rg=gilden.klerus
~#! tid=895653673

Den Vorschlag hatten wir schon - wurde abgelehnt und das war wohl endgueltig.

-----------------------------------------------------------------------------



Re: Re: Neuer Spruch (Duffy, 20. Mai 1998, 13:00:39):
~#! rn=Bottom rt=895661991 rg=gilden.klerus
~#! tid=895653673
Okay, den Vorschlag hatte ich nicht mitbekommen. Haette ihn auch sonst nicht
gemacht.

Duffy

-----------------------------------------------------------------------------



Re: Re: Neuer Spruch (Morgoth, 20. Mai 1998, 13:00:47):
~#! rn=Bottom rt=895661991 rg=gilden.klerus
~#! tid=895653673
Falsch, der Spruch is fertig und wird angeschlossen, sobald alles von den
zutaendigen abgesegnet ist.
M*

-----------------------------------------------------------------------------



Re^3: Neuer Spruch (Bottom, 20. Mai 1998, 13:14:07):
~#! rn=Morgoth rt=895662047 rg=gilden.klerus
~#! tid=895653673

Ich bin baff erstaunt - positiv, Morgoth! :-)
Lembold, Kandri und Saphina segnen das bestimmt ab! 
-> ergo: schon mal anschliessen! ;-)


-----------------------------------------------------------------------------



Re^4: Neuer Spruch (Anatol, 20. Mai 1998, 16:28:53):
~#! rn=Bottom rt=895662847 rg=gilden.klerus
~#! tid=895653673
Arme Seelen, die nur auf eine Aufwertung ihrer Gilde bedacht sind...

Friede eurer Asche.

Anatol


-----------------------------------------------------------------------------



Re^5: Neuer Spruch (Duffy, 20. Mai 1998, 17:22:44):
~#! rn=Anatol rt=895674533 rg=gilden.klerus
~#! tid=895653673
Grade weil ich denke, dass der Spruch nicht offensiv ist, habe ich ihn
vorgeschlagen.

Duffy, der Friedensstiffter

-----------------------------------------------------------------------------



Re^6: Neuer Spruch (Sting, 21. Mai 1998, 00:49:39):
~#! rn=Duffy rt=895677764 rg=gilden.klerus
~#! tid=895653673
Nicht nur Offensiv-Spells koennen eine Gilde (sehr) verstaerken...

Sting

-----------------------------------------------------------------------------



Re^6: Neuer Spruch (Teddy, 21. Mai 1998, 05:02:35):
~#! rn=Duffy rt=895677764 rg=gilden.klerus
~#! tid=895653673
Gerade der Spruch ist enorm maechtig.
Leider gibts ihn auch noch nicht fuer alle Gilden in Toolform, falls wohl,
Mail an mich ;)

Teddy

-----------------------------------------------------------------------------



Re^7: Neuer Spruch (Sting, 21. Mai 1998, 11:08:14):
~#! rn=Teddy rt=895719755 rg=gilden.klerus
~#! tid=895653673
Hm... ich bin der Meinung, das es nicht _alles_ auch als Toll fuer alle Gilden
geben sollte.. Und gerade sowas wie Befriede erst recht nicht, das es einer
der maechtigsten Sprueche ist, die es gibt. Ob Kleriker den nun haben sollten,
naja darueber kann man sich streiten, rein von der Logik her, haetten sie ihn
mehr verdient als die Zauberer, aber das ist Ansichtssache. Trotzdem: gegen
Tools fuer jeden Spell (die Balance ist schon genug im A...)

Sting

-----------------------------------------------------------------------------



Re^8: Neuer Spruch (Silvana, 21. Mai 1998, 11:25:24):
~#! rn=Sting rt=895741694 rg=gilden.klerus
~#! tid=895653673
Da hast Du wohl Recht, Sting, der Spruch passt deutlich besser zu
Klerikern als zu Zauberern. Wenn ich damals geahnt haette, wie maechtig
dieser Zauber ist, haetts den nicht gegeben. Naja, hinterher ist man
schlauer. Anyway, als Tool sollte es den auf gar keinen Fall geben.
Dazu haben wir doch schliesslich die Gilden, dass sie Unterschiede
bringen. Sonst koennten wir doch einfach alles in die Abenteurer
stecken...

  Silvana

-----------------------------------------------------------------------------



Re^9: Neuer Spruch (Duffy, 22. Mai 1998, 07:35:23):
~#! rn=Silvana rt=895742724 rg=gilden.klerus
~#! tid=895653673
Okay, ich habe nun Eure Meinung gelesen. Also ein neuer Vorschlag:
Alle (Nicht-Zauberer) schreien: Zauberer abwerten! Nimmt den Spruch bei den
Zauberern raus und gebt ihn den Klerikern. Ich weiss, dass der Vorschlag fuer
boeses Blut sorgen wird. Und andere koennen auch sagen: Duffy, fuer Dich
bleibt ja (fast) alles gleich, da Dein Erstie Obermotz ja Zauberer ist und so
nur eine Umverteilung stattfindet. Kann sein. Aber ich denke, dadurch werden
die Kleriker vielleicht auch wieder fuer Ersties interessant.
Aber steinigt mich nicht gleich; es ist ja nur ein Vorschlag ;-)

Duffy, 2tie vom Wurstzauberer Obermotz, der das ganze Potential von "befriede"
noch nicht entdeckt hat

-----------------------------------------------------------------------------



Bezug neuer Spruch. (Phygos, 22. Mai 1998, 11:51:54):
Friedensspruch fuer die Kleriker?! Was fuer ein Unsinn. Jeder ordentliche
Kleriker gibt keinen Heller dafuer in den Opferstock. Was die Kleriker
brauchen, sind solche netten Sachen wie  Verhoere! Foltere! Verbrenne! Alles
andere ist etwas fuer Messdiener auf Sommerfahrt  >:)

-----------------------------------------------------------------------------



Re^10: Neuer Spruch (Wur, 22. Mai 1998, 13:57:19):
~#! rn=Duffy rt=895815323 rg=gilden.klerus
~#! tid=895653673

Ich bin Erstie, seit Urzeiten schon, und die Gilde ist auch interessant,
jahwoll!

Wur

-----------------------------------------------------------------------------



Re^10: Neuer Spruch (Gorog, 22. Mai 1998, 15:22:51):
~#! rn=Duffy rt=895815323 rg=gilden.klerus
~#! tid=895653673
Also einen schon ziemlich lange existenten spruch raus zu nehmen ist glaube
ich nicht die beste Loesung. Entweder ganz oder gar nicht.    
Was den Vorteil der Kleriker sollte man nicht unterschaetzen. Stell dich mal
mit ner geweihten waffe und nem heiligenschein zu n paar boesen Daemonen, also
schlecht is man nciht (;

Gorog, stolzer Klerus-ersti egal wie "schwach" (kicher) die Geistliche sind.

-----------------------------------------------------------------------------



Re^11: Neuer Spruch (Gloinson, 22. Mai 1998, 19:44:27):
~#! rn=Gorog rt=895843371 rg=gilden.klerus
~#! tid=895653673
Poeh. Ich stimme fuer 'inquisition' als Spruch :=) ...

Gloin -> schmarrn

PS: Thx, Morgoth ;-)

-----------------------------------------------------------------------------



Re^10: Neuer Spruch (Key, 22. Mai 1998, 19:51:45):
~#! rn=Duffy rt=895815323 rg=gilden.klerus
~#! tid=895653673
ARGL!
Und 100 andere schreien Abenteurer abwerten ..
Und 200 Kaempfer abwerten ...
Und ich personlich finde die Shakys immernoch zu stark
Und ueberhaupt ... alle sind staerker als ich Chaot ...
Also am besten alle abwerten ausser mir ...

Soo ... und zu der anderen Sache ...
Kriegen die Zauberer befriede gestrichen und die Kleriker das draufgedrueckt
wird es einige neue Kleriker ZWEITIES geben die eben den Spruch haben wollen.

Es ist so wie es ist, und so sollte es auch bleiben.
Oki sollten die Kleriker auch nen befriede bekommen wird wohl keiner ernsthaft
was dagegen einwenden, ausser von der Balancetechnischen Seite her ...

Ich jedenfalls haette nix gegen nen befriede bei den Klerusluschen ... dann
kann meine kleine auch endlich mal mehr tun ,)

Key

-----------------------------------------------------------------------------



Re^11: Neuer Spruch (Bottom, 22. Mai 1998, 19:58:29):
~#! rn=Key rt=895859505 rg=gilden.klerus
~#! tid=895653673

Schon Oma Wetterwachs sagte damals zu Key: "Junge, mit der Einstellung kommste
nie zu was!"


-----------------------------------------------------------------------------



Re^9: Neuer Spruch (Teddy, 23. Mai 1998, 00:11:44):
~#! rn=Silvana rt=895742724 rg=gilden.klerus
~#! tid=895653673
Falls es so verstanden wurde: Ich will befriede nicht als Tool haben.
Ich finde befriede enorm stark.
Befriede gehoert eher zu den Klerikern.
Befriede sollten so wenig ilden wie moeglich haben *schiel zu den Piraten*

Teddy 

-----------------------------------------------------------------------------



Re^10: Neuer Spruch (Patryn, 24. Mai 1998, 21:34:07):
~#! rn=Duffy rt=895815323 rg=gilden.klerus
~#! tid=895653673
kleriker wirst du mit dieser aktion nicht mehr zu ersties machen, als sie es
zuvor waren, der zweitie als befriede-tool wird zumindest mehr die runde
machen als der kleriker als heil-tool.
das einzige was man damit erreicht ist, dass man die zauberergilde dann bald
voellig dicht machen kann, die leute dort sind inzwischen auch so schon
maechtig sauer und frustriert.

------
patryn

-----------------------------------------------------------------------------



Re^11: Neuer Spruch (Gnome, 25. Mai 1998, 21:38:33):
~#! rn=Patryn rt=896038447 rg=gilden.klerus
~#! tid=895653673
"...sind inzwischen auch so schon maechtig sauer und frustriert."

an wem das wohl liegt? an den gilden-mitgliedern bestimmt nicht.
also waere ich zauberer, dann waer ich nicht nur frustriert, sondern
waere _maechtig_ stinkig und haette mir vielleicht auch schon ne andere
gilde gesucht. was da in letzter zeit fuer bockmist verzapft wurde...
da wunderts mich, dass ueberhaupt noch so viele zauberer in der gilde
bleiben, aber wohl eher aus ueberzeugung als aus spass an der gilde.

gnOme

-----------------------------------------------------------------------------



Re^12: Neuer Spruch (Patryn, 25. Mai 1998, 21:44:08):
~#! rn=Gnome rt=896125113 rg=gilden.klerus
~#! tid=895653673
ich glaube nicht, dass du weisst, worueber du redest. ich bezog mich
in meiner aussage auf eine aenderung, die eine gewaltige abwertung darstellte
und viele monster die vorher total easy waren jetzt fuer zauberer in den
unverwundbar-status erhebt.
viele werden ja mitbekommen haben, dass seit einiger zeit spells von
monstern abgewehrt werden, wo dies vorher nie geschah, teilweise mit fast
100%. das liegt daran, dass jetzt alle monster solch eine spell-abwehr
besitzen die an verschiedenen kriterien bemessen wird. leider waren
die meisten monster nie darauf ausgelegt und so gibt es derzeit ein grosses
problem: der eine kommt...och, das monster war doch total laeppisch, und
ne gruppe von 5 zauberern jetzt kommt an und meint, quark, das kann man
gar nicht toeten. verstanden, was ich damit sagen will?
na ja, jedenfalls sollte man das noch mal ueberdenken, ich finde diese
neuerung nicht gut und ihre durchsetzung hat viel zu extreme auswirkungen.
abwertungen gab es eigentlich zur genuege, da war das nicht auch noch noetig.

------
patryn

-----------------------------------------------------------------------------



Gilden-Level und SPrueche (Duffy, 26. Mai 1998, 09:55:56):
Ich habe es gerade geschafft, Seher und somit auch Kurat zu werden. Ich bin
dabei auf SPieler-Level 30 engekommen. Soweit ich gehoert habe, ist mein
SPielerlevel fuers Seher werden eher zu niedrig als zu hoch (sprich: die
meisten haben ein hoeheres Spielerlevel wenn sie Seher werden). So weit, so
gut. Wenn ich mir da mal die Bedingungen fuer die Kuratoren-Sprueche anschaue:
Heiligenschein_ Level 15, Regeneriere: Level 17 usw. Da Seher-werden unter
Level 30 heute nahezu unmoeglich ist, sind diese Bedingungen doch eigentlich
ueberfluesig.
Ach so: mit Heiligenschein und Elementarschild habe ich meine beiden ersten
devensivsprueche gelernt. Ein Verteidigungsspruch bei kleineren Gildenlevel
waere doch auch interessant (aehnllich wie das geplante Giftschwaechung und
Entgift). Ich will kein ultimatives Schutzschild, nur was etwas den AC-Wert
erhoeht und spaeter durch die anderen beiden Sprueche quasi eruebrigt wird.

Meckerfritze Duffy, der auch an Nicht-Seher denkt

-----------------------------------------------------------------------------



Re: Gilden-Level und SPrueche (Alpha, 26. Mai 1998, 09:59:50):
~#! rn=Duffy rt=896169356 rg=gilden.klerus
~#! tid=896169356
Seher werden auf Level 15? Das ging doch noch nie, oder?

-----------------------------------------------------------------------------



Re^13: Neuer Spruch (Hangover, 26. Mai 1998, 10:10:53):
~#! rn=Patryn rt=896125448 rg=gilden.klerus
~#! tid=895653673
Moin!

Was das Abwehren von Zauberspruechen angeht, muss ich sagen, dass mir
diese Regelung durchaus gefaellt. Dass nachtraegliche Aenderungen
immer fuer Probleme sorgen, sollte da kein Hinderungsgrund sein,
es sollte _jedem_ Magier hier moeglich sein, sich seine Monster
nochmal anzuschauen, und sie veraenderten Realitaeten anzupassen.
(*grins Silvana und ein paar Tigonen an*). Das einzige, was ich
vermisse, ist eine Spruchabwehr gegen Kaempferangriffe, aber das
wird wohl leider nur Wunschdenken bleiben.

-Hangover

-----------------------------------------------------------------------------



Re^14: Neuer Spruch (Morgoth, 26. Mai 1998, 10:13:57):
~#! rn=Hangover rt=896170253 rg=gilden.klerus
~#! tid=895653673
Wie waers mit Spruchabwehr gegen Wurfsterne und Bumerangs ;-))
M*

-----------------------------------------------------------------------------



Re^15: Neuer Spruch (Hangover, 26. Mai 1998, 10:14:53):
~#! rn=Morgoth rt=896170437 rg=gilden.klerus
~#! tid=895653673
Schau in den Source der Struv-NPCs.

-Hangover
(Bendeigid dafuer verfluchend)

-----------------------------------------------------------------------------



Re^15: Neuer Spruch (Arelion, 26. Mai 1998, 10:47:12):
~#! rn=Morgoth rt=896170437 rg=gilden.klerus
~#! tid=895653673
Na ja, Bumis werden gerne zurueckgeworfen, oder gegessen. Das ist Abwehr
genug. Und Sterne ... na ja, M*, ich muss dir nicht erzaehlen wie man sie
bekommt. Das ist keine Abwehr, aber limitiert deren Einsatz doch.

- Arelion.

-----------------------------------------------------------------------------



Re^12: Neuer Spruch (Teddy, 26. Mai 1998, 13:04:11):
~#! rn=Gnome rt=896125113 rg=gilden.klerus
~#! tid=895653673
Es koennte aber auch an den gleichzeitig eingebauten Aufwertungen liegen, die
die Zauberer erhalten haben.

Teddy kann keine so schlimme Abwertung erkennen.

-----------------------------------------------------------------------------



Re: Gilden-Level und SPrueche (Wargon, 26. Mai 1998, 13:24:10):
~#! rn=Duffy rt=896169356 rg=gilden.klerus
~#! tid=896169356
  Hiho!
Es gibt bei zwei Mengen von Beschraenkungen, aus denen sich die
Gesamtbeschraenkungen zum Lernen der Sprueche zusammensetzen: zum einen
Beschraenkungen aus der Gilde, zum anderen Beschraenkungen aus dem Spellbook.
Diese Aufteilung gibt es, weil eine Gilde durchaus auch Sprueche aus den
Spellbooks anderer Gilden verwenden kann.
Die Beschraenkungen auf Spielerlevel < 20 sind Beschraenkungen aus dem
Spellbook (die gelten also global, auch wenn die Sprueche z.B. von einer
Paladin-Gilde verwendet werden wuerden), waehrend die Bedingung "Kurat"
klerikerspezifisch ist.
  Wargon

-----------------------------------------------------------------------------



Re: Gilden-Level und SPrueche (Mensana, 26. Mai 1998, 16:54:32):
~#! rn=Duffy rt=896169356 rg=gilden.klerus
~#! tid=896169356
Also ich finde nicht, dass ein besonderer Schutz-Spell fuer Wanderprediger
etc. notwendig ist, da wir ja keine Ruestungs-Beschraenkung haben.
Nuetzlich waere er aber schon.

Mensana (Zweitie von Msar)

-----------------------------------------------------------------------------



Re^3: Neuer Spruch (Felbo,  3. Jun 1998, 19:59:11):
~#! rn=Morgoth rt=895662047 rg=gilden.klerus
~#! tid=895653673
Wenn wir schon 'Befriede' erhalten sollen, dann sollte man auch den
'Goetterzorn' streichen. Das wuerde kommt dann einer Defensivgilde wieder
naeher.
Ausserdem denke ich auch, dass nicht zuviele Gilden dasselbe koennen sollten,
also (erschlagt mich nicht gleich ;)) den Zauberern den Befriede streichen.
Gerechterweise muss man denen dann aber auch einen irgendwie gearteten Ersatz
bieten (z.B. Unsichtbarkeit, Teleportation ... kenn mich nicht aus, was die
schon alles koennen) der wenigstens einen Teil des Friedenstiftens wieder
abdeckt.

Felbo, der gar keinen Goetterzorn will, weil er auch so stark genug ist ;)

-----------------------------------------------------------------------------



Re^4: Neuer Spruch (Patryn,  3. Jun 1998, 21:50:40):
~#! rn=Felbo rt=896896751 rg=gilden.klerus
~#! tid=895653673
wenn uns aus diesen fadenscheinigen gruenden das befriede gestrichen
werden soll, dann aber euch auch dieser blitz-krams und die haelfte eurer
1000 abwehrmoeglichkeiten.
der beherrschungszweig der zauberer kann das befriede ebensogut
vertragen wie ein kleriker, das eine schliesst das andere ueberhaupt
nicht aus. wer befrieden kennt, weiss, dass man das nicht durch
irgendeinen 08-15-trost-spell abdeckt.

------
patryn

-----------------------------------------------------------------------------



Re^5: Neuer Spruch (Anatol,  4. Jun 1998, 01:54:53):
~#! rn=Patryn rt=896903440 rg=gilden.klerus
~#! tid=895653673
Ich fuerchte fast, wir koennen uns den Mund fusselig reden. Jeder Zauberer
weiss, dass er besser nicht um der Kampfkraft Willen einer anderen Gilde
"Abwerten!" hinterherrufen sollte (wo bleibt die Spruchvorbereitung fuer
"verletze"? ;)). Kaempfer halten sich - wohlweislich - ebenfalls aus der
Diskussion heraus.
Es ist nicht leicht, Gilden zu "balancieren", man kann nunmal ein Kalb
schlecht mit dem spezifischen Gewicht einer Telefonzelle vergleichen, das
gilt halt auch fuer die allermeisten Gilden. WAS man aber diskutieren kann,
ist der Sinn und die - fuer alle Gilden gleichermassen geltende - sinnvolle
Obergrenze. Was darf ein Spieler alleine koennen, was darf er, unabhaengig
vom Aufwand (Scripten/Forschen/wasauchimmer), nicht? Das "befrieden" von
Monstern gehoert wohl in die Grauzone und aus Sicht der Balance ist es 
vermutlich aeusserst begruessenswert, dass der programmierende Magier,
wenn es Not tut, etwas dagegen tun kann.

Anatol - auch zweiglos nicht furchtbar schwach


-----------------------------------------------------------------------------



Re^4: Neuer Spruch (Morgoth,  4. Jun 1998, 08:07:10):
~#! rn=Felbo rt=896896751 rg=gilden.klerus
~#! tid=895653673
Es zwingt DIch niemand ihn zu lernen oder ihn anzuwenden.
M*

-----------------------------------------------------------------------------



Re^5: Neuer Spruch (Anatol,  4. Jun 1998, 17:12:37):
~#! rn=Morgoth rt=896940430 rg=gilden.klerus
~#! tid=895653673
Du Oberwitzknochen :) Solange Du nichts an der Gildenhierarchie aenderst,
ZWINGST Du jeden, der auch mal Hohepriester sein moechte, dazu, jeden
Spruch zu lernen und zum Zwecke der Uebung anzuwenden. Oder sehe ich das
mal wieder falsch? 

Vom Blitz getroffen,
Anatol ;)


-----------------------------------------------------------------------------



Re^5: Neuer Spruch (Key,  6. Jun 1998, 17:44:34):
~#! rn=Patryn rt=896903440 rg=gilden.klerus
~#! tid=895653673
Hmm momment ... Patryn ...
Ich stimmt da ausnahmsweise mit sonem Kleriker ueberein ...
Befriede passt besser zu den Klerikern ... und ein Spell wie unsichtbar waere
net zu verachten :)
Noch dazu wo das befriede der Zauberer ja eh fast bis zum gehtnichtmehr
abgewehrtet wurde ...

Key

-----------------------------------------------------------------------------



Re^6: Neuer Spruch (Agony,  8. Jun 1998, 09:38:24):
~#! rn=Key rt=897147874 rg=gilden.klerus
~#! tid=895653673
bleibt das problem, dass unsichtbar weder ein beherrschungszauber ist, und
somit nicht als ersatz taugt und das andererseits in diesem mud solch ein
zauber/item nicht erwuenscht ist, der/das spieler unsichtbar macht
 (soweit ich weiss)

ich bin ja eh dafuer, dass chaoten nicht mehr mit waffen kaempfen koennen,
schliesslich passt das besser zu den kaempfern... :)

------
patryn

-----------------------------------------------------------------------------



Re^7: Neuer Spruch (Sting,  8. Jun 1998, 16:55:18):
~#! rn=Agony rt=897291504 rg=gilden.klerus
~#! tid=895653673
Also jetzt geb ich auch mal meine Meinung zum Thema "befriede" ab:

Ich halte "befriede" auch fuer einen Spell, der bei den Klerikern evtl. besser
aufgehoben waere, als bei den Zauberern, aber ich bin trotzdem NICHT dafuer
diesen Spell den Zauberern einfach zu streichen (der ist eh schon indirekt
extrem abgewertet worden). Genauso halte ich es fuer NICHT gut, den Klerikern
noch mehrere Angriffszauber zur Verfuegung zu stellen (meine eigene Meinung),
und wenn die Kleriker unbedingt nen Befriede wollen, dann soll man ihnen das
halt geben... wobei das einen Nachteil hat: noch eine Gilde mehr, in der man
Zweities hochziehen kann, die befrieden koennen (mit dem Unterschied das die
Kleriker nicht den Spell_Defend-Nachteil der Zauberer haetten)... Also meine
Meinung ist: Lasst den Zauberern befriede und gebt den Klerikern irgendetwas
anderes (lasst euch halt was einfallen)

Sting

-----------------------------------------------------------------------------



Re^8: Neuer Spruch (Neb,  8. Jun 1998, 20:24:08):
~#! rn=Sting rt=897317718 rg=gilden.klerus
~#! tid=895653673
Dieser Artikel ist nicht gegen den von Sting, sondern ein wenig gegen das
ganze Geflame gegen einen fuer Kleriekr logischen Spruch.
Wer sich mal die Spruecheliste der Piraten genau angeschaut hat, der merkt,
dass sich diese Gilde nun wirklich so ziemlich ALLE Rosinen aus den Spruechen
der anderen Gilden des MG rausgepickt hat (Todesstoss, Schnell, Nuechtern,
Heilspruch ohne Begrenzung, Finten, Rauschen, Kampftechniken) und unter
anderem halt auch den befriede, der anders heisst, aber wie ein befriede
wirkt.
Wenn ihr also gegen irgendetwas flamed, dann nicht hier, sondern erstmal gegen
diese (meines Wissens nach schon von der Balance abgenommene) Gilde, zu der
der Spruch sicher viel weniger passst als zu den friedlichen Klerikern.

Also bitte, erstmal bei den Piraten aufregen und flamen, wenn schon, denn
schon.

Neb.

-----------------------------------------------------------------------------



Mal was Neues.... (Morgoth, 16. Jun 1998, 00:06:46):
Moin,

wie die Meisten ja schon wissen, sollten eigentlich die neuen Spells und der
neue Level schon angeschlossen sein. Leider gibt es einen Bug im erhoehen auf
den neuen Level, den selbst Silvana nicht gefunden hat. Bis dieser behoben
ist, muesst ihr leider mit den alten Sachen leben.
Etwas neues gibt es nur fuer Erleuchtete und HPs.
Mit nem neuen Talisman(ende/reboot) koennt ihr nun NPCs fuer Euch 'erfassen'.
Wenn dies geschehen ist und ihr den NPC, der ueberigens schon boese sein
sollte, von seinem Leid 'erloest' habt, wird Euch Eure Gottheit einen Bonus
gewaehren der fuer zukuenftige Hohepriesterweihen von bedeutung sein wird.
Im Klartext heisst das:

erfasse satan
toete satan
<metzel>
SATAN faellt tot zu Boden.
schwupps...und schon wieder etwas mehr chancen HP zu werden.

Viel Spass damit...uebrigens koennt/solltet ihr mir ein paar Mails ueber NPCs
schicken, die in diese Wertung eingehen sollen. ;-))

Morgoth, der Gildenpapst

-----------------------------------------------------------------------------



erfasse (Gorog, 16. Jun 1998, 12:20:44):
Aeh wo das jetzt so neu is und ich absolut keine Ahnung hab wie sich das
auswirkt, koenntest Du nen Befehl einfuegen mit dem man die erfassten Monster
abrufen kan?

Gorog

-----------------------------------------------------------------------------



Die Goetter sind Feinschmecker. (Bensonmam, 16. Jun 1998, 12:33:16):
Was fuer Ueberraschungen man doch beim Identifizieren erlebt:

> identifiziere bolognese
Die Bolognese ist eine den Goettern wohlgefaellige Waffe.
Die Bolognese besteht aus Essen.
Ansonsten kannst Du nichts besonderes an ihr erkennen.

j. Bensonmam (noch immer grinsend)

-----------------------------------------------------------------------------



Re: erfasse (Morgoth, 16. Jun 1998, 13:14:24):
~#! rn=Gorog rt=897992444 rg=gilden.klerus
~#! tid=897992444
Jaja, irgendwann ja....warts ab ;-)
M*

-----------------------------------------------------------------------------



erfasse (Hera, 16. Jun 1998, 17:26:16):
hmmm...gibts auch irgendwo die info, wieviel aeh...Energie man schon gesammelt
hat? und konnte man nicht erfasse ohne argument eigeben und dann werden alle
npcs im raum erfasst?
und am besten noch na nachricht, ob das monster was gebracht hat oder
nicht...sonst koennte es mit der Zeit recht laestig werden alles immer zu
erfassen...

aber ansonsten ... ne echt nette Idee...;)

Hera**

-----------------------------------------------------------------------------



Re: erfasse (Sharia, 16. Jun 1998, 19:13:25):
~#! rn=Hera rt=898010776 rg=gilden.klerus
~#! tid=898010776
hmm abgesehen davon, dass das erfasse noch etwas buggt is es klasse nur von
manchen wohl nicht ganz verstanden...

ich erklaere mal: Wer in Zukunft Hohepriester (auch Erleuchteter?) werden
moechte muss eine gewisse Anzahl an "Kleriker-Kill-Stupsen" haben um das LEvel
erreichen zu koennen. bzw muss (so denke ich es jedenfalls) mehr Stupse haben
als der Hohepriester .. oder wie auch immer .. und dafuer ist erfasse ... man
erfasst das Monster welches man danach etwas "bekehrt" um zu hoffen, dass die
Goetter so gnaedig sind und diesen NPC als "Kleriker-Kill-Stups-NPC" zaehlen
zu lassen .... momentan loggt Morgoth wohl noch jeden Gegner der erfasst wird
mit um dann zu schauen ob er ihn fuer wuerdig haelt.... 
schauen wir dann also einfach mal was das so gibt ....

Sharia

-----------------------------------------------------------------------------



Re: Re: erfasse (Nonne, 17. Jun 1998, 13:19:36):
~#! rn=Sharia rt=898017205 rg=gilden.klerus
~#! tid=898010776
Hallo Klerikers,

ist das dann so, dass man rumrennt, um so viele boese Monster, wie morglich zu
erfassen und dann zu killen, oder laeuft das wie bei den erstkill-Stupsen,
also jedes Monster nur einmal? Und: je boeser, je besser (faend ich logisch)
oder je haerter, je besser? Fragen ueber Fragen

Auf Hilfe hoffend

Nonne

-----------------------------------------------------------------------------



Re^3: erfasse (Morgoth, 17. Jun 1998, 13:23:43):
~#! rn=Nonne rt=898082376 rg=gilden.klerus
~#! tid=898010776
Die Punkte gibts fuer jeden Kill.
Ueber die Werte muss ich mir noch gedanken machen....ihr koennt aber 'alles'
erstmal killen, wird alles gespeichert.

M*

-----------------------------------------------------------------------------



erfasse (Hera, 17. Jun 1998, 13:42:19):

Hmmm....also es ist wert HP zu werden, der stumpfsinnig immer und immer wieder
auf ein und die selben Monster losgeht???

Lebenskraft ueben ist schon langweilig genug....

Kann man denn irgendwie aehnlich dem Kerbholz rausfinden, wo diese Stupse zu
bekommen sind und wo nicht?

Naja, mal sehen..erstmal ausprobieren...;)



Ne andere Sache....

Wie waere es, wenn der hohepriester nicht zum Gejagten wird, weil er doch
gewisse Vorteile hat, sondern diese Auch zum Wohle der Brueder und schwestern
einsetzen kann/muss/soll???

Ich dachte da an ne Teleportfunktion bzw. finde wie bei den Zauberern fr
KLeriker, die in Not geraten sind...und wer fortlaufend diese Hilferufe
ignoriert demontiert sich als HP langsam selbst? in ddiesem Zusammenhang
koennte man ja auch die 
Funktionspalette fuer Wunder erweitern...

Nur so ne Idee....


Hera

-----------------------------------------------------------------------------



Re: erfasse (Silvana, 17. Jun 1998, 13:47:55):
~#! rn=Hera rt=898083739 rg=gilden.klerus
~#! tid=898083739
Auch wenn Du das vielleicht anders gemeint hast: Finde hat nichts mit
Teleport zu tun. Nicht mal ansatzweise.

  Silvana - beugt Geruechten vor.

-----------------------------------------------------------------------------



Re: erfasse (Patryn, 17. Jun 1998, 13:52:46):
~#! rn=Hera rt=898083739 rg=gilden.klerus
~#! tid=898083739
teleport fuer kleriker? nix da, das passt viel besser zu den zauberern ;)

------
patryn, dem das prinzipiell wurscht ist :)

-----------------------------------------------------------------------------



Re: erfasse (Nonne, 17. Jun 1998, 14:14:17):
~#! rn=Hera rt=898083739 rg=gilden.klerus
~#! tid=898083739
Das ist doch mal ein vorschlag! Weg mit Wunder, oder auch nicht, egal, aber
HPs kriegen ne Anrufung, die anderen (klerikern) aus der patsche helfen kann!
Ein Spruch, der ausschliesslich die Naechstenliebe zum Ausdruck bringt. Ich
finde, das wuerde optimal in die Atmosphaere einer solchen Gilde passen, nicht
sonn selbstsuechter Spruch, wie Wunder. Und bei jeder Hilfe, die man erteilt,
kann man dann Punkte sammeln, um HP zu bleiben (in Konkurenz zu erfasse, oder
so). Klasse Hera, find ich gut

Nonne

-----------------------------------------------------------------------------



Re: Re: erfasse (Serverus, 17. Jun 1998, 14:47:22):
~#! rn=Nonne rt=898085657 rg=gilden.klerus
~#! tid=898083739
Ich wuerde nicht einmal sagen, dass diese Hilfe nur den Klerikern zugute
kommt, sondern allen Mitspielern.  Ich bin zwar kein Kleriker aber die Idee
finde ich auch toll, mal kein Spruch welcher nur den Klerikern zugute kommt,
sondern allen. Waere auch fuer das Teamplay sehr gut geeignet.

Serverus, der mit dem Tod tanzt.

-----------------------------------------------------------------------------



Re: Re: erfasse (Felbo, 17. Jun 1998, 16:29:22):
~#! rn=Nonne rt=898085657 rg=gilden.klerus
~#! tid=898083739
Find ich auf jedenfall besser als _nur_ Monster killen, gute Idee !!!

Felbo.

-----------------------------------------------------------------------------



Na also (Morgoth, 18. Jun 1998, 22:22:22):
Endlich sind die neuen Spells dran...kann sein, dass die anderen Mags noch
etwas nachhinken (Catty in Djewieauchimmer, usw.) aber im prizip sollten sie
erlernbar sein. 

Evtl. gibts ein paar Probs mit den beiden oberen Leveln...dann einfach an mich
enden.

M*

-----------------------------------------------------------------------------



Re: Re: erfasse (Morgoth, 19. Jun 1998, 08:38:12):
~#! rn=Nonne rt=898085657 rg=gilden.klerus
~#! tid=898083739
So sei es.

Wie ihr vielleicht gesehen habt, gibt es einen Spruch 'leid' fuer
Hohepriester. Dieser muss natuerlich wieder von Rochus gecheckt werden, aber
eins ist sicher....ihr werdet leiden ];-)
Hupps...ist ja gar nicht d.vland...
aeh...ihr werdet Euch fuer eure Mitmenschen regelrecht opfern...aeh aufopfern.

Morgoth grinst (schein)heilig

-----------------------------------------------------------------------------



Re^3: erfasse (Anatol, 19. Jun 1998, 13:12:35):
~#! rn=Morgoth rt=898238292 rg=gilden.klerus
~#! tid=898083739
Rochus gegenueber waere es deutlich fairer, wenn Du ERST checken laesst
und dann ankuendist, damit er sich nicht dem unterschwelligen Druck der
spruchgeilen Kleriker ausgesetzt fuehlen muss.

Wobei man es Dir hoch anrechnen lassen muss, dass Du Rochus ueberhaupt
konsultierst, gell?

Anatol, hat die Hoffnung aufgegeben


-----------------------------------------------------------------------------



Re^4: erfasse (Grimmborn, 19. Jun 1998, 13:48:03):
~#! rn=Anatol rt=898254755 rg=gilden.klerus
~#! tid=898083739
Mich wundert vielmehr dass es erlaubt ist Sachen, die offensichtlich gecheckt
werden muessen/sollen anzuschliessen bevor das geschehen ist.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: erfasse (Sharia, 19. Jun 1998, 14:07:55):
~#! rn=Grimmborn rt=898256883 rg=gilden.klerus
~#! tid=898083739
grimmi angeschlossen is es noch nicht von daher brauchst du dich nicht wundern
:-)

-----------------------------------------------------------------------------



Re^6: erfasse (Bottom, 19. Jun 1998, 14:13:21):
~#! rn=Sharia rt=898258075 rg=gilden.klerus
~#! tid=898083739

Wer hat eigentlich Morgoth gecheckt - bevor er angeschlossen wurde? ;-)

Danke Morgoth, dass Du Dich unserer Gilde so fuersorglich angenommen hast!
Moegest Du einst an Saphinas Busen ruhen!

Bottom


-----------------------------------------------------------------------------



Re^7: erfasse (Morgoth, 19. Jun 1998, 14:14:04):
~#! rn=Bottom rt=898258401 rg=gilden.klerus
~#! tid=898083739
Geil, hast Du ihre Koerbchengroesse parat?
M*

-----------------------------------------------------------------------------



Re^7: erfasse (Bielefeld, 20. Jun 1998, 17:13:08):
~#! rn=Bottom rt=898258401 rg=gilden.klerus
~#! tid=898083739
Hmmm...ich glaube darauf legt er es ja auch an ;)

Jemand aus Bielefeld
(heute mal gehaessig)

-----------------------------------------------------------------------------



Re^7: erfasse (Acrimon, 20. Jun 1998, 17:50:02):
~#! rn=Bottom rt=898258401 rg=gilden.klerus
~#! tid=898083739
Hmm ... kann man das nicht nachtraeglich machen?

Acrimon scheckt Morgoth ueber und ueber schwarz-weisz kariert.

-----------------------------------------------------------------------------



Nachtrag zu 'erfasse' (Morgoth, 24. Jun 1998, 09:47:35):
Wer laengere Zeit an einem NPC metzelt, sollte kurz vor Ende noch mal das
'erfasse' ueberpruefen. Es wird nach einiger Zeit naemlich entfernt.

M*

-----------------------------------------------------------------------------



Re: Nachtrag zu 'erfasse' (Bottom, 24. Jun 1998, 14:37:12):
~#! rn=Morgoth rt=898674455 rg=gilden.klerus
~#! tid=898674455

...immer diese Hetzerei...dachte, das waer 'ne gemuetliche Gilde...

Lembold schenke Euch Demut und mir Sanftmut!


-----------------------------------------------------------------------------



Re: Re: Nachtrag zu 'erfasse' (Morgoth, 24. Jun 1998, 14:46:27):
~#! rn=Bottom rt=898691832 rg=gilden.klerus
~#! tid=898674455
Es zwingt Dich ja keiner....

M*

-----------------------------------------------------------------------------



Kleine Aenderungen (Morgoth, 28. Jun 1998, 22:13:58):
Ein paar Sachen klappten noch nicht so, wie sie sollten. Das sollte jetzt
behoben sein.

Morgoth

-----------------------------------------------------------------------------



Selbstloeschung ist keine Loesung! (Bensonmam, 29. Jun 1998, 16:55:22):
j.Bensonmam (spricht aus Erfahrung (und hofft, dass B. es liest))

-----------------------------------------------------------------------------



erleuchteter/hohepriester (Lahm, 30. Jun 1998, 19:27:09):
Hallo,
alos ich finde den Vorschlag, das sowohl Hohepriester, als auch Erleuchtete
Hilfssprueche bekommen klasse. Damit kann endlich dieses Wettrennen um
die begehrten Plaetze beendet werden, da es fuer HLPs keinen weiteren Vorteil
mehr bringt,
wenn sie Erleuchteter sind und sie damit diese Plaetze fuer echte Ersties zu
verfuegung stellen. Als Anreiz stelle ich den Hohepriesterposten der
Saphina zur Verfuegung, wenn das System geaendert werden sollte, da ich jetzt
entweder wie bloed trainieren kann, um meine PERSOENLICHEN Vorteile zu
behalten, oder aber mich auf eine grosse Gemeinschaft freuen kann.
Lahm (Hohepriester aus egoistischen Heiltrankmotiven)

-----------------------------------------------------------------------------



Re: erleuchteter/hohepriester (Bottom,  1. Jul 1998, 12:02:35):
~#! rn=Lahm rt=899227629 rg=gilden.klerus
~#! tid=899227629

Aha, so ist das also!
Moege Dir Saphina in den Heiltrank pissen!

Bottom - endeckt niedere Motive in der Bruderschaft.


-----------------------------------------------------------------------------



Re: Re: erleuchteter/hohepriester (Morgoth,  1. Jul 1998, 12:14:53):
~#! rn=Bottom rt=899287355 rg=gilden.klerus
~#! tid=899227629
Obwohl es ja eigentlich etwas unfreundlich ist...ich roll mich trotzdem ab.
;-)))

M*

-----------------------------------------------------------------------------



Re^3: erleuchteter/hohepriester (Silvana,  1. Jul 1998, 19:13:58):
~#! rn=Morgoth rt=899288093 rg=gilden.klerus
~#! tid=899227629
Ich haett ja gedacht, dass Du's sofort einbaust... :)

  Silvana

-----------------------------------------------------------------------------



Talisman (Morgoth,  2. Jul 1998, 11:28:13):
Da sich ein paar Leute ueber den Talisman beschwert haben, dass er in der
Glaubensstaerke nicht mehr abnimmt, habe ich eine Moeglichkeit eingebaut, um
die Glaubensstaerke zu reduzieren. 
Dies geht natuerlich nur mit einem neuen Tali und auch nur an einem speziellen
Ort ;-))

Viel Spass

M*

-----------------------------------------------------------------------------



Re: Talisman (Gloin,  3. Jul 1998, 15:58:26):
~#! rn=Morgoth rt=899371693 rg=gilden.klerus
~#! tid=899371693
Hm. Warum nimmt die Glaubensstaerke eigentlich nicht mehr ab? Ich hielt das
Beten fuer die Glaubensstaerke bisher immer fuer einen wesentlichen Be-
standteil der Gilde, und er fehlt mir schon.
Nebenbei bemerkt ist die Abnahme der Glaubensstaerke ja auch fuer An-
rufungsqualitaet und -erfolg verantwortlich, also ist die jetzig konstante
Glaubensstaerke irgendwie sinnlos.
Ich faende es nett, wenn das Absinken wieder in den Talisman hineinkommt.
Das Sinken der Skills durch zu langes Nichtbeten allerdings ist etwas,
was mir immer missfiel.

Gloin ... moecht den _alten_ Talisman wieder.

-----------------------------------------------------------------------------



Re: Re: Talisman (Neb,  3. Jul 1998, 16:08:25):
~#! rn=Gloin rt=899474306 rg=gilden.klerus
~#! tid=899371693
Ich moechte auch den alten Tali wiederhaben.

Neb schliesst sich Gloin an.

-----------------------------------------------------------------------------



Re^3: Talisman (Key,  3. Jul 1998, 18:02:11):
~#! rn=Neb rt=899474905 rg=gilden.klerus
~#! tid=899371693
Jammerlappen!
Aber was will man anderes von ekligen heilligen Klerikern erwarten?

Key grinst satanisch

-----------------------------------------------------------------------------



Re^4: Talisman (Neb,  4. Jul 1998, 14:31:44):
~#! rn=Key rt=899481731 rg=gilden.klerus
~#! tid=899371693
Ich finde halt, das gelegentliches beten in einer Klerusgilde zum Feeling
dazugehoert.

Neb, hofft immer noch auf den alten Talisman.

-----------------------------------------------------------------------------



Re^5: Talisman (Tanis,  4. Jul 1998, 14:45:56):
~#! rn=Neb rt=899555504 rg=gilden.klerus
~#! tid=899371693

Also ich stimme Neb und Gloin da voll zu, irgendwie ist da schonr echt viel
feeling verloren gegangen ... und gerade die Kleriker waren meiner meinung
nach eine der wenigen Gilden, wo noch Gildenfeeling aufkam ... was mit dem
talisman aber zur zeit etwas verloren geht.

Tanis ... welcher auch auf den alten Talisman hofft

-----------------------------------------------------------------------------



Re^6: Talisman (Sharia,  6. Jul 1998, 01:02:47):
~#! rn=Tanis rt=899556356 rg=gilden.klerus
~#! tid=899371693
also MEIN Talisman wird auch beim NICHT idlen wieder dunker :-)

Sharia, die eben ganz schockiert war :-)

-----------------------------------------------------------------------------



Re^7: Talisman (Highlander,  6. Jul 1998, 12:20:57):
~#! rn=Sharia rt=899679767 rg=gilden.klerus
~#! tid=899371693
Ich muss bei Glaubensstaerke und Abnahme und so irgendwie an nethack
denken - man kann von seinem Gott da einiges erbeten, aber so man das
getan hat, tut man gut daran, erst wieder fleissig zu opfern oder lange
zu warten, weil der Gott sonst findet, dass man uebermuetig wird, und
dementsprechend reagiert :>
   HrT

-----------------------------------------------------------------------------



Re: Talisman (Lightning,  7. Jul 1998, 14:02:04):
~#! rn=Morgoth rt=899371693 rg=gilden.klerus
~#! tid=899371693

Also mein Talisman sinkt auch wieder ohne ideln, den Goettern sei Dank!
Endlich hab ich wieder Grund zu beten. 

Lightning, der das 'mal eben beten' schon vermisst hat.

-----------------------------------------------------------------------------



Sloganizers' statement zur Gilde (Jimdigriz,  7. Jul 1998, 15:38:55):

"Klerus. Fuer heilige Verlierer, wenn alles misslingt!"

Sloganizer-Keywords provided by Tomator

-----------------------------------------------------------------------------



austreten (Taz, 19. Jul 1998, 19:27:14):
Hi,

Ich, der allererste Kleriker, bin nun ausgetreten.

Taz.

-----------------------------------------------------------------------------



Re: austreten (Feuerwehr, 19. Jul 1998, 19:28:09):
~#! rn=Taz rt=900869234 rg=gilden.klerus
~#! tid=900869234

Hi!

In der Chaosgilde sind Plaetze frei, ich mein, nur falls Du willst...

Feuerwehr.

-----------------------------------------------------------------------------



Re: austreten (Kalliope, 19. Jul 1998, 20:03:31):
~#! rn=Taz rt=900869234 rg=gilden.klerus
~#! tid=900869234
Du musst ein geistiger Versager sein, wenn Du als allererstes Mitglied
des Ordens nicht auch der erste warst, der zum Priester geweiht wurde.
Sehen wir Deinen Austritt als logische Konsequenz des fehlenden Gott-
vertrauens? :)

Kalliope :)


-----------------------------------------------------------------------------



Re: Re: austreten (Gando, 19. Jul 1998, 23:28:24):
~#! rn=Feuerwehr rt=900869289 rg=gilden.klerus
~#! tid=900869234
Faellt das nicht unter den Artikel mit den Hobbits und der Chaosgilde?

Gando

-----------------------------------------------------------------------------



Re^3: austreten (Nonne, 20. Jul 1998, 12:25:25):
~#! rn=Gando rt=900883704 rg=gilden.klerus
~#! tid=900869234
Diesen Irrungen bin ich auch zum Opfer gefallen. Hoffentlich hast Du Dir das
gut ueberlegt!
Wiedereintritt ist mit _viel_ Arbeit verbunden.

Nonne

-----------------------------------------------------------------------------



Re: Re: austreten (Key, 20. Jul 1998, 12:49:49):
~#! rn=Feuerwehr rt=900869289 rg=gilden.klerus
~#! tid=900869234
112!!! Schaem Dich!
Wir nehmen keine Ex-heilligen-Schwulen-Priester auf!
Nie und nimmer!
Nichtmal wenn sie behaupten das Satan persoenlich sie gelaeutert haette!
Nein nichtmal dann!

Das sind bestimmt alles nur Spione! Genau das wuerde zu diesem dreckigen
Gesindel passen!

Key, Chaot

-----------------------------------------------------------------------------



Re^3: austreten (Feuerwehr, 20. Jul 1998, 20:18:02):
~#! rn=Key rt=900931789 rg=gilden.klerus
~#! tid=900869234

Da verstehst Du was falsch, Key.
Taz war schon Chaot, bevor er Kleriker wurde, und kehrt nun in unsere Reihen
zurueck, um Bericht zu erstatten. Was ich jetzt von diesen ominoesen
geheimnisvollen Chaos-Gildenrat erwarte, ist ein gut ausgearbeiteter
Schlachtplan.

Chaos Chaos Chaos

    Feuerwehr.

-----------------------------------------------------------------------------



Re^4: austreten (Teddy, 20. Jul 1998, 23:30:34):
~#! rn=Feuerwehr rt=900958682 rg=gilden.klerus
~#! tid=900869234
Er koennte aber verseucht sein von den scheinheiligen Lehren dieser
wiederlichen Betknechte.
Ich bin fuer eine genaue Pruefung seiner satanischen Ueberzeugung und rituelle
Opferung nach Berichterstattung, sicher ist sicher.

Teddy

-----------------------------------------------------------------------------



Re^4: austreten (Key, 22. Jul 1998, 09:38:02):
~#! rn=Feuerwehr rt=900958682 rg=gilden.klerus
~#! tid=900869234
Nunja mein grosser 112 .... zuerst muss der Chaosrat mal feststellen ob dieses
ominoese Individium das sich Taz nennt nicht als Verraeter angeklagt werden
sollte ...
Und auf Verrat an der Gilde steht der Tod!

Andererseits hab ich das im Namen des Chaos schon geklaert und habe seine
Rueckkehr akzeptiert. Das er uns die erlangten Informationen preisgeben sollte
versteht sich von selbst. 

Key hetzt Kleriker durchs MG :)

-----------------------------------------------------------------------------



Re^5: austreten (Key, 22. Jul 1998, 09:38:53):
~#! rn=Teddy rt=900970234 rg=gilden.klerus
~#! tid=900869234
Ist die Opferung nicht selbstverstaendlich? :)

Key erster Vorsitzender des Chaosrates :)

-----------------------------------------------------------------------------



Re^5: austreten (Taz, 22. Jul 1998, 10:36:03):
~#! rn=Key rt=901093082 rg=gilden.klerus
~#! tid=900869234

Was ist wenn ein Trves zurueckkehrt? Auch ein Verraeter? Auch Opfer?

Anakin.

-----------------------------------------------------------------------------



Re^6: austreten (Key, 22. Jul 1998, 12:41:11):
~#! rn=Taz rt=901096563 rg=gilden.klerus
~#! tid=900869234
Ein Trves?
Verraeter ... nunja zum kleinen Teil mit Sicherheit wobei man bei einem Trves
beruecksichtigen kann das er sozusagen eine Weiterbildung durchmachte ...
Und Opfer ... nein auf keinen Fall!

Ein Chaot der sich entschliesst sich bei den Trves weiterbilden zu lassen
verraet ja nicht unseren Glauben. Das tut ausschliesslich ein Kleriker.


Key, Vorsitzender des Chaosrates klaert auf. :)


-----------------------------------------------------------------------------



Re^6: austreten (Teddy, 22. Jul 1998, 17:34:12):
~#! rn=Key rt=901093133 rg=gilden.klerus
~#! tid=900869234
Ich wollte ja nur sichergehen das er geopfert wird.

Teddy, haelt das auch fuer selbstverstaendlich ;)

-----------------------------------------------------------------------------



Talisman (Tami, 26. Jul 1998, 20:35:06):
Meine lieben Brueder und Schwestern,

welchem verwirrten Geist ist es eigefallen, dass man wieder oefter beten
solle?
Moege Saphinas Zorn ihn/sie treffen. Es mag ja vielleicht als hoher
Spieler/Seher gut moeglich sein mit 'begrabe' seinen Talisman den richtigen
Glanz zu verleihen, aber fuer kleinere Spieler (wie mich) ist das andauernde
Talisman hochbeten doch etwas 'anstrengend' moechte ich sagen. Wenn ihr
unbedingt beten wollt, hat euer strahlende Talisman doch sicher nicht daran
gehindert. Wenn ich jetzt zum Beispiel nur 10!!! Minuten in einer Quest
rumlaufe ohne zu beten, ist der Talisman ne Stufe matter und das find ich nen
bischen viel. Manche moegen jetzt sagen, ich waere nur 2tie.... Stimmt, ich
mache auch keinen Hehl draus. Aber wenn ich spiele dann auch richtig. Gegen
das Beten an sich habe ich nichts, aber alle paar Minuten bewegungslos den
Bildschirm anzustarren find nicht gerade sehr spannend. Nunja, ist nur meine
Meinung und musste mal raus.

Moege Saphina euch erleuchten!:)

TaMi, im Moment 'Obernonne' und doch etwas entruestet ueber einen solchen
Titel.

-----------------------------------------------------------------------------



Re: Talisman (Neb, 26. Jul 1998, 20:36:57):
~#! rn=Tami rt=901478106 rg=gilden.klerus
~#! tid=901478106
Das Problem an dem Talisman ist, dass es nicht der alte Talisman ist, den wir
wiederhaben wollten, sondern einer, der ca. 5 Mal so schnell sinkt wie der
alte.
Wenn Du generell der Meinung ist, Du wolltest nicht beten, ist Klerus
vielleicht nicht die richtige Gilde fuer Dich?
Neb, will immer noch den alten (dreimal unterstrichen) Talisman wiederhaben.

-----------------------------------------------------------------------------



Re: Re: Talisman (Tami, 26. Jul 1998, 20:41:06):
~#! rn=Neb rt=901478217 rg=gilden.klerus
~#! tid=901478106
Hmpf, lies den Artikel nochmal und dann streich den Kommentar zum
Gildenwechsel! Ich habe nie was gegen beten gehabt, nur hab ich keine Lust,
die haelfte meiner online-Zeit mit beten zu verbringen. Achja, bevor jetzt
jemand sagt es waere die halbe online Zeit ->das war reine Uebertreibung!

-----------------------------------------------------------------------------



Re^3: Talisman (Sharia, 27. Jul 1998, 00:58:20):
~#! rn=Tami rt=901478466 rg=gilden.klerus
~#! tid=901478106
ich denke dass das beten nicht stoert und MINUTENLANG starrt man den
bildschirm nicht an ... einmal inbruenstig beten dauert ca 90 secunden und das
reicht normalerweise um den talisman von hell glaenzend auf strahlend zu
bekommen (wenn er nicht gerade am untersten hell glaenzend level haengt) und
bei einem hell glaenzenden Talisman werden die spells soviel ich weiss auch
nicht schlechter ....

Sharia

-----------------------------------------------------------------------------



Re^4: Talisman (Zer, 27. Jul 1998, 00:59:51):
~#! rn=Sharia rt=901493900 rg=gilden.klerus
~#! tid=901478106
Also ich hab je gehoert, dass sich eine Menge aendern wird... aber dass wird
euch dieser grosse finstere Typ schon selbst erklaeren....

Ich Zer. Zer toetet Dich.

-----------------------------------------------------------------------------



33 (Mensana, 27. Jul 1998, 12:53:39):
~#! rn=Zer rt=901493991 rg=gilden.klerus
~#! tid=901478106
Naja, also ich hab das Gefuehl, es dauert laenger als 90 sec (einmal
inbruenstig), und mit einmal inbruenstig kommt ich hoechstens ne halbe stufe
hoch, nicht ne ganze.

Msar

-----------------------------------------------------------------------------



Re: 33 (Gorog, 27. Jul 1998, 13:30:52):
~#! rn=Mensana rt=901536819 rg=gilden.klerus
~#! tid=901478106
Ich glaub das haengt auch etwas von dem ort, deinem Alignment und der
Gildenstufe ab. Oder vertu ich mich da. Nichts destotrotz ist das beten ein
recht wichtiger Bestandteil der Gilde, ob wohl ich manchmal denke, das es
verdammt schnell runter geht.

Gorog, der sich mal wieder fuer ne kleines Gespraech mit Lembold niederlaesst.

-----------------------------------------------------------------------------



'Umstellung' (Morgoth, 27. Jul 1998, 15:53:47):
Hi Kleriker(innen),
Hi Sharia,

also wie ihr ja alle wisst, hat Silvana mal den grossen Rundumschlag gestartet
und auch vor den Klerikern nicht halt gemacht. 
Die Umbauarbeiten werden eine Weile dauern, aber ihr werdet in vielen Spells
aeh Anrufungen eine Aenderung bemerken(denke ich, so wie die Mail aussieht).
Naja, soviel erstmal als vorab Information.
Bis jetzt sind nur einige interne Gilden- und Spellbooksachen umgebaut.
Ausserdem gibt es nun bei der Benutzung von Waffen, die Boesen/Unheiligen
Schaden machen keinen Keulenbonus mehr und den 'allgemeinen Anrufungsskill
(SK_CASTING) gibts jetzt erst ab Erleuchteter.

Bis zur naechsten Aenderung wuensche ich Euch ein frohes Laeutern.

Morgoth

P.S.: Sharia, rasier Dich endlich.

-----------------------------------------------------------------------------



Re: 'Umstellung' (Sharia, 27. Jul 1998, 16:48:01):
~#! rn=Morgoth rt=901547627 rg=gilden.klerus
~#! tid=901547627
Liebe Schwestern, liebe Brueder,
tach Morgoth,

Ich bin mal gespannt, was passiert.... zudem hoffe ich dass einige kleine Bugs
und features (wie entfluche ich eine 2 haendige waffe die ich gezueckt habe
mit 2 haenden?) ausgebaut werden und zudem auch die Hilfe-Seiten (nicht nur
die Schriftrollen) erneuert werden :-) (*grins Morgoth*)

Bis zum naechsten Artikel wuensche ich Euch ein frohes Artikelschreiben

Sharia

P.S.: Morgoth, du bist suess.
P.P.S.: Ich habe keinen Bart.
P.P.P.S.: Oder soll ich etwa Zwergin werden ? 

-----------------------------------------------------------------------------



Re: Re: 'Umstellung' (Gloinson, 27. Jul 1998, 17:38:30):
~#! rn=Sharia rt=901550881 rg=gilden.klerus
~#! tid=901547627
*warks* SK_CASTING erst ab Erleuchteter? Dann laufen also mit mir zusammen
einige Spieler herum, die das auf 100% haben und nicht nutzen (koennen) ...

Gloin

-----------------------------------------------------------------------------



Re: 'Umstellung' (Gorog, 27. Jul 1998, 22:11:06):
~#! rn=Morgoth rt=901547627 rg=gilden.klerus
~#! tid=901547627
Morgen erstmal
Hmm naja, soso. wie waers in dem zusammenhang mit einer erweiterung der
Erleuchtetenplaetz um 2 oder 3 ??

Gorog, der endlich leiden will. (Ich hoffe ihr wisst was ich meine)

-----------------------------------------------------------------------------



Aenderung Nr 1. (Morgoth, 27. Jul 1998, 22:47:33):
So, jetzt gehts los.
Also einige Spells sind geaendert...ihr wollt wissen welche? Moment....
   - bete 
   - begrabe 
   - laeutere 
   - giftschwaechung 
   - weihe 
und...die Abwehr(defend)-Funktionen des Messerkreises und des Heiligenscheins.

Morgoth wuenscht viel Spass, duckt sich und deutet auf Silvana

-----------------------------------------------------------------------------



Re: Aenderung Nr 1. (Sharia, 27. Jul 1998, 22:48:38):
~#! rn=Morgoth rt=901572453 rg=gilden.klerus
~#! tid=901572453
eine etwas genauere erklaerung waere nett :)

Sharia duckt sich und deutet auf Morgoth, den niedlichen, goldigen, putzigen
und sueeeeeeeesen Magier.

-----------------------------------------------------------------------------



Keulenskill (Gloin, 28. Jul 1998, 11:40:50):
Hattest Du nicht vergessen, dass der auch ganz gemein abgewertet wurde?

Gloin 

-----------------------------------------------------------------------------



Argl (Morgoth, 28. Jul 1998, 13:43:06):
Also, da ihr alle irgendwelchen Krams verbreitet und wild spekuliert will ich
mal genau erklaeren, was ich bis jetzt geaendert habe.
Keulenskill:
Waffen, die unheiligen/boesen oder Terrorschaden machen bekommen keinen Bonus
mehr.
Weihe:
Die o.g. Waffen koennen auch nicht mehr geweiht werden.
Begrabe:
2 Typos raus.
Giftschwaechung:
Umstellen der Abfrage, damit kein SK_CASTING geuebt werden kann.
Laeutere:
Maximales Alignment nun +/-1000.
Heiligenschein:
Maximales Alignment nun +/-1000.
Messerkreis:
Kein Abzug der SP mehr.
Bete:
Kurzes beten hebt kein DISABLE_ATTACK mehr auf.
Spellbook:
SI_MAGIC_TYPE nun als array.

So, das wars bis jetzt, nciht mehr, nicht weniger.

Und nun hoert auf zu jammern, es kommt noch ne ganze Menge.

Morgoth

-----------------------------------------------------------------------------



Re: Argl (Nonne, 28. Jul 1998, 13:45:05):
~#! rn=Morgoth rt=901626186 rg=gilden.klerus
~#! tid=901626186
Meinste _dann_ haben wir Grund zum Jammern? ,)

Nonne

-----------------------------------------------------------------------------



Re: Re: Argl (Neb, 28. Jul 1998, 21:00:01):
~#! rn=Nonne rt=901626305 rg=gilden.klerus
~#! tid=901626186
Wofuer, die Zahl der Leute, die die Erleuchtetenbedinungen alle erfuellen, ist
eh schon kleiner als die Zahl der Erleuchtetenraenge ;)

-----------------------------------------------------------------------------



Re^3: Argl (Gorog, 29. Jul 1998, 21:14:57):
~#! rn=Neb rt=901652401 rg=gilden.klerus
~#! tid=901626186
Gorog wartet dann mal auf die jungen Wilden. 

P.s.: lasst es ruhig angehen.

-----------------------------------------------------------------------------



Re: Talisman (Wur, 31. Jul 1998, 08:49:55):
~#! rn=Tami rt=901478106 rg=gilden.klerus
~#! tid=901478106
Ganz meine Meinung. Ich bete schon lang nicht mehr, weil ich keine Lust haben
alle paar Minuten die Zeit verstreichen zu lassen und dabei nur bloed den
Bildschirm anzustarren (naja, bloede dreinschaun ist sowieso ne Spezialitaet
von mir) daher...

Wur

-----------------------------------------------------------------------------



Alter Tali war schon besser... (Isis, 31. Jul 1998, 12:02:39):
Also ich bin auch der meinung, dass das mit dem Beten ein bisl viel geworden
iss...

Vielleicht koennte man eine dynamik reinbringen..wer viele Anrufungen macht
iverliert auch schneller seine Glaubensstaerke...also nur beim Metzeln...
Aber wenn man sich die Gegend angucken will iss das Beten schon ein bissl
nervig...vor allem, wenn man nich weiss, ob nich gleich ein lauf-NPC anrueckt
und einen als Punching-Ball zu benutzen...

Kurz...der alte war genau richtig....

Hera

-----------------------------------------------------------------------------



Re: Alter Tali war schon besser... (Gloinson, 31. Jul 1998, 14:07:18):
~#! rn=Isis rt=901879359 rg=gilden.klerus
~#! tid=901879359
Das hat sich doch laengst wieder gegeben. Ausserdem senken einige Anrufungen
Deinen Tali, wenn ich mich nicht empirisch irre :)

Gloin

-----------------------------------------------------------------------------



Re: Re: 'Umstellung' (Asmodis, 31. Jul 1998, 19:59:52):
~#! rn=Sharia rt=901550881 rg=gilden.klerus
~#! tid=901547627
Vielleicht meint er ja, da du deine Beine rasieren sollst ? :-)

-----------------------------------------------------------------------------



Aenderung (Morgoth,  2. Aug 1998, 05:36:46):
So, die naechste Aenderung ist eingebaut.
In allen Spells, die auf Andere anwendbar sind, ist jetzt SpellDefend()
eingebaut. Die Anrufungen koennen also jetzt abgewehrt werden.
 
Morgoth

-----------------------------------------------------------------------------



erfasse (Isis,  7. Aug 1998, 20:11:50):
Hiho KLerikers!

Also ich hab noch nen kleines Problem mit erfasse...

Koennte man nich ein auto-erfasse einbauen? oder ein erfasse alle? 

1. Denke ich dass einige einfach nen Trigger laufen haben und einfach alles
erfassen, was rumsteht. Das waere aber ein klarer Nachteil fuer alle die kein
tf oder so haben...denn...
2. wenn viele boese Monster in einem Raum sind, die ordentlich zuhauen muss
man schon 3 mal tanken gehen, bis man alle erfasst hat...vor allem wenn die
auch noch zwbbl-ngglllo'oo heissen. Mit telnet geht ja nichmal cut & paste :(

Hera

-----------------------------------------------------------------------------



Re: erfasse (Alpha, 10. Aug 1998, 14:48:51):
~#! rn=Isis rt=902513510 rg=gilden.klerus
~#! tid=902513510
`Mit telnet geht ja nichmal cut & paste :(` HAEH? Warum soll datt net gehen?
Datt geht!
Alpha.

-----------------------------------------------------------------------------



Re: Re: erfasse (Bottom, 11. Aug 1998, 14:10:30):
~#! rn=Alpha rt=902753331 rg=gilden.klerus
~#! tid=902513510

Erfass doch erstmal ein paar Karnickel und dergleichen, Schwester Hera!
Kandri wird Dich fuer solche Bescheidenheit sicher reich entlohnen! ;-)

Bottom


-----------------------------------------------------------------------------



Re^3: erfasse (Hera, 12. Aug 1998, 07:46:09):
~#! rn=Bottom rt=902837430 rg=gilden.klerus
~#! tid=902513510
wollt ich ja...aber ueberall lagen nur von langen Kaempfen elendig
zerstueckelte Leichen rum...warscheinlich warst Du mal wieder vor mir
da...schade...

Hera

-----------------------------------------------------------------------------



Jof weiss bescheid! (Tunixgut, 12. Aug 1998, 09:36:48):
ungeschnitten:
[Klerus:Karol] oh hi M*...hmmm jetzt wollte ich ihn gerade zu Lembold
[Klerus:Karol] bekehren, aber daraus wird wohl nix:))
[Klerus:TuNixGut denkt das auch bald...]
Jof nickt zustimmend.
 
's Karate-Zwerchle - grinst sich eins...

-----------------------------------------------------------------------------



Re^4: erfasse (Bottom, 12. Aug 1998, 18:39:25):
~#! rn=Hera rt=902900769 rg=gilden.klerus
~#! tid=902513510

Kann gar nicht sein! Ich erschlage schliesslich keine Kaninchen und andere
gefaehrliche Monster mit der Zeitung - und andere Mordinstrumente fass' ich im
Moment nicht an!

Bottom - bescheiden wie immer


-----------------------------------------------------------------------------



tolles Spelldefend (Sharia, 24. Aug 1998, 13:30:16):
Interessant dass ich es fertigbringe eine Schutzhand, die auf mich gesprochen
wird abzuwehren ... wieso das ? ich will die doch gerne haben ? :-) hmmmmm
koennte sich da mal bitte wer drum kuemmern ? :-)

Sharia

-----------------------------------------------------------------------------



Re: tolles Spelldefend (Bottom, 24. Aug 1998, 15:09:20):
~#! rn=Sharia rt=903958216 rg=gilden.klerus
~#! tid=903958216

In jedem meiner Gebete bitte ich Lembold seine schuetzende Hand auch ueber
Dein Haupt zu halten, Schwester Sharia. Ich bin ueberzeugt, dass er mir diese
Bitte nicht abschlagen wird, trage ich sie doch stets mit groesster Inbrunst
vor.
 
Lembold halte seine schuetzende Hand ueber die Haeupter meiner Schwestern und
Brueder! Und ueber meins erst recht! Ehre sei Lembold in der Hoehe und moege
er recht haeufig seinen guetigen Blick auf die Geschicke seiner treuen Diener
richten!

Bottom


-----------------------------------------------------------------------------



Aenderungen (Morgoth, 30. Aug 1998, 01:58:17):
1. SpellDefend() aus den Heilspruechen ist raus
2. Goetterzorn macht nun heiligen Schaden (->Silvana)
3. Oeh...wie das wars schon... ;-))

Morgoth, der dunkle, boese, schwarze, absolut-nicht-suesse Kleruschef ;-)

-----------------------------------------------------------------------------



Re: Aenderungen (Morgoth, 30. Aug 1998, 02:00:43):
~#! rn=Morgoth rt=904435097 rg=gilden.klerus
~#! tid=904435097
Argl, da war doch was. 
4. ignoriere "segen, segne, segnung" geht auch. Irgendwer hatte da auf der
Party gejammert. Das sollte eigentlich immer schon funktioniert haben. 

Morgoth, der Spielerkiller ;-)

-----------------------------------------------------------------------------



Re: Re: Aenderungen (Lug, 30. Aug 1998, 04:41:08):
~#! rn=Morgoth rt=904435243 rg=gilden.klerus
~#! tid=904435097
Morgoth?

Was soll das heissen nicht suess? Auf der Party hies es, Du waerst: niedlich,
knuddelig, knuffig, suess, kuschelig, nett, brav, christlich etc.

Waren das etwas alles Geruechte?

Entsetzt ueber soviel Unmoral
Lug

-----------------------------------------------------------------------------



Re^3: Aenderungen (Morgoth, 30. Aug 1998, 18:31:03):
~#! rn=Lug rt=904444868 rg=gilden.klerus
~#! tid=904435097
Auch wenn ich alles Andere ebenfalls nicht bin, CHRISTLICH auf keinen Fall
!!!!

Lug, Du bist ein Nonnenfotzenlecker !! ;-)

M*

-----------------------------------------------------------------------------



Aenderungen (Morgoth, 31. Aug 1998, 00:05:26):
1. Der Inquisitor braucht anscheinend eine Brille. Er sieht nicht mehr so gut.
2. Arkshat formatiert jetzt auch Festplatten auf Tanis' Rechner ;-)

M*

-----------------------------------------------------------------------------



Re: Re: Aenderungen (Teddy, 31. Aug 1998, 02:07:17):
~#! rn=Morgoth rt=904435243 rg=gilden.klerus
~#! tid=904435097
Kannst du vielleicht das ganze auch auf laeutern erweitern? 

Teddy, boesartig

-----------------------------------------------------------------------------



Re^3: Aenderungen (Gorog, 31. Aug 1998, 09:21:27):
~#! rn=Teddy rt=904522037 rg=gilden.klerus
~#! tid=904435097
Du versteckst Dich doch eh immer in deiner Zentrale wenn man Dich mal heilig
machen will.

Gorog der Teddy gern mal erwischen wuerde.

-----------------------------------------------------------------------------



Re^4: Aenderungen (Teddy, 31. Aug 1998, 22:23:29):
~#! rn=Gorog rt=904548087 rg=gilden.klerus
~#! tid=904435097
Ich wuerde mich nie verstecken, ich schmiede nur Plaene fuer den naechsten
Ueberfall auf das Gute und heilige im MG.

Teddy

-----------------------------------------------------------------------------



Re^5: Aenderungen (Gorog, 31. Aug 1998, 23:34:18):
~#! rn=Teddy rt=904595009 rg=gilden.klerus
~#! tid=904435097
Gorog denk an einen flauschigen Teddy, der das MG terrorisiert.

Naja, ich geh dann mal in Deckung und such den Weichspueler.

-----------------------------------------------------------------------------



Re: Aenderungen (Wargon,  1. Sep 1998, 11:45:09):
~#! rn=Morgoth rt=904435097 rg=gilden.klerus
~#! tid=904435097
Hmmm...
Was haben eigentlich Ausdruecke wie "SpellDefend()" in Spielerrubriken zu
suchen?
Sollten die nicht den Magierrubriken vorbehalten bleiben?
  Wargon

-----------------------------------------------------------------------------



Re: Re: Aenderungen (Morgoth,  1. Sep 1998, 11:47:24):
~#! rn=Wargon rt=904643109 rg=gilden.klerus
~#! tid=904435097
Aeh, diese Funktion ist in der Mudlib und somit jedem zugaengig. Ausserdem
wurde auf der Party/Seminar offen darueber gestr^h^h^h^h^hdiskutiert. 
Man kann es mit dem 'das darf so nicht sein' auch etwas uebertreiben.

M*

-----------------------------------------------------------------------------



Re^3: Aenderungen (Wargon,  1. Sep 1998, 11:54:04):
~#! rn=Morgoth rt=904643244 rg=gilden.klerus
~#! tid=904435097
Trotzdem koennte man sowas in Worte kleiden, die eher dem Spiel entspringen,
und wenns nur "Heilsprueche werden nicht mehr abgewehrt." ist.
Oder soll jeder erst mal durch die MudLib greppen, um zu sehen, wovon hier
ueberhaupt die Rede ist? Ich glaube nicht, dass ALLE MG-Spieler anderswo
Magier sind und das auf Anhieb verstehen...
  Wargon

-----------------------------------------------------------------------------



Re^4: Aenderungen (Key,  1. Sep 1998, 12:33:38):
~#! rn=Wargon rt=904643644 rg=gilden.klerus
~#! tid=904435097
Hmm ich stimme Wargon da mal zu ...
Wenn wer mehr kennt als ein normaler Spieler dann soll er halt, aber man muss
normale Spieler damit nicht unbedingt bombadieren ...
Evtl gibbet ja auch Spieler die nicht wissen wollen was hinterm Vorhang ist :)

Key

-----------------------------------------------------------------------------



Re^4: Aenderungen (Lug,  2. Sep 1998, 03:02:28):
~#! rn=Morgoth rt=904494663 rg=gilden.klerus
~#! tid=904435097

Hihi Morgoth,

hjam hjam lecker, mach ich doch gern, wenn die Nonnen schoen jung und knackig
sind ;)

Schleck
Lug

-----------------------------------------------------------------------------



Re^5: Aenderungen (Nonne,  2. Sep 1998, 13:01:36):
~#! rn=Lug rt=904698148 rg=gilden.klerus
~#! tid=904435097
Klar bin ich jung und knackig, aber ich lass doch nicht jeden ran! Nur
ausgewaehlte gaaaanz suesse ,)

Nonne.

-----------------------------------------------------------------------------



Re^6: Aenderungen (Aline,  2. Sep 1998, 14:29:53):
~#! rn=Nonne rt=904734096 rg=gilden.klerus
~#! tid=904435097

Suess wie Morgoth, oder eher su"/3 wie Anatol?

Aline ;)

-----------------------------------------------------------------------------



Re^7: Aenderungen (Nonne,  3. Sep 1998, 10:06:29):
~#! rn=Aline rt=904739393 rg=gilden.klerus
~#! tid=904435097
Definitiv suesse wie Morgoth, allerdings gibts so einen suessen nur einmal :(
Schade.

Nonne.

-----------------------------------------------------------------------------



Re^7: Aenderungen (Koomi,  5. Sep 1998, 05:16:26):
~#! rn=Lug rt=904965328 rg=gilden.klerus
~#! tid=904435097
Lug ist gerade etwas angeheitert, nehmt ihn nicht allzu ernst.

 koomi

-----------------------------------------------------------------------------



Re^8: Aenderungen (Reinelde,  5. Sep 1998, 05:17:00):
~#! rn=Koomi rt=904965386 rg=gilden.klerus
~#! tid=904435097
hat jemals irgendjemand lug ernst genommen?

-----------------------------------------------------------------------------



Re^9: Aenderungen (Lug,  5. Sep 1998, 05:17:37):
~#! rn=Reinelde rt=904965420 rg=gilden.klerus
~#! tid=904435097
He!

Das mit  meiner Zunge in diversen Pussies ist ernst ;)

Leckermaeulchen
Lug

-----------------------------------------------------------------------------



Re^9: Aenderungen (Wur,  5. Sep 1998, 23:52:00):
~#! rn=Reinelde rt=904965420 rg=gilden.klerus
~#! tid=904435097
Zuweilen trieb es mich ihn ernst zu nehmen. Noch Fragen?

Wur

-----------------------------------------------------------------------------



Re^10: Aenderungen (Wurzel,  6. Sep 1998, 12:39:24):
~#! rn=Wur rt=905032320 rg=gilden.klerus
~#! tid=904435097
wer lug ernst nimmt, darf das gerne tun. sollte sich aber spaeter nicht
beklagen :) selbst dran schuld.

wurzel

-----------------------------------------------------------------------------



Re^11: Aenderungen (Lug,  8. Sep 1998, 23:27:06):
~#! rn=Wurzel rt=905078364 rg=gilden.klerus
~#! tid=904435097


rknuddel wurzel

;)
Lug

-----------------------------------------------------------------------------



Ehering (Morgoth,  9. Sep 1998, 23:22:52):
Ein neues Feature fuer den Ehering: Extralook ;-)
Ach ja, erst nach ende/reboot.

Morgoth

-----------------------------------------------------------------------------



Re: Ehering (Wargon, 10. Sep 1998, 11:02:31):
~#! rn=Morgoth rt=905376172 rg=gilden.klerus
~#! tid=905376172
Hmmm... woher will der Ring wissen, dass ich _gluecklich_ verheiratet bin? 
Oh, aeh, Schatz, aeh, leg doch bitte das Nudelholz weg! :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: Ehering (Aline, 10. Sep 1998, 11:57:41):
~#! rn=Wargon rt=905418151 rg=gilden.klerus
~#! tid=905376172

Du bist es!!

Aline

-----------------------------------------------------------------------------



Re^3: Ehering (Wargon, 11. Sep 1998, 12:09:57):
~#! rn=Aline rt=905421461 rg=gilden.klerus
~#! tid=905376172
Na wenn Du das sagst muss es ja wohl stimmen, Schatz :)
  Wargon

-----------------------------------------------------------------------------



Gesinnung (Nonne, 22. Sep 1998, 11:14:43):
Ich wuerder gerne etwas zu den Gesinnungsaenderungen sagen. Bisher hat man mit
dem Kill eines boeses/satanischen NPCs soviel alignment gewonnen, wie das
plaetten des NPC gekostet hat, bzw etwas mehr, so dass man immer schoen heilig
war, wie sich das fuer einen Kleriker gehoert. Da sich das alignment durch das
toeten von NPC kaum aendert, steht man des oefteren als kleriker dumm da.
Neulich in den Katakombem war ich ploetzlich nett! Das ist mir nie passiert.
Vielleicht sollte man die alignment-kosten der Sprueche ein wenig anpassen,
bzw. die Sprueche der NPC, die das alignment aendern. Dann wuerden wenigstens
die Relationen wieder stimmen. Ich metzel gerade naemlich ueber ne Stunde nur
boese und satanische und bin immernoch gut. Das kanns ja nicht sein :(

Nonne.

-----------------------------------------------------------------------------



Re: Gesinnung (Gloinson, 22. Sep 1998, 13:02:37):
~#! rn=Nonne rt=906455683 rg=gilden.klerus
~#! tid=906455683
Tja, da hast Du wohl vorher zu sehr Gottes Geschoepfe niedergemacht :)
Um es anders zu sagen: Ich finde das schon in Ordnung so, gerade bei
unseren geringen Anrufungskosten.

Gloin

-----------------------------------------------------------------------------



Re: Re: Gesinnung (Boing, 22. Sep 1998, 13:07:23):
~#! rn=Gloinson rt=906462157 rg=gilden.klerus
~#! tid=906455683
Ich glaube eher, dass Nonne die Spells von SATAN oder seinen Daemonen
meint, die die Gesinnung deutlich runtersetzen.
  Boing

-----------------------------------------------------------------------------



Re^3: Gesinnung (Ringor, 22. Sep 1998, 13:10:06):
~#! rn=Boing rt=906462443 rg=gilden.klerus
~#! tid=906455683
Immer wieder schoen, wenn andere ueber die Bedeutung der Worte des
Artikelschreibers philosophieren ... 

Ich hab Nonne so verstanden, dass seine Gildensprueche die Gesinnung staerker
erniedrigen, als er durch das Toeten von boesen Monstern wieder reinbekommt.

Er macht damit also allein durch Anwenden seiner Anrufungen ein
Verlustgeschaeft.

Nur eine weitere Interpretation,
Ringor

-----------------------------------------------------------------------------



Re^4: Gesinnung (Morgoth, 22. Sep 1998, 13:11:27):
~#! rn=Ringor rt=906462606 rg=gilden.klerus
~#! tid=906455683
Locker bleiben, es ist alles im Lot.
Wenn ich mal wieder ein paar Minuten Zeit finde, werde ich sowohl meine
Daemonen als auch das Spellbook etwas anpassen....bis dahin muesst ihr eben
damit leben, sorry.

Morgoth, gestresst (2).

-----------------------------------------------------------------------------



Re^5: Gesinnung (Nonne, 22. Sep 1998, 13:33:00):
~#! rn=Morgoth rt=906462687 rg=gilden.klerus
~#! tid=906455683
Mehr wollte ich doch garnicht lesen, Suesser ,)

Nonne.

-----------------------------------------------------------------------------



Donner (Morgoth, 28. Sep 1998, 13:53:21):
Der Bug sollte jetzt behoben sein...

M*

-----------------------------------------------------------------------------



Neue Erleuchteten-Aufgabe (Nonne, 14. Okt 1998, 11:44:47):
Hallo Klerikers,
auf dem Stammtisch in Muenster kam die Diskussion ueber neue
Erleuchteten-Aufgaben auf, da ein '-h hat mal einer den Talisman/die Feder'
nicht fuer sinnvoll erachtet wurden. Nun haben wir ein kleinen Brain Storming
veranstaltet, was man sonst fuer Aufgaben einfuehren koennte. Ich bitte die
Aufgaben vom Aufwand mit dem Auge zu vergleichen, was ja immer noch Aufgabe
ist, und nicht mit den Raeubern, da die sowieso nicht selber geloest wurden:
- Die Robe des Oberpriesters der Drakonier;
- Einen Pilz aus Toeters Kloster;
- Den Helm des Blauen Drachen;
- Den Saphir aus dem Lupinental;
- Das magische Xanti-Schwert;
- Die eckige Muenze aus der Daemonenburg;

Es soll nicht moeglich sein, sich die Gegenstaende geben zu lassen, man muss
sie sich schon selber holen, wenn auch mit ein wenig Hilfe. Was halten meine
Kleriker-Brueder und Schwestern davon. Sind die Aufgaben zu leicht/schwer?
Wenn die Gegenstaende klar sind, kann man immer noch eine Geschicht darum
schreiben. Also nicht ueber den Sinn der Aufgaben diskutieren, sondern ueber
die Schwierigkeiten :)
`tschuligung, dass es lang geworden ist. Weitere Vorschlaege sind natuerlich
auch willkommen, aber dann am besten per Mail an Gorog oder mich, sonst artet
die Diskussion aus.
Nonne.

-----------------------------------------------------------------------------



Re: Neue Erleuchteten-Aufgabe (Nonne, 14. Okt 1998, 11:50:51):
~#! rn=Nonne rt=908358287 rg=gilden.klerus
~#! tid=908358287
ich vergass noch:
- die schwarze Robe aus den Katas;
- die Klauen von Cthulhu (oder wie der sich schreibt) ,)

Nonne.

-----------------------------------------------------------------------------



Re: Re: Neue Erleuchteten-Aufgabe (Novastorm, 14. Okt 1998, 12:13:19):
~#! rn=Nonne rt=908358651 rg=gilden.klerus
~#! tid=908358287
*lach* Darf ich fragen wer an diesem 'Brainstorming' teilgenommen hatt ?
Du willst - als Kleriker ! - doch nicht ernsthaft diese 'tollen' Sachen
die da erwaehnt wurden mit der Feder von Luh oder dem Talisman aus dem 
Raeuberlager gleichsetzen ?
Irgendwie hab ich das Gefuehl, das da etwas falsch verstanden wurde, 
schliesslich sind die Erleuchtetenplaetze nicht umsonst begrenzt.
Sorry das es keine Mail geworden ist, aba hmm... musste sein fand ich.

   Nova, achselzuckend


-----------------------------------------------------------------------------



Re: Neue Erleuchteten-Aufgabe (Ringor, 14. Okt 1998, 12:18:37):
~#! rn=Nonne rt=908358287 rg=gilden.klerus
~#! tid=908358287
Ist es beabsichtigt, dass unter den Aufgaben auch welche sind, fuer die man
nicht einen einzigen Schlag gegen einen Gegner fuehren muss?

Interessantere Aufgaben finde ich ja okay (zumal das Umbringen eines heiligen
Gegners als Kleriker eh nicht sonderlich sinnvoll als Anforderung ist) - aber
Aufgaben, die durch ein Wegeskript in Sekundenbruchteilen loesbar sind, taugen
wohl noch weniger als limitierende Massnahme bei nur begrenzt vorhandenen
Gildenstufen.

Nur meine Meinung,
Ringor.

-----------------------------------------------------------------------------



Re^3: Neue Erleuchteten-Aufgabe (Gorog, 14. Okt 1998, 12:21:00):
~#! rn=Novastorm rt=908359999 rg=gilden.klerus
~#! tid=908358287
Naja es geht ja auch nciht um das gleichsetzen mit den beiden Aufgaben, die du
erwaehntest sondern um die Gleichsetzung mit der dritten Aufgabe (Auge aus der
Goblinhoehle). Da man ja eindeutig da n Unterschied hat zwischen den drei
Aufgaben. Denn fuer nen Kleriker alleine is das Raueberlager und auch Water
relativ unmachbar. Die neuen Aufgaben aollten dafuer sein, dass man alleine an
die Gegenstaende rankommt.
Nun schwer sind sie wirklich nicht, aber wenn man nicht weiss wies geht is es
umsoschwerer, aehnlich wie beim Auge.

Gorog 

-----------------------------------------------------------------------------



Re: Neue Erleuchteten-Aufgabe (Burn, 14. Okt 1998, 12:42:07):
~#! rn=Nonne rt=908358287 rg=gilden.klerus
~#! tid=908358287
Ich geb Novastorm und Ringor recht, meiner Meinung nach sind die Aufgaben fuer
einen Kleriker, der erleuchtet sein moechte, viel zu leicht, ein wenig Muehe
sollte schon dabei sein, man kann sich ja ein wenig helfen lassen, man zieht
ja normalerweise nicht alleine los und haut die Seherraeuber, sondern fragt
nen paar Freunde um Hilfe, dann gehen die Aufgaben schon.;]Die Aufgaben
jedenfalls, die Nonne aufzaehlt, muessten nen Durchschnittskuraten nicht mehr
als 2 Minuten kosten, dann koennte man die Aufgaben auch ganz weglassen, bevor
man sie zur Farce werden laesst.
Dann wuerden mir eher Erleuchtetenaufgaben gefallen, die davon weggehen,
stumpf irgendwelche Monster zu plaetten, die Leiche zu pluendern und zum
Tempel zu rennen.
Was genaues hab ich zwar noch nicht, aber mir schwebt da zum Beispiel eine
Aufgabe vor, in der man eine Stunde lang einem Anfaenger als "Fremdenfuehrer"
und Hilfe zur Verfuegung stehen muss, und aehnliche Aufgaben vor.
Ist doch stimmungsvoller fuer den Klerus sowas als auf Monstern rumzuhauen,
oder?

Neb

-----------------------------------------------------------------------------



Re: Re: Neue Erleuchteten-Aufgabe (Key, 14. Okt 1998, 12:56:58):
~#! rn=Burn rt=908361727 rg=gilden.klerus
~#! tid=908358287
Ich plaediere fuer nur eine Aufgabe ...
Satan killen ... 
Sollten reichen um nutzlose Wursties und Zweities aus den Raengen
rauszuhalten, Ergo 2 Fliegen mit einem Schlag ;)

Key

-----------------------------------------------------------------------------



Re^3: Neue Erleuchteten-Aufgabe (Nonne, 14. Okt 1998, 13:28:17):
~#! rn=Key rt=908362618 rg=gilden.klerus
~#! tid=908358287
Mal eingiges zur erlaeuterung: Bisher geht es darum neue Ideen zu sammeln.
Wenn es zu leicht ist, kann man das alles problemlos erschweren. Es geht
darum, dass Kleriker sich die Aufgaben nicht von anderen erledigen lassen,
sondern selber, mit seinem Kleriker was dafuer tut. Das war bisher nicht der
Fall. Warum hat sich keiner ueber das auge in der Goblinhoehle aufgeregt? Die
angesprochenen Augaben sind in etwa genauso schwer. Primaer wollen wir Ideen
haben und keine Flames, die koennt ihr euch sparen, sind die Tipparbeit nicht
wert.

Nonne.

-----------------------------------------------------------------------------



Re^4: Neue Erleuchteten-Aufgabe (Key, 14. Okt 1998, 13:30:09):
~#! rn=Nonne rt=908364497 rg=gilden.klerus
~#! tid=908358287
Hmm oki ...

Wie waere es wenn die Kleriker ne Runde betteln gehen muessen? .)
Auf den Knien durchs MG streichen und Chaoten um Rat fragen muessen? :)

Also ich faende das oki, ist ja eh die Aufgabe eines Kleruses, oder? :)

Key muellt schmarrnt oder wie auch immer :)

-----------------------------------------------------------------------------



Re^5: Neue Erleuchteten-Aufgabe (Nonne, 14. Okt 1998, 13:32:33):
~#! rn=Key rt=908364609 rg=gilden.klerus
~#! tid=908358287
das muessen kleriker, wenn sie von Bettelmoench aufsteigen wollten, das gibts
schon, key ,)

-----------------------------------------------------------------------------



Re^6: Neue Erleuchteten-Aufgabe (Key, 14. Okt 1998, 13:34:19):
~#! rn=Nonne rt=908364753 rg=gilden.klerus
~#! tid=908358287
Weiss ich, und das gefaellt mir :)

Nur isses bei euch so das ihr das ziemlich schnell vergesst ...
Also zur Auffrischung taete es euch doch gut, meinste nicht auch? :)

Key hat Nonne nicht erlaubt zu sprechen, und sieht das als Beweis an fuer
dieses unflaetigen Verhalten das zurueckzufuehren ist auf vergessene Sitten .)

-----------------------------------------------------------------------------



Re: Re: Neue Erleuchteten-Aufgabe (Sharia, 14. Okt 1998, 14:18:05):
~#! rn=Burn rt=908361727 rg=gilden.klerus
~#! tid=908358287
das kommt mir bekannt vor *grins Neb* :-)
Sharia

-----------------------------------------------------------------------------



Re^3: Neue Erleuchteten-Aufgabe (Sharia, 14. Okt 1998, 14:23:37):
~#! rn=Sharia rt=908367485 rg=gilden.klerus
~#! tid=908358287
Soo nu aber mal was mehr Senf Nonne/Gorog ich maile nich weil ich denke, dass
das ne recht interessante Diskussion werden koennte..:-)

Ich denke die Aufgaben die ihr euch ausgedacht habt sind teilweise wie Ringor
schon sagte wirklich ZU leicht ... die schwarze Robe z.b. finde ich allerdings
ne recht gute Idee, da die nicht ganz so trivial als Kleriker ist (doofer
Blitz :-) )
Ich hab mir auch schon oefters mal Gedanken darueber gemacht, was man vorallem
fuer Water Luh fuer nen Ersatz schaffen koennte. Tja und da muss ich auch Key
recht geben: SATAN ist eigentlich ein wuerdiger Gegner ... naja mittlerweile
etwas ZU krass... aber so etwas in der Art faende ich sinnvoll (Kruuolq toeten
oder so ? :-) ) 
Am schoensten allerdings faende ich eine art kleine Gildenquest, hatte ich
auch mal angefangen, konnte ich allerdings erstens aufgrund akutem
Programmierkoennenmangel und zweitens aufgrund dann kurz drauf folgendem
akutem Magierhabenmangel nicht durchfuehren ... waere doch mal klasse....
etwas ganz speziell fuer Kleriker ... wo man ganz gezielt seine spells
anwenden muss ... und zwa wirklich so gut wie alle und auch so spells wie
leuchten, Giftschwaechung, begrabe etc .... 

Sharia

-----------------------------------------------------------------------------



Re^3: Neue Erleuchteten-Aufgabe (Burn, 14. Okt 1998, 14:36:35):
~#! rn=Sharia rt=908367485 rg=gilden.klerus
~#! tid=908358287
Jo, Sharia, hast mich gut rumgefuehrt damals und mir geholfen, deswegen
darfste ja auch noch ab und an Hohepriester sein jetzt ;)

Neb grinst zu Sharia zurueck.

-----------------------------------------------------------------------------



Re^4: Neue Erleuchteten-Aufgabe (Sharia, 14. Okt 1998, 14:45:58):
~#! rn=Burn rt=908368595 rg=gilden.klerus
~#! tid=908358287
HOCHNAESIGER HALBGOTT HOCHNAESIGER !!!! 
Sharia, ist ja nur erleuchtet :-)

-----------------------------------------------------------------------------



aufgaben (Gorog, 16. Okt 1998, 11:46:33):
Wie waers denn wenn man die Water-Aufgabe mit dem Silberdrachen verbindet,
also n Drachen befreien und dafuer die Feder bekommen. allzu leicht is das da
unten in der Festung auch nicht besonders wegen des DIEs. 
Allerdings gilt auch hier mit den richtigen Mitstreitern solte es kein Problem
sein. Allerdings waere so das heilige Gegner killen abgeschaft und man haut
neben bei noch ein paar boese Buben um (;

Gorog nach gefaehrlicher Zitterpartie gestern Abend noch gluecklich
erleuchtet.

-----------------------------------------------------------------------------



gilden.klerus erleuchtete (Telya, 16. Okt 1998, 17:04:04):
Leute,
eine Gilden-Quest waere schoen. Ansonsten wuerde ich mich auf eine
Rueckbesinnung der Kleriker auf ihre Wurzeln besinnen. Ein Kleriker sollte
aufsteigen wenn er entweder seinem Glauben vorwaertsbringt (Quest: Bekehre die
Orks oder Spieler durch helfen bekehrt. Monstermetzeln kann in einem Questmud
(orginalton Erzmagier und Goetter) doch nicht alles sein. Schliesslich waren
die Kleriker mal lieb und nett und eine Anfaengergilde. Inzwischen ist sie
mehr und mehr zur High-End Trainingsgilde fuer RL-Abwesende suechtels
geworden. Also Atmosphaere rein, Monstermetzeln raus oder einen
Kreuzritterzweig fuer Spieler mit mehr als 20 Mio EPs.
Lahm

-----------------------------------------------------------------------------



Re: gilden.klerus erleuchtete (Bottom, 16. Okt 1998, 18:26:27):
~#! rn=Telya rt=908550244 rg=gilden.klerus
~#! tid=908550244

Liebe Schwestern, liebe Brueder!

Die ganze Diskussion laesst den wahren Geist Lembolds doch sehr vermissen.
Unbestreitbar ist es eine Notwendigkeit, zur Erleuchtung durch gelebten
Glauben beizutragen - nichts faellt vom Himmel, Erleuchtung schon gar nicht,
sie will hart erarbeitet sein! Aber, liebe Schwestern und Brueder, es kann
doch nicht lemboldgewollter Sinn und Zweck unseres Ordens sein, irgendwelche
widerwaertigen Monstren zu schlagen. Wahre Erleuchtung erlangt man durch
Glaube, Liebe, Hoffnung. Lebt nach diesem Grundsatz und Ihr seit den
Gottheiten nahe. In ihrem Abglanz wird Euch Erleuchtung zuteil werden. Kehren
wir zurueck zu den Urspruengen unseres Ordens und dem Leben, das der heilige
Tabol uns einst vorgelebt hat, so werden auch wir eins mit den Goettern, so
wie er aufgefahren ist in das Reich Lembolds, Kandris und Saphinas.

Bottom - Diener Lembolds, des Herrn.


-----------------------------------------------------------------------------



Re: Re: gilden.klerus erleuchtete (Morgoth, 16. Okt 1998, 22:21:35):
~#! rn=Bottom rt=908555187 rg=gilden.klerus
~#! tid=908550244
Ok, mail mir ein Konzept, wie Du DAS programmieren wuerdest und ich baue es
ein. 
Ich wuerde sagen, wir sehen uns dann Programmtechnisch im 24-Jahrhundert
wieder ;-)

M*

-----------------------------------------------------------------------------



Re^3: gilden.klerus erleuchtete (Bottom, 19. Okt 1998, 18:48:31):
~#! rn=Morgoth rt=908569295 rg=gilden.klerus
~#! tid=908550244

Ausser Beten und Arbeiten kenn ich nix, wobei ich das beten dem Arbeiten noch
vorziehe. Du wirst einsehen, oh Morgoth, dass ich nicht der Richtige bin,
dieses Konzept zu erabeiten, zumal es den rahmen unserer Mudlib etwas sprengt,
ist doch die Transzendenz dort eindeutig zu kurz gekommen. Aber gerne werde
ich fuer Dich beten, vielleicht sendet Dir Lembold eine Eingebung. ;-)

Bottom - die wahre Kraft liegt im Gebet!


-----------------------------------------------------------------------------



Re^4: gilden.klerus erleuchtete (Nonne, 20. Okt 1998, 09:34:28):
~#! rn=Bottom rt=908815711 rg=gilden.klerus
~#! tid=908550244
Guten morgen, Brueder und Schwestern,
vielleicht sieht Bruder Bottom die Gilde und ihren auftrag etwas zu einseitig,
und waere mit dem Dienen der Saphina gluecklicher geworden. Saphina steht fuer
die Heigaben und damit sicher auch fuer das Seelenheil. Kandri steht fuer
Durchsetzungskraft, also dem Verbreiten des Glaubens oder das Hirnzermanschen
Andersglaeubiger. Lembold steht fuer die Bestaendigkeit, also das Bewahren des
Glaubens und seiner Anhaenger, und deren verteidigung, was ebenfalls mit
Hirnzermanschen einhergeht. Eine einzige komplexe Aufgabe zu stellen halte ich
fuer wenig sinnvoll, da man beim zweitenmal nurnoch durchrennt. Viele solche
Aufgaben kann man unserem Gildenhaeuptling zeittechnische nicht zumuten. Da
bleiben also nurnoch kleine Aufgaben, die leider meistens auch was mit toeten
Andersdenkender zu tun hat. Die Saphinas koennen ja in para-vland, voll
ausgeruestet, auf dem Marktplatz beten. ,)
Denkt bitte auch mal an die Umsetztbarkeit eurer Vorschlaege und an den
programmiertechnischen Aufwand. Moege Lembold euch erleuchten!

Nonne.

-----------------------------------------------------------------------------



Re^4: Neue Erleuchteten-Aufgabe (Caramon, 24. Okt 1998, 01:11:25):
~#! rn=Gorog rt=908360460 rg=gilden.klerus
~#! tid=908358287
Hmm, is zwar schon ne weile her, das das hier gepostet worde ... aber wo ist
bitte schoen das Raeuberlager fuer einen Kleriker alleine unmoeglich? Es
dauert zwar ein kleines weilchen, aber in nichteinmal einer Stunde ist das
Lager leer ... alleine wohl gemerkt (es sei den, Rochus hat da in den letzten
3 monaten was geaendert)

Tanis ... der nich so richtig versteht, wo da das problem liegt.

-----------------------------------------------------------------------------



Vorschlag fuer einen Spell (Morgoth, 27. Okt 1998, 12:52:40):
Es wurde mal diskutiert, ob es einen Spell geben soll, mit dem man die Waffe
schwerer(wie auch immer realisiert) machen kann. Es gab nur nie einen Namen.
Wie waere es mit 'phallusmaximus' ... natuerlich nur fuer KlerikER.

Morgoth

-----------------------------------------------------------------------------



weihe (Morgoth, 29. Okt 1998, 11:58:56):
Hi Klerikers und so,
wenn einige von Euch Probleme mit 'weihe' haben, sollten sie es nochmal ohne
Paracelsus Klauen versuchen, dann sollte es klappen. Wir arbeiten(diskutieren)
an einer Loesung, die beides zulaesst.

Morgoth, Chef von Ganzen

-----------------------------------------------------------------------------



Re: Vorschlag fuer einen Spell (Gorog, 29. Okt 1998, 21:11:38):
~#! rn=Morgoth rt=909492760 rg=gilden.klerus
~#! tid=909492760
Hmmm, is das ernst gemeint???
Ein Skill zum Waffebeschweren?
Naja wenn Du meinst. Wie waers mit verbleien, aufpumpen, oder einfach
erschweren?

Aber momentan bin ich mit meinen Waffen ganz zufrieden, jedenfalls meistens.

Gorog pumpt ein Kilo Blei in seinen Hammer, oder warns drei Kilo?

-----------------------------------------------------------------------------



Klerikerzweities (Anacrion, 30. Okt 1998, 17:42:04):
Hmmpf.

Ich will hier keine Dauerdiskussion anregen, aber entgegen allem, was ich mir
vorgenommen habe, werde ich wohl doch nen Kleriker ziehen, da sowas nicht nur
bequem, sondern tw. auch lebensnotwendig geworden ist.

Ich finde (oder besser: fand), dass das Spiel am besten ist, wenn man eben
nicht mit Heerscharen von xties den gegner metzelt, sondern mit Freunden.
Wenn man allerdings nach 5 min wildem rumgeschreie verratzt, weil jeder
sonstwo beschaeftigt ist, dann fordert das doch geradezu, dass man nen
Sterbe-Verhinder-Xtie hat.

Gegen 2ties und fuer mehr _Multi_ im MUD

Anac*

-----------------------------------------------------------------------------



Re: Klerikerzweities (Bottom, 30. Okt 1998, 17:57:47):
~#! rn=Anacrion rt=909769324 rg=gilden.klerus
~#! tid=909769324

Hier gibt's keine Zweities!
Nur Schwestern und Brueder im Geiste Lembolds, Kandris und Saphinas.


-----------------------------------------------------------------------------



Re: Klerikerzweities (Anatol, 30. Okt 1998, 18:17:38):
~#! rn=Anacrion rt=909769324 rg=gilden.klerus
~#! tid=909769324
Du willst Dein Versagen den Klerikern zum Vorwurf machen? Geht das nicht
ein bisschen zu weit, Anacrion? Wer dort runter geht, ohne zu wissen, dass
es ihm an die Gesundheit gehen kann und sich dann zu beschweren traut, der
sollte der Fairness halber alle Rubriken, die mit "seher." beginnen und 
die er lesen kann, abbestellen. Wer runter geht und weiss, dass es Aerger
geben wird aber dennoch keine Vorsichtsmassnahmen trifft, hat ihmo einfach
nicht das Recht, sich ueber beschaeftigte Mitspieler zu beschweren.

Kurz gefasst: Heul' doch.

Anatol


-----------------------------------------------------------------------------



Re: Re: Klerikerzweities (Anacrion, 30. Okt 1998, 19:07:51):
~#! rn=Anatol rt=909771458 rg=gilden.klerus
~#! tid=909769324
Darum geht es doch gar nicht (zumindest nur ein bisschen *schnief*).

Jeder Kleriker soll doch spielen wie und wann er will (und ich wuerde das auch
tun) .....
Faktum ist, dass man mit dem Klerikerzweitie viel weniger auf das
Spielgeschehen um einen herum angewiesen ist.

Anac* - nicht wirklich heulend ;)

-----------------------------------------------------------------------------



Re^3: Klerikerzweities (Anatol, 30. Okt 1998, 20:58:15):
~#! rn=Anacrion rt=909774471 rg=gilden.klerus
~#! tid=909769324
Und was denkt ein Kaempfer, der sich an Gegner heranmachen will, die
mehr als nur "ein bisschen" magischen Schaden verursachen?

Was, glaubst Du, macht ein Kleriker, der gegen heilige Gegner antreten muss?

Wie sieht das ein Abenteurer-Gildler?

Glaubst Du, dass Du als Zauberer die Allmaechtig-Vielseitigkeit gekauft
hast? Och komm, ueberlasse wenigstens ein *bisschen* den Chaoten :o)

Heul weiter :)
Anatol


-----------------------------------------------------------------------------



Re^3: Klerikerzweities (Ringor, 31. Okt 1998, 04:14:25):
~#! rn=Anacrion rt=909774471 rg=gilden.klerus
~#! tid=909769324
Nur nebenbei: 

Die Existenz von Hospital, Heilern und Co. ist Dir bewusst, oder?

Eigentlich eine dumme Frage - schliesslich bist Du ja Seher.

Ringor. Ist bisher ganz gut ohne Kleriker-Xtie ausgekommen.

-----------------------------------------------------------------------------



Re: Klerikerzweities (Teddy, 31. Okt 1998, 04:55:50):
~#! rn=Anacrion rt=909769324 rg=gilden.klerus
~#! tid=909769324
Warst du das nicht, der da an einigen Stellen nen Sterbie vorgeschickt hat und
dann die LP-Abzuege bekanntgab?
Warum hast du ihn da nicht auch genommen, wenn du eh einen hast.

Teddy, ohne Sterbie (kommt vielleicht noch) ;)

-----------------------------------------------------------------------------



Re: Re: Klerikerzweities (Anacrion, 31. Okt 1998, 11:41:50):
~#! rn=Teddy rt=909809750 rg=gilden.klerus
~#! tid=909769324

*lach*
*grins*
*waelz*


Warum regen sich eigentlich alle auf .. war nur ein statement aus frust, dass
man, wenn man kein geld hat, um nen heiler zu zahlen, einfach bverratzt, da
alle was anderes machen. dagegen gibt es nur ein mittel : selber nen kleriker
haben. (oder nur dann was machen, wenn die eigenen klerikerfreunde da sind) -
was mich tw. etwas einschrayenken wuerde ... 
Wenn du keinen HLPSterbie hast, kriegste den nicht zum pharao .. udn, by the
way: das ich den sterbie verwendet habe (war eigentlich zum ersten mal, von
einzelnen kommandos abgesehen bei tilly und bierchen) liegt daran, dass ich
teilweise wusste, DASS massiv fallen da waren ...

so. ich denke, es ist alles gesagt. *flame off*

Anac* - lieb Euch alle (und tippt blind)

-----------------------------------------------------------------------------



Idee (Greystone,  4. Nov 1998, 19:55:46):
Hallo Brueder und Schwestern,

nach den letzten Diskussionen ueber neue Erleuchteten Aufgaben und so
moechte ich an dieser Stelle eine weitere Idee zur Diskussion stellen. Wie
waere es 
denn wenn die Kleriker ein Gebiet fuer sich bekommen in ihrer
Gilde. Das dan auch nur fuer Kleriker zugaenglich ist.
Jeder der Erleuchtet wird muss zusaetzlich zu den bisher bestehenden
Aufgaben einen weiteren Gildenraum (wie ein Seherhausraum) ermetzeln,
und natuerlich beschreiben. Ob dieser Raum dann Ok. waere koennte dann der
jeweilige Hohepriester entscheiden.

Hohepriester koennten als zusaetzliche Aufgabe eine kurze Dokumentation ueber
ein Thema 
abfassen, welches eine Gildenbuecherei langsam fuellen koennte.

So das wars ersteinmal.

Gruss Greystone

P.S. ahh ja bevor es wieder heisst "Mails Morgoth", ist bereits geschehen und
wir moechten mal hier
die weitere Resonanz und Ideen dazu hoeren.

-----------------------------------------------------------------------------



Re: Idee (Nonne,  5. Nov 1998, 11:30:50):
~#! rn=Greystone rt=910209346 rg=gilden.klerus
~#! tid=910209346
Coole Idee. Morgoth wird sich freuen, wenn andere Leute seine Gebiete
beschreiben, wo er doch so ein Detail-Fan ist...
Das Problem ist aber, dass nicht jeder Erleuchtete LPC kann. Wenn man Raeume
nur beschreibt, ohne Befehle, ohne dass man etwas machen kann, ist das sehr
schnell langweilig, und der Befehlsschatz fuer Seher-Haeuser ist ja nicht
gerade reichhaltig. Das mit der Doku ist ne sehr gute Idee, da die
Gildendokumentation nicht gerade auf dem neusten Stand ist. Vielleicht kann
man so ja auch einige Tips und Kniffe unter den Klerikern austauschen.
Auf jeden Fall mal was anderes, als Stumpf irgendwelche Monster zu plaetten.
Uber Details muesste man sich mal bei nem Bier(oder Cola fuer Gorog) Gedanken
machen.

Nonne.

-----------------------------------------------------------------------------



Re: Re: Idee (Mahatmu,  5. Nov 1998, 11:58:16):
~#! rn=Nonne rt=910265450 rg=gilden.klerus
~#! tid=910209346
Ich find nicht, dass es _sehr_ langweilig ist, wenn nur spannende Details
einen Raum bereichern. Da ich mir ueber das Mini-LPC der Seher-
haeuser nicht bewusst war (arks ... des Mini-LPCs nicht bewusst ...)
habe ich z.B. in Greystones Haus allein mit seinen Details vor langer
Zeit schon viel Spass gehabt ... weiss schon woher der Wind weht :)

Gloin ... Detailfanatikerin. 16 Raeume = 100k (Soll) :)

-----------------------------------------------------------------------------



Re: Re: Idee (Gorog,  5. Nov 1998, 21:54:24):
~#! rn=Nonne rt=910265450 rg=gilden.klerus
~#! tid=910209346
Genau, bei ner Cola kann man auch schoen nuechtern ueber alles reden. 

Gorog findet es ganz toll, das mit der Gildendoku. -> Alle Macht den Leuten,
die wissen wo die Gilde steht !!
*grins fiess*

-----------------------------------------------------------------------------



Re^3: Idee (Tanis,  6. Nov 1998, 20:32:40):
~#! rn=Gorog rt=910302864 rg=gilden.klerus
~#! tid=910209346
Hm,, das klingt alles so ganz oki, aber habt ihr dabei bedacht, das es nur
begrenzte Raenge gibt? ... Soll heissen, ich ermetzel ein haus, beschreibe es
mit allem drum und drann, werde erleuchtet ... und kurz danach kann ich von
vorne beginnen, weil es einfach ein anderer ebenfalls alles fertig hat und
somit auch anspruch auf erleuchtung hat .... (das gleiche gilt fuer die doku,
wobei DIE echt mal erneuert werden koennten)

Das ganze steigert sich dann ins unermessliche, wenn man nur an den
Wochenenden einen PC zur hand hat, um ueberhaupt zu mudden, geschweige denn
regelmaessig raeume zu beschreiben ...

So, ich hoffe ich hab das jetzt verstaendlich ausgedrueckt ... so ist die idee
voll oki, nur aufgrund der begrenzungen wohl nich durchsetztbar ... und die
begrennzungen sollten meiner meinung nach schon bestehen bleiben.

Tschaui
                             Tanis, Heiliger Raecher im Namen Saphinas

-----------------------------------------------------------------------------



Weihe-Bug (Morgoth, 13. Nov 1998, 11:10:04):
Hi Leutchen,

es scheint sich eine Loesung fuer das Weihe-Problem abzuzeichnen. Ich brauche
nur noch mal einen freiwilligen Kleriker, der sich als Testperson opfert. Es
koennte sein, da alles im laufenden System passieren muss, dass einige Sachen
schiefgehen(bei mir zu Hause tuts, aber das heisst hier nix). Also, ab Montag
morgen...Freiwillige(r) vor.

Morgoth

-----------------------------------------------------------------------------



Weihe-Bugfix (Morgoth, 16. Nov 1998, 22:44:39):
So Klerikers,
es sieht so aus, als waere der 'Bug', der in Verbindung mit den Klauen auftrat
behoben. Alles SOLLTE wieder wie zuvor klappen. 
Durch den Bugfix entstandene Bugs sind natuerlich ausgeschlossen und ansonsten
gewollt. ;-) Falls also so ein Feature auftritt, bitte mit voller
Beschreibung(LOG) an mich.

Chef, M*

-----------------------------------------------------------------------------



Neue Anrufung ? (Ethavar, 20. Nov 1998, 01:20:36):
 Ploetzlich weicht alles Leben aus Sharia.
So schnell koennen sich die Goetter nicht wieder um Dich kuemmern!    

Dabei wollte ich gar nicht, dass sie geht ...

Ethavar - an das gute in seiner hohepriesterin glaubend

-----------------------------------------------------------------------------



Weihe (Nonne,  3. Dez 1998, 11:16:37):
Hallo Klerikers,

ich faende es toll, wenn man die weihe beenden koennte. So, wie es jetzt
laeuft, muss man manchmal ewig warten, bis die weihe abgelaufen ist, damit man
die Waffe wechseln kann, bzw dies auch sinvoll ist. Was haltet Ihr davon? Wenn
das auf Zustimmung stoesst, trete ich unseren Gildenhaeuptling mal in den
Ar...

Tschau
Nonne.

-----------------------------------------------------------------------------



Re: Weihe (Azzuro,  3. Dez 1998, 12:00:13):
~#! rn=Nonne rt=912683797 rg=gilden.klerus
~#! tid=912683797
Dagegen!
Am besten schafft man alle Handicaps ab, dann hat man gar keine Probleme mehr.

Azzuro, mies drauf.

-----------------------------------------------------------------------------



Re: Re: Weihe (Sharia,  3. Dez 1998, 12:32:56):
~#! rn=Azzuro rt=912686413 rg=gilden.klerus
~#! tid=912683797
Sicherlich waere das ein nettes feature, jedoch denke ich, dass man es
eigentlich ganz gut timen kann .. ich bin im Prinzip dagegen, da es eine zu
starke aufwertung waere ...sorry :-)

Sharia

-----------------------------------------------------------------------------



Re^3: Weihe (Morgoth,  3. Dez 1998, 12:35:01):
~#! rn=Sharia rt=912688376 rg=gilden.klerus
~#! tid=912683797
Mir ist es im Prinzip egal. Lasst den Rat der Kleriker abstimmen und mailt es
ggf. Silvana/Rochus. Einbauen sollte nicht so schwer sein.

Morgoth, Chef auf Anfrage

-----------------------------------------------------------------------------



Re^4: Weihe (Gorog,  3. Dez 1998, 13:53:26):
~#! rn=Morgoth rt=912688501 rg=gilden.klerus
~#! tid=912683797
Im Prinzip is das ne nette Idee, allerdings wie Sharia schon sagte zu stark.
Man koennte dann ja auch noch besser lernen. *hmm eigentlich gut, habs noch
nciht auf 100* Wie waers mit ner umwandlung? Von einer Waffe auf die naechste
mit Verminderung der implementierten Gotteskraft?

Gorog, auch mal wieder was schreibend

-----------------------------------------------------------------------------



Re^5: Weihe (Anatol,  3. Dez 1998, 13:55:14):
~#! rn=Gorog rt=912693206 rg=gilden.klerus
~#! tid=912683797
Werdet Bierschuettler. Euer Jammerskill reicht dafuer locker aus.

Anatol :o)


-----------------------------------------------------------------------------



Kleines Gimmick (Morgoth,  3. Dez 1998, 21:31:15):
Nicht nur fuer Neb, sondern auch den Rest der Seherschaft des Klerus ;-))

Morgoth

-----------------------------------------------------------------------------



Weihnachtsgeschenk (Morgoth, 15. Dez 1998, 12:15:42):
2 neue Spells, von Rochus abgesegnet mit teuflischen Wuenschen.

Viel Spass damit ;-))

Morgoth, Chef auf Anfrage

-----------------------------------------------------------------------------



Re: Weihnachtsgeschenk (Anatol, 16. Dez 1998, 19:08:39):
~#! rn=Morgoth rt=913724142 rg=gilden.klerus
~#! tid=913724142
Was mich in diesem Kontext brennend interessiert - wieso segnet Rochus
ab und nicht Silvana? Ich bilde mir ein, dass diejenige, die das grosse
Nudelholz der Balance schwingt, eine leicht zu unterschaetzende Gletscher-
fee ist - und nicht Mr. Let-them-die-hard-Rochus, der fuer Sprueche, an
denen der Caster sterben kann, leicht zu gewinnen ist... :)

Anatol -- bedauert Kalliope


-----------------------------------------------------------------------------



Re: Re: Weihnachtsgeschenk (Rochus, 16. Dez 1998, 19:20:16):
~#! rn=Anatol rt=913835319 rg=gilden.klerus
~#! tid=913724142
1. Weil der Caster daran sterben kann.
2. Weil Silvana nichts dazu gesagt hat.
3. Weil die Auswirkungen fuer die Balance m.E. harmlos genug sind,
   dass ich das UNTER VORBEHALT genehmigen kann.
Kann natuerlich sein dass Silvana eine Abwertung verlangt :)

  Rochus

-----------------------------------------------------------------------------



Re^3: Weihnachtsgeschenk (Anatol, 16. Dez 1998, 19:23:59):
~#! rn=Rochus rt=913836016 rg=gilden.klerus
~#! tid=913724142
Zieh' Dir die naechsten Tage eine Ruestung mit Halskrause an, sonst
hast Du eventuell irgendwann mal eine wild zappelnd und nach ganzen
Kraeften wuergende Gletscherfee daran haengen... :o)

Anatol, duckt sich :)


-----------------------------------------------------------------------------



Re: Weihnachtsgeschenk (Morgoth, 16. Dez 1998, 19:50:18):
~#! rn=Morgoth rt=913724142 rg=gilden.klerus
~#! tid=913724142
Leid (erstmal) nur fuer Spieler im Raum, bis Silvana ihr OK gibt oder mich
erwuergt.

M*

-----------------------------------------------------------------------------



Re: Re: Weihnachtsgeschenk (Nonne, 17. Dez 1998, 09:24:27):
~#! rn=Morgoth rt=913837818 rg=gilden.klerus
~#! tid=913724142
erstmal nur im raum???? soll das heissen, dass man leid auch fuer leute im
ganzen mg sprechen kann?? wow, dann finde ich aber viele freunde in naechster
zukunft ;)

Aber mal ehrlich, ist doch etwas heftig dann. aber wenn ihr unbedingt wollt.
mir solls recht sein.

Nonne

-----------------------------------------------------------------------------



Weihnachtsgeschenk (Telya, 17. Dez 1998, 09:38:25):
Also, langsam wird der Kleriker als Heilstelle unheimlich, aber als
Charakter langweilig. Die Hohepriester der saphina koennen einen Charakter
jetzt
mit dreifacher LP und KP Anzahl ausstatten, ohne sich selbst zu gefaehrden.
Damit verkommt der Kleriker doch endgueltig zum perfekten Zweitie und 
Zuschauer. Der Leid-Spruch ist genial, aber fuer die Philosophie der meisten
Mudder nicht sinnvoll.
Telya

-----------------------------------------------------------------------------



Re: Weihnachtsgeschenk (Nonne, 17. Dez 1998, 09:42:46):
~#! rn=Telya rt=913887505 rg=gilden.klerus
~#! tid=913887505
Och, das kann man so nicht sagen. Du steckst in der Klemme, da helfe ich Dir
fuern paar nette tools/waffen/ruestung. Also mir solls wirklich recht sein.
Ich stelle mich in die tanke, heile Gott und die Welt und bekomme demuetig
meine ausruestung vorbeigebracht. Bis zum naechsten Reboot habe ich dann
wieder genug Geld fuer eine weitere Aktion. Dann kann ich mich ganz auf das
umlegen schwierigster NPC beschraenken und das endlose Grund-Ausruestung
metzeln hat ein Ende. ;))

Nonne.

-----------------------------------------------------------------------------



Re^3: Weihnachtsgeschenk (Silvana, 18. Dez 1998, 04:03:14):
~#! rn=Rochus rt=913836016 rg=gilden.klerus
~#! tid=913724142
Um es kurz und deutlich zu sagen: Ich bin nicht mal gefragt worden.
Ich habe heute zufaellig davon erfahren, und ihr koennt Euch sicher sein,
dass ich 'leid' nicht genehmigt haette - und auch nicht werde.
Ich werde mich um die beiden Sprueche (welcher ist der andere?) kuemmern,
sobald ich die Zeit dazu habe. Bis dahin hat Morgoth die sofortige Auflage,
die Sprueche zu sperren.

   Silvana (fragt sich, wozu sie den Job ueberhaupt macht)

-----------------------------------------------------------------------------



Re^4: Weihnachtsgeschenk (Lena, 21. Dez 1998, 09:02:51):
~#! rn=Silvana rt=913953794 rg=gilden.klerus
~#! tid=913724142
also ich bin kein Zweitie von irgendwem und ich waer fast schon hoch genug
(Gilde), dass ich den Spruch nutzen koennte, aber
ich finde, dieser Spruch ist totaler Bloedsinn.
Wenn das ein Weihnachtsgeschenk ist, dann prost den Verwandten von Morgoth. :)

Lena.

-----------------------------------------------------------------------------



Re^5: Weihnachtsgeschenk (Mahatmu, 21. Dez 1998, 19:40:18):
~#! rn=Lena rt=914230971 rg=gilden.klerus
~#! tid=913724142
Der Spruch ist _eigentlich_ ganz nett, allerdings waren sich die Leute
um mich herum auf der PArty schon sicher, dass er kaum Chancen auf
Genehmigung hat.
Trotzdem netter Versuch ;-) Vielleicht findet Ihr ja noch 4nen goldenen
Weg.

Gloin

-----------------------------------------------------------------------------



Re^5: Weihnachtsgeschenk (Morgoth, 21. Dez 1998, 21:59:55):
~#! rn=Lena rt=914230971 rg=gilden.klerus
~#! tid=913724142
tritt aus, wenn es dich stoert 

M*

-----------------------------------------------------------------------------



Re^6: Weihnachtsgeschenk (Lena, 22. Dez 1998, 10:23:43):
~#! rn=Morgoth rt=914277595 rg=gilden.klerus
~#! tid=913724142
was soll mich stoeren?
Dass wir nen Spruch bekommen, der uns bzw unsere Zweities fast unverwundbar
macht?
Ich koennte sowas bestimmt gut gebrauchen, aber ich halts trotzdem fuer
bloedsinnig.
Ich wollte Dich damit auch nicht angreifen oder so, aber die wesentlichen
Eigenschaften dieses Spruches sind doch sowieso in irgendeinem anderen Spruch
enthalten, den ich kann.
Ich haette lieber nen Spruch (meinetwegen auch fuer die Chaoten, wos
eigentlich besser
hinpasst), mit dem man die Regenerierung von LP zeitweise verlangsamen oder
ganz stoppen kann. Falls es sowas fuer die Chaoten gaebe, waer das sogar fuer
die Anwendung auf
Spieler sinnvoll. Dann haetten die Chaoten endlich mal was, womit sie richtig
boese
sein koennen, ohne deswegen nen PK angehaengt zu bekommen.

Lena.

-----------------------------------------------------------------------------



Re^7: Weihnachtsgeschenk (Key, 22. Dez 1998, 10:24:53):
~#! rn=Lena rt=914322223 rg=gilden.klerus
~#! tid=913724142
Sowas wird es glaub ich irgendwann mal geben, allerdings als Tool .)

Dazu muss man nur wen treten :9

Key

-----------------------------------------------------------------------------



Re^5: Weihe (Lan, 23. Dez 1998, 15:23:51):
~#! rn=Gorog rt=912693206 rg=gilden.klerus
~#! tid=912683797
Hmm sollte diese Diskusion noch up-to-date sein ....
Absolut dagegen.

Man weiht ne Waffe, also legt DIESER Waffe irgendwas goettliches bei.
Das kann man ja wohl net einfach so wieder wegnehmen.

Wo bleibt da das Feeling?

Lan schuettelt nurnoch den Kopf

-----------------------------------------------------------------------------



Probleme mit Teamkampf/Spaltung (Lena, 14. Jan 1999, 12:57:25):
Also...
1. mein Abbild wird (automatisch) in das Team integriert, in die Reihe, in der
ich stehe.
Das ist ok.
2. ich kann mein Abbild (auch als Teamleiter) nicht aus dem Team rauswerfen.
Entweder kenn ich die Syntax nicht, oder es gibt keine Moeglichkeit dafuer.
3. Frueher konnte man unter normalen Umstaenden, wenn man irgendwo ein Abbild
stehen hatte, kein neues erschaffen, es sei
denn, man war erneut im Kampf. Dann wurde das alte in einem anderen Raum
anscheinend aufgeloest.
Jetzt kann ich aber mein Abbild nicht neu erschaffen, solange das alte noch
existiert, auch wenn ich in einem anderen Raum im Kamof bin.
Das passiert sowohl im Team - also wenn ich einem Team angehoere- , als auch
ohne Team (wenn ich keinem Team angehoere).
Dieses Problem tritt erst auf, seitdem der Teamkampf eingefuehrt wurde.
Hat noch jemand das Prob?

Lena.

-----------------------------------------------------------------------------



Re: Probleme mit Teamkampf/Spaltung (Morgoth, 14. Jan 1999, 13:00:01):
~#! rn=Lena rt=916318645 rg=gilden.klerus
~#! tid=916318645
Ahhhh, SO ist das. Das war aus Deine Mail nicht ersichtlich. 
Versuche einfach mal 'entlasse abbild'
Das ist der Gildenstandard um seine Viecher loszuwerden. Damit sollte sich das
Abbild wieder in ... aeh ... wasauchimmer aufloesen.
Falls das NICHT klappt, bitte ich die anderen, mir doch mal genaue Logfile zu
schicken, was da ablaeuft (evtl. nen Magier bitten, -Debug nachzusehen).

Morgoth

-----------------------------------------------------------------------------



Re: Re: Probleme mit Teamkampf/Spaltung (Lena, 14. Jan 1999, 13:04:43):
~#! rn=Morgoth rt=916318801 rg=gilden.klerus
~#! tid=916318645
hm. Ich werds probieren, allerdings erinnere ich mich dunkel daran, versucht
zu haben mein Abbild zu entlassen.
Syntaxen, falls ich mich nicht irre: entlasse abbild
entlasse abbild lena
entlasse abbild von lena
entlasse lena.
das prob ist, dass wenn ein anderer oder eine andere ausser ich, teamchef ist,
woher soll
"entlasse" dann wissen, wessen abbild entlassen werden soll... ?
Lena, trotzdem irgendwann noch mal nen Test durchfuehrend.

-----------------------------------------------------------------------------



Re^3: Probleme mit Teamkampf/Spaltung (Gorog, 14. Jan 1999, 14:15:09):
~#! rn=Lena rt=916319083 rg=gilden.klerus
~#! tid=916318645
Naja mit dem Befehl "entlasse abbild" entlaesst DU DEIN Abbild, wenn jemand
anders teamchef is wird er ueberhaupt kein Abbild entlassen koennen welches
nicht ihm gehoert, genausowenig wie irgendjemand der gerade vorbei kommt Dein
Abbild entlassen koennte. Und ehrlich gesagt iss das auch besser so, denn ich
faends bloede wenn jeder hinz mein abbild verschwinden lassen koennte.

Gorog 

-----------------------------------------------------------------------------



Re^4: Probleme mit Teamkampf/Spaltung (Bottom, 15. Jan 1999, 17:42:43):
~#! rn=Gorog rt=916323309 rg=gilden.klerus
~#! tid=916318645

Tsts...manchen in unserer Gilde scheint es an der richtigen Einstellung zu
mangeln. Fuer einen Kleriker von Format kann es im Teamkampf doch wohl nur ein
Feature der Wahl geben: das Leid anderer auf sich zu nehmen! ;-)

Ehre sei Lembold in der Hoehe!


-----------------------------------------------------------------------------



hmm (Twinsen, 16. Jan 1999, 12:21:11):
Ein Magier sollte auch mal das Buch der Hierarchie ueberarbeiten das ist TOTAL
veraltet und unaktuell

-----------------------------------------------------------------------------



Re: hmm (Shannara, 16. Jan 1999, 13:50:04):
~#! rn=Twinsen rt=916489271 rg=gilden.klerus
~#! tid=916489271
Hm, schreib doch selber eine aktualisierte Version des Buches der Hierarchie
und schick es Morgoth. Der wird sich sicher darueber freuen.

M* ist halt seeehr beschaeftigt, seine Orks, Orkhausen, die Drakonierfestung,
die Elementargilde, die Katas und die kleriker zu pflegen *grins*

Shannara, etwas boese kichernd.

-----------------------------------------------------------------------------



Re: hmm (Bottom, 18. Jan 1999, 19:19:33):
~#! rn=Twinsen rt=916489271 rg=gilden.klerus
~#! tid=916489271

keine Frage, das Buch der Hierarchie ist alt, sehr alt sogar, aber es ist
keineswegs veraltet. Nach wie vor stimmt das Buch in seinen Kernaussagen mit
den Prinzipien unseres Lebens im Heiligen Orden ueberein. Das Primat ist
unseren zutiefst veehrten Goettern vorbehalten, die Hohepriester sind ihre
wuerdigen Sendboten auf Erden und die Erleuchteten sonnen sich in ihrem
Anbglanz. Der Rest gehoert zum Fussvolk und hofft lediglich, einst zu den
bevorrechtigten Gruppen zu gehoeren, wobei die Raenge der Goetter wohl auf
Ewigkeit so besetzt bleiben, wie sie es derzeit sind!

Uebe Dich also in Demut, Bruder, vergiss das Beten nicht und Du darfst darauf
hoffen, Gnade vor dem Angesicht der Hoechsten zu finden!

Bottom 


-----------------------------------------------------------------------------



Erleuchtung fuer Magier-Zweities (Msar, 19. Jan 1999, 12:41:56):
Hallo Leute,
neuerdings bin ich ja nen Zweitie eines Magiers.
Nun liegt das Problem an, dass ich mich erleuchten lassen koennte. Und da kam
der Einwand von Sharia, dass ich es ja als Magier-Zweitie nicht duerfe.
Wenn ich damit nem normalen Spieler nen Platz wegnehmen wuerde, wuerde ich das
ganze verstehen und auch einsehen.
Ich bin auch bereit den Platz sofort wieder frei zu geben, wenn Bedarf sein
sollte.
Nun hab ich mir aber mal die Erleuchtetenraenge bei Saphina angesehen, und
ausser Tanis sind es alles Zweitspieler.
Ich frage nun, ob man solche Tank-Zweities nicht aehnlich wie Magier-Zweities
behandeln sollte.
Ausserdem moechte ich anfuehren, dass ich mit Msar immer noch regelmaessig
spiele (sonst wuerde ich ja die Kriterien fuer eine Erleuchtung nicht
erfuellen). Morgonate hab ich nur zum Magier machen lassen, damit ich proggen
kann, da meiner Meinung nach Gebiete fuer mittlere Spieler fehlen.

Msar/Morgonate

-----------------------------------------------------------------------------



Re: Erleuchtung fuer Magier-Zweities (Morgoth, 19. Jan 1999, 12:46:49):
~#! rn=Msar rt=916749716 rg=gilden.klerus
~#! tid=916749716
Ein Ausschnitt aus /doc/REGELN/zweitspieler

 MAGIERZWEITIES:
    Fuer Zweitcharaktere von Magiern gelten zusaetzlich die folgenden Regeln:

     * Der Magier darf nicht gleichzeitig mit seinem Magier- und
       Zweitcharakter eingeloggt sein.
     * Der Zweitspieler darf vom Magier in keiner Weise manipuliert werden
       (das folgt eigentlich schon aus dem ersten Punkt). Manipulationen am
       Zweitspieler fuehren dazu, dass der Spieler zum Testspieler wird,
damit
       ist er voll den Magierregeln unterworfen.
     * ES IST STRENGSTENS UNTERSAGT BEI QUESTS ZU HELFEN!
       Davon abgesehen wird der Zweitspieler als normaler Spieler betrachtet,
       d.h. er kann am normalen Spielgeschehen teilnehmen, darf mit anderen
       Spielern zusammen metzeln, ihnen Geld oder Ausruestung geben oder z.B.
       Wege erklaeren.
     * Der Zweitcharakter sollte sich etwas zurueckhalten, wenn er durch
seine
       Aktionen echte Spieler behindert. Beispiele dafuer sind z.B. das
       Blockieren von Quests oder das Einnehmen hoher (limitierter)
       Gildenraenge. Im letzten Fall steht es natuerlich jedem
       Gildenprogrammierer frei, seine eigenen Regeln bzgl. Magierzweities
       festzulegen.

Naja, also ist es eigentlich meine Sache. Ich wuerde sagen, dass die Kleriker
unter sich ein sehr verstaendnisvolles und liebes Volk sind, die solche Sachen
unter sich regeln koennen. Wenn sich also jemand beschwert, musst Du den Platz
halt direkt raeumen, ansonsten kannst Du von mir aus auch Erleuchten. 

Morgoth


-----------------------------------------------------------------------------



Re: Erleuchtung fuer Magier-Zweities (Neb, 19. Jan 1999, 14:48:10):
~#! rn=Msar rt=916749716 rg=gilden.klerus
~#! tid=916749716
Zitat: Morgonate hab ich nur zum Magier machen lassen, damit ich proggen kann,
da meiner Meinung nach Gebiete fuer mittlere Spieler fehlen.

Rotfl, warst du nicht der Magier (Morgonate), der mich bei der Hydra snoopen
wollte, und dem als einzige Begrndung einfiel "Ich will halt mit Msar auch mal
die Hydra machen, da will ich Dir mit meinem Magier ein paar Tricks abgucken!"
?

Naja, und zu magierzweities in Erleuchtetenrngen: Es war Wargons ausdrcklicher
Wunsch, dass kein Magier-2tie einen limitierten Posten besetzen soll, so lange
dies Posten irgendwie anderss besetzt sind, also auch durch Spieler-2ties, an
meiner obigen Bemerkung sieht ja auch jeder Blinde, WO zum Beispiel ein
Unterschied zwischen normalem Spieler-2tie und Magier-2tie besteht, denke ich.

Neb

-----------------------------------------------------------------------------



Re: Re: Erleuchtung fuer Magier-Zweities (Morgonate, 19. Jan 1999, 14:59:47):
~#! rn=Neb rt=916757290 rg=gilden.klerus
~#! tid=916749716
Ok, zu dem dich mal angucken: Hast recht, war irgendwo ne dumme Idee, und von
mir auch gar nicht so ernst gemeint. 
Was haette ich dir abgucken koennen, ausser Sachen, die ich wissen sollte. Und
damals wusste ich noch nichts von verfolge. Der Punkt geht an Dich.
Was ich nun aber aergerlich finde, ist, dass Wargon den Heiltrank sicher nicht
geschaffen hat, damit irgendwelche Spieler sich nen Saphina-Zweitie
anschaffen, den zum Erleuchteten machen, und ihn dann bei Bedarf aus der
Mottenkiste hohlen.
Ist es denn Sinn der Klerikergilde, dass wir unsere Moeglichkeiten, anderen zu
helfen, nur fuer unsere Ersties anwenden? Das ist der Punkt, den ich ins Feld
bringen will. Wenn man mal nen Heiltrank braucht, muss man erst suchen,
welcher Erstie zu dem Tank-Zweitie gehoert, und diesen dann darum bitten, den
Tank-Zweitie zu aktivieren. Und das geht doch wohl an dem urspruenglichen Sinn
vorbei, oder?

Morgonate/Msar

-----------------------------------------------------------------------------



Re: Re: Erleuchtung fuer Magier-Zweities (Neb, 19. Jan 1999, 15:01:29):
~#! rn=Neb rt=916757290 rg=gilden.klerus
~#! tid=916749716
Ach ja, wo ich schonmal auf der Magier-2tie-Schwemme rumhacke, ein P.S. noch:

Ihr "programmierenden" Deppen, die Ihr immer mit auto-verfolge an mir
dranhngt, wenn ich die Hydra mache oder in Orkhausen metzel, ihr seid zu
sehen, wenn ich in mein Seherhaus gehe.
Wenn einer an mir dranklebt, gehts ja noch, aber bei 2en gleichzeitig wirds
laecherlich.
Wenn ich das immer lesen muss: "Ich hab ihn nur zum programmieren als
2tie-Magier hochgespielt", dann krieg ich zuviel. Also zumindest wenn ich
erstnhaft programmieren wollte, waere ich 1. nicht 9/10 der Zeit mit meinem
Spieler drin und 2. wuerd ich eh meinen Erstie zum Magier machen, net so einen
in aller Eile zusammengezimmerten "tie.

Wie waers in dem Zusammenhang mal zu ueberlegen, eine Art "Gesellenstueck"
fuer Magier zu machen, nach denen sie mehr Rechte bekommen, dass Sie
wenigstens IRGENDWAS angeschlossen haben, bevor sie pfuschen, dann hat das MG
auch was davon.

Neb

P.S.: Das war jetzt kein persoenlicher Angriff gegen Msar, sondern ne
allgemeine Bemerkung zur Magier-2tie-Schwemme hier.

-----------------------------------------------------------------------------



Re^3: Erleuchtung fuer Magier-Zweities (Boing, 19. Jan 1999, 15:03:54):
~#! rn=Neb rt=916758089 rg=gilden.klerus
~#! tid=916749716
Vernuenftige Magier verfolgen die Hydra, nicht den Kleriker. :)
  Boing

-----------------------------------------------------------------------------



Re^4: Erleuchtung fuer Magier-Zweities (Boing, 19. Jan 1999, 15:04:44):
~#! rn=Boing rt=916758234 rg=gilden.klerus
~#! tid=916749716
... was bei Neb aufs selbe rauskommt ... ;)

-----------------------------------------------------------------------------



Re^3: Erleuchtung fuer Magier-Zweities (Dieder, 19. Jan 1999, 15:06:05):
~#! rn=Neb rt=916758089 rg=gilden.klerus
~#! tid=916749716
Gesellenstueck ist eine gute Idee, sowas gibts im Gueldenland auch. Das
Problem ist wirklich, dass es wohl einen ganzen Sack von Magierzweities gibt,
die noch _nix_ gemacht haben, sondern wohl nur bestimmte Dateien einsehen
moechten oder Spieler aergern :)
Von Gesellenstuecken koennte das MG wohl nur profitieren.

Dieder

-----------------------------------------------------------------------------



Re^4: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:08:06):
~#! rn=Dieder rt=916758365 rg=gilden.klerus
~#! tid=916749716
Oh Ja, dann bekommen wir sowas wie Semmels Gebiet als Standard, oder wie waers
mit gewissen Staedten aus dem Gueldenland als Beispiel?
Ich einnere mich an eine in der der Flussname sich mit jedem raum aenderete,
indem es bugte wie bloede, keine geschichte dahinter war usw

Key

-----------------------------------------------------------------------------



Re^4: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:08:14):
~#! rn=Dieder rt=916758365 rg=gilden.klerus
~#! tid=916749716
Als naechstes kommt wieder der Vorschlag mit den hierarchich gestaffelten
Leserechten fuer Magier.

Teddy, Diskussion 21715 beginnend.
P.S.: Dafuer waere ich allerdings trotzdem ;)

-----------------------------------------------------------------------------



Re^5: Erleuchtung fuer Magier-Zweities (Neb, 19. Jan 1999, 15:09:14):
~#! rn=Key rt=916758486 rg=gilden.klerus
~#! tid=916749716
Ts, Key, solche Gebiete muss man ja nicht als Gesellenstuecke anerkennen, oder
?
Ich denke, man sieht schon, ob da nen ernster Wille dahintersteht oder nicht.

Neb.

-----------------------------------------------------------------------------



Re^5: Erleuchtung fuer Magier-Zweities (Dieder, 19. Jan 1999, 15:09:22):
~#! rn=Key rt=916758486 rg=gilden.klerus
~#! tid=916749716
Sowas zu verhindern ist Aufgabe des "Papis" des betreffenden Neumagiers -
bedeutet halt etwas mehr Verantwortung und Arbeit fuer ihn... ;-)

Dieder

-----------------------------------------------------------------------------



Re^5: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:09:41):
~#! rn=Teddy rt=916758494 rg=gilden.klerus
~#! tid=916749716
Ein Magier kann net alles lesen. 
Es gibt Abstufungen, von Level 15 angefangen, bis Erzmagier.
Key

-----------------------------------------------------------------------------



Re^6: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:11:27):
~#! rn=Neb rt=916758554 rg=gilden.klerus
~#! tid=916749716
Was bringt nen ernster Wille?
Ein wirklicher Neumagier hat null durchblick, und muss sich erstmal
einarbeiten ... und dazu reichen die Beispiele bestimmt nicht ... 
Und erst nen Gebiet "auf Probe" proggen?
Ich glaub kaum das es Spass macht gesagt zu kriegen mach erstmal was, ich
schaus dann an, dann darfste es nochmal machen, oder mach was anderes ...

Key

-----------------------------------------------------------------------------



Re^6: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:11:41):
~#! rn=Key rt=916758581 rg=gilden.klerus
~#! tid=916749716
Klar, 15er koennne nix lesen bzw. weniger als ich in meinem Homemud.
Bis zum EM koennen dann alle alles ausser /secure/ARCH lesen und EMs das dann
halt auch oder hab ich irgendwas noch uebersehen?

Teddy

-----------------------------------------------------------------------------



Re^7: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:12:05):
~#! rn=Teddy rt=916758701 rg=gilden.klerus
~#! tid=916749716
Noe, reicht doch :)

Key

-----------------------------------------------------------------------------



Disk... (Lena, 19. Jan 1999, 15:12:33):
Es reicht! Halt!
Da kommt ja niemand mehr mit lesen nach!!!

-----------------------------------------------------------------------------



Re^8: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:12:59):
~#! rn=Key rt=916758725 rg=gilden.klerus
~#! tid=916749716
Geschmackssache, damit oeffnest du Nachguck2tieMagiern Tuer und Tor.

Teddy

-----------------------------------------------------------------------------



Re^7: Erleuchtung fuer Magier-Zweities (Neb, 19. Jan 1999, 15:13:01):
~#! rn=Teddy rt=916758701 rg=gilden.klerus
~#! tid=916749716
Ist doch ganz einfach:
Der Magier proggt es, und sein Papi guckt nen bissl, und hilft (wie es
eigentlich mal sein sollte, bevor manche Papis 1000 Soehne bekamen), und
sobald es gut is, wirds angeschlossen.
Klingt gar nicht so schwer fuer mich.

Neb

-----------------------------------------------------------------------------



Re: Disk... (Key, 19. Jan 1999, 15:13:11):
~#! rn=Lena rt=916758753 rg=gilden.klerus
~#! tid=916758753
Lies schneller

Netmal Multitaskingfaehig die Leute hier .... Alles Windoof Anhaenger? ;)

Key

-----------------------------------------------------------------------------



Re^9: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:13:53):
~#! rn=Teddy rt=916758779 rg=gilden.klerus
~#! tid=916749716
Du kannst Menschen net mit Gesetzten aendern .... Gerade wenn was verboten ist
wird oefter probiert es trotzdem zu machen ...

Key

-----------------------------------------------------------------------------



Re^10: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:14:55):
~#! rn=Key rt=916758833 rg=gilden.klerus
~#! tid=916749716
Du kannst aber mitt Gesetzen versuchen Missbrauch einzuschraenken und wenn die
Leserechte beschnitten werden, wird es fuer die WurstNachguck2tieMagier schon
bedeutend schwerer ;)

Teddy, heute mit kreativen Wortschoepfungen.

-----------------------------------------------------------------------------



Re^8: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:15:28):
~#! rn=Neb rt=916758781 rg=gilden.klerus
~#! tid=916749716
Es reicht wenn die Pappis nen bisserl aufpassen wen sie zum Magier machen.

Letzendlich sollten die pappis auch fuer die sch** ihrer soehne und toechter
zu verantwortung gezogen werden koennen ...

Key

-----------------------------------------------------------------------------



Re^9: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:16:18):
~#! rn=Key rt=916758928 rg=gilden.klerus
~#! tid=916749716
Bis in welche Generation? ;-)
Teddy denkt o O (Armer Jof)

-----------------------------------------------------------------------------



Re^11: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:16:50):
~#! rn=Teddy rt=916758895 rg=gilden.klerus
~#! tid=916749716
proportional wirds dann auch schwerer fuer die die was anstaendiges proggen
wollen und beispiele brauchen. Wenn man als Spieler z.b. in der SSP was
gesehen hat das so ist wie man es selbst machen will, dann sollte man da auch
nachsehen koennen

Key

-----------------------------------------------------------------------------



Re^8: Erleuchtung fuer Magier-Zweities (Anatol, 19. Jan 1999, 15:17:20):
~#! rn=Neb rt=916758781 rg=gilden.klerus
~#! tid=916749716

Ihr rutscht "ein wenig" vom Thema ab - Fragestellung war: Darf ein 
spielender Zweitie eines Magiers einen Gildenrang belegen, wenn dieser
rationiert wird und Spieler-Zweitspieler diesen ebenfalls belegen
koennten?

Da viele Klerikerspielerzweities nicht auch nur ANSATZWEISE als
Spieler gespielt werden sondern wirklich nur als Tankzweitie herum-
stehen/idlen/helfen, sollte es an und fuer sich kein Problem sein.
Sagt zumindest die Klerikerin in mir. Der es uebrigens voellig egal
ist, ob Neb Msar nicht ausstehen kann.

Anatol


-----------------------------------------------------------------------------



Re^10: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:18:02):
~#! rn=Teddy rt=916758978 rg=gilden.klerus
~#! tid=916749716
1. Generation .... :)

Key

-----------------------------------------------------------------------------



Re^12: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:18:30):
~#! rn=Key rt=916759010 rg=gilden.klerus
~#! tid=916749716
Wer ernsthaft proggen will, hat keine Probleme Magier XY anzusprechen: Du ich
hab bei dir das und das gesehen, kann ich das File bitte haben ums mir
anzuschauen weil ich dies und das vorhabe, laeuft bereits jetzt so.

Teddy

-----------------------------------------------------------------------------



Re^11: Erleuchtung fuer Magier-Zweities (Tilly, 19. Jan 1999, 15:18:55):
~#! rn=Key rt=916759082 rg=gilden.klerus
~#! tid=916749716
Mindestens bis in die zweite inclusive derer nachfahren ... >:)

-----------------------------------------------------------------------------



Re^9: Erleuchtung fuer Magier-Zweities (Neb, 19. Jan 1999, 15:19:23):
~#! rn=Anatol rt=916759040 rg=gilden.klerus
~#! tid=916749716
Lieber Anatol,
das Thema is laengst viel allgemeiner gefasst, naemlich diese
Look-up-device-Magier2ties und ob man was dagegen tun kann, aber einige Leute
schaffen es eh immer wieder, ein ernstes Thema so lange mit beknackten
Artikeln zu verwaessern, bis es nicht mehr ernstzunehmen ist.

Neb

-----------------------------------------------------------------------------



Re^13: Erleuchtung fuer Magier-Zweities (Key, 19. Jan 1999, 15:20:42):
~#! rn=Teddy rt=916759110 rg=gilden.klerus
~#! tid=916749716
Und wer hindert den Magierzweitie an demselbigen?

Key

-----------------------------------------------------------------------------



Re^14: Erleuchtung fuer Magier-Zweities (Teddy, 19. Jan 1999, 15:21:34):
~#! rn=Key rt=916759242 rg=gilden.klerus
~#! tid=916749716
Die anonymitaet ist im moment erheblich groesser, weil jeder Depp einfach
nachschauen kann anstatt fragen zu muessen und dann auch noch zu begruenden
warum er es gerne haben moechte

Teddy

-----------------------------------------------------------------------------



Magier-Zweities... (Lena, 19. Jan 1999, 15:24:05):
ist jetzt was kaputt?
Seit 2 Minuten keine MPA-Veroeffentlichung mehr...

-----------------------------------------------------------------------------



Re^15: Erleuchtung fuer Magier-Zweities (Boing, 19. Jan 1999, 15:24:53):
~#! rn=Teddy rt=916759294 rg=gilden.klerus
~#! tid=916749716
Das Problem ist einzig und allein dass es nicht genug Beispiele gibt.
Das zu aendern ist durchaus schon eines unserer Ziele und alle Magier
wurden aufgefordert Beispiele zu liefern die man zur Doku stellen kann.
Von mir steht da z.B. die ganze 1. Ebene der SSP, das ist nicht viel,
aber immerhin mal ein Anfang. Erst wenn man genug Beispiele zusammen
hat kann man mal darueber nachdenken die Leserechte fuer Neumagier
drastisch einzuschraenken.
  Boing

-----------------------------------------------------------------------------



Re: Erleuchtung fuer Magier-Zweities (Sharia, 19. Jan 1999, 15:53:27):
~#! rn=Msar rt=916749716 rg=gilden.klerus
~#! tid=916749716
STOP !!!!  HALT !!!!!!

Ich hab NICHT gesagt, dass du es nicht darfst .. ich habe dich darauf
hingewiesen dass es bei MIR da mal probleme gegeben hat ... das war alles ...
mehr nicht ... 

Sharia

-----------------------------------------------------------------------------



Re^9: Erleuchtung fuer Magier-Zweities (Zeuss, 19. Jan 1999, 15:53:55):
~#! rn=Anatol rt=916759040 rg=gilden.klerus
~#! tid=916749716
Hmmm..komische Diskussion...
Wieso kann mans nich einfach so machen:
Allzugrosser Andrang iss auf die Erleuchetten-Raenge eh nich...
Es gibt kaum mal ein Tag, en denen alle gleichzeitig da sind...
Wieso soll Msar nich erhoehen koennen, wenn er die Aufgabe geloest hat...und
sobald derjeneige wieder ins MUD kommt, den Msar rausgeschmissen hat, faellt
Er wieder raus, und der 'richtige' Spieler kann ohne Aufgabe wieder
erhoehen...
so, als Msar nie erleuchtet gewesen waer...
So hat kein Spieler nen nachteil, und Msar kann solange Erleuchtet bleiben,
wies keinen stoert...wenn er wieder hoch will muss er halt nochmal Water
killen oder so..

Naja, nur so als Idee...

Hera

-----------------------------------------------------------------------------



Es war einmal.... (Sharia, 19. Jan 1999, 16:52:14):
... vor langer, langer Zeit .....

... da sagte unser ehemaliger Gildenchef: NEIN ! wir wollen keine
Magierzweitis in den Erleuchtetenraengen ... und so wurde eine gewissen Tante
vom Posten der Hohepriesterin geworfen und zur Kuratin gemacht ... dies
erzuernte einige Erleuchtete und aus Solidaritaet besetzten sie den Posten des
Hohepriesters nicht neu ... und so es denn jemand versuchte war dort immernoch
eine gewissen Anat^M^M^M^MKalliope zur Stelle, welche jeden Versuch eines
Emporkoemmlings im Keim erstickte und den Posten frei hielt bis eine gewisse
Tante diesen Posten wieder einnehmen konnte.... 



Sharia

-----------------------------------------------------------------------------



achja nochwas :-) koennt ihr aber auch uebergehen :-) (Sharia, 19. Jan 1999, 16:56:26):


               Die Geschichte einer gelaeuterten Seele.
                               oder
                 Die Lebensgeschichte einer Nonne.


Es war einmal eine kleine Spielerin, man nannte sie Sharia. Sie wurde aus
der Langeweile eines Magiers heraus geboren, von dem hier aber nur wenig
die Rede sein soll. Diese kleine Spielerin zog durch das grosse, boese
Morgengrauen und durchwanderte die Ebenen und Taeler des ganzen Landes
und spielte die eine und andere kleine Quest, als ihre Reisen sie eines
Tages zu einer Insel fuehrten. Diese Insel nannte sich Shaky Island und
die kleine Spielerin fand dort einen Mann namens Bruno.  Dieser Mann nahm
sich ihrer an und sie beschloss die Kunst des Bierschuettelns zu lernen.
Froehlich und mit einigen neuen Faehigkeiten ausgestattet wanderte unsere
kleine Hauptperson weiter durch das Morgengrauen und so fuehrte sie ihr
Weg auch eines Tages zu einer Karawane.  Neugierig kaufte sie sich ein
Ticket und eine Einreisegenehmigung und fuhr so nach Fernwest. Dort
angekommen erreichte sie einen Dojo und stellte erstaunt fest, dass sie
als Bierschuettlerin, die immerhin schon Level 5 erreicht hatte, nicht
die Kunst des Kampfes mit dem ganzen Koerper erlernen kann. Daher schlief
sie hier an dieser Stelle etwas frustriert ein und als sie eines Tages
wieder aufwachte fand sie sich im heiligen Hain der Elfen wieder.  Die
kleine Elfe ging zu ihrem Ziehvater Bruno und brach mit ihm.  Auf dem Weg
in den fernen Westen wandte sie sich etwas zu sehr suedlich und stand
somit reichlich ueberrascht in der Wueste. Sie zog so durch die Wueste
und stand ploetzlich vor den Toren einer huebschen Stadt.  Als sie sich
dort ein wenig umschaute traf sie Arkshat. Interessiert stoeberte sie in
seinen Schriftrollen, als ploetzlich ein Geist in strahlend hellem Gewand
vor ihr stand und ihre Seele laeuterte.  Dies war der Moment, da sie
beschloss, ihr Leben in die Haende der Goetter zu legen. Jedoch dies
stellte sich als nicht allzu einfach heraus, denn ihr Charakter liess
doch etwas zu wuenschen uebrig. Daher begab sie sich auf und toetete
viele boese Monster, um ihre Seele vom Boesen zu befreien und einen
heiligen Charakter zu bekommen. Nach vielen Kaempfen gegen boese Ratten
und schreckliche Kakerlaken fand sie schliesslich eines Tages einen
Fuersprecher und wurde so in die Reihen des heiligen Ordens aufgenommen.
Inbruenstig begann sie zu beten und erlernte nun die Grundlagen der
Missionsarbeit und versuchte immer mehr sie zu perfektionieren. Getrieben
vom Glauben an die 3 Goetter wuchs sie immer weiter heran und durchlebte
viele Stadien in der Ordenshierarchie. Schon als Bettelnonne fiel sie
einigen hohen Sehern durch ihre Penetranz auf jedoch meisterte sie auch
dieses Harte Stadium. Ein Seher nam sich ihrer an und fuehrte sie in
Gegenden die sie nie zuvor gesehen hatte. So bemerkte sie, dass die Gruft
der Hexe Schrumpfi den Klerikern noch viel Arbeit bereiten wuerde und
nachdem sie Chilana geholfen hatte war es dann soweit: Sie musste sich
einer Gottheit weihen. Die Wahl fiel nicht schwer, denn von Lembold war
sie schon einige Male in ihren tiefen Meditationen heimgesucht worden und
somit beschloss sie, ihr Leben vorallem diesem Gott der Schoepfung zu
weihen. Sie zog weiter durch das Morgengrauen, im Kampf gegen das Boese
und oft stand ihr Lembold zur Seite. Auch die anderen Goetter schienen
oft die Hand ueber Sharias Haupt auszubreiten, denn selbst wenn sie
einmal dem Tod ins Auge sehen musste so erweckten sie stets die Goetter
wieder zum Leben. Die kleine Nonne wuchs immer mehr heran und wurde immer
bekannter. Eines Tages war es nun auch endlich soweit. Sie bekam von
Lembold den Status einer Seherin und zugleich einer Kuratorin verliehen.
Nun war sie dem Ziel eines jeden Klerikers und einer jeden Klerikerin
einen grossen Schritt naeher gekommen: die Erleuchtung! Nachdem sie
Arkshat, mit dem sie sich mittlerweile recht gut verstand, nach ihrer
Aufgabe zur Erleuchtung gefragt hatte machte sie sich sogleich auf, um
dem boesen Goblinpriester das silberne Auge zu entreissen. Nach einem
langen Kampf schliesslich hielt sie das heilige Artefakt in den Haenden
und legte es behutsam auf Lembolds Altar. Wieder durchstroemte sie ein
helles Licht und von diesem Zeitpunkt war sie erleuchtet. Da sie sich
jedoch in der Vergangenheit sosehr um die Perfektionierung ihres Wissens
und Koennens bemueht hatte und viele Male erfolgreich im Kampfe gegen die
boesen Maechte gewesen war ernannte sie Lembold sogleich zu seiner
Hohepriesterin, welches Sharia sehr ueberraschte. Eines Tages erfuhr die
mittlerweile recht hochgewachsene Elfe, dass ein schreckliches Ungeheuer
sein Unwesen im Lupinental trieb. Sie machte sich sogleich auf die Suche
nach diesem Wesen und musste einige Male schmerzhaft feststellen, dass
sie noch lange nicht genug Erfahrung gesammelt hatte um gegen ein solches
Ungetuem antreten zu koennen. Verbissen versuchte sie weiter dem Wesen
entgegenzutreten und eines Tages konnte sie sich, mit der Hilfe eines
grossen Zauberers, stolz in die Reihe der Hydratoeter einreihen. Von
diesem Zeitpunkt an stand sie diesem Monster stets gegenueber wenn es
sich blicken liess und schliesslich hatte sie auch genug Erfahrung
gesammelt, um ihm alleine entgegentreten zu koennen. Sharia bemuehte sich
stets, die Interessen ihres Ordens nach aussen zu verteidigen und gab
sich stets Muehe, eine wuerdige Hohepriesterin zu sein. So blieb es auch
eine lange Zeit, bis eines Tages boese, dunkle Maechte das Morgengrauen
heimsuchten und Sharia bei den Goettern in Ungnade fiel. Es wurde
gemunkelt, dass der Magier von dem sie geschaffen wurde der Grund dafuer
gewesen sei und so bestrafte man die arme Hohepriesterin. Sie wurde zur
Kuratin herabgesetzt und schliesslich wurden ihr gar Erinnerungen
geraubt. Jedoch gab es bei diesem unangenehmen Zwischenspiel natuerlich
ein Happy-End. Der boese Magier wurde einer kompletten Saeuberung
unterzogen und war nurnoch ein ganz kleiner Spieler. Nun nahm sich Sharia
seiner an und bemuehte sich gleichzeitig, ihr Wissen wieder zu
perfektionieren. Mit der Hilfe und der Solidaritaet der anderen
Erleuchteten wurde Sharia wieder Hohepriesterin und schaffte es letzten
Endes auch wieder ihre Faehigkeiten zu optimieren. Mittlerweile ist
Sharia schon wieder eine sehr lange Zeit Hohepriesterin und man hoert
Geruechte, dass sie von derjenigen Person wieder abgeloest werden soll,
die einmal als erstes den Posten des Hohepriesters von Lembold innehatte,
jedoch sind dies vielleicht auch nur Geruechte. Es gibt auch noch ein
weiteres Geruecht, naemlich, dass Sharia, obwohl sie ja dem Zoelibat
unterworfen ist, dennoch ihre Liebe zu einem ganz besonderen Mann mit
Ringen besiegelt hat, jedoch wie gesagt: Geruechte...!

Tja und nun ... Sharia hat sich wieder eingereiht... ist meist eine ganz
"normale" Erleuchtete...bemueht sich immernoch um die Verbreitung des wahren
Glaubens...hat einen Sohn, der sie gelegentlich versucht zu ueberfluegeln,
einen Adoptivsohn der ihr immerwieder Sorgen bereitet....und ihr Verhaeltnis
zu Lembold hat sich wesentlich verbessert. Und ihre Liebe? Tja ... ihr
Verlobter bereitet ihr Sorgen, da er sich nicht genug um sie kuemmert...
aber auch sonst geht es ihr gut, das mudden macht ihr Spass....und das
wichtigste: SIE HAT EINEN BART !!!!!!


irgendwer der sie kennt......

-----------------------------------------------------------------------------



Re^10: Erleuchtung fuer Magier-Zweities (Patryn, 19. Jan 1999, 17:50:13):
~#! rn=Neb rt=916759163 rg=gilden.klerus
~#! tid=916749716
fang dich mal wieder ein. deinen artikeln bzgl. dieser diskusion konnte
ich bisher auch nur entnehmen, dass du dich fuer einen unheimlich
tollen hecht unter den spielern haelst und unter diversen
verfolgungskomplexen leidest.
was ist dagegen einzuwenden, wenn ein neumagier der allzunatuerlichen
neugier folgt und nun doch mal bei einem hydra-kill zuschaut.
(andere frage: welcher magier hat das noch nicht gemacht)
bei den neumagiern, mit denen ich naeher zu tun habe, kann ich mit
bestimmtheit sagen, dass sie programmieren, egal ob sie nun
nebenher einen spieler haben oder nicht. es ist auch nicht gerade leicht,
seinen spieltrieb von 100 auf 0 zurueckzufahren, und mir waere es
ehrlichgesagt lieber, wenn noch viel mehr aktive magier auch aktiv
weiterspielen wuerden. leider ist der effekt fast immer, dass man
sofort nur noch einen alibizweitiemagier hat...der alltgemeinen
stammtischkneipenmeinung nach zumindest.

------
patryn

-----------------------------------------------------------------------------



Re: achja nochwas :-) koennt ihr aber auch uebergehen :-) (Teddy, 19. Jan 1999, 17:52:53):
~#! rn=Sharia rt=916764986 rg=gilden.klerus
~#! tid=916764986
Irgendwie find ich Nesis Variante huebscher ;)

Teddy

-----------------------------------------------------------------------------



Re^11: Erleuchtung fuer Magier-Zweities (Padreic, 19. Jan 1999, 17:57:58):
~#! rn=Patryn rt=916768213 rg=gilden.klerus
~#! tid=916749716
Also meines Wissens wurde vor einiger Zeit beschlossen Neumagier erstmal nur
auf Level 20 zu setzen bis sie ein erstes kleines Gebiet geproggt haben und
diese Regelung halte ich auch fuer verdammt sinnvoll (insbesondere fuer Magier
die Nebenher auch einen zweitie haben). Wer sagt er koenne nicht proggen ohne
bestimmte Stellen in fremdem Code nachzusehn, dem kann ich versichern, das ist
absolut unfug. Es ist ueberhaupt kein Problem eine kleine mail an seinen Dady
zu schreiben, der das betr. File dann einfach kurz in das homeverzeichnis
kopiert (das mache ich bei meinen Kindern selbst so und ist voellig
ausreichend). Fuer komplexere Fragen wendet man sich meist sowieso am besten
an seinen Sponsor, da dies eindeutig die beste Form ist um etwas neues zu
lernen.

Padreic, achtfacher Vater.

-----------------------------------------------------------------------------



Re^12: Erleuchtung fuer Magier-Zweities (Anatol, 19. Jan 1999, 21:31:47):
~#! rn=Padreic rt=916768678 rg=gilden.klerus
~#! tid=916749716
Achtfacher Vater. Und, stolz drauf? :o)
Unabhaengig von Padreic und seinen Hobbies - ich denke, einen Teil der
Probleme koennte man tatsaechlich und an sinnvoller Stelle erschlagen,
wenn Papis beim Kinderzeugen Verantwortungsgefuehl zeigen und nicht 
jedem, der mit "He, mach mich mal eben zum Magier" antanzt, einen Vertrag
geben und sich als Kerbe auf den ... eintragen. Vielleicht wuerde eine
engere Bindung Sponsor-Newcomer das Verantwortungsgefuehl auf das Kind
uebertragen.
Leute, die mit "boeser Absicht" Magier werden, faengt man damit freilich
nicht. Erst recht nicht die Profis, die sich zu viert einen Zweitie halten
und den dann auch noch programmieren lassen...

Aber Lesebeschraenkungen passen meiner Meinung nach nicht zum "Geist"
eines Muds. Wo man zwischen Individuen der Art heftig unterscheidet,
faengt das Gerangel um "gute Positionen" (wohlgemerkt, dass ein [R]
oder gar ein [E] in erster Linie Verantwortung bedeutet, weiss wohl
nicht jeder...) erst an. Miterleben moechte ich das nicht, frueher 
oder spaeter landet es doch eh wieder auf dem Ruecken der Spieler.

Anatol


-----------------------------------------------------------------------------



Re^12: Erleuchtung fuer Magier-Zweities (Rikus, 20. Jan 1999, 09:01:50):
~#! rn=Padreic rt=916768678 rg=gilden.klerus
~#! tid=916749716
Ja, da muss ich ausnahmsweise mal Padreic zustimmen. Neumagier erhalten
nach kurzer Einarbeitung und vielleicht auch Ausdenken eines Projektes
Level 20. Erst nach Vorhandensein eventuell anschlussfertiger Sachen
(vom Sponsor oder EM angesehen) kann er auf Level 21 erhoeht werden.

Rikus

-----------------------------------------------------------------------------



Re^13: Erleuchtung fuer Magier-Zweities (Rikus, 20. Jan 1999, 09:03:09):
~#! rn=Rikus rt=916822910 rg=gilden.klerus
~#! tid=916749716
nochmal... Prinzipiell heisst das auch, dass bisherige 21er ohne irgend-
welche Sachen auf 20 gesetzt werden sollten...

Rikus

-----------------------------------------------------------------------------



Re^13: Erleuchtung fuer Magier-Zweities (Anakin, 20. Jan 1999, 09:04:08):
~#! rn=Rikus rt=916822910 rg=gilden.klerus
~#! tid=916749716
Wie waere es denn, wenn Magier die noch nix gemacht haben
runtergestuft werden, es gibt genug 21er die nix machen.
Und jetzt kommt nicht mit ich war schon immer 21er ich 
bleib es auch. Die Spieler wurden auch runtergestuft bei
der Reform.

Anakin.

-----------------------------------------------------------------------------



Re^14: Erleuchtung fuer Magier-Zweities (Morgoth, 20. Jan 1999, 09:05:39):
~#! rn=Rikus rt=916822989 rg=gilden.klerus
~#! tid=916749716
Keine Einwaende, von mir aus sofort.

M*

-----------------------------------------------------------------------------



Frage ! (Twinsen, 21. Jan 1999, 19:25:11):
Sollte nicht eigentlich einmal ein generelles 2tie Verbot fuer Erleuchtete
gelten? Ich faende das sehr gut ...

Twingo

-----------------------------------------------------------------------------



Nachtrag eines Betroffenen (Ark, 21. Jan 1999, 19:53:39):
So, jetzt senfe ich nochmal kurz was, weil ich net da war, als ihr fleissig
geschrieben habt. Aaaalso:
Als Sohn/Tochter nehme ich nur jemanden, den ich persoenlich kenne, das ist so
und bleibt so. Morgonate durfte also irgendwann mal bei mir antanzen :-)
Dort habe ich mir mal angehoert, was er vorhat, habe mit ihm Erfahrungen
ausgetauscht, ihn auf vieles hingewiesen und das Ganze mal so abgecheckt. Kurz
darauf war ich sein Papi. Soweit das, ich denke jetzt, dass er hier nicht als
lookup device das MG unsicher macht.
Was das Snoopen angeht, naja, nicht meine Sache, ich werde ihn nicht Tag und
Nacht ueberwachen. Nur wenn er anfaengt, ungefragt zu snoopen, melde ich mich
bei ihm, gelle? :-)
Das sag' ich jetzt nur mal so ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



artikel 55 (Gorog, 21. Jan 1999, 21:36:24):
~#! rn=Ark rt=916948419 rg=gilden.klerus
~#! tid=916948419
Also so als Ersti wuerd ich sagen NEIN.

Weil zum einen die Anforderungen momentan nicht mehr ganz so niedrig sind wie
noch vor nem halben Jahr, Level 45 fuer Erleuchtung und 50 fuer HP sind fuer
HeilZweitis nicht unbedingt eine niedrige Huerde (Ich hab da son paar
Bekannte, die sogra als Ersti noelen, weil sie nicht auf Level 45 kommen).
Natuerlich is es mit dem genuegend Erfahrung und Wissen moeglich nen Zweiti
auf Level 45 oder 50 zu heben, aber wenn man das hat brauch man dann wirklich
noch n Tankzweiti? 
Zum anderen sind (im LemboldZweig) die erleuchteten Zweitis ganz "normale"
Spieler, die sogar teilweise wie Erstis gespielt werden (jedenfalls kommts mir
so vor).   
Als letztes sind die Anforderungen fuer die Erleuchtung ja auch noch
dynamisch, soll heissen wenn die ueber Dir besser sind hast Du auch mit Stufe
zierzig keine Moeglichkeit zu erleuchten. 

Gorog will nicht entleuchtet werden, weil sonst muesste er ueben *baeh*

-----------------------------------------------------------------------------



nn klerus (Patryn, 29. Jan 1999, 19:03:37):
~#! on=Hexxer ot=917636518 og=gilden.zauberer
Ein Kleriker muss wohl ein Wesen sein, welches ausser beten nix weiter kann
???
Es ist ja ok dann man doch oft beten muss... 
Nur wenn man dabei nur duemmlich in der Gegend rumsteht und idelt, find ich
das reichlich
zwecklos und bloed...
Wie waere es, wenn man waehrend dem beten vielleicht die MPA lesen koennte, da
das ehh immer
viel Zeit in Anspruch nimmt ?????

Als Idee waere es vielleicht moeglich beim beten gefragt zu werden, ob man die
mpa lesen will doer nur ideln rumsteht will ?? 
** mehr als dies will ich ja gar nicht, doch immer stundenlang idelnd zu beten
kann doch nicht ernsthaft alles sein ?? **


            ******** HEXXER - ein naher Verwandter von Lars **************

-----------------------------------------------------------------------------



Re: nn klerus (Jiddu, 29. Jan 1999, 23:08:36):
~#! rn=Patryn rt=917636617 rg=gilden.klerus
~#! tid=917636617
Das kann doch nicht Sinn und Zweck sein! 
Hast Du schon mal daran gedacht, dass das eine Art "rollenspielerischen"
Hintergrund hat, dass ein Kleriker beim Beten nicht Zeitung liest oder
Fernsieht? 
Wenn Deine Goetter allwissend sind, dann wuerde ich jetzt mal ganz schnell
Busse tun und beten, dass sie Dir fuer diese Idee vergeben..
Jiddu

-----------------------------------------------------------------------------



Re: Re: nn klerus (Triefo,  2. Feb 1999, 11:01:41):
~#! rn=Jiddu rt=917651316 rg=gilden.klerus
~#! tid=917636617
Hi !

Also wenn mein Rollenspiel sich darauf erstreckt, dass ich alle 2 h fuer 10
minuten bete, dann brauche ich auch nicht mehr auf Abenteuer auszugehen, ich
koennte ja in der restlichen Zeit noch Opfer bringen und arbeiten (im
Klostergarten).
Die Goetter barauchen nicht allwissend zu sein, um diese Idee mitzubekommen,
sie brauchen ja bloss in die Zeitung zu schauen, aber schliesslich handelt es
sich bei allen Leuten, die so durchs MUD laufen um Ausnahmecharaktere, die in
ihre  Art
sich fuer ihren Gott einsetzen, warum sollte da das beten noch eine besondere
Form einnehmen ? 
Drueckt nicht jede HAndlung eigentlich schon quasi ein Gebt fuer den Gott aus
?
Zumindestens sollte sie das tun.
Dann jedoch ist das Gebet als solches nur noch eine besondere Form. Und dann
meine ich, wenn jemand beim kaempfen oder umherwandern die Zeitung lesen kann,
warum nicht beim Gebet ?
(schliesslich koennte ja ein Superartikel in gilden.klerus
entstehen...inspiriert von...).

Mit freundlichem Gruss,

*kopfschuettelnd*
Triefo

-----------------------------------------------------------------------------



Re^3: nn klerus (Anatol,  2. Feb 1999, 11:02:44):
~#! rn=Triefo rt=917953301 rg=gilden.klerus
~#! tid=917636617
Superartikel kommen nicht von Klerikern.

Ansonsten - werd' Bierschuettler. Die koennen besser jammern.

Anatol


-----------------------------------------------------------------------------



Re^4: nn klerus (Alpha,  2. Feb 1999, 14:41:57):
~#! rn=Anatol rt=917953364 rg=gilden.klerus
~#! tid=917636617
Soooo schlimm sind wir nun auch nicht!
P.S. Warum geht der Teddy-Report beim Ausloggen auch aus? Das nervt;)
Alpha jammert gar nicht.

-----------------------------------------------------------------------------



Re^11: goetterzorn und praesenz (Teddy, 20. Feb 1999, 22:32:41):
~#! rn=Mahatmu rt=919419520 rg=gilden.klerus
~#! tid=919103927
Also ich muss wohl C4 mal in Schutz nehmen, der Bug durch den die vielen
Drachen erschienen sind, ist sowohl bei den Energiedrachen, als auch bei den
Feuerdrachen aufgetrten, passt also eigentlich beides.

Teddy

-----------------------------------------------------------------------------



Re^12: goetterzorn und praesenz (Ringor, 21. Feb 1999, 12:52:03):
~#! rn=Teddy rt=919549961 rg=gilden.klerus
~#! tid=919103927
Mag ja sein, dass im Alter die Erinnerungen etwas verschwimmen und dass mich
mein schlechtes Gedaechtnis truegt - aber das hab ich dann doch etwas anders
in Erinnerung.

Die Feuerdrachen wurden durch einen Bug mehrfach herbeigerufen, wodurch wir
dann einer "etwas" groesseren Gruppe Drachen gegenueber standen.

Die Energiedrachen waren nur in der Anzahl vorhanden wie geplant, aber hatten
durch einen anderen Bug nicht zwei Angriffe pro Drache, sondern zwei Angriffe
pro Drache pro Gegner. Das war zwar mindestens genauso unangenehm, aber es
waren trotzdem nur eine handvoll Drachen.

Ringor. Hat irgendwie ueberlebt.

-----------------------------------------------------------------------------



Gift (Twinsen, 21. Feb 1999, 14:22:43):
Ich faende es gut wenn es einen Spruch gebne wuerde mit dem wir vergiften,
wenn wir es schon heilen koennen ....

Twingo

-----------------------------------------------------------------------------



Re: Gift (Sharia, 21. Feb 1999, 14:24:52):
~#! rn=Twinsen rt=919606963 rg=gilden.klerus
~#! tid=919606963
VERGIFTEN ????
Wir sind KLERIKER !!! wir tun GUTES !!! (jetzt sagt nicht dass wir aber
kaempfen .. wir verbreiten unseren Glauben manchmal halt mit etwas .. hmm
durchschlagenden Mitteln...) 

Aber vergiften ist nun wirklich nichts was wir koennen sollten ! ich schlage
lieber meinen Gegnern weich bis er begreift was der wahre Glauben ist...

Sharia, schockiert ueber junge, unerfahrene Kleriker

-----------------------------------------------------------------------------



Re: Re: Gift (Twinsen, 21. Feb 1999, 14:26:30):
~#! rn=Sharia rt=919607092 rg=gilden.klerus
~#! tid=919606963
Du vielleicht aber ich find es cool wenn man seinen Gegner vergiften kann,
Ausserdem wenn ich schon jemand meinen Glauben aufzwinge dann merkt er doch
wie ernst ich das meine indem ich ihn vergifte.

-----------------------------------------------------------------------------



Re^3: Gift (Sharia, 21. Feb 1999, 14:27:26):
~#! rn=Twinsen rt=919607190 rg=gilden.klerus
~#! tid=919606963
Ich glaub ich plaediere fuer den Gildenrauswurf .......

Hast du den Sinn unserer Gilde nicht verstanden ? 

Sharia, findet es schade

-----------------------------------------------------------------------------



Re^3: Gift (Koomi, 21. Feb 1999, 16:38:17):
~#! rn=Twinsen rt=919607190 rg=gilden.klerus
~#! tid=919606963
Jo, und als (Ex)-Lemboldianer haette ich gerne eine Schutzhand von Lembold,
die alle physikalischen Angriffe abwehrt. Denn so kann ich auch meinen Glauben
zeigen.

Im Ernst: Der Klerus hat sich neben der Verbreitung des Glaubens auch der
Heilung und Fuersorge des Mit(menschen|elfs|hobbits|zwerg) verschrieben.
Ausserdem sind die Kleriker aufrecht, stark und ehrlich.

Da passt Gift als heimtueckische Waffe nicht besonders gut zu den Grundsaetzen
der Gilde und auch des Glaubens. 

Halbelf Koomi.

-----------------------------------------------------------------------------



Re^4: Gift (Jiddu, 21. Feb 1999, 17:41:26):
~#! rn=Koomi rt=919615097 rg=gilden.klerus
~#! tid=919606963
Was ist mit uns MitFelinen? ;)
Jiddu, einzeilig, wirft Twinsen etwas hartes an den Kopf.

-----------------------------------------------------------------------------



Re: Gift (Teddy, 21. Feb 1999, 19:07:19):
~#! rn=Twinsen rt=919606963 rg=gilden.klerus
~#! tid=919606963
Au ja, dann noch verfluchen wenn ihr schon entfluchen koennt und Haende und
... abhacken und blind machen und ...

Teddy, versteht die Argumentation wohl nicht ganz.

-----------------------------------------------------------------------------



Re^3: Gift (Teddy, 21. Feb 1999, 19:09:43):
~#! rn=Anatol rt=919624141 rg=gilden.klerus
~#! tid=919606963
Moment Anatol, verletze zappt nicht immer, erwecke waere nur fuer Todeszauber
als Gegenstueck ok, verletze waere halt nen Heilspruch.

Teddy, wartet schon auf die heilebnde Feuerwalze in den Nebenraum ;)

-----------------------------------------------------------------------------



Re: Gift (Zino, 21. Feb 1999, 21:16:50):
~#! rn=Twinsen rt=919606963 rg=gilden.klerus
~#! tid=919606963
Werd Bierschuettler. Da kannste vergiften, und vor allem kannste jammern, ohne
dass Deine Gildenbrueder und -schwestern gleich mit Rauswurf drohen. ;)

Zino

-----------------------------------------------------------------------------



Re: Re: Gift (Zwocklhuber, 21. Feb 1999, 21:25:59):
~#! rn=Zino rt=919631810 rg=gilden.klerus
~#! tid=919606963
Fuers Jammern gibts immer noch /gag Twinsen


-----------------------------------------------------------------------------



Re^3: Gift (Wur, 21. Feb 1999, 21:48:13):
~#! rn=Twinsen rt=919607190 rg=gilden.klerus
~#! tid=919606963
Nun, nach deiner Argumentation koenntest du es auch mit der Folter versuchen.
Jedes Mittel waere legitim. Ist es das was du willst? Wenn ja, so waere die
Gilde keine Klerikergilde mehr.

Wur

-----------------------------------------------------------------------------



Re^4: Gift (Jiddu, 21. Feb 1999, 21:49:06):
~#! rn=Wur rt=919633693 rg=gilden.klerus
~#! tid=919606963
Endlich die Inquisition! :)
Jiddu.

-----------------------------------------------------------------------------



Re^3: Gift (Asmodis, 21. Feb 1999, 22:54:04):
~#! rn=Twinsen rt=919607190 rg=gilden.klerus
~#! tid=919606963
Hmm, auch ne Moeglichkeit ...
Das Gegengift verweigern, bis er zu eurem glauben konvertiert ist.....
Allerdings solche Glaubensfanatiker sollten eher in die Chaosgilde

-----------------------------------------------------------------------------



Re^5: Gift (Kellybundy, 22. Feb 1999, 01:19:11):
~#! rn=Jiddu rt=919633746 rg=gilden.klerus
~#! tid=919606963
Inquisition waere zumindestens realitaetsnaeher :)

Dumpfbacke

-----------------------------------------------------------------------------



Re^5: Gift (Songoku, 22. Feb 1999, 10:11:43):
~#! rn=Jiddu rt=919633746 rg=gilden.klerus
~#! tid=919606963
No One expects the Spanish Inquisition!
No One expects the Spanish Inquisition!
Sayonara.

-----------------------------------------------------------------------------



Der Talisman, Maulkorb fuer Kleriker? (Nevok, 22. Feb 1999, 10:26:20):
Ich glaube das geht ziemlich vielen von uns so. Man kommt mit dem guten
Vorsatz rein, mal kurz den Talisman zum strahlen zu bringen (maximum warp
mister sulu) sich aufzumachen, den Unglaeubigen das Wort Kandris, in meinem
Fall eher die Harfe oder den HAMMER derselbigen, naeherzubringen, zu questen
und, so man weiss wo, einen ZT zu finden.
Ploetzlich wird man aber in ein Gespraech verwickelt, so richtig hinterruecks
(voll gemein), man bleibt stehn, redet und bleibt haengen und auf einmal is
der Talisman weit vom strahlenden Zustand entfernt. Laut argelnd und, so er
Zwerg ist, in seinen Bart grummelnd verschwindet der Kleriker in seine Zelle
um sich auf die Knie zu werfen und den Segen seiner Gottheit (wie gesagt, in
meinem Falle Kandri) zu erflehen, auf dass der Akku, will sagen der Talisman
wieder voll wird, um frisch gestaerkt und wohlgemut wieder die Botschaft
seiner Gottheit (ich bin mir recht sicher, dass ich erwaehnte, dass ich Kandri
das Geloebnis abgelegt habe...) zu verkuenden.
So wird aus einer kurzen Aktion eine grosse Sache....rechnet man mal zusammen,
wie oft man 'buessen' muss fuer eine Unterhaltung mit Freunden so kommt man,
bei redseligen Charakteren, schon auf eine beachtliche Minuten oder gar
Stundenzahl an reiner Betzeit. Das kann es doch nicht sein. Wieso kann man den
Talisman nicht auf 'Standby' schalten fuer solche Faelle?
Ja, nun moegen viele Missbrauch wittern, oder freundlich daran erinnern, dass
in den Tempeln sowie in den Seherhaeusern der Talisman 'eingefroren' ist.
Schoen und gut, Seherhaeuser sind ja ganz nett, aber wenn Du noch kein Seher
bist, hast Du damit irgendwie ein Problem. Ich will ja nicht den
ein/ausschalter fuer den Talismanm, da dieser wirklich zum Missbrauch
einlaedt, aber waere es so schlimm, an Stellen wo man als Charakter haeufiger
mal rumsteht und Zeit verbringt einfach den selben 'freeze' zu haben wie im
Tempel? spontan faellt mir da der Tiger, die Abenteurergilde sowie der
Strandkorb ein. Nachdem es da auch nix zu metzeln gibt, sehe ich auch keine
grossartigen Balanceschwierigkeiten.
Vielleicht uebersehe ich ja auch was eklatant simples, aber das ist einfach
eine der Sachen, die mir ziemlich auf den Senkel geht und die meines Erachtens
dazu fuehrt, dass der eine oder andere eher seinen Zweitie im Klerus parkt, da
der ja immer schoen betend rumstehen kann waehrend der Erstie brav und ohne
schlechtes Gewissen oder Suehne rumstehen und reden kann.
Bellum Vobiscum!
Nevok, Priester der Kandri und immer noch dabei irgendwann mal Seher zu
werden, wenn er, statt staendig zu reden und hernach stundenlang den Talisman
aufzuladen (beten mit Lag is nich jedermanns Sache...) endlich mal questet und
FPs sammelt...Bei LPs-LaberPunkten waere er mitlerweile Gott (Rutsch mal,
Boing ;) )

-----------------------------------------------------------------------------



Re^4: Gift (Nonne, 22. Feb 1999, 12:33:44):
~#! rn=Sharia rt=919607246 rg=gilden.klerus
~#! tid=919606963
Mmh, das mit dem Rauswurf sollte man mal ueberdenken. Vielleicht sollten 5
erleuchtete eine Konferent abhalten koennen, und zusammen entscheiden, wer aus
der Gilde ausgschlossen wird, natuerlich nur wegen heftiger Verfehlungen. Aber
wenn ich sehe, was hier manchmal rumlaeuft, das hat doch nichts mit Glaube
oder Klerikertum zu tun. Es sollte natuerlich nicht einfach sein. Man muesste
vielleicht erst einen Tadel aussprechen und unter den Erleuchteten muessten
alle 3 Goetter vertreten sein und ein HP muss das absegnenen oder so. Aber vom
Prinzip her koennte sich die Gilde dadurch selbst reinigen.
War jetzt nur mal so ein Gedanken, nicht zuende gedacht und auch nicht
ausgereift. Was denkt Ihr denn so darueber?

Nonne.

-----------------------------------------------------------------------------



Re^5: Gift (Anatol, 22. Feb 1999, 14:22:57):
~#! rn=Nonne rt=919686824 rg=gilden.klerus
~#! tid=919606963
Dumm, dass ziemlich viele dieser Verfehlungen selbst in den Raengen
der Erleuchteten sind oder gar zu den Hohepriestern des Ordens zaehlen.

Anatol


-----------------------------------------------------------------------------



Nonne, Du bist raus :) (Illian, 22. Feb 1999, 15:09:32):
Als Moechtegern-Hohepriester muss ich Dir mitteilen:
Nonne, Du bist raus. Dein Ziel sollte es sein den verfehlten auf den rechten
Weg zurueckzufuehren, und nicht, ihn rauszuwerfen. Wir nehmen schliesslich
jeden, der auf den rechten Weg zurueckkehrt. Also, mehr bekehren und weniger
kaempfen.
Lahm

-----------------------------------------------------------------------------



Grundsaetze (Bottom, 22. Feb 1999, 20:05:21):

Mehr beten und weniger labern!
Haelt den Talisman auf Hochglanz und erfreut Goetter und MPA-Leser!


-----------------------------------------------------------------------------



Re: Gift (Ark, 22. Feb 1999, 20:55:42):
~#! rn=Twinsen rt=919606963 rg=gilden.klerus
~#! tid=919606963
Hm, sind das dann Klerikerassassinen oder sowas? Was braucht ihr eigentlich
noch zum 'Ueberzeugen'? Schrotflinten, Heat-guided Missiles, GSMs zur
Standortbestimmung der Hydra, Helikopter, um die Verletzten in die Tempel zu
bringen ... bla ... laber ... suelz ...
Mal ernsthaft, stellt ihr/Du euch so Kleriker vor? Seid ihr/Du dann besser im
'Ueberzeugen'? Also dann, bevor Du mich vergiftest, dann tu' ich mal lieber
so, als ob ich Deine freundliche Gottheit anbete, die ist ja so ...
ueberzeugend :-)
Heute mal etwas wuerziger im Antworten, streicht die Polemik halt raus ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Der Talisman, Maulkorb fuer Kleriker? (Ark, 22. Feb 1999, 20:59:41):
~#! rn=Nevok rt=919679180 rg=gilden.klerus
~#! tid=919679180
Hm, nochmal so ein Wunsch wie der mit dem Gift eben, tsts. Warum sollte Eure
Gottheit Euch eigentlich die Lampe zum Brennen bringen und sie dann auf
Standby schalten, wenn es Euch beliebt? Dafuer kann sie doch nichts, wenn ihr
so unkonzentriert zur Sache geht und labert anstatt gute Taten zu vollbringen.
Dann auch noch weinen, wenn der liebe Gott/oettin es satt hat? Naja, los doch,
mit ein wenig mehr Enthusiasmus bei der Sache bleiben und fleissig
weiterbeten, denn viel hilft viel oder so :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Der Talisman, Maulkorb fuer Kleriker? (Kellybundy, 22. Feb 1999, 21:19:52):
~#! rn=Ark rt=919717181 rg=gilden.klerus
~#! tid=919679180
Schon mal was von Demut und Bescheidenheit gehoert und moenchischer
Genuegsamkeit? *GGG*

-----------------------------------------------------------------------------



Re^3: Der Talisman, Maulkorb fuer Kleriker? (Ark, 22. Feb 1999, 21:45:54):
~#! rn=Kellybundy rt=919718392 rg=gilden.klerus
~#! tid=919679180
Hm, Moench!=Kleriker???


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Der Talisman, Maulkorb fuer Kleriker? (Zwocklhuber, 22. Feb 1999, 22:00:42):
~#! rn=Ark rt=919719954 rg=gilden.klerus
~#! tid=919679180
Moenche gehoeren doch wohl auch zum Klerus?
oder irre ich das?

-----------------------------------------------------------------------------



Re^5: Der Talisman, Maulkorb fuer Kleriker? (Ark, 22. Feb 1999, 22:02:15):
~#! rn=Zwocklhuber rt=919720842 rg=gilden.klerus
~#! tid=919679180
Jo, aber sie scheinen sich doch immer schon etwas 'abgeseilt' zu haben, nicht
umsonst gesteht man ihnen in einigen Rollenspielen eine eigene Charakterklasse
zu.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Der Talisman, Maulkorb fuer Kleriker? (Zwocklhuber, 22. Feb 1999, 22:04:04):
~#! rn=Ark rt=919720935 rg=gilden.klerus
~#! tid=919679180
Naja mit Moenchen meint man in den RPGs wohl eher den ostasiatischen Typus,
mit Karate KungFu usw ...

-----------------------------------------------------------------------------



Re: Der Talisman, Maulkorb fuer Kleriker? (Alpha, 22. Feb 1999, 22:04:08):
~#! rn=Nevok rt=919679180 rg=gilden.klerus
~#! tid=919679180
Dem von Dir geschildertem Problem liesse sich doch viel einfacher beikommen.
Beten ist doch ein eher mentaler Prozess, der im Kopf stattfindet und nicht
durch das blosse Plappern irgendwelcher von zweifelhaftem Sinn getraenkter
Texte gekennzeichnet ist. Dass ein Kleriker beim Beten nicht mehr genuegend
Konzentration zum zielgenauen Schwingen einer Keule oder Ausfuehren sonstiger
Kampfesaktionen aufbringen kann ist klar. Ich denke jedoch, dass er wohl dazu
in der Lage ist, waehrend des Betens mit anderen Glaubensbruedern oder
Noch-Nicht-Glaubensbruedern zu kommunizieren. Sprich: warum ist teile mit/sage
beim Beten nicht erlaubt?
Alpha.

-----------------------------------------------------------------------------



Re: Re: Der Talisman, Maulkorb fuer Kleriker? (Ark, 22. Feb 1999, 22:10:00):
~#! rn=Alpha rt=919721048 rg=gilden.klerus
~#! tid=919679180
Ganz einfach: weil Du hoffentlich beim Reden mitdenkst :-) Damit faellt die
Konzentration fuer's Beten flach, oder? Monotones Nachplappern von Worten ist
es nicht, da besteht wohl ein Missverstaendnis, die Worte sind eher eine
Verlautbarung dessen, an was der Betende glaubt und stehen somit in
unmittelbarem Zusammenhang damit. Multitasking is also hier nicht! Aus, Pasta,
Fertich, Einspruch? Nicht? Weitermachen ... :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Der Talisman, Maulkorb fuer Kleriker? (Jiddu, 24. Feb 1999, 01:01:06):
~#! rn=Alpha rt=919721048 rg=gilden.klerus
~#! tid=919679180
Also die Idee find ich ziemlich schwach!
Der Klerus soll seiner Gottheit wenigstens ab und zu seine uneingeschraenkte
Aufmerksamkeit widmen und zu ihm beten, ihn bitten ihm im Kampf gegen das
boese beizistehen usw (und dass die Goldadern nicht versiegen und dass kein
agressives Monster 'reinkommt, ja:) 
"Wenn ich schon mal am quatschen bin kann ich auch gleich im hintergrund
beten" ist jedoch meiner Meinung nach die falsche einstellung.
Jiddu, findet das System so wie es ist gelungen.

-----------------------------------------------------------------------------



Re^3: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 01:12:56):
~#! rn=Jiddu rt=919818066 rg=gilden.klerus
~#! tid=919679180
Also, nochmal im Klartext
Ich moechte nicht das 'Hintergrundbeten' haben, das ist Schwachsinn. 
Was ich moechte sind Freiplaetze an Orten wo keinerlei Konflikte kommen, wo
man also nich unbegrenzte Energie hat. Solche Orte sind z.B. das eigene
Seherhaus, die Tempel des Klerus und das Mietshaus in Williburg
Wieso ist es so ein Ding der unmoeglichkeit, an Orten wie der Abenteurergilde
oder dem Sandtiger, dem Strandkorb und aehnlichen Raeumen ebenfalls eine
'Ruhestaette' fuer den Talisman zu haben?

ein kopfschuettelnder
ein kopfschuettelnder
Nevok

-----------------------------------------------------------------------------



Re^4: Der Talisman, Maulkorb fuer Kleriker? (Mahatmu, 24. Feb 1999, 01:47:15):
~#! rn=Nevok rt=919818776 rg=gilden.klerus
~#! tid=919679180
Den kapier ich jetzt net. Du moechtest, dass das an gewissen Orten nicht
klappt? Oder wiewaswo? Zwingt Dich einer?

Gloin

-----------------------------------------------------------------------------



Re^5: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 01:48:39):
~#! rn=Mahatmu rt=919820835 rg=gilden.klerus
~#! tid=919679180
ok, ganz langsam
ich moechte mich ohne strafe in bezug auf zwangsbeten unterhalten koennen an
orten, wo man sowieso nichts anderes tut.

nicht mehr, nicht weniger


Nevok

-----------------------------------------------------------------------------



Re^6: Der Talisman, Maulkorb fuer Kleriker? (Mahatmu, 24. Feb 1999, 01:49:26):
~#! rn=Nevok rt=919820919 rg=gilden.klerus
~#! tid=919679180
Schon kapiert, nachdem ich den Artikel 1 nochmal las :)
Aehm, etwas kuerzer: Durchaus dafuer. Morgoth, koenntest Du eventuell ... ?

Gloin ... Obernonne a.D.

-----------------------------------------------------------------------------



Re: Re: Gift (Gorog, 24. Feb 1999, 02:53:26):
~#! rn=Sharia rt=919607092 rg=gilden.klerus
~#! tid=919606963
Hmm Sharia Durchschlagen tu ich selten. Eher einschlagen oder zerschlagen (;
aber auch nur bei boesen Buben, so wie sich das gehoert!

Gorog der fremden boesen Seelen gerne einen freien schnellen und
unkomlizierten Weg zur Busse bereitet.

-----------------------------------------------------------------------------



Re^5: Gift (Gorog, 24. Feb 1999, 02:55:26):
~#! rn=Jiddu rt=919618886 rg=gilden.klerus
~#! tid=919606963
Na was is wohl mit Euch Fellbuescheln??? Les dir die Rollen in den Tempeln
durch und hoffe lebend raus zu kommen.

Gorog is zwar mehr fuer Ratten am Spiess, aber bei Katzen kann man auch nicht
nein sagen.

-----------------------------------------------------------------------------



Re^6: Gift (Sharia, 24. Feb 1999, 03:00:06):
~#! rn=Gorog rt=919824926 rg=gilden.klerus
~#! tid=919606963

KATZEN ... da denk ich nur an meine Katzenhaarallergie .. da wird mir schon
schlecht ... getoastet oder gegrillt kann man sie vielleicht runterwuergen ..
aber ansonsten kann man Katzen doch echt vergessen ... schreckliche Viehcher
....

Sharia

-----------------------------------------------------------------------------



Re^6: Gift (Jiddu, 24. Feb 1999, 03:20:14):
~#! rn=Gorog rt=919824926 rg=gilden.klerus
~#! tid=919606963
Ich muss mal nen Rentner nach den guten alten Zeiten fragen, ob damals auch
alle Threads frueher oder spaeter in sinnloses Flamen (Du wehrst den Spruch
ab.) uebergegangen ist.. :)
Du als Klerus, der Du Dich sicherlich besser auskennst mit euren Rollen
findest die einstellung also okay, dass das laestige beten waehrend
irgendeiner nichtkaempferischen Taetigkeit im Hintergrunf ablaeuft?
Und Du drohst mir mit dem Tod falls ich (ich bin grade heilig:) euren Tempel
betrete?
Weiter so..

FidKG,
Jiddu.

-----------------------------------------------------------------------------



Re^7: Gift (Nevok, 24. Feb 1999, 03:22:08):
~#! rn=Jiddu rt=919826414 rg=gilden.klerus
~#! tid=919606963
Nevok verweist auf den anderen Thread
nicht das beten soll im hintergrund ablaufen
sondern die abwaertsveraenderung bzw entladung des talismans soll an
bestimmten stellen ausgeschaltet werden.beten kann so bleiben wie es ist

Nevok

-----------------------------------------------------------------------------



Re^7: Gift (Gorog, 24. Feb 1999, 03:23:38):
~#! rn=Jiddu rt=919826414 rg=gilden.klerus
~#! tid=919606963
Ich habe nie gedroht, dich anzugreifen (; das erledigen die NPCs wenn sie dran
denken. 

Gorog, der M* sowas zutraun wuerde.

-----------------------------------------------------------------------------



Re^8: Gift (Jiddu, 24. Feb 1999, 03:24:10):
~#! rn=Nevok rt=919826528 rg=gilden.klerus
~#! tid=919606963
Die Threads gehoeren doch zusammen oder?
So oder so.. dagegen, dass der Talisman sich nicht veraendert in der AG und am
Tiger (usw) habe ich ja nichts einzuwenden.
Jiddu.

-----------------------------------------------------------------------------



Re^8: Gift (Morgoth, 24. Feb 1999, 08:23:26):
~#! rn=Gorog rt=919826618 rg=gilden.klerus
~#! tid=919606963
Thanx, werds vielleicht bei Gelegenheit mal machen.

M*

-----------------------------------------------------------------------------



Re^4: Gift (Key, 24. Feb 1999, 18:54:39):
~#! rn=Asmodis rt=919637644 rg=gilden.klerus
~#! tid=919606963
Sowas nehmen wir net auf!

Key, 1. Vorsitzender des Chaosrates

-----------------------------------------------------------------------------



Re: Der Talisman, Maulkorb fuer Kleriker? (Key, 24. Feb 1999, 18:57:02):
~#! rn=Nevok rt=919679180 rg=gilden.klerus
~#! tid=919679180
Ich hab jetzt Deinen Artikel net vollstaendig gelesen, also flame wenn ich was
falsch verstanden habe ...

Allso ... wie ich das sehe ist man Kleriker aus Ueberzeugung, und nicht nur
fuer 1 minute im Kampf!
Das heisst auch das man staendig mit seiner Gottheit in Verbindung sein
sollte.

Key ruft: Kleriker sind eh nur Fackeln!

-----------------------------------------------------------------------------



Re^4: Der Talisman, Maulkorb fuer Kleriker? (Key, 24. Feb 1999, 19:01:36):
~#! rn=Nevok rt=919818776 rg=gilden.klerus
~#! tid=919679180
Weil das rumknutschen mit Amanda im Strandkorb wohl kaum Gottgefaellig ist.

Morgoth bau diese "Freiplaetze" doch einfach wieder aus ....

Key Reich einem Kleriker den kleinen Finger und er reisst Dir beide Arme aus.

-----------------------------------------------------------------------------



Re^5: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 19:07:22):
~#! rn=Key rt=919882896 rg=gilden.klerus
~#! tid=919679180
nicht nur scheinst du den artikel nicht gelesen zu haben sondern scheinst du
auch nix ueber die kleriker zu wissen.
uns ist zwar das heiraten untersagt aber verloben sowie die 'freuden des
lebens' sind uns gestattet.
erst informieren, dann kommentieren...

Nevok

-----------------------------------------------------------------------------



Re^6: Der Talisman, Maulkorb fuer Kleriker? (Mahatmu, 24. Feb 1999, 19:22:51):
~#! rn=Nevok rt=919883242 rg=gilden.klerus
~#! tid=919679180
Ziemlich kurz und gut nochemal: Mahatmu habe ich mir eigentlich erst zum
Ideln richtig angewoehnt, als ich sowieso nur noch zum Zeitungslesen rein-
kam und es mir zu schad war, beim parallelen Proggen den Tali zu schwaerzen.
Rassenstartraeume, jede Post, die Gilden waeren echt nett als nonidle-Area.
Welcher Metzler zum Geier scriptet da schon hin? Die das wirklich machen, sind
ebensowenig Kleriker wie Key allein vom Bahnhof zurueckfindet.

gloin

-----------------------------------------------------------------------------



Re^6: Der Talisman, Maulkorb fuer Kleriker? (Key, 24. Feb 1999, 19:23:58):
~#! rn=Nevok rt=919883242 rg=gilden.klerus
~#! tid=919679180
Pff Freuden des Lebens!
Euch sollte man zu Eunuchen machen :)

Werd ich mal Lembold vorschlagen =;)

Key

-----------------------------------------------------------------------------



Re^7: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 19:25:13):
~#! rn=Key rt=919884238 rg=gilden.klerus
~#! tid=919679180
kannst Du eigentlich auch was ausser Flamen? bau Dir Deine Eigene Rubrik oder
Kolummne in die Zeitung ein, und nochwas.....den Punkt nicht die Person
angreifen...

Nevok

-----------------------------------------------------------------------------



Re^8: Der Talisman, Maulkorb fuer Kleriker? (Mahatmu, 24. Feb 1999, 19:27:43):
~#! rn=Nevok rt=919884313 rg=gilden.klerus
~#! tid=919679180
Da hat er aber recht. So eine Schande ... Nevok, Du warst das also, der
die Messdiener aus dem Tempel verschreckt hat. Lebensfreude. Geh mal ein
bissel asketischer ran! Neineinein, so eine Schande.
Gildentitel: Nevok der wolluestige Priester.

Mahatmu

-----------------------------------------------------------------------------



Re^7: Der Talisman, Maulkorb fuer Kleriker? (Key, 24. Feb 1999, 19:30:33):
~#! rn=Key rt=919884238 rg=gilden.klerus
~#! tid=919679180
Bist Du Lembold?

Key

-----------------------------------------------------------------------------



Re^8: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 19:34:33):
~#! rn=Key rt=919884633 rg=gilden.klerus
~#! tid=919679180
*schuettelt den Kopf*
Ist doch schoen, wenn man was vorschlaegt und dann bloede Reaktionen kriegt
von Leuten, die einen partout missverstehen wollen oder einfach einen Grund
suchen um andere Leute beleidigen zu koennen. Wer sowas braucht, bitte.
Ich komm hier in erster Linie zum Spielen hin, andere anscheinend zum
vermiesen..
Kann man nix machen ausser ignorieren.

Nevok, der von vielen Dingen die Schnauze voll hat

-----------------------------------------------------------------------------



Re^9: Der Talisman, Maulkorb fuer Kleriker? (Key, 24. Feb 1999, 19:36:44):
~#! rn=Nevok rt=919884873 rg=gilden.klerus
~#! tid=919679180
Mein Gott wenn Du heulen willst dann heul.

Vielleicht probiere ich noch irgendwie irgendwo nen bisserl Stimmung zu
suchen, aber vielleicht bin ich auch schon zu alt, und sowas existiert gar
nicht mehr.
Vielleicht gilt als Spielen wirklich nurnoch wie hart man wem die Fresse
polieren kann ...

Key

-----------------------------------------------------------------------------



Re^10: Der Talisman, Maulkorb fuer Kleriker? (Nevok, 24. Feb 1999, 19:40:16):
~#! rn=Key rt=919885004 rg=gilden.klerus
~#! tid=919679180
wo bittesehr liest du das raus?
alles was ich will is mich unterhalten koennen ohne nachher wieder 2 stunden
mit beten abideln zu muessen weil der talisman zwischendurch schwarz geworden
ist.
es soll leute geben die telefonrechnungen zahlen muessen
und ich denke, das reden gehoert genauso zum spielen wie alles andere
auch......und wer zu den klerikern zum metzeln geht hat wohl was falsch
verstanden...

Nevok

-----------------------------------------------------------------------------



Re^10: Der Talisman, Maulkorb fuer Kleriker? (Bottom, 24. Feb 1999, 19:43:29):
~#! rn=Key rt=919885004 rg=gilden.klerus
~#! tid=919679180

Wann bewerft Ihr Euch mit Baukloetzchen?

Lembold schenke den Einfaeltigen Einsicht
und fuehre die Chaoten auf den rechten Weg zurueck!


-----------------------------------------------------------------------------



die armen fehlgelaufenen Chaoten (Hexxer, 24. Feb 1999, 20:22:45):

Baukloetzchen werfen .. :-)) => da faellt mir was ein
Man koennte doch ne neue Anrufung einfuehren... "banne" oder sowas
Wirkung: man bannt das boese aus dem Spieler (nur auf spieler anzuwenden) und
dieser wird dann eine gewisse zeit nix boeses mehr tun koennen.
Also er wird sozusagen von einem Zauber getroffen,d er ihn veranlasst das
boese in sich zu bekampfen und er in dieser Zeit keine Angriffe oder
Angriffszauber
ausprechen kann... gegenueber Wesen die eine bessere Gesinnung haben als die
seinige (des gebannten).. u.s.w.
Vorraussetzungen fuer diesen Zauber koennte z.b. sein, dass der aussprechende
in dem Moment die Gesinnung "heilig" haben sollte und erst ab der Stufe des
Priesters moeglich seien.

Morgoth: was haelst Du davon, mal abgesehen davon dassu sicher nicht die
Zeit fuer haben wirst... ?? 

*Hexxer* treu betender Kleriker, der nur (mit Ausnahme des Kristalldrachens)
boesen und satanischen Gegner das Gute einbleut* 

-----------------------------------------------------------------------------



Re: die armen fehlgelaufenen Chaoten (Jiddu, 24. Feb 1999, 21:38:16):
~#! rn=Hexxer rt=919887765 rg=gilden.klerus
~#! tid=919887765
Siehe dem Thread 'shield' bei den Zauberern :)
Das waere ja eigentlich nur gut um andere Spieler zu behindern und eventuell
im rechten Moment angewandt eine PK-Moeglichkeit.. 
Abgesehn davon sehe ich nicht, was das wirklich bringen sollte.
 Jiddu.

-----------------------------------------------------------------------------



Re: Re: die armen fehlgelaufenen Chaoten (Mahatmu, 24. Feb 1999, 22:52:24):
~#! rn=Jiddu rt=919892296 rg=gilden.klerus
~#! tid=919887765
Um Dich zu aergern? AUF IHN!

Aeh, *gaehn* Muhutma.

-----------------------------------------------------------------------------



Re^3: die armen fehlgelaufenen Chaoten (Morgoth, 24. Feb 1999, 23:55:32):
~#! rn=Mahatmu rt=919896744 rg=gilden.klerus
~#! tid=919887765
Seid ihr jetzt endlich fertig? Sonst uebergehe ich diesen Thread. Macht das
per Mail oder in der Arena aus, so langsam wirds nervig.
Fuer alle nochmal:
Es gibt 4 'Orte' an denen der Tali nicht runtergeht, naemlich die beiden
Gildenraeume, sein eigenes Seherhaus und einen wahrhaft himmlischen Ort.
Geruechte, der Strandkorb, Sandtiger oder sonstiger Schnickschnack waeren da
drin sind FALSCH und bleiben es auch !!! 

Chef Morgoth sagt: Ruhe jetzt !

-----------------------------------------------------------------------------



Re^11: Der Talisman, Maulkorb fuer Kleriker? (Tarina, 25. Feb 1999, 01:11:37):
~#! rn=Nevok rt=919885216 rg=gilden.klerus
~#! tid=919679180
Nur mal als Ausgleich fuer andere Kommentare zu diesem Thema:

Ich kann Dich gut verstehen. Im Grunde moechtest Du Deinen Skill nicht
verlieren, nur weil Du mit jemandem kloenst. Soweit ich weiss, verlieren
Kaempfer auch keinen Schwertskill waehrend des Kloenens. Von daher finde ich
den Wunsch legitim.
Mal abgesehen davon: Reden ist sozial. Guckt Euch mal in Krankenhaeusern um,
da redet das Personal nicht mehr... und alle schimpfen drueber. Und hier im MG
soll das das Wunschverhalten sein?

Ne, ich finds okay, wenn es 'Gelaende' gibt, wo man ausserhalb von Pflichten
ist. Schliesslich profitiert ein Kleriker beim Reden auch nicht von Lembold,
oder doch? ;-)

Gruss,
Tarina

-----------------------------------------------------------------------------



Re^12: Der Talisman, Maulkorb fuer Kleriker? (Zook, 25. Feb 1999, 01:19:09):
~#! rn=Tarina rt=919905097 rg=gilden.klerus
~#! tid=919679180

>..Schliesslich profitiert ein Kleriker beim Reden auch nicht von Lembold,
>oder doch? ;-)

Waere schoen, wann das manchmal der Fall waere....

Zook, grinsend und noch anmerkend: -> schmarrn

-----------------------------------------------------------------------------



Re^4: die armen fehlgelaufenen Chaoten (Mahatmu, 25. Feb 1999, 03:22:52):
~#! rn=Morgoth rt=919900532 rg=gilden.klerus
~#! tid=919887765
Mammi! Ich will den Gildenchef wieder, der Aebtissin von Obernonne
unterscheiden konnte.

Gloin

-----------------------------------------------------------------------------



Talisman (Lena, 25. Feb 1999, 06:13:28):
aber wenn man in den "freien" Raeumen betet, wird der Tali besser.
D.h. ich kann theoretisch ewig da drin stehen bleiben und ab und zu mal beten
und der tali wird hoechstens besser. Hab ich das richtig verstanden?
Nicht dass ich da was dagegen haette. Wollts nur wissen. :)

-----------------------------------------------------------------------------



Re^6: Der Talisman, Maulkorb fuer Kleriker? (Highlander, 25. Feb 1999, 08:47:06):
~#! rn=Nevok rt=919883242 rg=gilden.klerus
~#! tid=919679180
> uns ist zwar das heiraten untersagt aber verloben [...] sind gestattet
Das kommt mir seltsam vor, schliesslich ist eine Verlobung ein
Eheversprechen - und ich glaube nicht, dass ein Kleriker wissentlich eine
Art Meineid begehen sollte.
   HrT, nitpicker

-----------------------------------------------------------------------------



Re^4: die armen fehlgelaufenen Chaoten (Highlander, 25. Feb 1999, 08:48:52):
~#! rn=Morgoth rt=919900532 rg=gilden.klerus
~#! tid=919887765
Dass dem nicht so ist, ist schon klar, aber ich gebe zu, dass ich den
Wunsch verstehe. Wenn der Talisman da auch nicht raufgeht,
waer das denke ich auch in Ordnung.
   HrT, wird wohl alt, wenn er schon Spieler unterstuetzt ;>

-----------------------------------------------------------------------------



Re: Talisman (Nevok, 25. Feb 1999, 08:50:48):
~#! rn=Lena rt=919923208 rg=gilden.klerus
~#! tid=919923208
yup so is das im tempel und so
angeblich geht das alles noch besser im gebetsraum, so von der geschwindigkeit
chef, is da was dran?

Nevok

-----------------------------------------------------------------------------



Re: Re: Talisman (Morgoth, 25. Feb 1999, 08:59:59):
~#! rn=Nevok rt=919932648 rg=gilden.klerus
~#! tid=919923208
Es soll Raeume geben, die das beten 'unterstuetzen', also einen freieren Weg
zu den Goettern haben, so dass diese sich fuer die Gebete erkenntlicher zeigen
koennen.

M*

-----------------------------------------------------------------------------



talisman (Kamelot, 25. Feb 1999, 17:28:08):
wie waere es denn wenn es fuer das einfrieren des talismans ein gebet gibt was
beendet wird wenn man den raum wechselt oder man in einen Kampf verwickelt
wird

mfg Kamelot

-----------------------------------------------------------------------------



Re: talisman (Key, 25. Feb 1999, 17:28:49):
~#! rn=Kamelot rt=919963688 rg=gilden.klerus
~#! tid=919963688
Wo ist da der Unterschied zum normalen Beten?

Key

-----------------------------------------------------------------------------



Re: Re: talisman (Kamelot, 25. Feb 1999, 18:17:22):
~#! rn=Key rt=919963729 rg=gilden.klerus
~#! tid=919963688
Bei anderen Gilden wuerde man sowas einen Spruch oder Spell nenen
Der Unter schied zum Beten waere das man in dem Raum alles machen kann ausser
Kaempfen und sich bewegen 
beim Beten kann man nichts machen weil das die Andacht stoeren wuerde.

-----------------------------------------------------------------------------



Re^3: talisman (Anatol, 25. Feb 1999, 19:21:54):
~#! rn=Kamelot rt=919966642 rg=gilden.klerus
~#! tid=919963688
Du kannst auch einfach Bierschuettler werden.

Man kann auch mit einem nicht-strahlenden Talisman metzeln gehen, man 
MUSS ja nicht den Tante-Sharia-Ich-muss-perfekt-sein-Trend mitmachen. 

Anatol - alles andere als perfekt


-----------------------------------------------------------------------------



Re^4: talisman (Nevok, 25. Feb 1999, 19:23:10):
~#! rn=Anatol rt=919970514 rg=gilden.klerus
~#! tid=919963688
es kommt aber doch vor dass man eventuell etwas laenger redet
und ein schwarz angelaufener talisman ist nich so das wahre...

Nevok

-----------------------------------------------------------------------------



Re^5: talisman (Ark, 25. Feb 1999, 21:11:49):
~#! rn=Nevok rt=919970590 rg=gilden.klerus
~#! tid=919963688
Sagt mal, ihr Kleriker, wollt ihr eigentlich beten oder noergeln, fromm sein
oder rumstoehnen, die Hilfe der Goetter oder nur eure Ruhe, in euch gehen im
stillen Gespraech oder lustig rumlabern?
Ihr koennt ja weiterhin beides, warum seid ihr des ach so haeufig beschworenen
Gildenfeelings nicht mal in der Lage, beides zu trennen (alles zu seiner
Zeit)? Ich versteh's manchmal nicht, meinetwegen macht alles superbequem
fuer's Spielen, aber fuehlt euch dann bitte nicht immer ernstgenommen.
Ich meine das wirklich nur halb witzig, denn ich habe in meiner
Rollenspielkarriere immer sehr gern solche klerikalen Charaktere uebernommen,
nicht dass das irgendwie wichtig waere, nur halt meine Meinung. Sooooo ... :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: talisman (Nevok, 25. Feb 1999, 21:21:54):
~#! rn=Ark rt=919977109 rg=gilden.klerus
~#! tid=919963688
durchaus legitim wenn man die ganze zeit 'in character' ist
ich spiele selber seit ewigkeiten einen Kleriker, aber stell Dir vor, es
passiert doch tatsaechlich, dass wir am Tisch sitzen und uns einfach so
unterhalten, was nich mit Rollenspiel zu tun hat...und soweit ich sehe
passiert sowas mitunter auch in MG
oder war das jetzt gerade die Meinung des MG -Charakters ARK und nicht des
Spielers????

Nevok

-----------------------------------------------------------------------------



charakterpause (Acrimon, 25. Feb 1999, 22:00:44):
Ich fasse mal zusammen:
Die Kleriker sind die erste Gilde, denen eine Art MG-Zeit davonlaufen kann.
Denn der Talisman verdunkelt sich langsam, wenn man nicht an bestimmten,
selten gestreuten Orten steht.
Und - passiert ja eigentlich jedem - man spielt im MG nicht staendig seinen
Charakter, sondern vergiszt den Charakter voellig, und alles dreht sich
ploetzlich ums (virtuelle?) RL-Gespraech.
Jedes Spiel, in dem eine Art Zeit ablaeuft, hat eine Art Pause-Funktion.
Nur eben das MorgenGrauen noch nicht.

Und jetzt dreht es sich eben darum, wie man am besten solch eine
Pause-Funktion einbauen kann.
Das Optimum waere: sobald man "zeitpause ein" eingibt, werden sowohl alle
zeitbedingten Spielerwerte eingefroren als auch alle spielrelevanten Befehle
gesperrt. "zeitpause aus" macht dies wieder rueckgaengig.
Fragt sich nur noch, wie man das implementieren sollte, denn dadurch werden
solche Fragen wie "zaehlt das Maexchen-Spiel jetzt zum Charakterspielen oder
zum RL-Spielen?" aufgeworfen.

Hoffentlich hilft diese Zusammenfassung weiter...

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: talisman (Gorog, 25. Feb 1999, 22:33:23):
~#! rn=Kamelot rt=919963688 rg=gilden.klerus
~#! tid=919963688
Hmm also, damit auch ich meine Meinung kundtue. Ich habe keine Probleme mit
dem Talisman, halte ihn meistens zwischen glaenzend unf strahlend und bete nie
mehr als ne halbe Stunde (naja selten). Ausserdem was solls is halt n Feature
der Gilde. 

Sicher ist es gelegentlich nervig beten zu gehn und kostet online-Zeit, aber
die kann man ja damit vergeuden ins WWW zugehn und nach den neuesten Infos zu
Baldurs Gate oder anderen suchtigen Spielchen zu suchen oder von dort aus die
Zeitung zu lesen. Jedenfalls wird meine Betzeit damit verbracht.

Gorog, der absolut keine Probleme mit dem beten hat und die Sache eigentlich
ganz gut findet.

-----------------------------------------------------------------------------



Re: Re: die armen fehlgelaufenen Chaoten (Asmodis, 25. Feb 1999, 23:08:53):
~#! rn=Jiddu rt=919892296 rg=gilden.klerus
~#! tid=919887765
Wenn jede Gilde so einen Nerv-Spell kriegt, dann gleicht sich das aus :-)

-----------------------------------------------------------------------------



talisman (Kamelot, 26. Feb 1999, 08:39:59):
Nur um das klar zustellen ich habe selber keine Probleme mit dem Beten hatte
nur ne idee wie man den Leuten vielleicht helfen koennte die ein Problem damit
haben.
Kamelot wird nie ein Bierschuettler mir gefaellt es ein Kleriker zu sein.

-----------------------------------------------------------------------------



Talisman & co (Hexxer, 26. Feb 1999, 15:15:02):
               Liebe Mitkleriker!
Es ist ja toll mitanzusehen, wie sehr sich die Gemueter der Kleriker und
Klerikerzweities erhitzen, wegen einem sicher doch kleinen Malus.
Ich hab mich mal in den anderen Gilden umgesehen, speziell den Trves und
Zauberern. Und kam zu dem Schluss, so sehr gebeutelt sind wird nun scheinbar
gar nicht mit unserem strahlensellenden Talisman.
Die Zauberer muessen halt immer die eine oder andere Zutat fuer ihere Zauber
besorgen und die Trves nuja haben sicher sehr heftige Kampfspells, doch dafuer
ist
das aufsteigen bei den Kaempfern doch enorm langwieriger als bei uns in der
Klerikergilde.

Vielleicht sollte ja JEMAND (=> Zaunspfahl an Morgoth) ein Machtwort spechen
und der Diskussion, die keinerlei neue Fakten mehr zu bringen scheint zu
beenden.
Zum Thema verdunkeln des Talisman im speziellen in Kneipen oder Gilden (nun
egal welche) wuerd ich evtl. zufuegen wollen, dass generell Kneipen +
gilden(?) ein Treffpunkt der Spieler zur gegenseitigen Kommunikation etc. sind
und man die Leuchtkraft des Tali's dort beibehaelt und evtl. so nach 5-10
idletime den erst verdunkeln lassen sollte, so das prog.technisch unschwer
realisierbar ist...

vielen Dank fuer Eure offenen Herzen und Ohren lieber Mitglaeubige...

**HEXXER**

-----------------------------------------------------------------------------



Re: Talisman & co (Tarina, 26. Feb 1999, 18:15:27):
~#! rn=Hexxer rt=920042102 rg=gilden.klerus
~#! tid=920042102
Ich muss doch zu einem Punkt mal Stellung nehmen.

Das wir hier keine Demokratie haben, ist schon klar. Aber den Mund verbieten
lassen brauche ich mir deswegen noch lange nicht.

Wenn Dir die Diskussion auf den Keks geht oder Du genervt bist, oder meinst,
ess bringt eh nichts: uebergeh den Thread und versuch nicht, eine Zensur
herbeizufuehren.

Tarina, angesaeuert

-----------------------------------------------------------------------------



Re^5: die armen fehlgelaufenen Chaoten (Mammi, 26. Feb 1999, 20:39:13):
~#! rn=Mahatmu rt=919912972 rg=gilden.klerus
~#! tid=919887765
Was hab ich damit zu schaffen?

Mammi.

-----------------------------------------------------------------------------



Re^3: Der Talisman, Maulkorb fuer Kleriker? (Twinsen, 27. Feb 1999, 19:26:08):
~#! rn=Jiddu rt=919818066 rg=gilden.klerus
~#! tid=919679180
du bist doch sowie so Karateka und schnallst es ned.

-----------------------------------------------------------------------------



Re: Re: Talisman & co (Key, 27. Feb 1999, 21:22:47):
~#! rn=Tarina rt=920052927 rg=gilden.klerus
~#! tid=920042102
*hust*
Aehm Tarina ... der Artikel von Hexxer war weder angreifend noch sonstwas ....

Wieso gehste auf ihn los?
Key

-----------------------------------------------------------------------------



Re^4: Der Talisman, Maulkorb fuer Kleriker? (Jiddu, 27. Feb 1999, 21:24:20):
~#! rn=Twinsen rt=920143568 rg=gilden.klerus
~#! tid=919679180
Und du bist Kleriker, ja?
Du wechselst doch jede Woche Twingo! Und leute die zwischen Chaos und Klerus
nach belieben hin und her wechseln muss man ja nu wirklich nicht ernst nehmen
;)
Jiddu.

-----------------------------------------------------------------------------



Re^3: Talisman & co (Tarina, 28. Feb 1999, 03:52:34):
~#! rn=Key rt=920150567 rg=gilden.klerus
~#! tid=920042102

Lies Dir doch einfach mal den Punkt durch, zu dem ich Stellung genommen habe.
Da geht es nicht um Hexxer. Hoechstens um seine Moeglichkeiten, zu steuern,
was er lesen moechte und was nicht.

Sein Artikel war nicht angreifend... aber sonstwas. Die Passage, die mich
geaergert hat, war die Aufforderung, ein Machtwort zu sprechen und eine
Diskussion abzuwuergen, weil er (Hexxer) meint, dass sie nichts bringt.

Mir gefaellt so eine Idee absolut nicht. Ich schreib nicht oft in der MPA,
schaetze sie aber als Moeglichkeit, meine Meinung zu etwas sagen zu koennen.
Und diese Moeglichkeit moechte ich mir nicht nehmen lassen.

Und genau das wollte ich mit dem Artikel ausdruecken. Ich hoffe, das das jetzt
klarer rueber gekommen ist.

Tarina

-----------------------------------------------------------------------------



Re: Re: Gift (Menace,  1. Mar 1999, 17:05:55):
~#! rn=Sharia rt=919607092 rg=gilden.klerus
~#! tid=919606963
Also zu vergiften gibt es doch jetzt uns Schuettler mit Alkoholgift. Wenn Du
entgifte ueben willst, dann frag doch nen Schuettler, ob er Dir nen NPC
vergiften kann

-----------------------------------------------------------------------------



Re: Re: talisman (Nonne,  3. Mar 1999, 10:12:29):
~#! rn=Gorog rt=919982003 rg=gilden.klerus
~#! tid=919963688
Hallo Gorog,

verstehe ich das jetzt richtig? Du verbringst die Zeit des Betens nicht damit,
andaechtig zu sein, und darueber nachzudenken, ob Du Deinen Charakter den
Goetter (insbesondere Lembold) wohlgefaellig gefuehrt hast? Du verbringst die
Zeit mit sinnlosem rungesurfe, wo Du deiner Verfehlung eingedenkt sein
koenntest? Gorog, ich bin schwer entaeuscht von Dir!

Und Ihr andern: stellt euch zum chatten in die Gilde, das ist die
Pausenfunktion, und sie reicht aus (finde ich)

Nonne, kopfschuettelnd.

-----------------------------------------------------------------------------



Re^3: talisman (Nevok,  3. Mar 1999, 19:29:16):
~#! rn=Nonne rt=920455949 rg=gilden.klerus
~#! tid=919963688
Demokratie ist die Diktatur der Mehrheit, oder? Lasst doch da ne Abstimmung
kommen.
Oder nicht? Naja, mal sehen, Ich finde nur, da es doch den ganzen Klerus
betrifft sollte sich der Klerus dazu vielleicht aeussern duerfen, oder?
Und Ausserdem, was waeren die Goetter ohne Glaeubige? Was mit Goettern
passiert an die niemand glaubt hat Pratchett in 'Small Gods' recht anschaulich
beschrieben...

ein nachdenklicher

Nevok

-----------------------------------------------------------------------------



Re^4: talisman (Wurzel,  3. Mar 1999, 20:32:20):
~#! rn=Nevok rt=920489356 rg=gilden.klerus
~#! tid=919963688
ja, lasst uns diesen thread wieder aufleben... mg und demokratie!

dafuer (aeh, fuer was jetzt eigentlich?)

wurzel

-----------------------------------------------------------------------------



Re^4: talisman (Acrimon,  3. Mar 1999, 20:36:02):
~#! rn=Nevok rt=920489356 rg=gilden.klerus
~#! tid=919963688
Existierende Goetter sind nicht von ihren Glaubigen abhaengig, sondern alle
(Glaubige und NIcht-Glaeubige) sind von existierenden Goettern abhaengig.
Nicht-existierende Goetter (also reine Phantasie-Goetter) dagegen sind von
ihren Glaeubigen abhaengig.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: talisman (Gorog,  3. Mar 1999, 21:47:08):
~#! rn=Nonne rt=920455949 rg=gilden.klerus
~#! tid=919963688
Hmmm naja bei meinen Durchsatzraten kann ich noch beim laden der I-Netseiten
etwas meditieren.

Gorog fuer pray and more Lembold/Saphina/Kandri und GmbH & COKG (oder so)

-----------------------------------------------------------------------------



Re^4: talisman (Nonne,  4. Mar 1999, 09:28:07):
~#! rn=Nevok rt=920489356 rg=gilden.klerus
~#! tid=919963688
Demokratie? Wie soll das gehen? Es geht doch hier um vor- und nachteile von
Gilden? Wie sollen denn die Gilden aussehen, wenn die Mitglieder neue Features
durchsetzen und Nachteile einfach abschaffen? Dann ist ja jeder sonn kleiner
Armageddon mit FP-Wuenschelrute, oder wie? Ne ne, man kann ja sinnvolle
Anregungen an den Gildenhaeuptling mailen, oder meinetwegen auch in die MPA
schreiben, aber ne demokratische Abstimmung ueber die Gilde halte ich fuer
falsch.

Man kann das natuerlich auch alles ganz anders sehen...

Nonne, Oberhaupt der Lembolds haelt nix von Demokratie.

-----------------------------------------------------------------------------



Re^5: talisman (Nevok,  4. Mar 1999, 09:31:05):
~#! rn=Nonne rt=920539687 rg=gilden.klerus
~#! tid=919963688
wie mans nimmt, ich bin die diskussion eigentlich leid, da einige leute einen
bewusst falsch oder nicht verstehen wollen oder die gelegenheit suchen bloede
sprueche abzulassen. wie auch immer, ich hab gesagt was mich stoert, sollte
sowas aber wohl fuer mich verhalten, heil dir gildenoberhaupt, viel spass beim
wieder erleuchten
nevok der die faxen dicke hat

-----------------------------------------------------------------------------



Re^6: talisman (Nevok,  4. Mar 1999, 09:32:18):
~#! rn=Nevok rt=920539865 rg=gilden.klerus
~#! tid=919963688
oooooooooops anfuehrer des faehnlein fieselschweifs, aeh lembolds, nich
gildenoberhaupt, sorry, 3 uhr frueh und kein kaffee in sicht

ein kaffeekochender nevok

-----------------------------------------------------------------------------



teamspruch (Lena,  4. Mar 1999, 14:12:14):
Hiho.
Also, ich hab mir mal ueberlegt, jetzt, wo es den teamkampf gibt,
koennte es da nicht auch einen "Team"-Spruch geben?
bei uns also eine Anrufung, die drei oder fuenf Kleriker zusammen
sprechen koennten?
Ich dachte da so an einen Engel oder Halbgott, der -falls die Anrufung
gelingt-
hilft, irgendein Monster anzugreifen?
Ich kenn die Erleuchtetensprueche nicht, also z.B. der Schutzengel ist mir
nicht
gelaeufig, aber er ist eine Anrufung fuer einen Kleriker, oder? Falls das
bloedsinnig ist, was ich vorschlage, dann schreibt halt mal was.
Den genauen Nutzen der Anrufung wollte ich nicht festlegen.
hatte nur die Idee, mal ueber einen Gilden-Team-Spruch nachzudenken.
Lena, denken koennend. ;)

-----------------------------------------------------------------------------



Re: teamspruch (Morgoth,  4. Mar 1999, 14:14:06):
~#! rn=Lena rt=920556734 rg=gilden.klerus
~#! tid=920556734
Nette Idee, wenn das durch die Gildenbalance kommen wuerde, haette ich da auch
schon Ideen, wie ich das umsetzen kann. Ich werd mal ne Mail an Silvana
aufsetzen. 

M*

-----------------------------------------------------------------------------



Re: Re: teamspruch (Lena,  4. Mar 1999, 14:19:51):
~#! rn=Morgoth rt=920556846 rg=gilden.klerus
~#! tid=920556734
uih, toll! :)

-----------------------------------------------------------------------------



Re: Re: teamspruch (Mahatmu,  4. Mar 1999, 17:05:42):
~#! rn=Morgoth rt=920556846 rg=gilden.klerus
~#! tid=920556734
Die Idee hatte ich bei meiner gilde in RB auch schon. Aber rein teamlos.
Wenn sich z.B. zwei Kleriker zusammentun, sollte das Heilen doch eigent-
lich ein Ecke besser funktionieren? D.h. Teammodus ohne Kampfsprueche.
Dazu koennte es ein Art 'unterstuetze'-Spruch geben, mit dem man einen
anderen Kleriker eben etwas untersuetzt, ihm unter die Arme greift ;-)

Leo^H^H^HMahatmu

-----------------------------------------------------------------------------



Kleines Feature (Morgoth,  6. Mar 1999, 11:31:25):
Nix wildes, nix Balancetechnisches, einfach nur ein kleiner 'Bonus' ;-)

M*

-----------------------------------------------------------------------------



Re: Kleines Feature (Sharia,  6. Mar 1999, 17:13:36):
~#! rn=Morgoth rt=920719885 rg=gilden.klerus
~#! tid=920719885
*kicher* suess :) 

Sharia, muss ihre Farbfiles wieder erweitern :)

-----------------------------------------------------------------------------



Erleuchten (Hera,  8. Mar 1999, 21:15:37):
Hmm..faellt mir grad so ein..wie wars mit nem haken oder so, an den man die
Items, die jemand zum erleuchten brauch im Tempel hinhaengen koennte, wenn man
was ueber hat...
Dass jemand allein die Raeubers killt kann man ja eh nich verlangen...und ewig
mit rumrennen und fragen wer was braucht iss auch doof...

Naja, nur so ne Idee...

Hera

-----------------------------------------------------------------------------



Re: Erleuchten (Morgoth,  8. Mar 1999, 21:16:52):
~#! rn=Hera rt=920927737 rg=gilden.klerus
~#! tid=920927737
Seherhaeuser? Gildenraeume, die nur fuer Kleriker zugaenglich sind?? Solche
Haken gibt es also schon. --> NOPE !

M*

-----------------------------------------------------------------------------



Re: Erleuchten (Terim,  8. Mar 1999, 21:18:46):
~#! rn=Hera rt=920927737 rg=gilden.klerus
~#! tid=920927737
Ich wollte grad echt erst nen Reply auf den Vorschlag schreiben, aber ne, ich
fass mich ma lieber an den Kopp und lass es, man kann net jeden Kaese
kommentieren.

Neb, wartet nur auf einen gewissen Kleriker, der jetzt wahrscheinlich wieder
darueber abstimmen lassen will.

-----------------------------------------------------------------------------



Re: Re: Erleuchten (Nevok,  8. Mar 1999, 21:21:09):
~#! rn=Terim rt=920927926 rg=gilden.klerus
~#! tid=920927737
neb
da gibt es ne freundliche erwiderung
du mich auch und zwar ganz doll

der gewisse kleriker
nevok

wie heisst es so schoen, taeglich waechst die zahl derer die mir freundlich
gesagt den buckel runterrutschen koennen....neb is die naechste +1 bei der
menge x

-----------------------------------------------------------------------------



Re: Re: Erleuchten (Isis,  8. Mar 1999, 21:23:08):
~#! rn=Terim rt=920927926 rg=gilden.klerus
~#! tid=920927737
Soviel ich weiss wurde bei den kaempfern auch mal ne Waffenkammer oder so
diskutiert oder gibts die etwa schon?....und teile llystrathe mit komponenten
iss auch ne nette sache...
Son Haken waer auch was nettes dacht ich...

Wie gesagt..war nur ne idee...

Hera

-----------------------------------------------------------------------------



Re^3: Erleuchten (Nevok,  8. Mar 1999, 21:27:27):
~#! rn=Isis rt=920928188 rg=gilden.klerus
~#! tid=920927737
und nochmal was ganz anderes, liebe mitdiskutierer und -tiererinnen
zum umgangston sollte es eigentlich gehoeren, dass argument und nicht die
person anzugreifen
wer sowas nicht kann, sollte sich bei diskussionen lieber raushalten und mal
statt stats erhoehen soziale faehigkeiten erhoehen

Nevok

-----------------------------------------------------------------------------



Re^4: Erleuchten (Anatol,  8. Mar 1999, 22:09:19):
~#! rn=Nevok rt=920928447 rg=gilden.klerus
~#! tid=920927737
Wenn Personen dazu neigen, ihre Argumente entweder aus einem Sumpf der
Bloedsinnigkeit und/oder an den Haaren herbeizuziehen, nehme zumindest
ich mir die Freiheit, die Person anzuzweifeln und nicht nur das Argument.

Anatol


-----------------------------------------------------------------------------



Re^4: Erleuchten (Hera,  8. Mar 1999, 22:32:06):
~#! rn=Nevok rt=920928447 rg=gilden.klerus
~#! tid=920927737
Wenn der Sumpf der bloedsinnigkeit ich sein soll:

kleinere level haben evtl KEINE Ahnung, was ne Feder, oder der Tali, die in
der Gilde rumliegen zu bedeuten haben und verkaufen sie u.U.
Und soviel ich weiss sind alle Gildenraeume fuer alle KLeriker zugaenglich...

Ansonsten...Der Chef hat schon was zu gesagt...was soll das also noch?

Hera

-----------------------------------------------------------------------------



Re^5: Erleuchten (Asmodis,  8. Mar 1999, 23:08:29):
~#! rn=Hera rt=920932326 rg=gilden.klerus
~#! tid=920927737
Dann macht die sachen einfach wertlos, nicht zu verkaufen ...

-----------------------------------------------------------------------------



Re^6: Erleuchten (Morgoth,  9. Mar 1999, 07:39:22):
~#! rn=Asmodis rt=920934509 rg=gilden.klerus
~#! tid=920927737
Sorry, dass jetzt Asmodis das Reply bekommt, aber er hat den letzten Artikel
hier geschrieben. 

Also, als 'Chef' definiere ich diesen Flamewar fuer beendet, zumindest in
dieser Rubrik. Fuehrt in von mir aus in muell weiter oder lasst Euch ne eigene
Rubrik geben. Wenn dieses geflame und gejaule usw. noch weiter geht, wird die
Rubrik erstmal ein bischen gekappt.

Morgoth schafft frieden.

-----------------------------------------------------------------------------



Re^3: Erleuchten (Boing,  9. Mar 1999, 11:18:46):
~#! rn=Isis rt=920928188 rg=gilden.klerus
~#! tid=920927737
Das mit der Waffenkammer zu vergleichen ist aber schon etwas dreist,
findest Du nicht? ;)
Vergleichbar waere es mit einem Instant-Hez'zoarath der automatisch mit
einem Lebenspunkt in die Gilde gestellt wird, damit ihn jeder mal eben
abstauben kann.
  Boing

-----------------------------------------------------------------------------



Re^4: Erleuchten (Key,  9. Mar 1999, 11:42:05):
~#! rn=Nevok rt=920928447 rg=gilden.klerus
~#! tid=920927737
Nevok Du verstehst nicht woraufs in der MPA ankommt =;)

Aua net hauen ;)

Key

-----------------------------------------------------------------------------



113 (Isis,  9. Mar 1999, 18:29:32):
~#! rn=Key rt=920979725 rg=gilden.klerus
~#! tid=920927737
Gegenwaertig setzt halt ein buntes Team Water auf 1 LP, damit nen LV 7
KLeriker den killen kann...auch keine tolle Leistung...

Hera

-----------------------------------------------------------------------------



Re: 113 (Terim,  9. Mar 1999, 18:34:35):
~#! rn=Isis rt=921004172 rg=gilden.klerus
~#! tid=920927737
Den Hez'Zoarath schafft ja auch kaum jemand alleine.
Dafuer ist es ja ein MULTI-user-dungeon, oder?
Man fragt ein paar Freunde, die helfen einem, man erleuchtet.
Wenn man deinem Vorschlag folgt, kann man die Erleuchtetenquest auch gleich
abschaffen, Talisman vom Haken nehmen und abgeben ist ja net grade DIE
Leistung.

Mit ein paar Freunden den Gegenstand besorgen schon.

Neb, denkt . o 0 (und nu ist hoffentlich bald Ruhe mit dieser Schnapsidee...)

-----------------------------------------------------------------------------



Re: Re: 113 (Key, 10. Mar 1999, 08:34:46):
~#! rn=Terim rt=921004475 rg=gilden.klerus
~#! tid=920927737
*huestel*
"Talisman vom Haken nehmen und abgeben ist ja net grade DIE Leistung"

Naja fuer Kleriker und Frauen schon .... :)

FidKG (c) Lug =;)

Key springt in Deckung

-----------------------------------------------------------------------------



Re^3: 113 (Nevok, 10. Mar 1999, 20:16:48):
~#! rn=Key rt=921054886 rg=gilden.klerus
~#! tid=920927737
Is doch schoen wenn man Leute hat, die sinnvolles zu Diskussionen beitragen,
nicht flamen und keine bloeden Sprueche ablassen, danke fuer diesen wertvollen
Artikel, Key, danke fuer die Pause deines Magierzweities, danke, dass Du die
letzten schoenen Seiten MGs geniessen moechtest, die anscheinend fuer Dich
darin bestehen, andere Leute niederzumachen wo Du nur kannst
finde ich echt schoen, es sollte mehr Leute wie Dich geben

Nevok

-----------------------------------------------------------------------------



Re^4: 113 (Gorog, 10. Mar 1999, 21:49:27):
~#! rn=Nevok rt=921097008 rg=gilden.klerus
~#! tid=920927737
Naja der Artikel von Key hoerte sich sehr nach dem Charakter an, der drunter
stand (;  
Hab dessen fast witzigen Artikel fast vermisst.

Ansonsten finde ich nen Haken fuer Erleuchtetengegenstaende nciht allzu super,
ok manchmal is es nervig Leute zufinden, die bereit sind die schweren Kaempfe
mit Dir zu bestreiten, ich hab aber bisher immer welche gefunden. 

Gorog, dem noch keiner Water auf 1LP gebracht hat, will wer???? bitte melden!

-----------------------------------------------------------------------------



Re^4: 113 (Key, 11. Mar 1999, 08:26:18):
~#! rn=Nevok rt=921097008 rg=gilden.klerus
~#! tid=920927737
Danke Dir fuer Deinen Beitrag Nevok.
Danke fuer einen Artikel der zeigt das Du den Flamewar liebst und gerne auf
persoenliche Angriffe gehst.
Danke das wir Deinen Worten lauschen durften.
Danke das Du von Dir auf andere beziehst, und dich einmischst auch wenn Du nix
verstehst. Danke das Du alles immer ernst nehmen will, und anderen verbieten
willst ihren Spass zu haben, wenn Du ihn nicht verstehst.

DANKT NEVOK!

Key wettet daser jetzt gleich wieder sauer is der Kleine ;)

-----------------------------------------------------------------------------



Zaubererkomponenten (Morgoth, 29. Mar 1999, 10:09:39):
Hey Klerikers,

ihr koennt jetzt auch die Zaubererkompos ueber eure Keulen kippen. Dafuer
einmal ende machen, dann geht das.
Syntax: kippe feuerwasser ueber <waffe>

Viel Spass ;-))

M*

-----------------------------------------------------------------------------



Re: Zaubererkomponenten (Thufhir, 29. Mar 1999, 10:10:47):
~#! rn=Morgoth rt=922702179 rg=gilden.klerus
~#! tid=922702179
Danke, Nonne. ;)

-----------------------------------------------------------------------------



Re: Zaubererkomponenten (Birdy, 29. Mar 1999, 19:10:36):
~#! rn=Morgoth rt=922702179 rg=gilden.klerus
~#! tid=922702179
ARGL !!

-----------------------------------------------------------------------------



Re: Zaubererkomponenten (Acrimon, 29. Mar 1999, 21:47:32):
~#! rn=Morgoth rt=922702179 rg=gilden.klerus
~#! tid=922702179
"kippe edelstein ueber keule"? :-)

-----------------------------------------------------------------------------



Re: Zaubererkomponenten (Asmodis, 30. Mar 1999, 00:12:48):
~#! rn=Morgoth rt=922702179 rg=gilden.klerus
~#! tid=922702179
Was macht man mit besoffenen Waffen ?

-----------------------------------------------------------------------------



Re: Re: Zaubererkomponenten (Nevok, 30. Mar 1999, 07:19:58):
~#! rn=Asmodis rt=922752768 rg=gilden.klerus
~#! tid=922702179
is doch ganz einfach
mensch
fuelle Kaffee in Keule
oder
giesse Kaffee ueber Keule

ein kopfschuettelnder

Nevok

-----------------------------------------------------------------------------



Re: Zaubererkomponenten (Key, 31. Mar 1999, 10:24:57):
~#! rn=Morgoth rt=922702179 rg=gilden.klerus
~#! tid=922702179
Args :)
Sowas gabs doch schon ewig, nur halt net so leicht dranzukommen :)

Key

-----------------------------------------------------------------------------



Peitschen (Morgoth,  2. Apr 1999, 15:54:49):
...haben jetzt auch einen Malus.

M*

-----------------------------------------------------------------------------



Donner ;-) (Morgoth,  2. Apr 1999, 23:26:02):
Da es immer wieder mal Kritik an der Petersilie gegeben hat und auch die Kappe
von Bendeigid nicht so ganz funzte, hab ich mal selbst was geschrieben. Ihr
koennt Euch denken, wo es das gibt....
Viel Spass beim Donnern wuenscht...

Chefchen Morgoth

-----------------------------------------------------------------------------



weihe abschaffen (Lena,  6. Apr 1999, 16:47:54):
Jaja, haut mich ruhig.
Ich bin der Meinung, wir sollten den "weihe"-Spruch abschaffen und einen
anderen Spruch einfuehren, moeglicherweise nen Teamspruch, da es immer wieder
vorkommt, dass sich magier ueber die "untoten"-Markierung hinwegsetzen und
damit die Wirkung des spruchs umgehen.

Lena, 5 Jahre alt und trotzdem rumpienzend.

-----------------------------------------------------------------------------



Re: weihe abschaffen (Asmodis,  6. Apr 1999, 21:04:34):
~#! rn=Lena rt=923410074 rg=gilden.klerus
~#! tid=923410074
Wozu sollen sich Magier als Untote markieren? nur, weil sie so oft herumideln
?

-----------------------------------------------------------------------------



Re: weihe abschaffen (Sharia,  6. Apr 1999, 21:19:37):
~#! rn=Lena rt=923410074 rg=gilden.klerus
~#! tid=923410074
Lena .. ich hoffe dass du den Artikel eigentlich am 1.4. schreiben wolltest
oder ? :)

Sharia.

-----------------------------------------------------------------------------



Re: Weihe abschaffen (Morgoth,  7. Apr 1999, 11:12:11):
~#! rn=Lena rt=923476215 rg=gilden.klerus
~#! tid=923476215
argl, vielleicht solltest du mal den befehl 'reply' kennenlernen, damit man
wenigstens weiss, worauf du dich beziehst.

M*

-----------------------------------------------------------------------------



Weihe abschaffen. (Lena,  7. Apr 1999, 11:16:11):
Also...
(zweiter Versuch, diesmal MIT local echo)
Die Weihe sollte eigentlich gegen Untote zum Tragen kommen.
Dann steht man bei so nem Untoten, der in seiner Langbeschreibung EXTRA als
solcher gekennzeichnet ist.
Du haus ne viertel Stunde drauf, nur um zu merken, dass die Weihe ihm nichts
anhaben will.
Dann fragst Du den zustaendigen Magier, wieso das nicht klappt und der meint
dann nur, er wolle das nicht.
Ich frage ihn, wieso nicht und weise ihn darauf hin, dass das eigentlich
klappen sollte, woraufhin er meint (ich hab gesagt, er solle das mit M*
ausmachen), er werde mit M* ueber nichts reden und seine NPCs schon gar nicht
aendern.
Was mich daran stoert, ist 1. dass er seine NPCs TROTZDEM so markiert, als
waeren sie anfaellig, 2. nicht einsieht, dass es rollenspieltechnisch
dazugehoert, dass die darauf anfaellig sind, 3. ...
Naja, ich pienz gern, ist mir schon klar.
ABer von einem "wichtigen" Magier, wie Heinz Mustermagier (Name von der Red.
genaedert), koennte man doch etwas mehr Verstaendnis erwarten.

-----------------------------------------------------------------------------



Re: Weihe abschaffen. (Morgoth,  7. Apr 1999, 11:19:07):
~#! rn=Lena rt=923476571 rg=gilden.klerus
~#! tid=923476571
Jetzt zoeger nicht, sondern sag, welcher Magier sowas macht. Das ist naemlich
wirklich ne Sauerei. Es gibt extra Klassen (CL_UNDEAD), die dafuer sorgen,
dass das Spellbook die auch brav erkennt. Diesem Magier gehoert von seinem RM
uebers Knie gelegt.

M*

-----------------------------------------------------------------------------



Re: Re: Weihe abschaffen. (Thufhir,  7. Apr 1999, 11:20:50):
~#! rn=Morgoth rt=923476747 rg=gilden.klerus
~#! tid=923476571
wahrscheinlich ist es nen Erz und niemand legt den uebers Knie! ;)

-----------------------------------------------------------------------------



Re^3: Weihe abschaffen. (Muadib,  7. Apr 1999, 13:02:01):
~#! rn=Thufhir rt=923476850 rg=gilden.klerus
~#! tid=923476571
ich mach das mit dem uebers knie legen gerne, was aber mit der klassenvergabe
nix zu tun hat :)

----> schmarrn

-----------------------------------------------------------------------------



Re^4: Weihe abschaffen. (Sharia,  7. Apr 1999, 14:11:45):
~#! rn=Muadib rt=923482921 rg=gilden.klerus
~#! tid=923476571
der artikel soll sich eigentlich auf lenas beziehen aber hauptsache er bleibt
im thread :)

Lena: untersuchen und betrachten von NPC sagt noch LANGE nichts ueber die
rasse oder die class aus ... vielleicht sollte man dann einen NPC mal
schaetzen oder identifizieren .. da sieht man dann naemlich ob es sich um
einen daemon/untoten oder geist handelt ...

das ist auch noch etwas deiner unwissenheit: weihe wirkt 1. direkt .. und
nicht nach 15 Minuten erst und 2. wirkt es bei Daemonen Untoten Zombies und
Geistern 
Dass der Magier sich weigert die Class zu setzen ist traurig aber dies erlebt
man nunmal manchmal vielleicht hilft da nochmals gutes zureden... und wenn man
ihm klar macht, dass weihe das Monster ja nicht zappt so wird er vielleicht
auch, wenn man in ruhigem Ton mit ihm redet, dazu bereit sein dem NPC die
richtige Class zu verpassen ....
Wenn er dies nicht tut, dann greife einfach zu anderen Mitteln. TOT bekommt
man fast jeden NPC hier im mud....irgendwie halt.....

Nochwas: bist du Klerikerin oder heulende Chaotin ? :)))


Sharia

-----------------------------------------------------------------------------



Re^5: Weihe abschaffen. (Ark,  7. Apr 1999, 22:31:04):
~#! rn=Sharia rt=923487105 rg=gilden.klerus
~#! tid=923476571
Hm, schwaches Bild, da stimme ich bei. Wenn man sich schon so nicht gruen ist
unter Magiern, dann sollten doch nicht die Spieler drunter leiden. Also,
Magier X, wenn es unbedingt sein soll, dass Untoter Y nicht auf Weihe
reagieren soll, dann fallen mir Hundert Erklaerungen ein, die aber auch
stimmig dem Spieler kommuniziert werden sollten, nicht nach dem Motto, aetsch,
mein Skelett/Zombie/Wurstuntoter aber nicht. Sollte schon einen triftigen
Grund haben, vielleicht auch nicht jeder beliebige Untote, und sollte
nachzuvollziehen sein.
Oeh, tja, eigentlich sollte das natuerlich auch fuer andere Monster gelten,
die wertmaessig etwas zu frei skalierbar geraten sind (fangen mit O an und
enden mit k :-) ), aber da wage ich mich schon wieder zu sehr in andere
Diskussionen vor.
Verstehen kann ich das Verhalten, begreifen nicht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Hilfeseiten (Morgoth,  9. Apr 1999, 15:38:35):
Hiho Maenners und Frauen(nur fuer Lug),

Arkshat hat sich mal die Muehe gemacht und alle Hilfeseiten ueberarbeitet.
Dabei hat er sich tatkraeftige Unterstuetzung von Kamelot geholt, der auch
fleissig getippt hat, was Arkshat ihm diktiert hat.
Also viel Spass damit...

Morgoth, Chef
P.S.: Typos, Fehler usw. an Arkshat bzw. Kamelot !! ;-))

-----------------------------------------------------------------------------



Spellbook, Version 3.0 (Morgoth, 14. Apr 1999, 23:23:57):
Heya, der neue GildenEM hat mal was getan und ein paar Sachen genehmigt.
Elementarschild und -sphaere sind nun Levelabhaengig, der Blitz is etwas
geaendert und schoene neue Meldungen gibts auch....

Viel Spass

M*

-----------------------------------------------------------------------------



Neue Erleuchtetenaufgabe (Morgoth, 18. Apr 1999, 22:26:57):
Hiho Knechte und Knechtinnen,
es gibt eine neue Erleuchtetenaufgabe fuer Euch. Infos bekommt ihr bei Arkshat
oder Mindra, wenn es soweit ist und das MG-Ramdon es Euch gewaehrt. 
Das ganze ist Home-Mud getestet, aber das soll ja hier nix heissen. Wenn es
Probleme geben sollte, bitte mit ausfuehrlichem Log (evtl. Magier um -Debug
backtrace bitten) an mich.

Viel Spass

Morgoth, Chef

-----------------------------------------------------------------------------



aeh wie bitte? (Nevok, 19. Apr 1999, 09:02:08):
'Strohalm spricht ein kurzes, inbruenstiges Gebet. Eine Zauberkruecke leuchtet
kurz auf, als Llystrathe Ihr Gebet erhoert und Lembold dazu zwingt, die Waffe
mit seinem Heiligen Zorn zu versehen.'

s das is ja wohl heftig....eine kleine Zaubertussi die nen GOTT zwingt??????
hmpf...und umgekehrt?

ein recht desillusionierter
Nevok

-----------------------------------------------------------------------------



Re: aeh wie bitte? (Mahatmu, 19. Apr 1999, 16:49:13):
~#! rn=Nevok rt=924505328 rg=gilden.klerus
~#! tid=924505328
Ich liege sicher nicht daneben, dass diese Entwicklung durch die viel-
seitige neue Nutzung der Komponenten der Zauberer durch Kleriker ange-
stossen wurde, die im Verantwortungsbereich unseres Gildendoedels liegt.

Gloin

-----------------------------------------------------------------------------



Re: Re: aeh wie bitte? (Morgoth, 19. Apr 1999, 17:25:48):
~#! rn=Mahatmu rt=924533353 rg=gilden.klerus
~#! tid=924505328
Feige Sau:
Gloin will fruehestens am Fre, 23. Apr 1999 wieder ins Mud kommen.

M*

-----------------------------------------------------------------------------



Re: Re: aeh wie bitte? (Asmodis, 19. Apr 1999, 22:34:46):
~#! rn=Mahatmu rt=924533353 rg=gilden.klerus
~#! tid=924505328
Wie ich gehoert habe, sollen die Chaoten demnaechst einige Karateschlaege
erlernen koennen.

-----------------------------------------------------------------------------



Re^3: aeh wie bitte? (Tilly, 20. Apr 1999, 02:02:29):
~#! rn=Asmodis rt=924554086 rg=gilden.klerus
~#! tid=924505328
Jau!
Und wie er heisst ist auch schon raus 'Funa-Chaos-Lushi', das wird der Spruch
schlechthin ...

-----------------------------------------------------------------------------



Re^4: aeh wie bitte? (Feuerwehr, 20. Apr 1999, 02:18:27):
~#! rn=Tilly rt=924566549 rg=gilden.klerus
~#! tid=924505328
Hi!

Ich moechte in diesem Zusammenhang betonen, dass alle Fusionierungsgeruechte
der Chaosgilde mit der Karategilde reine Spekulation sind. Es hat niemals und
wird niemals derartige Verhandlungen gegeben. Ich dementiere dies in aller
Form.


  Feuerwehr (hintergruendig laechelnd)

-----------------------------------------------------------------------------



Re^5: aeh wie bitte? (Asmodis, 20. Apr 1999, 03:19:53):
~#! rn=Feuerwehr rt=924567507 rg=gilden.klerus
~#! tid=924505328
Aha, dann wollt ihr also doch mit den Bierschuettlern zusammen ? Nunja, selbst
schuld :-)

-----------------------------------------------------------------------------



Re^6: aeh wie bitte? (Householder, 20. Apr 1999, 16:16:50):
~#! rn=Asmodis rt=924571193 rg=gilden.klerus
~#! tid=924505328
Hm wenn ich also Aktien der Chaos-Gilde kaufe bin ich auf jeden Fall auf der
sicheren Seite, oder wie hab ich das zu verstehen ?

-----------------------------------------------------------------------------



Re^7: aeh wie bitte? (Asmodis, 20. Apr 1999, 23:33:54):
~#! rn=Householder rt=924617810 rg=gilden.klerus
~#! tid=924505328
Hmm, wo kann man denn Aktien kaufen ?

-----------------------------------------------------------------------------



Re^8: aeh wie bitte? (Alpha, 20. Apr 1999, 23:52:45):
~#! rn=Asmodis rt=924644034 rg=gilden.klerus
~#! tid=924505328
Psssstt, wird nicht verraten.
Alpha haelt schon 5% der Chaosgilde-Aktien.

-----------------------------------------------------------------------------



Re^9: aeh wie bitte? (Householder, 21. Apr 1999, 16:24:42):
~#! rn=Alpha rt=924645165 rg=gilden.klerus
~#! tid=924505328
Ach du bist dass ... 

-----------------------------------------------------------------------------



Ist Morgoth uebergelaufen? (Lena, 26. Apr 1999, 12:01:39):
> kwer gilde zauberer
  Liste der Mitspieler vom Mon, 26. Apr 1999, 10:01:13 (10 Teilnehmer)

Mana.............z Sorcerer.......i.s Vector.........i.s Taragon........JwS
Aialla...........z Spellfire......iwS Saul...........I.S Thufhir........jwS
Quillian.......j.m Morgoth.........wR
                                                             

-----------------------------------------------------------------------------



Re: Ist Morgoth uebergelaufen? (Asmodis, 26. Apr 1999, 23:01:46):
~#! rn=Lena rt=925120899 rg=gilden.klerus
~#! tid=925120899
Zwerg isser auch noch geworden, hat jemand sein passwort gehackt ?

-----------------------------------------------------------------------------



Re: Re: Ist Morgoth uebergelaufen? (Morgoth, 27. Apr 1999, 00:40:17):
~#! rn=Asmodis rt=925160506 rg=gilden.klerus
~#! tid=925120899
Also ihr rafft es nicht. ich bin halt multi-kulturell. ich spioniere bei den
schwulen elfen, den puscheligen hobbits, den stinkenden zwergen, den
hochnaesigen felinen und den gewoehnlichen menschen gerne mal ein bischen.
ausserdem ist dabei natuerlich auch ein gildenwechsel mal angesagt, denn:
niemand jammert so sehr wie die zauberer, weil ihnen doch ein NPC ohaua mal
ein 'hart' reingedrueckt hat. dass jede andere gilde da ein brei abbekommen
haette interessiert diese verweichlichten, bloeden, dummen <schimpfwort deiner
wahl> zauberer wohl nicht. die anderen gilden halten sich da ja eher im
hintergrund und sind nicht SOOO interessant.
Um es mal klarzustellen: 
Ich bin eigentlich ein Ork-Elementar. Da es beides noch nicht gibt, muss ich
leider ausweichen, auf die schwachen und minderbemittelten im MG.
Sorry, wenn ich euch auf die fuesse trete. Es ist volle absicht !

Morgoth laechelt Dich mit einem 'Du mich auch' auf den Lippen an

-----------------------------------------------------------------------------



Re^5: aeh wie bitte? (Widewitt, 27. Apr 1999, 02:27:59):
~#! rn=Feuerwehr rt=924567507 rg=gilden.klerus
~#! tid=924505328
erinnert mich irgendwie an nixon und clinton :)


Widewitt (laechelt mit)

-----------------------------------------------------------------------------



Sonnenschutz (Lena, 14. Mai 1999, 16:25:44):
Der Sonnenschutz ist fuer vieles zu gebrauchen.
Zum Ueben, zum sich vor der Sonne schuetzen, zum mit angeben, wie hoch der
beste eigene Sonnenschutz bisher war. ;)
Ich haett da aber auch noch ne andere Idee.
Sonnenschutz bietet Schutz vor Feuer- und Hitzeschaden.
Wuerd gern mal wissen, was ihr davon haltet.

-----------------------------------------------------------------------------



Re: Sonnenschutz (Wurzel, 14. Mai 1999, 17:29:15):
~#! rn=Lena rt=926691944 rg=gilden.klerus
~#! tid=926691944
auch wenn im morgengrauen vieles nicht realistisch ist, muss man es nicht
uebertreiben. etwas, was vor uv-strahlung schuetzt, ist nicht per se dazu
geeignet, auch vor ir-strahlung oder heissen gasen zu schuetzen.

*seufz* vorbei die zeiten, wo ueberwiegend naturwissenschaftlich gebildete
das mud bevoelkerten... frueher war sowieso alles besser :)

wurzel

-----------------------------------------------------------------------------



Re: Sonnenschutz (Ark, 14. Mai 1999, 18:06:34):
~#! rn=Lena rt=926691944 rg=gilden.klerus
~#! tid=926691944
Hm, was hat den Sonnencreme mit Waermeschutz zu tun ? Hab' ich da nicht in
Physik aufgepasst ? Dann schon lieber einen Schutzspruch der Kleriker *seufz*
oder der Zauberer *aechz* oder ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Sonnenschutz (Ark, 14. Mai 1999, 18:06:54):
~#! rn=Wurzel rt=926695755 rg=gilden.klerus
~#! tid=926691944
Aeh, genau :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Paranoia oder was (Nevok, 14. Mai 1999, 18:43:33):
Mein Ich das nur, oder sind unsere Schutzsprueche wie Heiligenschein und so
trotz Heiligkeit und strahlendem Talisman in letzter Zeit haeufiger mal EXTREM
schnell vorbei?
Mein 'Rekord' letzthin waren 2 Minuten HS bei voll aufgeladenem Status......

Nevok, dem irgendwas sehr seltsam vorkommt manchmal....

-----------------------------------------------------------------------------



Re: Paranoia oder was (Silvana, 14. Mai 1999, 21:24:33):
~#! rn=Nevok rt=926700213 rg=gilden.klerus
~#! tid=926700213
Schlecht "gewuerfelt". Shit happens. Silvana

-----------------------------------------------------------------------------



Gildenquest (Gloin, 18. Jun 1999, 21:48:50):
Aus reiner Neugierde:
Hat schon einer die Gildenquest in der Drakonierfestung geloest? Meldungen
bitte postwendend im Telegrammstil an mich ;-)

Gloin

-----------------------------------------------------------------------------



Re: Gildenquest (Gloin, 19. Jun 1999, 19:07:52):
~#! rn=Gloin rt=929735330 rg=gilden.klerus
~#! tid=929735330
Siehe polizei.beschwerden. Ich rate davon ab, sich beim MAgier nach den
Eiern umzuschauen. Ueberhaupt ist dies als eine voellig missratene GQ.
Damit hat Morgoth leider ein weiteres Mal bewiesen, dass er der sehr
schoen gestalteten Gilde nichts sinnvolles oder stimmungsvolles ausser
seinen abartig ueberdimensionierten Ideen beizufuegen hat. Schad drum.
Ich werd lieber auf einen Rebbot und damit eine Neuzuteilung der Auf-
gabe warten, selbst die Raeuber scheinen mir fairer.

Gloin

-----------------------------------------------------------------------------



Re: Re: Gildenquest (Gorog, 19. Jun 1999, 23:09:41):
~#! rn=Gloin rt=929812072 rg=gilden.klerus
~#! tid=929735330
Naja wenn du damit den Magier in der Drakfestung meisnt, naja bin da auch
gestorben. Und was solls, bei den Raeubern und in der Koboldhoehle bin ich
auch das erstemal gestorben. So is es halt. Man schau sich dann etwas um und
findet bestimmt was das hilft. Ausserdem kann man immer gut andere Leute
fragen, ob sie helfen...
Ich fuer meinen Teil finde diese GQ ziemlich locker, wenn man erstmal weiss
wie sie abluft. Is wohl bei dem Silberauge auch so, oder vertu ich mich da?

Gorog der froh is etwas Abwechlsung in die GQ zu bekommen.

-----------------------------------------------------------------------------



Re: Re: Gildenquest (Morgoth, 20. Jun 1999, 23:25:55):
~#! rn=Gloin rt=929812072 rg=gilden.klerus
~#! tid=929735330
Es scheint, als haettest Du es nicht ganz verstanden. Nenn mir mal einen
Erleuchtetenanwaerter, der es alleine schafft Water Luh oder die Raeuber
umzupusten. Das ist wohl so gut wie unmoeglich. Diese Quest ist selbst fuer
einen Kuraten moeglich. Zwar hart, aber moeglich (getestet). Also wenn Du was
zu jammern hast, tritt aus und geh zu den Zauberern, Kaempfern oder Chaoten.
Die haben auch schoenere Gildenquests.

M*

-----------------------------------------------------------------------------



Re^3: Gildenquest (Gloin, 21. Jun 1999, 13:00:35):
~#! rn=Morgoth rt=929913955 rg=gilden.klerus
~#! tid=929735330
Nett, das Du wenigstens hier akzeptabel antwortest. Ein Anfang. Ich
habe nicht die Schwere der Quest moniert (ich habe vorher mit einem
Kaempfer zusammen Narcoror schon umgepustet), sondern die Ausfuehrung
des NPCs. Sobald er ein paar mal geschwaecht hat (ich denke, das ist
der Schluessel) kann man nur die Flucht ergreifen und gewarnt wird
davor nicht offensichtlich (soll heissen: noch nicht gefunden). Und
ein die() in einer GQ ist meines Erachtens unangebracht.

Gloin

-----------------------------------------------------------------------------



Re^4: Gildenquest (Morgoth, 21. Jun 1999, 14:43:54):
~#! rn=Gloin rt=929962835 rg=gilden.klerus
~#! tid=929735330
Auch wenn es sich jetzt von MIR etwas komisch anhoert: Forschen hilft !
Eine aehnliche Aufgabe sollten eigentlich die Kampfdinger bekommen, nur haben
die Gildenfuzzies es irgendwie nicht geschafft, nachdem sie sie getestet
haben, anzuschliessen. Die Idee mit der Klerikerquest kam viel spaeter und die
Umsetzung war danach eingentlich nur Formsache. Tja, dann werden die Kaempfer
wohl auf diese Quest verzichten muessen, obwohl ich sie m.E. ganz gut fuer sie
finde. Und glaub mir, Boing und Bendeigid haetten da niemals drueber
nachgedacht, wenn es nicht einen fairen Scchutz gegen das die() gaebe.

M*

-----------------------------------------------------------------------------



Re^5: Gildenquest (Rochus, 21. Jun 1999, 17:23:44):
~#! rn=Morgoth rt=929969034 rg=gilden.klerus
~#! tid=929735330
> Auch wenn es sich jetzt von MIR etwas komisch anhoert: Forschen hilft !
Darauf konnte ja keiner kommen...

  Rochus

-----------------------------------------------------------------------------



Re^4: Gildenquest (Ark, 21. Jun 1999, 22:09:51):
~#! rn=Gloin rt=929962835 rg=gilden.klerus
~#! tid=929735330
Ich kenn das, ich kenn das *heftig mit dem Finger aufzeigend*
Am besten ist es, keine AD&D Monster zu programmieren, denn Machtwort Tod,
oder eine Versteinerung (in meinem Fall), Todesblicke oder aehnlich Schnelles,
Endgueltiges, wird hier nur akzeptiert, wenn man einen Schutz dafuer
vorgesehen hat ...
Jedenfalls ist das die Quintessenz dessen, was ich aus dem C... Zwischenfall
gelernt habe. Fazit: Seher sind auch nicht mehr das, was sie einmal waren :-)

Jetzt gelaeutert fuer den 'Safer Kill' werbend ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Gloin und der NPC (Srabi, 22. Jun 1999, 10:40:51):
Hi Kleriker,

naja, auch ein Kaempfer kann mal in dieser Rubrik schreiben. Ich war mit Gloin
in der Drako-Festung und habe mich mal an diesem NPC versucht. Mit Keule
duerfte der eigentlich zu schaffen sein, wenn nicht dieser Aurak-Drakonier da
rumstehen wuerde.
Naja, vielleicht binn ich nur noch etwas zu schwach, also kurz gesagt, auch
wenn ich Gefahr laufe, mich bei Gloin unbeliebt zu machen, mit Keule oder
anderer Waffe ist der zu schaffen.

Gra'Takal Srabi, der Streitwart

-----------------------------------------------------------------------------



Re: Gloin und der NPC (Mahatmu, 22. Jun 1999, 12:02:51):
~#! rn=Srabi rt=930040851 rg=gilden.klerus
~#! tid=930040851
*zwinker* Dazu musst Du allerdings erst in Drakonien ganz genau dich umge-
schaut und in der Drakfestung auch bitteschoen erst das richtige Gebiet
freigemacht haben. Ansonsten droht Dir ein warm aufbruehbarer Instanttod.

Gloin

-----------------------------------------------------------------------------



Re: Re: Gloin und der NPC (Tanis, 22. Jun 1999, 14:41:31):
~#! rn=Mahatmu rt=930045771 rg=gilden.klerus
~#! tid=930040851
Um es mal wieder zu sagen ... auch die Drakonierfestung ist nicht uebertrieben
schwer ... und grad als kleriker solltest du da keine groesseren probleme
haben ... sterben kann man ueberall, also regt euch doch nicht auf, wenns
zufaellig in einem gebiet von morgoth war ... wenn man sich das gebiet einmal
ordentlich angeschaut hat, dann hat man da auch keine probleme.

Heiliger Raecher Tanis (versteht das ganze rumgeheule hier nicht)

-----------------------------------------------------------------------------



Re^3: Gloin und der NPC (Wurzel, 22. Jun 1999, 19:34:26):
~#! rn=Tanis rt=930055291 rg=gilden.klerus
~#! tid=930040851
wieso verstehst du das rumgeheule nicht? du bist doch lange genug hier, um zu
wissen dass das sein muss. irgend jemand heult immer. und wenn dir das nicht
passt: heul doch.

wurzel

-----------------------------------------------------------------------------



Re^4: Gloin und der NPC (Mahatmu, 23. Jun 1999, 11:43:33):
~#! rn=Wurzel rt=930072866 rg=gilden.klerus
~#! tid=930040851
:heult: Ich will endlich 'nen Reboot :)
:heult: Ich heul ja schon nicht mehr.
:heult: Ich war mit der Welt wieder zufrieden, als ich gestern in einem
        alten ChannelDemon eine Zeile fand, in der explizit fuer alle
        Objekte aus Morgoths Verzeichnis das Erzeugen neuer Kanaele ver-
        boten war.
:heult heute nicht mehr ;-)

Gloin

-----------------------------------------------------------------------------



Schutzhand (Lena,  2. Jul 1999, 10:59:58):
Hi Leuts.
Ich habe mal eine generelle Frage zur Schutzhand.
(Ich weiss, dass ich wohl einfach nur zu doof dazu bin, aber...)
Wie kann ich Schutzhand uebern oder sehen, ob ich bei Fehlschlaegen was
gelernt habe?
Jedesmal, wenn ich schutzhand spreche, kommt entweder ein Erfolg, oder der
angesprochene Spieler wehrt meine Anrufung ab.
Meine allg. Anrufungsfertigkeit sollte hoch genug sein, dass ich was ueben
kann (zw. 95 und 100% oder so).
Kamelot meinte mal, ich koenne SH wohl nur ueben, wenn die hoch genug sei. Nur
lerne ich bei Fehlschlaegen nix.
Der Satz "Du lernst aus Deinen Fehlern" oder "...schenken Dir eine
Erleuchtung" kommt bei SH-Fehlschlaegen (bei mir) nicht und ein Ansteigen der
Anrufungsfertigkeit hat sich trotz laengerem ueben noch nicht eingestellt.
Es waer nett, wenn mir mal jemand sagt, an was das liegen koennte.
Danke.

-----------------------------------------------------------------------------



Re: Schutzhand (Brandir,  2. Jul 1999, 11:17:55):
~#! rn=Lena rt=930905998 rg=gilden.klerus
~#! tid=930905998
Also, ich schreib hire nur mal vertretungsweise fuer Klein-Joda, der seine
Zeitung verschlampt hat und im mom auf der GefInsel sitzt :)

Wenn Schutzhand sich nicht von anderen Klerus-Spruechen dramatisch
unterscheidet, dann sollte Deine hohe Allgemeine Anrufung zum lernen eher
hinderlich sein. Das Sprueche von Spielern abgewehrt werde ist ganz normal,
ist eben die normale Zauber-Resistenz. Allerdings wurden davon vor einiger
Zeit Sprueche die dem Spieler helfen sollen ausgenommen (wie z.B. Heile und
Regeneriere). Ich schaetze mal, dass auch SH eigentlich nicht abgewehrt werden
soll. Zu Deutsch: Du machst im Moment einfach keine Fehlschlaege --> Du lernst
nichts.
Brandir - empfiehlt: schoen weiterueben :-)

-----------------------------------------------------------------------------



Re^3: Schutzhand (Lena,  2. Jul 1999, 11:21:40):
~#! rn=Lena rt=930907226 rg=gilden.klerus
~#! tid=930905998
Angeblich musste Morgoth fuer die Gildenbalance sicherstellen, dass man
Schutzhand nicht verbessern kann.
Ich hab ne Mail an Nachtwind geschickt, mit der Bitte, das mal zu erklaeren.

-----------------------------------------------------------------------------



Re^4: Schutzhand (Mahatmu,  2. Jul 1999, 16:08:10):
~#! rn=Lena rt=930907300 rg=gilden.klerus
~#! tid=930905998
... was auch immer der Satz bedeuten sollte, er ist arg zu bezweifeln, da
Schutzhand noch aus Wargons Feder stammt. AFAIK.
Und dann solltest Du vielleicht nochmal ueber das mit der Anrufungsfaehig-
keit etc. nachdenken ... kann ja sein, dass Du Dich noch nicht sehr mit der
Auswirkung dieser auf Deine Anrufungen beschaeftigt hat.

Gloin ... wirft einen Groschen nach Dir.

-----------------------------------------------------------------------------



Re^4: Schutzhand (Nachtwind,  2. Jul 1999, 20:26:08):
~#! rn=Lena rt=930907300 rg=gilden.klerus
~#! tid=930905998
Also das ist ja wohl eine der duemmsten Sachen, die ich je gehoert habe ;)
Die Gildenbalance fordert, dass man einen Spruch nicht lernen kann? Es
gibt auch Leute, die glauben jeden Scheiss...

Nachtwind.

-----------------------------------------------------------------------------



Re^5: Schutzhand (Lug,  7. Jul 1999, 03:23:16):
~#! rn=Nachtwind rt=930939968 rg=gilden.klerus
~#! tid=930905998

Es handelte sich um LENA, Nachtwind. Sagt ja alles...

Lug

-----------------------------------------------------------------------------



Re^6: Schutzhand (Biertest,  7. Jul 1999, 03:31:50):
~#! rn=Lug rt=931310596 rg=gilden.klerus
~#! tid=930905998
Es handelt sich um Lug, der auf einen Artikel von Nachtwind antwortet und
dabei den von Lena meint. Sagt ja alles... :)

Wum

-----------------------------------------------------------------------------



Re^7: Schutzhand (Lug,  7. Jul 1999, 03:33:20):
~#! rn=Biertest rt=931311110 rg=gilden.klerus
~#! tid=930905998

Tjae,

ich haette es NW auch RL sagen koennen, dann muesste ich jetzt nicht Dir
antworten, waehrend Du mir antwortest, weil ich auf Nachtwind, Lena
genatwortet hab...

Korrigiere mal einer die Zeichensetzung...
Lug

-----------------------------------------------------------------------------



Re^8: Schutzhand (Lena, 12. Jul 1999, 11:21:36):
~#! rn=Lug rt=931311200 rg=gilden.klerus
~#! tid=930905998
Ich weiss zwar nicht so ganz, um was es jetzt geht, ...
Schutzhand ist zwar lernbar, aber die Anrufung ist nicht verbesserbar.
Zumindest haben mir das schon einige (ehem.) Kandri-Erleuchtete bestaetigt.
Was das "ich hab mich nicht mit der Anrufung beschaeftigt" betrifft:
was meinst Du eigentlich, M*?

Koennt mir mal jemand eine verbindliche Antwort geben, ob und wenn ja, wieso
man die Schutzhand nicht verbessern kann? Rumgesuelze interessiert mich nicht
und hilft mir auch nicht. Dumm rumpienzen kann ich selber. (Nix gegen Dich
Lug, Du hast nur den letzten Artikel in dem Threaqd... ;) )

-----------------------------------------------------------------------------



Re^9: Schutzhand (Anatol, 12. Jul 1999, 11:22:22):
~#! rn=Lena rt=931771296 rg=gilden.klerus
~#! tid=930905998
> Dumm rumpienzen kann ich selber.

In der Tat.

Anatol


-----------------------------------------------------------------------------



Re^9: Schutzhand (Lug, 13. Jul 1999, 01:42:51):
~#! rn=Lena rt=931771296 rg=gilden.klerus
~#! tid=930905998

AAAaarrrggghhhhhh
,
was hab ich falsch gemacht? "Nix gegen Dich Lug". Was soll das?

Sauerei
Lug

-----------------------------------------------------------------------------



GQ (Gloin, 21. Jul 1999, 15:15:07):
Zwei Leute, ein Problem:
Silberdrachenei gefunden. Keine Moeglichkeit gefunden, es zu schuetzen.
lege ei auf altar -> So wirst Du das Silberdrachenei nicht los.

Your turn, Morgoth ...
Gloin

-----------------------------------------------------------------------------



Re: GQ (Tanis, 21. Jul 1999, 15:17:27):
~#! rn=Gloin rt=932562907 rg=gilden.klerus
~#! tid=932562907
Oehm, jo ... also entweder is da nen syntaxfehler, oder das Ei is nicht
'offiziell' fuer die aufgabe zugelassen ... also entweder wir finden die
syntax nicht (dann muss sie aber echt beknackt sein) oder es is echt nen bug
... dann aber bitte ne baldige loesung oder ne abhaengung der eigentlich guten
Quest.

Tanis (von eiern langsam genug habend)

-----------------------------------------------------------------------------



Re: Re: GQ (Morgoth, 22. Jul 1999, 07:33:43):
~#! rn=Tanis rt=932563047 rg=gilden.klerus
~#! tid=932562907
Ja, hab einmal aus versehen die Shift-Taste bei der ID gedrueckt, sorry. 

Sollte nun behoben sein (in den neuen Eiern).

Danke an Zook

Morgoth

-----------------------------------------------------------------------------



Schutzhand ... (Gloin,  7. Aug 1999, 16:33:35):
Oehm. Ich habe jetzt ebenfalls die Erfahrung gemacht, dass Schutzhand
nicht misslingt sondern 'abgewehrt' wird (leider fehlerbehaftet: man
sieht seinen eigenen Namen anstatt 'Du wehrst ...' wenn man es auf
sich spricht). Soll heissen, ich habe noch nichts dabei gelernt. Viel-
leicht lernt man ja nur bei Anwendung auf andere ... aber es ist
schon etwas kurios ...

gloin

-----------------------------------------------------------------------------



Re: Schutzhand ... (Lena,  9. Aug 1999, 09:04:47):
~#! rn=Gloin rt=934036415 rg=gilden.klerus
~#! tid=934036415
Laut Morgoth kann man lernen, aber...
(dazu sag ich jetzt nix mehr, ausserdem hab ich grad mail erhalten, dass ich
nur noch kurat bin und das macht mir eigentlich gar nix.)

-----------------------------------------------------------------------------



DAS passiert Verraetern (Morgoth, 19. Aug 1999, 11:55:18):
[Klerus:Hexxer] winkt kurz dem Klerikerorden ein letztes mal zu und wird wohl
[Klerus:Hexxer] boese werden...
[Klerus:Lembold] Bruder Hexxer hat dem Heiligen Orden den Ruecken gekehrt. Wir
[Klerus:Lembold] bedauern das sehr, wuenschen ihm auf dem weiteren Weg jedoch
[Klerus:Lembold] alles Gute.
[Tod:Lars] Kruuolq hat gerade Hexxer umgebracht.
[Tod:Kruuolqs Chaos-Ritual brachte den Tod]

M* ;-))

-----------------------------------------------------------------------------



Re: DAS passiert Verraetern (Swift, 19. Aug 1999, 21:43:32):
~#! rn=Morgoth rt=935063718 rg=gilden.klerus
~#! tid=935063718
nun, der alte, von ekelhaft 'guten' taten verseuchte koerper musste halt erst
mal vernichtet werden. so gehoert sich das.
und beim austritt aus der chaos-gilde wird keinem verraeter noch alles gute
gewunschen. verraeter bekommen, was sie verdienen!!!

swift.


-----------------------------------------------------------------------------



Praesenz (Morgoth,  2. Sep 1999, 09:58:44):
Hi Kleris,

ich hab die alte Mail von Nachthemd mal ausgegraben und endlich die
Praesenz-Anrufung fertiggestellt. Sie ist nun wieder verfuegbar. Ausserdem hat
sich ein bischen was am Keulenskill geaendert.

Viel Spass beim Schlachten

Morgoth

-----------------------------------------------------------------------------



Re: Praesenz (Bendeigid,  2. Sep 1999, 10:01:18):
~#! rn=Morgoth rt=936266324 rg=gilden.klerus
~#! tid=936266324
Jaja, da sieht mans wieder: Sogar der Gildenchef denkt bei Klerus nur ans
Schlachten :((( 
Wehe, wenn ich diese Gilde sehe! Der Niedergang steht darin schon
festgeschrieben! Jammert und weinet mit dem MorgenGrauen!

Bendeigid, irgendwie nicht erstaunt

-----------------------------------------------------------------------------



Re: Re: Praesenz (Householder,  2. Sep 1999, 10:02:36):
~#! rn=Bendeigid rt=936266478 rg=gilden.klerus
~#! tid=936266324
also schlachten find ich ok
weiter so ihr komischen falschen priester :) 
HH

-----------------------------------------------------------------------------



Re^3: Praesenz (Apsu,  2. Sep 1999, 10:12:01):
~#! rn=Householder rt=936266556 rg=gilden.klerus
~#! tid=936266324
Liebe Deinen Naechsten wie einen Bruder...
Und willst Du nicht mein Bruder sein, schlag ich Dir die Fresse ein.
Was ist daran falsch? sehr realistische Einstellung bei Klerikern :)

Apsu, senfend

-----------------------------------------------------------------------------



Re^4: Praesenz (Dieder,  2. Sep 1999, 10:13:19):
~#! rn=Apsu rt=936267121 rg=gilden.klerus
~#! tid=936266324
Kleriker sind trotzdem Weicheier, da beisst die Maus kein Faden ab.

Dieder, Chaot aus Ueberzeugung :)

-----------------------------------------------------------------------------



Re^5: Praesenz (Boing,  2. Sep 1999, 10:13:52):
~#! rn=Dieder rt=936267199 rg=gilden.klerus
~#! tid=936266324
Dieder kann so suess sein! :)
  Boing

-----------------------------------------------------------------------------



Re^6: Praesenz (Dieder,  2. Sep 1999, 10:14:54):
~#! rn=Boing rt=936267232 rg=gilden.klerus
~#! tid=936266324
ICH BIN NICHT SUESS!!!

Btw: Klerus-Rubrik vollmuellen macht Spass :)

Dieder

-----------------------------------------------------------------------------



Re^5: Praesenz (Householder,  2. Sep 1999, 10:15:44):
~#! rn=Dieder rt=936267199 rg=gilden.klerus
~#! tid=936266324
klar wer sich am liebsten hinter einer ueberdimensionierten keule versteckt
muss ein weichei sein :-) 

-----------------------------------------------------------------------------



Re^7: Praesenz (Belgariad,  2. Sep 1999, 10:16:08):
~#! rn=Dieder rt=936267294 rg=gilden.klerus
~#! tid=936266324
Sicher?? MIt deiner neuen Frisur siehst du richtig suess aus Dieder :))

Belga rippenstoesselnd

-----------------------------------------------------------------------------



Re^8: Praesenz (Apollonia,  2. Sep 1999, 11:46:48):
~#! rn=Belgariad rt=936267368 rg=gilden.klerus
~#! tid=936266324
Dem kann ich mich nur anschliessen *kicher*... ;)

-----------------------------------------------------------------------------



Re^9: Praesenz (Grimman,  2. Sep 1999, 11:53:08):
~#! rn=Apollonia rt=936272808 rg=gilden.klerus
~#! tid=936266324
Nur um dem ganzen mal wieder einen .... hmm .... Schubs in die richtige
Richtung zu geben, die Kreuzzuege hatten damals auch 'nur' den Hintergrund der
Glaubensverbreitung ... ich sehe also keinen Grund, warum die Kleriker nicht
auch mit der Keule bekehren sollten.

GrimMan , um was ging es eigentlich?

-----------------------------------------------------------------------------



Re^10: Praesenz (Apollonia,  2. Sep 1999, 12:00:17):
~#! rn=Grimman rt=936273188 rg=gilden.klerus
~#! tid=936266324
Wie war das mit 'Wenn dir jemand auf die linke Wange schlaegt, dann halte auch
die rechte hin' (oder umgekehrt)???? ;)

-----------------------------------------------------------------------------



Re^11: Praesenz (Wim,  2. Sep 1999, 12:01:41):
~#! rn=Apollonia rt=936273617 rg=gilden.klerus
~#! tid=936266324
Wenn Dir jemand auf die linke Wange schlaegt, hau ihm auf die rechte?

-----------------------------------------------------------------------------



Re^12: Praesenz (Householder,  2. Sep 1999, 12:02:57):
~#! rn=Wim rt=936273701 rg=gilden.klerus
~#! tid=936266324
quatsch:
wenn du wem auf die linke wange schlaegst vergiss nicht, ihm auch auf 
die rechte zu hauen !
HH 

-----------------------------------------------------------------------------



Re^11: Praesenz (Grimman,  2. Sep 1999, 12:04:11):
~#! rn=Apollonia rt=936273617 rg=gilden.klerus
~#! tid=936266324
Hiess das nicht : wenn dir jemand auf die linke Wange schlaegt, klopp ihm auf
die rechte?

GrimMan , Kaempfer aus Ueberzeugung

-----------------------------------------------------------------------------



Re^5: Praesenz (Heromcfly,  2. Sep 1999, 13:10:45):
~#! rn=Dieder rt=936267199 rg=gilden.klerus
~#! tid=936266324

und chaoten nicht ? :)

-----------------------------------------------------------------------------



Re^9: Praesenz (Dieder,  2. Sep 1999, 22:37:08):
~#! rn=Apollonia rt=936272808 rg=gilden.klerus
~#! tid=936266324
WAAAAAAAAAAH... ICH BIN NICHT SUESS!!!

Dieder, grummelnd

-----------------------------------------------------------------------------



Re^6: Praesenz (Teddy,  2. Sep 1999, 22:42:47):
~#! rn=Boing rt=936267232 rg=gilden.klerus
~#! tid=936266324
Nicht wirklich.

Teddy, seinem Gildenkollegen beistehend.

-----------------------------------------------------------------------------



Re^11: Praesenz (Gorog,  3. Sep 1999, 10:31:12):
~#! rn=Apollonia rt=936273617 rg=gilden.klerus
~#! tid=936266324
Klar Appolonia
Die andere Wange hinhalten tu ich immer. Is doch nicht mein Problem wenn die
Gegner nicht zuhaun wollen (;

-----------------------------------------------------------------------------



Re^12: Praesenz (Apollonia,  5. Sep 1999, 12:23:54):
~#! rn=Gorog rt=936354672 rg=gilden.klerus
~#! tid=936266324
Na ja, das liegt vielleicht daran, dass Du sie mir noch nicht hingehalten hast
;)
Apo* (breit grinsend)

-----------------------------------------------------------------------------



Re^13: Praesenz (Gorog,  5. Sep 1999, 20:10:29):
~#! rn=Apollonia rt=936534234 rg=gilden.klerus
~#! tid=936266324
Immer doch.

Gorog tut was fuer die Ehre seines Standes.

-----------------------------------------------------------------------------



Re^10: Praesenz (Lug,  7. Sep 1999, 21:15:08):
~#! rn=Grimman rt=936273188 rg=gilden.klerus
~#! tid=936266324

GrimMan?

Du solltest mal ein wenig mehr ueber Kreuzzuege lesen, dann glaubst nicht mal,
mehr Du, das es da um Glaubensverbreitung ging ;)
Lug

-----------------------------------------------------------------------------



Re^11: Praesenz (Grimman,  8. Sep 1999, 01:40:37):
~#! rn=Lug rt=936738908 rg=gilden.klerus
~#! tid=936266324
Hmmmm ... soweit ich weiss, war das wenigstens die Ausrede fuer den
christlichen Expansionsdrang, worum es nu wirklich ging, steht wieder ganz
woanders ;)

GrimMan , nicht ganz so dumm, wie er aussieht

-----------------------------------------------------------------------------



Re^12: Praesenz (Cirdan, 11. Sep 1999, 19:40:42):
~#! rn=Grimman rt=936754837 rg=gilden.klerus
~#! tid=936266324
Nix Ausrede!
Die haben das wirklich fuer ihren Glauben getan.
Aber Geld, Gold, Schotter nimmt man dabei auch noch gern mit.
Froemmigkeit und Geldgier paaren sich nun mal all zu oft.
Schlaumeierisch,
Cirdan

-----------------------------------------------------------------------------



Re^13: Praesenz (Apsu, 11. Sep 1999, 19:44:08):
~#! rn=Cirdan rt=937078842 rg=gilden.klerus
~#! tid=936266324
Ja, die haben so viel fuer den Glauben getan, dass sie beim Einzug in
Jerusalem gleich die einheimischen Christen mit geplaettet haben. Und die
Stadtvaeter von Konstantinopel ueberlegten sich ernsthaft, Saladin zu Hilfe zu
rufen, um die Stadt von den Befreiern zu befreien

Apsu /senf off

-----------------------------------------------------------------------------



Re^14: Praesenz (Cirdan, 11. Sep 1999, 19:56:18):
~#! rn=Apsu rt=937079048 rg=gilden.klerus
~#! tid=936266324
Tja, Apsu, die haben Glauben damals anders definiert, darum waren sie ja auch
im ganzen Orient so furchtbar beliebt. Die Muslime waren uebrigens auch nicht
so viel besser. Alles die gleiche Bagage!
Schoen, dass die Kirchen heute nicht mehr so viel zu sagen haben, zumindest in
Machtfragen, gelle?
Cirdan

-----------------------------------------------------------------------------



Re^15: Praesenz (Grimman, 11. Sep 1999, 20:05:30):
~#! rn=Cirdan rt=937079778 rg=gilden.klerus
~#! tid=936266324
in Deutschland hat die kirche vielleicht nicht mehr die Macht, wie zu der
Zeit, aber (IMHO) grad im 'Orient' hat die Kirche noch sehr viel Macht, oder?

GrimMan

-----------------------------------------------------------------------------



Re^16: Praesenz (Cirdan, 11. Sep 1999, 20:09:18):
~#! rn=Grimman rt=937080330 rg=gilden.klerus
~#! tid=936266324
Wenn du mit Orient den muslimischen Bereich meinst, noe.
Der Islam hat naemlich keine Kirchenorganisation, und das gefaellt mir an ihm
eigentlich ganz gut. Dadurch wird er allerdings wohl auch recht anfaellig fuer
Sektierer- und Fanatikertum (das gefaellt mir dann weniger gut).
Einzige Ausnahme (vielleicht): die Schiiten, die mit den Ayatollahs. Aber das
ist bei weitem keine so strenge Organisation wie die Kath. oder Ev. Kirche.
Aber da musst du mal nen Muslim-Fachmann fragen.
Cirdan,
weiter den Senf dazugebend

-----------------------------------------------------------------------------



Bugfix (Morgoth, 14. Sep 1999, 08:42:44):
...im Talisman. Nach 'ende' oder Crash/Reboot isser wieder OK.

M*

-----------------------------------------------------------------------------



Re^17: Praesenz (Bambi, 14. Sep 1999, 14:03:50):
~#! rn=Cirdan rt=937080558 rg=gilden.klerus
~#! tid=936266324
Wo ist eigentlich der Urspruengliche Artikel hin? Ich will den auch lesen!

-----------------------------------------------------------------------------



Re^17: Praesenz (Jasper, 14. Sep 1999, 23:35:33):
~#! rn=Cirdan rt=937080558 rg=gilden.klerus
~#! tid=936266324
naja fanatiker gibts in anderen religionen auch
z.b: http://www.landoverbaptist.org/
bzw. da http://www.landoverbaptist.org/newarchive.html
und dann sich zum besipel die story ueber jarjar bicks oder so durchlesen ;P

-----------------------------------------------------------------------------



Re^18: Praesenz (Guildo, 15. Sep 1999, 07:05:14):
~#! rn=Jasper rt=937352133 rg=gilden.klerus
~#! tid=936266324
Hmm, ich hatte bei diesen Seiten zunaechst an eine
Parodie gedacht. Das schlimme bei den fundamentalistischen
Amis ist, dass das ganze aber auch todernst gemeint
sein kann.

Guildo

-----------------------------------------------------------------------------



Re^18: Praesenz (Morgoth, 15. Sep 1999, 07:15:23):
~#! rn=Jasper rt=937352133 rg=gilden.klerus
~#! tid=936266324
DER ist besser !!
http://www.landoverbaptist.org/news0999/cotton.html

M* lacht sich halbtot

-----------------------------------------------------------------------------



Re^19: Praesenz (Bubba, 21. Sep 1999, 15:53:53):
~#! rn=Morgoth rt=937379723 rg=gilden.klerus
~#! tid=936266324

Du lachst? 
Dich kriegen wir auch noch!

Bubba fuer Baptist


-----------------------------------------------------------------------------



Beten (Josua, 12. Nov 1999, 11:07:49):
Waere es nicht moeglich, das die Sprueche, die man beim Beten zu sehen bekommt
von Seiten der Spieler erweitert werden, koennte lustig werden.

Josua, gluecklich ne leere rubrik gefunden zu haben.

-----------------------------------------------------------------------------



Re: Beten (Mahatmu, 12. Nov 1999, 14:53:30):
~#! rn=Josua rt=942401269 rg=gilden.klerus
~#! tid=942401269
Ein echt gute Idee :> Am besten faende ich, wenn das Beten auch nach
aussen sichtbar wuerde (nicht nur durch die 'weg'-Nachricht). Zusammen
mit der Spielerphantasie duerfte das stimmungsvoll sein.

Gloin

-----------------------------------------------------------------------------



Re: Re: Beten (Mindblade, 12. Nov 1999, 18:12:02):
~#! rn=Mahatmu rt=942414810 rg=gilden.klerus
~#! tid=942401269
Wenn dann bitte mir ignoriere-Abfrage, denn nicht jeder moechte unbedingt
vollgescrollt werden.

My 2 cents,
Mind*

-----------------------------------------------------------------------------



Re^3: Beten (Josua, 12. Nov 1999, 18:14:38):
~#! rn=Mindblade rt=942426722 rg=gilden.klerus
~#! tid=942401269
Warum ignorieren?
Dann geht die ganze Gilde zu den beliebtesten Treffpunkten im Mud und faengt
an inbruenstig zu beten
:-)
TEAM BETEN Josua

-----------------------------------------------------------------------------



Re^4: Beten (Mindblade, 12. Nov 1999, 18:16:20):
~#! rn=Josua rt=942426878 rg=gilden.klerus
~#! tid=942401269
Hmpf, eben das verhindert man ja mit ignoriere! Wenn Du ignoriere trete
machst, kriegst Du ja auch nicht mit, wenn einer im Raum Dich tritt!;)

-----------------------------------------------------------------------------



Re^5: Beten (Nonne, 15. Nov 1999, 09:21:43):
~#! rn=Mindblade rt=942426980 rg=gilden.klerus
~#! tid=942401269
Hi,

aber Kleriker haben ja durchaus einen Missionsauftrag, daher ist die Idee
schon nicht schlecht mit den Raummeldungen. Aber das wird bestimmt kein
dauerzustand, da jeder Kleriker, so seine Stelle hat, an denen er betet.
Selber Meldungen absetzen duerfte schwierig zu implementieren sein. Aber wenn
ich mal Vollmagier bin und Morgoth mir Schreibrechte gibt, erweitere ich die
Betemeldungen gerne mit euren Vorschlaegen. Sollte es soweit sein, poste ich
das hier, dann koennt ihr mich mit Mails bombadieren. Aber so schreiben, dass
ich nur noch cut&paste machen muss ;-)

Nonne, eigentlich nicht arbeitslos.

-----------------------------------------------------------------------------



Re^6: Beten (Mahatmu, 15. Nov 1999, 14:05:39):
~#! rn=Nonne rt=942654103 rg=gilden.klerus
~#! tid=942401269
Selber beten duerfte kein Problem sein. Das einzige Problem duerfte sein,
einen EM zu finden, dem man die SAVE-Prop verkauft. Man mache das ganze
verfuegbar ab Seherstatus und hat nur eine weitere vom Seher setzbare Mel-
dung. Und es ignorieren zu lassen ist gar nicht so schwierig. Im Notfall
biete ich gern an, das Morgoth zu schreiben :>

Gloin aka Leonidas@Regen

-----------------------------------------------------------------------------



Re^7: Beten (Wurzel, 15. Nov 1999, 22:04:24):
~#! rn=Mahatmu rt=942671139 rg=gilden.klerus
~#! tid=942401269
Leonidas@Regen ... ist das das mud mit dauerhaft schlechtem wetter? :)

wurzel

-----------------------------------------------------------------------------



Tempeltransport (Nonne, 18. Nov 1999, 14:39:15):
Gruess Lembold,

in Vertretung unseres Gildenoberhauptes geben ich bekannt:

Lembold ist nun nicht mehr bereit, Herrscharen von Engeln ueber das
Morgengrauen zu schicken, um Spieler hierhin und dorthin zu bringen, die sich
nicht voll und ganz einem Gott verschrieben haben. Da Lembold kein
eifersuechtiger Gott ist, wird auch weiterhin den Geweihten der Saphina und
Kandri geholfen.

i.A. Nonne.

-----------------------------------------------------------------------------



Re: Tempeltransport (Josua, 18. Nov 1999, 16:14:30):
~#! rn=Nonne rt=942932355 rg=gilden.klerus
~#! tid=942932355
Was soll dieser Mist!
Josua - stinkesauer

-----------------------------------------------------------------------------



Re: Re: Tempeltransport (Apsu, 18. Nov 1999, 16:15:06):
~#! rn=Josua rt=942938070 rg=gilden.klerus
~#! tid=942932355
mach halt den entsprechenden level und heul nicht

-----------------------------------------------------------------------------



Re^3: Tempeltransport (Sharia, 18. Nov 1999, 20:23:16):
~#! rn=Apsu rt=942938106 rg=gilden.klerus
~#! tid=942932355
ich denke, lieber Josua (ich weiss ich antworte hier auf Apsus Artikel) Nonne
moechte uns damit mitteilen, dass die Goetter 
mist zeilenumbruch...
also dass die Goetter vorallem den niedrigeren Level Erzuernt sind ..oder so
.. :)

Sharia

-----------------------------------------------------------------------------



Re^4: Tempeltransport (Nonne, 19. Nov 1999, 08:39:01):
~#! rn=Sharia rt=942952996 rg=gilden.klerus
~#! tid=942932355
Hallo Kleriker,

am mal was klarzustellen: Schon vor Einfuehrung des Tempeltransports war klar,
dass dieser erst ab Priester funktionieren sollte. Man sollte einmal in seinem
Dasein als Kleriker mit dem Schiff zum Ende der Welt fahren. Ich glaube, aus
diesem Grund hat Wargon den Stammtempel damals auch da angschlossen, sonst
haette man sich den sparen koennen und alles in Djelibeby (oder so aehnlich)
bauen koennen. Da man aber vor dem Priesterdasein nicht regelmaessig in den
Stammtempel muss, finde ich nicht, dass es eine grosse Einschraenkung
darstellt. Ich koennte hoechstens unserem Gildenhaeuptling vorschlagen, dass
auch in der Wueste ein Betraum entsteht. Das waere wirklich der einzige Grund,
warum man dahin muss.

Und wenn hier einzelne stinksauer sind, koennen sie ja Zauberer werden. Da
kriegt man alles in den A**** geschoben.

Hochachtungsvoll
Nonne.

-----------------------------------------------------------------------------



Re^5: Tempeltransport (Anatol, 19. Nov 1999, 12:50:06):
~#! rn=Nonne rt=942997141 rg=gilden.klerus
~#! tid=942932355
Sieht so aus, als ob Nonne genausowenig wie Morgoth in der Lage ist, 
in der Zeitung Gildenstimmung zu vermitteln. Und bei Nonne ist das 
wirklich peinlich... *seufz*

Anatol


-----------------------------------------------------------------------------



Re^6: Tempeltransport (Nonne, 19. Nov 1999, 13:30:50):
~#! rn=Anatol rt=943012206 rg=gilden.klerus
~#! tid=942932355
Musst Du eigentlich an allem und jedem rummaekeln? Ich habe noch nie gesehen,
dass Du hier irgendwas auf die Kette bekommen haettest. Wenn Du es geschafft
hast, irgendwo Gildenstimmung zu verbreiten oder irgendwas geproggt hast,
womit Du Dich ueber den Durschnittsmudder erhebst, dann hast Du das recht an
allem rumzumaulen, aber nicht vorher!

Womit ich nicht behaupten will, dass ich das getan haette, aber ich Maule auch
nicht an anderer Leute arbeit rum. (ausser es hat was mit Zauberern zu tun)

Konstruktiv okay, aber nicht so Anatol.

Nonne.

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Tilly, 19. Nov 1999, 13:36:43):
~#! rn=Nonne rt=943014650 rg=gilden.klerus
~#! tid=942932355
Nene Nonne,
das Recht auf Kritik hat nichts mit Verbesserungsvorschlaegen oder aehnlichem
zu tun was Du Anatol vorwirfst.

 - Tilly -

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Nonne, 19. Nov 1999, 13:50:03):
~#! rn=Tilly rt=943015003 rg=gilden.klerus
~#! tid=942932355
Meiner Meinung nach gibts aber einen Unterschied zwischen runterputzen und
Kritik ueben. Was Anatol hier abzieht faellt bei mir nicht unter Kritik.
Meistens reduziert sich das auf blosses abwerten dessen, was gerade zur
Diskussion steht. Kontruktiv war das noch nie. Es scheint mir, das Anatols
Selbstbewusstsein es dringend noetig hat, dass kleine Kinder hier ihn fuer
einen tollen Hecht halten. Eine andere Erklaerung habe ich dafuer nicht. Aber
vielleicht fehlt mir auch nur der intellektuelle Zugang zur dieser hochgradig
kontruktiven Satire?!?!

Nonne.

-----------------------------------------------------------------------------



Re^6: Tempeltransport (Catweazle, 19. Nov 1999, 13:51:57):
~#! rn=Anatol rt=943012206 rg=gilden.klerus
~#! tid=942932355
Darauf hab ich mich schon lange gefreut:

Heul doch :-)


YTC *heh heh*

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Nonne, 19. Nov 1999, 13:52:56):
~#! rn=Catweazle rt=943015917 rg=gilden.klerus
~#! tid=942932355
Och noe, da musste schon wer kommen, vor dem ich wenigstens ein Fuenkchen
respekt habe ;-)

Nonne

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Grimmborn, 19. Nov 1999, 14:14:03):
~#! rn=Nonne rt=943015803 rg=gilden.klerus
~#! tid=942932355
Also, ich finde es durchaus konstruktiv, mangelnde Gildenstimmung zu
bemaengeln. Das impliziert durchaus den Vorschlag, das doch mal zu aendern.
Aber getroffene Hunde bellen ja bekanntlich am lautesten.

> Aber vielleicht fehlt mir auch nur der intellektuelle Zugang zur dieser
> hochgradig kontruktiven Satire?!?!
Das ist natuerlich absolut moeglich, ja.

Grimmborn der Atheist findet Gildenfeeling bei dieser Gilde eh noch
ueberfluessiger als die Gilde selber...

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Hood, 19. Nov 1999, 14:54:18):
~#! rn=Nonne rt=943015803 rg=gilden.klerus
~#! tid=942932355
du willst aber hoffentlich dein rumgeprolle gegenueber zauberern
kkwer
nicht als kritik verstanden wissen oder?
so langsam wirst du naemlich peinlich...

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Matis, 19. Nov 1999, 19:48:35):
~#! rn=Nonne rt=943014650 rg=gilden.klerus
~#! tid=942932355
Ganz unabhaengig vom gegenwaertigen Thema: Man muss kein Kuenstler
sein, um Kunst kritisieren zu koennen und duerfen.

Matis

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Heromcfly, 19. Nov 1999, 20:20:49):
~#! rn=Matis rt=943037315 rg=gilden.klerus
~#! tid=942932355


hmmmm wie wahr das kritiker sind menschen die zwahr interesse 
an einer sache finden denen aber das noetige talent fehlt um selbst
etwas dabei zu erreichen ... 

astinov hies der typ der da was drueber geschrieben hat glaube ich
is aber schon laaaaaaaaange her und ich mag mich auch irren :)


-----------------------------------------------------------------------------



Re^9: Tempeltransport (Grimmborn, 19. Nov 1999, 20:38:33):
~#! rn=Heromcfly rt=943039249 rg=gilden.klerus
~#! tid=942932355
Das klassische Beispiel ist:
Ich kann selber keine Eier legen, aber ich weiss sehr gut wann ein Ei schlecht
ist.

Grimmborn "H2S" der Atheist

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Rardian, 20. Nov 1999, 00:10:26):
~#! rn=Nonne rt=943015803 rg=gilden.klerus
~#! tid=942932355
Hey Nonne:
Kritik ist, was andere denken, und nichts, was man sich zu Herzen nehmen muss.
Man kann das natuerlich tun (und sollte man manchmal auch). 

Rar* , ohne weiteren Kommentar.

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Arancia, 20. Nov 1999, 02:14:11):
~#! rn=Nonne rt=943015803 rg=gilden.klerus
~#! tid=942932355
er ist auch so ein toller Hecht *genauweiss* *lach*

-----------------------------------------------------------------------------



Re^6: Tempeltransport (Apsu, 20. Nov 1999, 16:19:19):
~#! rn=Anatol rt=943012206 rg=gilden.klerus
~#! tid=942932355
Dann vermittel Du doch, statt uns alle mit Deinen geistigen Erguessen in den
Gilderubrik anzuoed... aeh zu unterhalten. Kannst Du eigentlich nix als
meckern?

Apsu

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Grimmborn, 20. Nov 1999, 18:11:36):
~#! rn=Apsu rt=943111159 rg=gilden.klerus
~#! tid=942932355
Tja, wenn diese Theisten schon Zauberer brauchen, um Feeling zu vermitteln,
hat man eigentlich keine weiteren Fragen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Thanos, 21. Nov 1999, 10:07:38):
~#! rn=Grimmborn rt=943117896 rg=gilden.klerus
~#! tid=942932355
kokoro
mhh, was haben die letzten artikel eigentlich mit dem eigentlichen thema zu
tun ?
irgendwie schafft ihr es immer wieder das thema komplett zu ignorieren und was
ganz anders rauszumachen :)
ich frag mich nur was dazu gehoert, geistige reife um diesen sprung
nachzuvollziehen oder einfach mal wieder das simple kindergartenniveau :)

(peter)lustig

Thanos (seufzt nur noch)

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Jasonrigid, 22. Nov 1999, 09:32:00):
~#! rn=Nonne rt=943014650 rg=gilden.klerus
~#! tid=942932355

Ja, muss er offenbar, Problem bei der Sache ist bloss, dass er es ganz toll
findet, wenn Du Dich darueber aufregst. Ich schaetze, ein "ignoriere Anatol"
tut es erstmal, fuer Fortgeschritte empfehle ich dann, sich einfach ueber ihn
zu amuesieren.

Jason

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Lug, 24. Nov 1999, 01:03:17):
~#! rn=Nonne rt=943014650 rg=gilden.klerus
~#! tid=942932355

Ist ja schon etwas her, aber trotzdem:

Nonne? Heulsuse.


FidG
Luh

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Nonne, 24. Nov 1999, 09:30:29):
~#! rn=Lug rt=943401797 rg=gilden.klerus
~#! tid=942932355
Danke Lug, darauf habe ich noch gewartet! ;-)

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Lug, 25. Nov 1999, 00:03:22):
~#! rn=Nonne rt=943432229 rg=gilden.klerus
~#! tid=942932355

Bitte, bitte, ich bin ja eigentlich ganz suess behauptet Liara...

Apropos: LD.

Lug

-----------------------------------------------------------------------------



Re^10: Tempeltransport (Aline, 25. Nov 1999, 10:21:41):
~#! rn=Lug rt=943484602 rg=gilden.klerus
~#! tid=942932355

Also ich finde das auch...

Aline

-----------------------------------------------------------------------------



Re^11: Tempeltransport (Lug, 28. Nov 1999, 02:37:22):
~#! rn=Aline rt=943521701 rg=gilden.klerus
~#! tid=942932355
Was?

Du findest das auch?




RRRRRRRAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!



Lug

-----------------------------------------------------------------------------



Re^5: Tempeltransport (Wargon, 30. Nov 1999, 21:28:38):
~#! rn=Nonne rt=942997141 rg=gilden.klerus
~#! tid=942932355
  Hiho!
Also wenn mir schon vor der Einfuehrung des Tempeltransports klar gewesen
waere, dass dieser erst fuer Priester und hoeher nutzbar sein sollte, haette
ich das mit Sicherheit so implementiert...
EIGENTLICH war der Tempeltransport dafuer gedacht, dass auch "kleine" Kleriker
(im Sinne von Nicht-Seher) relativ schnell zum Stammtempel (und wieder
zurueck) gelangen koennen, da sie eben ansonsten die beschwerliche
Schiffsreise vor sich haben.
  Wargon

-----------------------------------------------------------------------------



Re^6: Tempeltransport (Nevok, 30. Nov 1999, 23:24:29):
~#! rn=Wargon rt=943993718 rg=gilden.klerus
~#! tid=942932355
erstens kommt es anders und zweitens als man denkt..naja...zu viele Koeche und
so....

Nevok, desillusionierter Kleriker, Trves auf dem zweiten Bildungsweg

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Wim, 30. Nov 1999, 23:25:45):
~#! rn=Nevok rt=944000669 rg=gilden.klerus
~#! tid=942932355
> Nevok, desillusionierter Kleriker, Trves auf dem zweiten Bildungsweg

Hmm.. Abi nicht geschafft und so noch die Realschulreife versuchen zu
bekommen?

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Dieder, 30. Nov 1999, 23:26:25):
~#! rn=Wim rt=944000745 rg=gilden.klerus
~#! tid=942932355
seit wann werden hier die Kaempfer als Bildungsweg bezeichnet?

-----------------------------------------------------------------------------



Re^6: Tempeltransport (Mahatmu,  1. Dez 1999, 15:30:07):
~#! rn=Wargon rt=943993718 rg=gilden.klerus
~#! tid=942932355
Manchmal wird geaendert, wo es nichts zu verbessern gibt. Aber den Aerger
beiseite: Was machen die selbst setzbaren Betmeldungen fuer die Seher?

Gloin

-----------------------------------------------------------------------------



Re^6: Tempeltransport (Orktoeter,  1. Dez 1999, 19:57:54):
~#! rn=Wargon rt=943993718 rg=gilden.klerus
~#! tid=942932355
Also inzwischen sind Schiffreisen doch gar nicht mehr so beschwerlich...

OrkT senft.

-----------------------------------------------------------------------------



Sonnenbrand (Kamille,  1. Dez 1999, 20:01:33):

Seit wann bekommt man eigentlich in Djelibeby einen Sonnenbrand?
Sogar in unserem geheiligten Tempel laesst der Sonnenbrand nicht nach. :(

Kamille (dachte immer der Tempel sei schoen kuehl und schattig)

-----------------------------------------------------------------------------



Re^7: Tempeltransport (Ktar,  9. Dez 1999, 00:36:56):
~#! rn=Orktoeter rt=944074674 rg=gilden.klerus
~#! tid=942932355
Apropo Schiffsreisen.
Da gebe ich Orktoeter recht, die sind nicht mehr das Ding. Insbesondere fuer
den Klerus, da kann man naemlich wunderbar beten und per reise mit/nach
trotzdem fahren.

-----------------------------------------------------------------------------



Re^8: Tempeltransport (Guildo,  9. Dez 1999, 09:39:23):
~#! rn=Ktar rt=944696216 rg=gilden.klerus
~#! tid=942932355
Musst Du das hier unbedingt publik machen? Womoeglich kommt jetzt noch jemand
auf die Idee, uns diesen bu^H^H^H^Hs feature auch noch wegzunehmen.

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^9: Tempeltransport (Gloin,  9. Dez 1999, 11:36:44):
~#! rn=Guildo rt=944728763 rg=gilden.klerus
~#! tid=942932355
Dieser Art Moeglichkeiten gibt es an vielen Stellen. Und das Ausraeumen
beduerfte mehr Flickarbeit als es wert ist. Ganz davon abgesehen, dass
unseren kleinen Bruedern und Schwestern gerade wegen der verkehrenden
Schiffe kein derartiger Vorteil aus der Gnade des Tempeltransportes
erwaechst, dass sie nunmehr dieser nicht mehr wuerdig sein sollten.

Gloin

PS: Klartext: Auch wenn es nicht geschieht, plaediere ich fuer Rueck-
    nahme der Aenderung und anderweitig kreative Betaetigung der
    Gilden(mit)magier.

-----------------------------------------------------------------------------



Re^10: Tempeltransport (Nonne,  9. Dez 1999, 12:28:15):
~#! rn=Gloin rt=944735804 rg=gilden.klerus
~#! tid=942932355
Hallo ihrs,

in Absprache mit dem Gildenmagier stelle ich folgendes zur Diskussion:

Tempeltransport als Anrufung, die man erlernen und verbessern muss, bis sie
zuverlaessig funktioniert. Was bei Fehlschlaegen passiert, wissen wir auch
nicht so genau, mal schauen, wo man dann so hinkommt. Erlernbar soll sie sein
ab Diakon, da dann die Priesterweihe ansteht. Das war das einzige Argument
fuer einen Besuch des Stammtempels, da man dort erfaehrt, wie die
Anforderungen fuer die Weihen sind.
Ein Vorschlag zur Guete.
Nonne i.A des grossen Meisters.

-----------------------------------------------------------------------------



Re^11: Tempeltransport (Padreic,  9. Dez 1999, 12:29:34):
~#! rn=Nonne rt=944738895 rg=gilden.klerus
~#! tid=942932355
Du hast jetzt aber nicht zufaellig unterschlagen, das diese Anrufung dann von
jedem Ort im MorgenGrauen moeglich sein soll?

Padreic, nur mal so vorsichtshalber nachfragend.. :)

-----------------------------------------------------------------------------



Re^11: Tempeltransport (Mahatmu,  9. Dez 1999, 12:32:41):
~#! rn=Nonne rt=944738895 rg=gilden.klerus
~#! tid=942932355
Anrufung hoert sich schlecht an :) Aber die dahinterstehende Idee der Bitte
an die Goetter um die Gnade eines Transportes ist ziemlich gut.
Wenn, dann sollte diese Anrufung natuerlich nur aus geweihten Orten heruas
moeglich sein (derer ich nur zwei-drei kenne) _und_ auch kleinen Spielern
zur Verfuegung stehen, denn ein Besuch des Stammtempels dann und wann
halte ich fuer eine Pflicht auch schon fuer junge Schwestern und Brueder.

Mahatm_u_ i.A. Gloin

-----------------------------------------------------------------------------



Re^12: Tempeltransport (Nonne,  9. Dez 1999, 12:37:30):
~#! rn=Mahatmu rt=944739161 rg=gilden.klerus
~#! tid=942932355
Vielleicht haette ich da deutlicher sein sollen: Natuerlich ist der
Tempeltransport nicht von ueberall moeglich. Schlisslich ist Mindra nicht
Llystrathe. Ob es dann noch andere Orte geben kann, von denen es klappt,
sollte man mal schauen. Vorschlaege fuer andere Orte per mail an mich.

Zur Anrufung: Das sind ja bitten an Goetter und werden nicht immer erhoert. Da
es das Konzept des Fehlschlags mit Konsequenzen bei den Klerikern nicht gibt,
muss man sich da mal was einfallen lassen.

Nonne.

-----------------------------------------------------------------------------



Noch mehr Spells? (Isis,  9. Dez 1999, 13:00:07):
Hm, also ich bin ehrlich nich so begeistert von der Idee noch mehr Spells, die
eigentlich keinen echten Nutzen haben einzubauen... 
Man uebt sie, weil mans zum Aufsteigen muss, und dann faellt einem (WENN man
sie mal braucht ) erst hinterher ein, dass man ja eigentlich haette
koennen....

Daher noch ein Vorschlag: 

Der Tempeltransport fuer kleinere Kleriker funzt als Fuerbitte von groesseren
Klerikern...
Ob die Bitte, den kleinen Bruder/Schwester zu befoerdern gewaehrt wird, kann
ja abhaengig von dessen Charakter etc sein...

Aber ich renn lieber 5 mal am tag in den Tempel um fuer jemand um die Kraft
der Goetter zu bitten, als nen Tempeltransport-Uebe-Script zuzuschauen...

XYZ Bittet um die Kraft der Goetter und wuenscht sich an einen anderen Ort.
Engel kommen an und tragen ihn Fort.
2 Sekunden Pause
Engel kommen an und bringen XYZ an.

XYZ Bittet um die Kraft der Goetter und wuenscht sich an einen anderen Ort.
]Engel kommen an und tragen ihn Fort.
2 Sekunden Pause
[Tod: Lars] Schusselige Engel haben gerade XYZ fallengelassen!
[Tod: Schusselige Engel] Tja...das war wohl nix...

Hera

-----------------------------------------------------------------------------



Re: Noch mehr Spells? (Nonne,  9. Dez 1999, 13:01:58):
~#! rn=Isis rt=944740807 rg=gilden.klerus
~#! tid=944740807
Klar, das Zuschauen gefaellt mir auch nicht, aber die letzten beiden Zeilen...

Nonne, begeistert.

-----------------------------------------------------------------------------



Re: Noch mehr Spells? (Mahatmu,  9. Dez 1999, 13:15:46):
~#! rn=Isis rt=944740807 rg=gilden.klerus
~#! tid=944740807
Ja, die zusaetzliche _Anrufung_ ist eben das Unangenehme an der Sache.
Loesung waere, diesen Skill per Default auf 100% zu setzen und ihn mit
einer Fehlschlagswhkeit auszustatten - womit sich dann die Frage stellt,
warum man es nicht gleich im Raum implementiert, dass es einer Anrufung
an die Goetter gleicht (Ursprungspunkt).
Leider sind nunmal hier _alle_ Gildenskills erstens Levelbestimmend
*levelgeilheit pfleg* aber auch zwotens ausschlaggebend fuer die
Besetzung der hoeheren Posten (was man ja gern bei hinreichend viel
Aufwand umbauen kann ;)).

Mahatmu

-----------------------------------------------------------------------------



Re: Re: Noch mehr Spells? (Nonne,  9. Dez 1999, 13:19:56):
~#! rn=Mahatmu rt=944741746 rg=gilden.klerus
~#! tid=944740807
Ich glaube, ich habe kein Wort darueber verloren, wie ich das implementieren
will und welche Folgen das nach sich zieht. Auch nicht, wie schnell man das
lernt. Sowas moechte ich hier auch nicht lesen, das gehoert in die
Magierrubriken. Ich moechte Feedback von den Spielern und schauen, wie sich
die besten Sachen davon unter einen Hut bringen lassen.

Nonne.

-----------------------------------------------------------------------------



Re: Re: Noch mehr Spells? (Gandur,  9. Dez 1999, 13:39:19):
~#! rn=Nonne rt=944740918 rg=gilden.klerus
~#! tid=944740807
bitte benennt die gilde dann um. vorschlag: zauberer2

gandur (enttaeuscht)

-----------------------------------------------------------------------------



Re^3: Noch mehr Spells? (Gandur,  9. Dez 1999, 13:46:05):
~#! rn=Gandur rt=944743159 rg=gilden.klerus
~#! tid=944740807
hm, da wohl doch erklaerungsbedarf besteht:
wenn einem kleriker eine anrufung seiner goetter misslingt ist es imho
strafe genug das seine goetter ihm nicht ihr gehoer schenken. wenn man
unbedingt das konzept der folgen bei fehlschlaegen einfuehren will dann
sollte sich das nur auf die glaubensstaerke des klerikers auswirken. wenn
die null ist kann man ja noch darueber nachdenken was das dann bedeutet.

gruss, gandur

-----------------------------------------------------------------------------



Re^4: Noch mehr Spells? (Nonne,  9. Dez 1999, 13:49:39):
~#! rn=Gandur rt=944743565 rg=gilden.klerus
~#! tid=944740807
Ich moechte dieses Konzept auf keinen Fall einfuehren. Ich weiss auch nicht,
ob das tatsaechlich eine Anrufung wird, die auch in die Bewertung fuer
Hohepriester eingeht. Ich moechte ein paar Anregungen, wie man das umsetzen
koennte. Es sollte allerdings nicht einfach ein Geschenk sein, sondern etwas
anstrengung erfordern, dass man anschliessend von Engeln durch mg getragen
wird.

Nonne.

-----------------------------------------------------------------------------



Re^5: Noch mehr Spells? (Mahatmu,  9. Dez 1999, 13:52:33):
~#! rn=Nonne rt=944743779 rg=gilden.klerus
~#! tid=944740807
Vorschlag 2: Ein daran interessierter Kleriker spendet einmalig die
hiermit als gesegnet erklaerte Seidenruestung des Einsiedlers.
Damit muss er eine Muehe auf sich nehmen und ist der Gnade der Goetter
wuerdig. Da das ganze nichts mit Metzeln zu tun hat, ist es unwahr-
scheinlich, dass er die einfach so geschenkt bekommt.

Mahatmu

-----------------------------------------------------------------------------



Re^5: Noch mehr Spells? (Isis,  9. Dez 1999, 13:55:10):
~#! rn=Nonne rt=944743779 rg=gilden.klerus
~#! tid=944740807
Hmm...mal ne ganz andere sache....wieviele ECHTE Spieler-Kleriker gibts
eigentlich? 
Lohnt sich der Aufwand ueberhaupt? Seher-2ty-Kleriker koennen doch eh mit dem
Portal reisen...

Hera

-----------------------------------------------------------------------------



Re^6: Noch mehr Spells? (Boing,  9. Dez 1999, 14:01:25):
~#! rn=Isis rt=944744110 rg=gilden.klerus
~#! tid=944740807
So kann man nicht argumentieren. Ziel muss ja schliesslich sein, die Gilde
(auch) fuer Erstspieler interessant zu machen. 
Und zum Thema: Die alte Version hat mir persoenlich am Besten gefallen,
kleine Spieler mussten nicht stundenlang Schiff fahren um zum Tempel
zu kommen und Seher konnten eh das Portal benutzen. Ich halte die 
Aenderung fuer absolut nicht gelungen.
  Boing

-----------------------------------------------------------------------------



Re^7: Noch mehr Spells? (Sharia,  9. Dez 1999, 17:37:00):
~#! rn=Boing rt=944744485 rg=gilden.klerus
~#! tid=944740807
so mein Senf dazu jetzt auch mal:
Ich denke, der Vorschlag von Hera, wie beim Eintritt in die Gilde fuer den
Tempeltransport einen Fuersprecher zu brauchen hoert sich recht gut an
dafuer braucht man dann vielleicht sogar 2 hoehere Kleriker, welche gemeinsam
um die Gnade der Goetter flehen .. 

andererseits: ich hab den tempeltransport ohnehin nie verstanden .. gerade als
ich mich zur Priesterin habe weihen lassen, wusste ich noch nichteinmal wo
denn diese Insel am Ende der Welt liegt (bzw. wo das Ende der Welt ist :-) )
und ich denke wenn man in die Gnade der PriesterInnenweihe kommen moechte
sollte man schon ein mal den beschwerlichen *hust* Weg auf sich nehmen muessen
und per Schiff in den Stammtempel reisen ... ich hab es damals als eine Art
Pilgerreise gesehen .. der Tempeltransport fuer hoehere Spieler ok .. wobei
ich sagen muss .. als Seher bin ich per Portal schneller als mit den lahmen
Engeln :)))


Sharia ist also summa sumarum fuer Erhalt des "ach so langen und
beschwerlichen" Weg zum Stammtempel da man diese Reise ohnehin als Spieler nur
1 einziges Mal machen muss

-----------------------------------------------------------------------------



Re^8: Noch mehr Spells? (Anatol,  9. Dez 1999, 20:06:45):
~#! rn=Sharia rt=944757420 rg=gilden.klerus
~#! tid=944740807
Ist Nonne damit eigentlich so nebenbei zum Gildenchef avanciert?

Anatol - unglaeubig, da Zauberer ;o)


-----------------------------------------------------------------------------



Re^11: Tempeltransport (Nevok,  9. Dez 1999, 22:13:25):
~#! rn=Nonne rt=944738895 rg=gilden.klerus
~#! tid=942932355
genau, und beim Fehlschlag ab nach paraorkhausen in die Kirche.....oder in die
Katas.......super.....gebts den kleinen KlerikerInnen.......

Au man......

Nevok

-----------------------------------------------------------------------------



Re^8: Noch mehr Spells? (Gorog, 10. Dez 1999, 13:13:59):
~#! rn=Sharia rt=944757420 rg=gilden.klerus
~#! tid=944740807
Moins

Ich denk ich werd auch mal was sagen, hab zwar lange nicht aber.... na egal.

Ich find den tempeltransport ansicht recht nett. Nicht das ich ihn noch oft
nutzen wrde oder er als ich noch kein Seher war nutzen konnte, aber fr
Nichtseher ist er ne nette Sache. 

Ich find es auch besser wenn man ihn erst zusammen mit der Priesterweihe
bekommt, aber wahrscheinlich haenge ich noch an dem alten per Hand mit dem
Boot fahren und nicht per reise mit nach. Ich fand es damals richtig nett die
Insel zu suchen und waer dabei auch fast draufgegangen (Zwerge sind halt laut,
auch in fremden Klostern). Als Loesung fuer das Problem faende ich die
Fuerbitte hoeherer Brueder und Schwestern recht passend, natuerlich auch
Abhaengig vom Staus in der Gilde. Waer ja n Ding wenn n Hohepriester nicht
genug Einfluss bei seinem Gott haette...

Man sollte sich dann vielleicht was kleines ausdenken was man erfuellen muss
wenn man zum Priester geweiht wird, anstatt der Reise. Z.B. ne
Erleuchtetenquest loesen (lach). Aber sowas wie eine der kleineren Queste auf
TI, Artefakt stehlen oder so. Geht ganz ohne metzeln und is absolut
ungefaehrlich wenn man sich nicht dumm anstellt (Ausserdem waers auf dem Weg
zum Stammtempel).
Den Transport als Spell faend ich persoenlich nicht so Klasse, da man ihn eh
nur in 2 Raeumen anwenden kann, und das waer ja echt ueber.


Gorogs Senf 

Know your Enemy!

-----------------------------------------------------------------------------



Re^9: Noch mehr Spells? (Morgonate, 10. Dez 1999, 13:20:45):
~#! rn=Gorog rt=944828039 rg=gilden.klerus
~#! tid=944740807
Vielleicht eine andere Ueberlegung, da sicher viele Spieler aufgrund des
TempelTransportes (TT) nicht wissen, wo die Insel am Ende der Welt liegt.
Der TT steht erst zur Verfuegung, wenn man einmal im Stammtempel war.

Morgonate

-----------------------------------------------------------------------------



Re^10: Noch mehr Spells? (Nonne, 10. Dez 1999, 14:23:07):
~#! rn=Morgonate rt=944828445 rg=gilden.klerus
~#! tid=944740807
Genau darin sehe ich auch denn Sinn des ganzen. Gaebe es nicht mindestens
einmal die beschwerliche Reise ans Ende der Welt, haette man die ganzen Raeume
gleich in der Wueste anschliessen koennen. Einmal sollte man mindestens
reisen. Dann kann man den TT halt bei Mindra lernen, ohne Einschraenkungen,
man muss einfach nur einmal hin.

-----------------------------------------------------------------------------



Re^11: Noch mehr Spells? (Hood, 10. Dez 1999, 15:34:26):
~#! rn=Nonne rt=944832187 rg=gilden.klerus
~#! tid=944740807
erstaunlich, wie lange man einiges totquatschen kann...60 artikel zum
thema und kein stueckchen weiter. da schimpfe nonne noch mal auf die
zauberergilde. da wird nich so viel rumgezetert :)

-----------------------------------------------------------------------------



Keulenskill (Morgoth, 18. Feb 2000, 13:28:29):
Hi,

ich hab mal wieder in das Logfile geschaut und ein paar neue Uebemonster
"gefunden". Diese funktionieren jetzt nicht mehr und die entsprechenden
Spieler haben den Skill um 10% gesenkt.

M*

-----------------------------------------------------------------------------



Re: Keulenskill (Sharia, 18. Feb 2000, 17:32:03):
~#! rn=Morgoth rt=950876909 rg=gilden.klerus
~#! tid=950876909
hmmm sorry Morgoth, aber seid wann wird der Skill GESENKT ?  das logfile
dient, dachte ich, eigentlich nur dazu schlecht geproggte, bzw monster an
denen man sehr einfach und endlos ueben kann, in die schwarze liste
einzutragen ... aber wenn mir Wargon damals fuer jeden entdeckten NPC 10%
abgezogen haette haette ich wahrscheinlich jetzt noch -150% ... 


Sharia, wundert sich etwas ...

-----------------------------------------------------------------------------



Re: Re: Keulenskill (Anatol, 18. Feb 2000, 23:11:24):
~#! rn=Sharia rt=950891523 rg=gilden.klerus
~#! tid=950876909
Kalliope verlor, als sie am Spiegel der Opposition knueppelte, einige
Prozentpunkte - keine Ahnung, wieviel das genau waren. Uebrigens war
das keine Boshaftigkeit Morgoths... der war damals noch nicht fuer
die Gilde zustaendig :o). 

Anatol - weiss dass es auch keine Boshaftigkeit Wargons war :)


-----------------------------------------------------------------------------



Uebe-NPCs und Folgen (Morgoth,  4. Mai 2000, 21:34:44):
Hiho,

ich hab mal wieder das Logfile durchgesehen und einen ganz dicken Hammer darin
gefunden. Der oder diejenige wird es am Keulenskill merken, der nun etwas
schlechter sein sollte.
Also nochmal fuer alle zum mitbeten: Die Goetter schauen Euch ueber die Keule
und bestrafen diese Bug-Ausnutzung. Meldet solche NPCs freiwillig, dann werden
solche Massnahmen hoffentlich bald nicht mehr noetig sein.

Morgoth, Chef, Goetterbote, Vollstrecker

-----------------------------------------------------------------------------



Re: Uebe-NPCs und Folgen (Apsu,  5. Mai 2000, 13:41:31):
~#! rn=Morgoth rt=957468884 rg=gilden.klerus
~#! tid=957468884
Kann ich die von dem/derjenigen abgezogenen Prozente kriegen? Mein Keulenskill
ist ja sooooooo schleeecht *schnueff*

Apsu, Diplomheulsuse, und testierte Wurst

-----------------------------------------------------------------------------



Re: Uebe-NPCs und Folgen (Matis, 10. Mai 2000, 19:36:07):
~#! rn=Morgoth rt=957468884 rg=gilden.klerus
~#! tid=957468884
Tach Morgoth,

mich wuerde mal aus purer Neugier heraus interessieren, welche Art
von Bugs Du meinst? 

Soweit ich bisher gehoert habe, handelte es sich jeweils um Bugs der 
Form "Kleriker und NPC" treffen sich gegenseitig (fast) nicht, und
so kann der Kleriker ideln und dabei seine Keulenskill ueben.

Meiner Meinung nach ist das aber keine Bugausnutzung, sondern eine
deutliche Schwaeche des Uebesystems fuer den Keulenskill bei den
Klerikern. Dem kannst Du als Gildenchef entweder durch eine
"schwarze Liste" der NPCs, bei denen man nichts lernt, oder durch
ein verbessertes, ordentliches Uebesystem entgegentreten. 
Anscheinend bevorzugst Du die leichtere (und auch schlechtere)
erste Variante. Voellig ok.

Allerdings den betroffenen Spielern dann Bugausnutzung vorzuwerfen 
und sie zu bestrafen, halte ich fuer ziemlich anmassend. Wenn es
sich wirklich um Bugs handeln wuerde, dann ist der Sheriff dafuer 
verantwortlich, und nicht Du. Dem ist aber gar nicht so in meinen
Augen, wie bereits erwaehnt.

Matis

PS Trves, stellt Euch vor, die DSK wird auf eine schwarze Liste 
   gesetzt :o).


-----------------------------------------------------------------------------



Re: Re: Uebe-NPCs und Folgen (Gloin, 10. Mai 2000, 19:56:48):
~#! rn=Matis rt=957980167 rg=gilden.klerus
~#! tid=957468884
Einerseits hast Du damit recht, dass ein restriktiveres (das nehme ich
mit 'verbessertes' an) Uebungssystem dem Problem abhelfen wuerde - anderer-
seits steht die Verteidigung von Leuten, die diese Schwaeche im System
ausnutzen auf schwachen Fuessen. Es gibt diese Grenze zwischen Feature und
Bugausnutzung, und wer exzessiv an dementsprechenden NPCs uebt ohne
diese zu melden hat sie ueberschritten.

Gloin

-----------------------------------------------------------------------------



Re^3: Uebe-NPCs und Folgen (Sina, 10. Mai 2000, 19:57:56):
~#! rn=Gloin rt=957981408 rg=gilden.klerus
~#! tid=957468884

Ich hab ja selten einen Artikel gelesen, Gloin der so wenig aussagt wie
Deiner.

Sina, eine Zeile reicht

-----------------------------------------------------------------------------



Re^4: Uebe-NPCs und Folgen (Hood, 10. Mai 2000, 19:58:56):
~#! rn=Sina rt=957981476 rg=gilden.klerus
~#! tid=957468884
also dein artikel war deutlich  inhaltsloser...aber er existierte zu der
zeit ja auch noch nicht, ok...

-----------------------------------------------------------------------------



Re^3: Uebe-NPCs und Folgen (Matis, 10. Mai 2000, 20:12:26):
~#! rn=Gloin rt=957981408 rg=gilden.klerus
~#! tid=957468884
Wenn es Denn ein Bug waere, dann koennte man sich ja mal hinsetzen und
ihn ausbauen. Bugs sind i.a. Programmierfehler - so dachte ich zumindest
bisher - die unerwuenschte Nebeneffekte ermoeglichen. 

Beim Keuenskilluebemechanismus scheint es jedoch eine ganz allgemeine
Schwaeche des zugrundeliegenden Konzepts zu sein. Und da wuerde ich
als Gildenmagier nicht zuerst mit dem Finger auf die Spieler zeigen,
sondern zuerst versuchen, dem selber Abhilfe durch ein verbessertes
Konzept zu schaffen.

Allerdings sind es ja vielleicht wirklich echte Bugs, deshalb hab ich
ja danach gefragt. M* wird bestimmt demnaechst drauf antworten - so hoff
ich doch.

Matis

-----------------------------------------------------------------------------



Re^4: Uebe-NPCs und Folgen (Gloin, 10. Mai 2000, 21:47:21):
~#! rn=Matis rt=957982346 rg=gilden.klerus
~#! tid=957468884
Ich verteidige Morgoth wirklich nicht gern ;)
Ja, ich halte den Mechanismus fuer fehlerbehaftet - aber Morgoth hat nicht
'zuerst mit dem Finger auf die Spieler' gezeigt. Auch ich habe vor langer
Zeit diesen Skill 'gescriptet' und hatte immer ein schlechtes Gewissen dabei,
weil es nicht korrekt ist, diese Schwaeche zu nutzen.
Selbst in der derzeitig schoen lockeren (damals nicht existenten) Skript-
definition ist das auch eindeutig benannt:
'Ebenfalls als Scriptsuender wird behandelt,' ... 'oder man so kaempft, dass
man
 das Monster absehbar nicht toeten kann' ...

Ich schaetze das ist der Fall gewesen.

Gloin

-----------------------------------------------------------------------------



Re^5: Uebe-NPCs und Folgen (Matis, 10. Mai 2000, 21:52:46):
~#! rn=Gloin rt=957988041 rg=gilden.klerus
~#! tid=957468884
Soweit ich das bei "hilfe skripte" verstehe ist das Kriterium
fuer eine "Straftat bei Endloskaempfen" die Nichtansprechbarkeit
fuer mehr als eine Minute. Laesst sich gut mit LOGs testen ;o).

Matis

-----------------------------------------------------------------------------



ueben (Nizzl, 10. Mai 2000, 21:56:07):
Wenn man da Ueben an Monstern die nix treffen kritisiert, dann muesste man
folglich auch das uebe-scripten an Haustieren ankreiden.
*zauberundbierschuettlerangrins*

-----------------------------------------------------------------------------



Re^6: Uebe-NPCs und Folgen (Paracelsus, 10. Mai 2000, 22:00:41):
~#! rn=Matis rt=957988366 rg=gilden.klerus
~#! tid=957468884
Natuerlich ist dieses Problem (mit einem gewissen Aufwand) programmier-
technisch loesbar. Aber wenn man stundenlang auf ein Monster einpruegeln
kann, ohne dass einem selbst oder dem Monster etwas passiert, dann sollte
einem soetwas schon seltsam vorkommen.
Entschuldigt bitte, wenn ich hier soetwas wie "gesunden Menschenverstand"
voraussetze.

Paracelsus.

-----------------------------------------------------------------------------



Re^7: Uebe-NPCs und Folgen (Gor, 10. Mai 2000, 22:02:37):
~#! rn=Paracelsus rt=957988841 rg=gilden.klerus
~#! tid=957468884
Wo liegt denn das Problem.. Wenn der Spieler keine Xps hinzubekommt lernt er
nix. PUNKT. Deshalb heissen sie ja auch Erfahrungspunkte :) Weil man daruch an
Erfahrung hinzugewinnt. 

Gor fast schon grinsend.

-----------------------------------------------------------------------------



Re^8: Uebe-NPCs und Folgen (Paracelsus, 10. Mai 2000, 22:04:51):
~#! rn=Gor rt=957988957 rg=gilden.klerus
~#! tid=957468884
Jup, das ist ein Punkt, bei dem man (programmtechnisch) ansetzen kann, da
stimme ich Dir durchaus zu.

Paracelsus.

P.S.: Die Tanjian-Testies wissen da ein Lied von zu singen ;)

-----------------------------------------------------------------------------



Re^9: Uebe-NPCs und Folgen (Gloin, 10. Mai 2000, 22:18:58):
~#! rn=Paracelsus rt=957989091 rg=gilden.klerus
~#! tid=957468884
Naja, ganz trifft es das nicht. Als Kleriker kann man nur durch gewisse Tricks
den NPC wirklich am Leben erhalten, weil man ab einem bestimmten Skill fast
immer Schaden macht.
Die Fragestellung, die ich hier auch mit Matis disktuiert habe laeuft immer
auf das selbe hinaus: Nur weil das System unfaires Ueben nicht ausschliesst,
kann es dem spieler doch kaum OK vorkommen so zu ueben.

Gloin

-----------------------------------------------------------------------------



Re^4: Uebe-NPCs und Folgen (Morgoth, 10. Mai 2000, 23:36:01):
~#! rn=Matis rt=957982346 rg=gilden.klerus
~#! tid=957468884
Ueberarbeitung des Uebesystems... von mir aus. Aber es soll hinterher keiner
jammern, wenn er nix mehr lernt, weil es ja sonst soooo einfach waere.
Mit "Bugs" meinte ich alte, verstaubte NPCs aus Zeiten, als es nur die
Abenteurer gab. Damals war ein NPC mit ner 4000er Ruestung unbezwingbar. Heute
ist dank den Zauberer, Kaempfern, Zweitearmeen jeder NPC killbar, der nicht
P_NO_ATTACK (nicht angreifbar) gesetzt hat, killbar. 
Grade diese NPCs, die leider auch heute noch von Jungmagiern geproggt werden,
sind es, die auch den Klerikern immer wieder die Moeglichkeit bieten,
gefahrlos zu Ueben. Wargon hat damals das Uebesystem entwickelt und auch einen
"Schutz", das Logfile, eingebaut.
Dort finden sich jede Menge NPCs, unter anderem die Viecher aus der Gruft,
meine Daemonen, NPCs aus der SSP. Aber all diese erfuellen nicht so ganz den
"Uebe-NPC"-Status, weil sie entweder zu schnell sterben oder selbst doch
austeilen.
Lange Rede kurzer Sinn...es wird die gewunschten Aenderungen geben, da immer
wieder Leute dieses System ausnutzen. Dies wird fuer kleine Spieler das ueben
sicherlich erschweren, aber es ist ja gewollt.
Als Warnung: Jeder, der erwischt wird (im Logfile steht) bekommt seinen
Keulenskill KOMPLETT!! aberkannt. Dies ist dann vor allem der "Reiz" fuer die,
die mal eben die letzten 2% machen wollen.

M* sagt: Euer Wunsch ist mir Befehl. (So be it) 

-----------------------------------------------------------------------------



Re^5: Uebe-NPCs und Folgen (Nevok, 11. Mai 2000, 00:29:58):
~#! rn=Morgoth rt=957994561 rg=gilden.klerus
~#! tid=957468884
von 98 auf 0? schick....

Nevok der sich dann doch als Kaempfer ganz wohl fuehlt....seit mittlerweile
bald nem Jahr...

-----------------------------------------------------------------------------



Re^6: Uebe-NPCs und Folgen (Apsu, 11. Mai 2000, 01:27:26):
~#! rn=Matis rt=957988366 rg=gilden.klerus
~#! tid=957468884
Naja macht hier halt ein Grundgesetz auf mit allen Schikanen, was erlaubt ist
und was nicht, und findige scripter werden immer noch eine Luecke finden.

Fakt ist, dass jedem klar sein muss, dass unbegrenztes Hauen ohne schaden zu
nehmen ja wohl nicht im sinne des Muds ist und auch nicht der 'doofen' spieler
wie meinereiner,  die ausser wegscripts nix auffahren. Und Spieler die sowas
ausnutzen, treiben einfach nur die Ruestungsspirale nach oben. Wobei ich doch
feststellen muss, dass Du Matis doch im Balanceteam bist, was neben einer
gewissen Ausgewogenheit der Gilden doch wohl auch die Aufgabe hat, die
Ruestungsspirale nicht unnoetig wachsen zu lassen.
Und Nichtansprechbarkeit ist in diesem Falle sicher kein Kriterium.

Apsu

-----------------------------------------------------------------------------



Re^5: Uebe-NPCs und Folgen (Gor, 11. Mai 2000, 03:08:29):
~#! rn=Morgoth rt=957994561 rg=gilden.klerus
~#! tid=957468884
Das ist doch Kaese Morgoth! Gerade kleine Spieler sollten schneller lernen als
Grosse. Ich will hier nicht deine Autoritaet in Frage stellen, aber sich
komplett auf ein bloedes Logfile zu verlassen und ohne Vorwarnung den
Keuleskill komplett abzuerkennen halte ich fuer aeusserst fragwuerdig. Ich
denke man kann einen gesunden Mittelweg finden, der ein effektives Ueben des
Skills gewaehrleistet, und zudem verhindert, an den von dir genannten NPcs den
Keulenskill spielend hochzuueben. 

-----------------------------------------------------------------------------



Re^7: Uebe-NPCs und Folgen (Matis, 11. Mai 2000, 09:17:16):
~#! rn=Apsu rt=958001246 rg=gilden.klerus
~#! tid=957468884
"Unbegrenztes Hauen ohne Schaden zu nehmen" ist nicht im Sinne des MUDs?
Wenn Du das "ohne Schaden" auf die Spieler beziehst, dann waere ich doch
dafuer, alle NPCs deutlich aufzuwerten, damit auch gut ausgeruestete
Spieler ueberall deutlich was abkriegen. Oder bezieht sich das "ohne
Schaden" auf die NPCs? Ich fand auch schon immer, dass ich bei einigen
NPCs viel zu wenig Schaden mache, das gehoert abgeschafft.

Nein, Schluss jetzt, obiges ist natuerlich alles Quatsch.

Mir ging es eigentlich darum zu erfahren, ob wirklich "echte Bugs" 
ausgenutzt wurden, oder ob das Uebesystem einfach eine grundsaetzliche
konzeptionelle Schwaeche hat: dass man ohne jeglichen Schaden zu machen
sehr gut lernt. Im zweiteren Fall plaediere ich ganz einfach dafuer,
lieber das System zu aendern, meinetwegen auch solange die schwarze
Liste der NPCs weiter zu pflegen, wo man nichts lernt, anstatt Spieler
zu bestrafen.

Bei den Trves geht solches "(fas) ohne Schaden" lernen uebrigens auch. 
Allerdings nur solange man einen _genuegend kleinen_ Skill hat. Kriegt 
man da jetzt etwa auch Probleme mit Boing? 

Matis


PS Korrekt, ich bin in der Balance. Aber ich hab meine ganz _persoenliche_
   Meinung dargelegt, der Artikel spigelt ganz und gar nicht eine etwaige
   Meinung der Balancler wider. Und ich seh irgendwie keinerlei Bezug
   zum Thema Ruestungsspirale bei diesem Thema, aber ich werd auch langsam
   alt :o).

-----------------------------------------------------------------------------



Re^6: Uebe-NPCs und Folgen (Sharia, 11. Mai 2000, 10:33:55):
~#! rn=Gor rt=958007309 rg=gilden.klerus
~#! tid=957468884
Wargon fuehrte damals das logfile ein um einfache kontrollieren zu koennen, an
welchen NPC sich einfach zu leicht ueben laesst .. (ich glaub ich hab das
damals mit ihm ziemlich exzessiv betrieben und wir sind wochenlang
hintereinander hergejagt :-) ) Wargon fuehrte damals dann die schwarze Liste
ein auf der NPC stehen an denen man eben nichts lernt .. so z.b.
Muellschlucker Schatten Abbilder etc .. Nen Skillabzug hat da aber keiner
bekommen .. denn ich denke wenn das logfile regelmaessig in kurzen abstaenden
kontrolliert wird koennte man die NPC sehr schnell und einfach auf die liste
schreiben .. ne andere methode waere zudem gewisse NPC einfach AUTOMATISCH
vorlaeufig auf die Liste zu schreiben und dies dann nachtraeglich zu checken
.. (soviel ich weiss werden die schlaege auf einen NPC gezaehlt und wenn sehr
grosse zahlen erreicht werden koennte man die NPC doch ganz schnell sperren
lassen oder ? ) 

Naja vielleicht hat mein gelaber ja wer verstanden :-)


Gruss Sharia

-----------------------------------------------------------------------------



Re^7: Uebe-NPCs und Folgen (Padreic, 11. Mai 2000, 10:40:50):
~#! rn=Sharia rt=958034035 rg=gilden.klerus
~#! tid=957468884
Es gibt viele Moeglichkeiten das ganze zu Regeln wenn man denn nur wollte.
Meine Meinung dazu is auch klar, man sollte das lernen einfach soweit aendern
das man an solchen NPCs vom System her bereits nix mehr lernen kann (wenn ich
auf wen wehrloses einkloppe lern ich irgendwann auch nix mehr dabei). Aber
eigentlich ist das eine reine Einstellungssache, erinnert mich irgendwie an
PKs.
PKs sind im MorgenGrauen auch verboten und werden nur geloggt (obwohl man sie
auch sehr leicht verhindern koennte :), aber es wird halt eine Regel
aufgestellt und wer dagegen verstoesst wird bestraft. Die einzige Frage die
ich mir dazu Stelle ist, steht diese Regel eigentlich irgendwo? Mit normalem
Menschenverstand hat das naemlich nix zu tun, andere Gilden sind ja z.B. nur
darauf ausgelegt das man sich stupide irgendwo hinstellt und uebt.

Pad*

-----------------------------------------------------------------------------



Re^8: Uebe-NPCs und Folgen (Gnome, 11. Mai 2000, 14:18:49):
~#! rn=Padreic rt=958034450 rg=gilden.klerus
~#! tid=957468884
hi,

also padreic, dein vergleich zwischen dem loggen von uebe-NPCs und dem
von PKs ist mehr eine geistige blutgraetsche.
ich muss keinen spieler toeten, weil es a) nicht notwendig ist und b) es
keinen PK-skill gibt, den ich hochueben muesste, so ich denn wollte.

was gor vorgeschlagen hat, reicht doch: der keulenskill wird linear
schneller mit den XP eines monsters steigen. allerdings waere das etwas
problematisch fuer die anfaenger, geb ich zu. aber das laesst sich
sicherlich auch loesen.
kleriker haben nun halt die eigenschaft, bei bestimmten monstern kaum
schaden zu nehmen. denen jetzt daraus einen strick zu drehen, halt ich
fuer den falschen loesungsansatz.
wenn es ihnen spass macht, den skill an der hydra zu ueben... und?
dafuer kommt sie aber auch nur 2x am tag ;-)

gnOme

-----------------------------------------------------------------------------



Re^9: Uebe-NPCs und Folgen (Morgoth, 11. Mai 2000, 14:49:20):
~#! rn=Gnome rt=958047529 rg=gilden.klerus
~#! tid=957468884
Um es nochmal klarzustellen: Es geht NICHT um NPCs wie die Hydra, sondern um
die, die einfach nicht sterben. Beliebtes, inzwischen ausgebautes Beispiel,
ist der Feuerteufel in der SSP, den man schoen mit einer Feuerkeule und nem
Elementarschild-"feuer" abidlen konnte. Sowas ist nicht gewollt und sowas
bezeichne ich auch als "Bug", weil es nicht im Sinne des Programmierers war.
Ebenso halt Viecher mit Koerperschutz(P_BODY) ab 200 aufwaerts und
Schaden(P_HANDS oder WC der Waffe) <=150. Das ist fuer Kleriker auch
gefundenes fressen.
Ich habe jetzt erstmal kurzfristig eine Beschraenkung eingebaut, die vor allem
die hoeheren Spieler merken sollten. Wenn ihr jetzt meint, ihr muesstet
eigentlich an einem NPC was lernen, weil ihr ihn trefft und er euch auch, der
Keulenskill aber nicht steigt koennte das an dieser Beschraenkung liegen.
Fragt einfach mal einen Magier ab ML 35 ob dieser NPC nicht vielleicht doch
utopische Werte besitzt.

Die Beschraenkungen sind keineswegs ausgereift, sie werden beizeiten noch
ergaenzt.

M* wuenscht viel Spass beim Fluchen und Suchen

-----------------------------------------------------------------------------



Re^9: Uebe-NPCs und Folgen (Anatol, 11. Mai 2000, 14:57:06):
~#! rn=Gnome rt=958047529 rg=gilden.klerus
~#! tid=957468884
zu Sharia:
  Du irrst. Wargon hat wegen nichtplanmaessigem Keulenskillueben sehr
  wohl von Hand eingegriffen und (mindestens bei einer Person) den Skill
  um etwa den durch den "Vorfall" gewonnenen Wert wieder reduziert.

zu Matis:
  Ja, Morgoth fuehrt "nur" die Politik Wargons fort. Das heisst nicht
  unbedingt, dass ich das uneingeschraenkt gut finde. Aber: Wir, die wir
  mit einem Verstand ausgestattet sind, der uns mindestens erlaubt, des
  Lesens und Schreibens maechtig zu werden, wissen auch: Es ist zwar 
  nicht direkt verboten, den Keulenskill in einer Nacht am Spiegelbild
  (oder vergleichbarem) hochzuueben, ABER es ist ganz gewiss nicht so
  vorgesehen und bestimmt unerwuenscht. Der Rest ist eine Frage des 
  eigenen Gewissens.

zu Gnome: 
  Wenn Padreic ueber einem Artikel steht, wird der Inhalt nicht *auto-
  matisch* zu Bloedsinn. Ich gebe ihm gleichermassen ungern wie selten
  recht, aber in diesem Fall ist sein Vergleich eigentlich locker 
  nachvollziehbar, oder? Wenn Kleriker, Trves, Zauberer, ... nur dann
  etwas lernen wuerden, wenn sie gegen angemessene Gegner kaempfen,
  waere das Problem beseitigt. Das und den mudpolitischen Zwiespalt
  "Verbieten, aber moeglich lassen" hat Padreic gesagt oder zumindest
  sagen wollen. Ausnahmsweise kreide ich es nicht IHM an, wenn Du 
  seinen Artikel nicht verstanden hast.
  Und was ist eigentlich eine Blutgraetsche?

Anatol, schuettelt nur den Kopf


-----------------------------------------------------------------------------



Re^7: Uebe-NPCs und Folgen (Boing, 11. Mai 2000, 18:57:21):
~#! rn=Apsu rt=958001246 rg=gilden.klerus
~#! tid=957468884
Das Balanceteam hat absolut NICHTS mit der Ausgewogenheit von Gilden zu 
tun, sondern ist nur fuer Objekte (d.h. Waffen, Ruestungen, etc.) 
zustaendig. Siehe auch 'hilfe balance'.
  Boing

-----------------------------------------------------------------------------



Re^8: Uebe-NPCs und Folgen (Boing, 11. Mai 2000, 18:58:33):
~#! rn=Matis rt=958029436 rg=gilden.klerus
~#! tid=957468884
Je hoeher der Skill, desto hoeher sind die Anforderungen an die NPCs
bei denen man noch was lernt (bei den Kaempfern), das halte ich fuer
durchaus sinnvoll.
  Boing

-----------------------------------------------------------------------------



Neues Feature (Morgoth, 22. Mai 2000, 13:56:09):
Liebe Betbrueder und Schwestern,

schaut Euch doch mal unter dem Stammtempel um. Dort gibt es eine kleine
Erneuerung, die den wahren Glaeubigen so lange verwehrt blieb. Nun koennt ihr
Euch endlich mit voller Hingabe den Goettern aeh.. naja hingeben. 
Dafuer brauchts leider nen neuen Talisman, also einmal "ende" machen oder das
Mud crashen.

Morgoth & Nonne

-----------------------------------------------------------------------------



Re: Neues Feature (Gorog, 22. Mai 2000, 18:35:14):
~#! rn=Morgoth rt=958996569 rg=gilden.klerus
~#! tid=958996569
Autsch

Nette Idee, allederings frag ich mich wieso ich bei der Hlfte der Versuche die
Geissel nicht benutz habe (;

Ansonsten is es klasse, mal sehn wie viel das im Ernstfall so bringt (;

Gorog wartet auf das erste Opfer.

-----------------------------------------------------------------------------



giftschwaechung (Sina, 24. Mai 2000, 13:10:31):

Moin, oh ihr Goetter!

Folgendes Problem: Spricht man "giftschwaechung" waehrend das Kampfes
aus, (ohne weiteres Argument/Personenangabe), so wird nicht der Kleriker,
sondern der Gegner vor den Giften geschuetzt.
Koennte man das mal entsprechend umbauen? Danke.

.Sina.

-----------------------------------------------------------------------------



Re: giftschwaechung (Gloin, 24. Mai 2000, 17:37:00):
~#! rn=Sina rt=959166631 rg=gilden.klerus
~#! tid=959166631
Das war schon immer so. Fand ich eigentlich ein nettes Feature :>

Gloin

-----------------------------------------------------------------------------



Re: Re: giftschwaechung (Morgoth, 24. Mai 2000, 21:07:04):
~#! rn=Gloin rt=959182620 rg=gilden.klerus
~#! tid=959166631
Ja, es IST ein Feature, das sogar aus der Mudlib stammt. Also, ihr habt jetzt
2 Alternativen:
1. Es bleibt so und ihr akzeptiert es.
2. Ich ueberschreibe die Mudlib-Funktion. 

Waehlt weise !

M*

P.S. zu 2.: Dann geht natuerlich auch ein Blitz im Kampf erstmal auf Euch,
wenn ihr nur "blitz" eingebt. ];-)

-----------------------------------------------------------------------------



Re^3: giftschwaechung (Paracelsus, 24. Mai 2000, 21:12:19):
~#! rn=Morgoth rt=959195224 rg=gilden.klerus
~#! tid=959166631
3) Sucht jemanden, der Mo* erklaert, dass man dafuer keine Mudlib-
   Funktion ueberschreiben muss, weil man das mit einer halben
   Zeile erledigen kann.

Paracelsus - schuettelt nur noch den Kopf.

-----------------------------------------------------------------------------



Re: giftschwaechung (Lug, 24. Mai 2000, 23:19:03):
~#! rn=Sina rt=959166631 rg=gilden.klerus
~#! tid=959166631

Wieso das denn? Ist doch genau richtig so.

FidKG
Lug

-----------------------------------------------------------------------------



Re: Re: giftschwaechung (Ktar, 24. Mai 2000, 23:30:05):
~#! rn=Lug rt=959203143 rg=gilden.klerus
~#! tid=959166631
Stimmt allerdings, nur wer den darauffolgenden negativen Gifteffekt nicht zu
nutzen weiss ists selber schuld.

-----------------------------------------------------------------------------



Re^4: giftschwaechung (Morgoth, 25. Mai 2000, 00:23:50):
~#! rn=Paracelsus rt=959195539 rg=gilden.klerus
~#! tid=959166631
*Paracelsus tret*
Ich weiss auch, dass es nur eine Zeile ist, die da geaendert werden muesste,
aber bei dem Gejammer (fast schon Zauberhaft), wollte ich das mal etwas ...
interessanter Ausdruecken. Also diese beiden Optionen bleiben bestehen, Pasta.
;-)

M*

-----------------------------------------------------------------------------



Re^5: giftschwaechung (Gloin, 25. Mai 2000, 13:37:13):
~#! rn=Morgoth rt=959207030 rg=gilden.klerus
~#! tid=959166631
Jaja, Morgot(t)h, der vierte Gott :) Der boese und fiese :)

Zitat:
 "Die wahl war schlecht!" *schrumpel*

Gloin

-----------------------------------------------------------------------------



Der Zorn der Goetter (Morgoth, 26. Mai 2000, 14:55:42):
moege Euch alle treffen, aber nicht mehr so hart ;-)

Versteht keiner? Na gut. Es haben so viele gequengelt, dass ich nun endlich
daran gebastelt hab und man nun Goetterzorn auch benutzen kann, wenn man mehr
als XX% LP hat. Allerdings nimmt die Wahrscheinlichkeit zu lernen ab, je mehr
LP man hat.

M* & Nonne

-----------------------------------------------------------------------------



Re: Der Zorn der Goetter (Gorog, 26. Mai 2000, 15:43:35):
~#! rn=Morgoth rt=959345742 rg=gilden.klerus
~#! tid=959345742
Im Namen von mir und vielleicht einiger anderer danke ich dir fuer die
Moeglichkeit den Zorn der Goetter nun in sinvollen Situationen einzusetzten.

Gorog der jetzt vielleicht wieder in Teams aufgenommen wird.

-----------------------------------------------------------------------------



Re: Neues Feature (Ktar, 30. Mai 2000, 21:04:38):
~#! rn=Morgoth rt=958996569 rg=gilden.klerus
~#! tid=958996569
Hm, da denkt man, neues Feature ... klasse und beten ... ok. Also wie gewohnt
beten lassen und essen gehn, aber Nein. Man muss natuerlich dran krepieren *G*
Find ich toll +-:-) Euer Ktar

-----------------------------------------------------------------------------



Re: Re: Neues Feature (Anatol, 30. Mai 2000, 21:07:08):
~#! rn=Ktar rt=959713478 rg=gilden.klerus
~#! tid=958996569
"beten lassen und essen gehn" - kann man schoenere "Ich scripte ohne
Aufsicht!"-Gestaendnisse in die Zeitung posten? :)

Anatol - nicht ganz ernst ;)

-----------------------------------------------------------------------------



Re^3: Neues Feature (Schmugg, 30. Mai 2000, 21:08:30):
~#! rn=Anatol rt=959713628 rg=gilden.klerus
~#! tid=958996569
*grins Anatol * das wollt ich auch gerade schreiben :-))) 

Funktioniert es denn nun ? :-) dann Grats :-) Nonne: hast du das repfile
bearbeitet ? :-))) 

Gruss Im Auftrag des aehm der Herrin ....:-)

-----------------------------------------------------------------------------



Re^4: Neues Feature (Ktar, 30. Mai 2000, 23:41:25):
~#! rn=Schmugg rt=959713710 rg=gilden.klerus
~#! tid=958996569
nimm alles was solls, als Kleriker wuerden 99,9 % luegen die sagen, dass sie
das beten, wenn der Talisman auf 10% runter ist, von Hand machen !
Ich bin halt nicht so, Kleriker sind doch sowieso nur Zweities oder Neulinge
die nich kapiert haben das man alleine in jeder anderen GIlde mehr Schaden
machen kann
Gruss Ktar
*grins* <- das musste noch hinter :)

-----------------------------------------------------------------------------



Re: Re: Neues Feature (Gorog, 31. Mai 2000, 12:52:56):
~#! rn=Ktar rt=959713478 rg=gilden.klerus
~#! tid=958996569
Hmmm
Ich dachte ich hatte erwaehnt, dass man da LP verliehrt (;

Gorog stirbt bestimmt auch mal im Ausueben seiner Pflicht.

-----------------------------------------------------------------------------



Re^3: Neues Feature (Ktar,  1. Jun 2000, 11:29:51):
~#! rn=Gorog rt=959770376 rg=gilden.klerus
~#! tid=958996569
Noe, haste nicht, aber soviel Spass an neuen Features hatte ich lange nicht
mehr :)
Da stellt sich mir nur die Frage wann endlich erloese angehaengt wird.
Falls ich hiermit wiedermal einen Frevel tat, indem ich nach etwas fragte das
Thema Nr. sonstwas war, moechte ich mich rechtherzlich entschuldigen, da die
mpa erst seit der Flatrate kostenfrei zu lesen ist :)
Gruesse an alle von Ktar  ---dem immerwaehrenden nicht-Erleuchteten---

-----------------------------------------------------------------------------



Re^4: Neues Feature (Gorog,  1. Jun 2000, 15:11:33):
~#! rn=Ktar rt=959851791 rg=gilden.klerus
~#! tid=958996569
Wenn Du uns jetzt noch sagst was erloese sein soll, dann koennen wir alle auf
Dir rumhacken *grins*

Gorog heute weniger ernst weil frei is.

-----------------------------------------------------------------------------



Re^5: Neues Feature (Ktar,  1. Jun 2000, 22:47:46):
~#! rn=Gorog rt=959865093 rg=gilden.klerus
~#! tid=958996569
Tja, wenn ich das wuesste, aber alle Kleriker die es noch nicht bemerkt haben
sollten:
Da gibts ne neue Anrufung namens Erloese.
Wenn ich die jedoch lernen will heisst es nur sei doch nicht so ungeduldig
.... also ist die noch nicht rangehaengt worden ... *sniff* wenn man dabei
sterben kann, kein Ding: Ich werde der Erste sein *G*

-----------------------------------------------------------------------------



Re^6: Neues Feature (Nonne,  5. Jun 2000, 09:28:14):
~#! rn=Ktar rt=959892466 rg=gilden.klerus
~#! tid=958996569

Mal so zur Info:

Erloese wir eine kleine Angriffs-Anrufung gegen bestimmte NPC-Klassen sein. Er
ist geproggt und mit kleinen Aenderungen von Nachtwind genehmigt. Sobald diese
Aenderungen eingebaut sind, wird die Anrufung angehaengt. Morgoth hat zur Zeit
Urlaub, daher wird sich das bis nach Pfingsten hinziehen, also geduldet euch
noch etwas.

Nonne.

-----------------------------------------------------------------------------



Re^7: Neues Feature (Ark,  5. Jun 2000, 22:19:20):
~#! rn=Nonne rt=960190094 rg=gilden.klerus
~#! tid=958996569
Hat die Anrufung jetzt auch was mit Pfingsten zu tun? :-)
Faende ich komisch.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Die Erloesung ist Nahe... (Morgoth, 13. Jun 2000, 13:13:38):
fuer diejenigen, die in der Finsternis wandeln. 
Gehet dahin meine Schaefchen und erloest sie von ihren Leiden.

M* & Nonne

-----------------------------------------------------------------------------



erloese (Nonne, 13. Jun 2000, 15:48:04):
Jetzt gibts auch eine Hilfeseite fuer erloese. Falls noch was fehlt, Mail an
Morgoth (c;

Nonne, fleissig.

-----------------------------------------------------------------------------



goetterzorn (Nonne, 15. Jun 2000, 11:55:46):
Tach,

das lernen von Goetterzorn hat sich etwas vereinfacht, ist allerdings auch
gefaehrlicher geworden. Also vorsichtig sein...

Viel Spass dabei
Nonne.

-----------------------------------------------------------------------------



Heiltrank (Morgoth, 21. Jun 2000, 13:34:40):
Soo, Nonne und ich haben mal wieder zugeschlagen. 
Wahrscheinlich wird diese Aenderung die MG-Schaft in zwei Haelften teilen. Die
eine, die es gut findet und die Andere (gell Slyfox) die sich loeschen
will/wird.

Konkret geht es um die weitergabe des Heiltrankes. Da in diesem Heiltrank die
Heilkraft der Saphina steckt, ist es natuerlich klar, dass es bei Leuten, die
Saphina nicht anbeten auch nicht mehr so gut wirkt. Die Heilkraft geht nur
voll ein, wenn der Trank auch von Erschaffer benutzt wird.

In Saphinas Auftrag, M* und Nonne

-----------------------------------------------------------------------------



Re: Heiltrank (Nevok, 23. Jun 2000, 00:48:46):
~#! rn=Morgoth rt=961587280 rg=gilden.klerus
~#! tid=961587280
RP-technisch fragwuerdig, spieltechnisch nicht anders machbar finde ich...

Nevok, der Kandri immer noch am Besten findet ;)

-----------------------------------------------------------------------------



Re: Heiltrank (Slyfox, 24. Jun 2000, 00:02:21):
~#! rn=Morgoth rt=961587280 rg=gilden.klerus
~#! tid=961587280
Loesch Dich selber! Oder noch besser: Gib Dir gleich die Kugel!
Dann triffste vielleicht auch Deinen Freund, den Satan!

  Slyfox, der sich immer fragt, wieso ausgerechnet Morgoth diese Gilde
  leitet

-----------------------------------------------------------------------------



Re: Re: Heiltrank (Morgoth, 24. Jun 2000, 18:29:52):
~#! rn=Slyfox rt=961797741 rg=gilden.klerus
~#! tid=961587280
Meinst Du das wuerde uns umbringen ??

M* lacht satanisch

-----------------------------------------------------------------------------



heile (Tanis, 26. Jun 2000, 01:19:11):
also so langsam reicht es ...
also so langsam reicht es ...

Tyrann hat keine Heilung noetig!
Tyrann schleudert einen Chaosball nach Suedwesten und laeuft diesem wild
bruellend hinterher.
Tyrann schleudert sich einen Chaosball gegen den Kopf und meint ... Jetzt hab
ichs.
h tyrann
Der Teddy knuddelt Dich ein letztes Mal.
Du sprichst die Heilenden Worte ueber Tyrann.
Er fuehlt sich jetzt sehr viel besser.

(stand bei tanis)

Tanis gibt Dir den Heiltrank.
sw
In einem weiten Lupinenfeld.
Es gibt zwei sichtbare Ausgaenge: suedwesten und nordosten.
Ein grosser Haufen seltsamer Knochen.;> sw
In den Ruinen.
Es gibt drei sichtbare Ausgaenge: nordwesten, nordosten und suedosten.
Ein Licht.
Ein grinsender Satyr.
Ein Horn der Hydra. (4)
Ein knisternder Feuergeist.
Ein knisternder Feuergeist.
Ein knisternder Feuergeist.
Eine kleine Metallkiste.
Ein grosser Haufen seltsamer Knochen. (3)
Der Satyr trifft Dich.
>   Du greifst den Satyr mit dem Vampirschwert an.
Du triffst den Satyr.
Ein Feuergeist versucht vergeblich einen Stein in Brand zu setzen.
Du verfehlst den Satyr.
Der Satyr trifft Dich.
Der Satyr befiehlt einem Ast ueber Dir Dich zu schlagen.
no
Ein Satyr ist jetzt hinter Dir her.
In einem weiten Lupinenfeld.
Es gibt zwei sichtbare Ausgaenge: suedwesten und nordosten.
Ein grosser Haufen seltsamer Knochen.;> no
Nebeliger Wald.
Es gibt zwei sichtbare Ausgaenge: westen und suedwesten.
Heiliger Raecher Tanis laeutert in Saphinas Namen. (Halbelf, Klerus).
Ein Schuppenhemd.
Ein grosser Haufen seltsamer Knochen.
Eine tiefgruene Moenchsrobe.
Eine verzierte Sichel. (2)
Tanis spricht die Heilenden Worte ueber Dich, und Du fuehlst Dich sehr viel
besser.
Ares teilt Dir mit: wirds was?
report ein
Reportmodus ist jetzt eingeschaltet.;> ch;- Master of Desaster Tyrann der
Meister des Chaos. (Mensch, Chaot). --
Rasse ............ Mensch             Charakter ........ satanisch
Geschlecht ....... maennlich          Groesse .......... 170 cm
Stufe ............ 45                 Gewicht .......... 66 kg
Gilde ............ Chaos              Gildenstufe ...... 11
Erfahrung ........ 5786576 Punkte     Abenteuer ........ 2446 (2387)
Gesundheit ....... 1   (210)          Gift ............. gesund
Konzentration .... 0   (210)          Vorsicht ......... 100
Todesfolgen....... kein Malus         Fluchtrichtung ... "no"
Spiel verlassen .. nicht moeglich
Verglichen mit Deinen Mitspielern, kennst Du Dich im MorgenGrauen
durchschnittlich gut aus. Absolut gesehen bist Du durchaus schon
herumgekommen. 
Alter:  54 Tage 1 Stunde 29 Minuten 22
Sekunden.;--------------------------------------------------------------------
--

(stand bei tyrann)


nur so nebenbei, bin schon 2 mal an dem HEILE verreckt ... was soll der
scheiss?

-----------------------------------------------------------------------------



Re: heile (Morgoth, 26. Jun 2000, 07:38:06):
~#! rn=Tanis rt=961975151 rg=gilden.klerus
~#! tid=961975151
Also wir haben zwar viel gebastelt, aber am "heile" ist nichts geaendert
worden. Die betroffenen Anrufungen sind: goetterzorn, regeneriere, bete,
heiltrank und der neue erloese.

M*

-----------------------------------------------------------------------------



Re: Re: heile (Leibniz, 26. Jun 2000, 20:30:54):
~#! rn=Morgoth rt=961997886 rg=gilden.klerus
~#! tid=961975151
regeneriere??
was ist da denn jetzt anders?

leibi

-----------------------------------------------------------------------------



Re: Re: heile (Nonne, 27. Jun 2000, 10:02:08):
~#! rn=Morgoth rt=961997886 rg=gilden.klerus
~#! tid=961975151
Wenn Du hier schon solche Andeutungen machst, dann darfst Du nicht vergessen,
dass eine Aenderung auch `Lebenskraft` betrifft.

Wer rausfindet, was es fuer eine Aenderung ist, bekommt auf der naechsten
Mudparty ein Bier von mir ;-)

Nonne.

-----------------------------------------------------------------------------



Re^3: heile (Leibniz, 27. Jun 2000, 19:58:58):
~#! rn=Nonne rt=962092928 rg=gilden.klerus
~#! tid=961975151
DU kommst zur mud fete?
leibi

-----------------------------------------------------------------------------



immer wieder lustig :) (Larar, 28. Jun 2000, 20:30:30):
Er erlaeutert Dir mit betruebter Miene, dass jemand anderes Deinen Posten als
Erleuchtete der Saphina eingenommen hat und Du deshalb wieder den Rang der
Erleuchteten bekleidest.

larar. verwirrt

-----------------------------------------------------------------------------



Frage (Tanis, 11. Aug 2000, 22:29:32):
Ich hatte das ja schonmal gepostet, war dann aber nimmer da um ne antwort zu
lesen ... aber ist mir grad mal wieder 3 mal hintereinander passiert, drum
noch mal die frage ... ist das nen bug oder absicht?

Geht um den heile-spell ... wenn ich meinen 2tie heilen moechte, kommt da ab
und zu das gegenteil raus, er setzt dann naemlich die lps/mps auf 1 und
schaltet den teddy aus ... da ich daran bereits 3 mal gestorben bin, moechte
ich so langsam mal wissen, was das soll ...

hier nochmal nen beweis-log

> report ein
Reportmodus ist jetzt eingeschaltet.
ch;- Master of Desaster Tyrann der Meister des Chaos. (Mensch, Chaot). --
Rasse ............ Mensch             Abenteuer ........ 2446 (2387)
Geschlecht ....... maennlich          Groesse .......... 170 cm
Stufe ............ 45                 Gewicht .......... 66 kg
Gilde ............ Chaos              Gildenstufe ...... 11
Erfahrung ........ 5850301 Punkte     Charakter ........ boese;Ausdauer
......... 20 (+1)            Geschicklichkeit . 20 (+1)
Kraft ............ 20 (+1)            Intelligenz ...... 20 (+1);Gesundheit
....... 60  (210)          Gift ............. gesund
Konzentration .... 25  (210)          Vorsicht ......... 100
Todesfolgen....... 1                  Fluchtrichtung ... "s"
Verglichen mit Deinen Mitspielern, kennst Du Dich im MorgenGrauen
durchschnittlich gut aus. Absolut gesehen bist Du durchaus schon
herumgekommen. 
Alter:  55 Tage 2 Stunden 32 Minuten 16
Sekunden.;--------------------------------------------------------------------
--


Tanis spricht die Heilenden Worte ueber Dich, und Du fuehlst Dich sehr viel
besser.


ch;- Master of Desaster Tyrann der Meister des Chaos. (Mensch, Chaot). --
Rasse ............ Mensch             Abenteuer ........ 2446 (2387)
Geschlecht ....... maennlich          Groesse .......... 170 cm
Stufe ............ 45                 Gewicht .......... 66 kg
Gilde ............ Chaos              Gildenstufe ...... 11
Erfahrung ........ 5850301 Punkte     Charakter ........ boese;Ausdauer
......... 20 (+1)            Geschicklichkeit . 20 (+1)
Kraft ............ 20 (+1)            Intelligenz ...... 20 (+1);Gesundheit
....... 2   (210)          Gift ............. gesund
Konzentration .... 1   (210)          Vorsicht ......... 100
Todesfolgen....... 1                  Fluchtrichtung ... "s"
Verglichen mit Deinen Mitspielern, kennst Du Dich im MorgenGrauen
durchschnittlich gut aus. Absolut gesehen bist Du durchaus schon
herumgekommen. 
Alter:  55 Tage 2 Stunden 33 Minuten 8
Sekunden.;--------------------------------------------------------------------
--


also ... witzig find ich das ueberhaupt nimmer ... koennte bitte mal jemand
schauen, was das ist? das es absicht ist, glaub ich net so recht ... weils
keinen sinn ergibt!


danke im voraus
Tanis

-----------------------------------------------------------------------------



Re: Frage (Sina, 11. Aug 2000, 22:33:06):
~#! rn=Tanis rt=966025772 rg=gilden.klerus
~#! tid=966025772

Jo, haste ja schonmal gesagt, auch in die mpa gepostet. 
Mir selber gings auch schon so; heile kann Teddy ausschalten, und lps
auf 1 setzen (klasse, wenn man Bei hez drinsteht, und gleich drauf bei Lars)
Den selben Effekt kannste auf erzielen, wenn du Dich selber heilst.

Vielleicht glaubts ja irgendwann mal einer, dass das zur Zeit buggt,
...wie auch immer

-----------------------------------------------------------------------------



Re: Re: Frage (Tanis, 11. Aug 2000, 22:38:00):
~#! rn=Sina rt=966025986 rg=gilden.klerus
~#! tid=966025772
Ahso ... wenn das so ne art abwertung der gilde sein soll ... is zwar ne
witzige idee ... haette aber schon gern hier in der MPA von gelesen, das sowas
gemacht worden ist ... einfach so zu aendern und drauf zu warten, bis die
ersten draufgehen find ich aeusserst unschoen ... also mal bitte ne
stellungnahme eines verantwortlichen zu diesem thema.

Tanis

-----------------------------------------------------------------------------



Re^3: Frage (Gloinson, 13. Aug 2000, 16:37:39):
~#! rn=Tanis rt=966026280 rg=gilden.klerus
~#! tid=966025772
Nonne hat das Kleid schon wieder ausgezogen und duerfte auf dem Weg sein ;)

Gloin(son)

-----------------------------------------------------------------------------



Re^4: Frage (Rardian, 14. Aug 2000, 02:19:53):
~#! rn=Gloinson rt=966177459 rg=gilden.klerus
~#! tid=966025772
*g*

Rar, kichert und wartet auf die Fotos ;) ...

-----------------------------------------------------------------------------



Re^5: Frage (Nonne, 14. Aug 2000, 09:57:40):
~#! rn=Rardian rt=966212393 rg=gilden.klerus
~#! tid=966025772
Tach Klerikers,

ich hatte mir die entsprechende Stelle schonmal mit M* angeschaut und nichts
gefunden, womit das zu erklaeren waere. Ich gelobe aber, mir das in der
naechsten Zeit nochmal anzuschauen, also heute oder morgen. Bis dahin moege
man vorsichtig seien, wenn man andere Spieler heilt. Oder ist das auch schon
aufgetreten, wenn man sich selbst heilt?

Nonne, auf Bugsuche.

-----------------------------------------------------------------------------



. (Sina, 14. Aug 2000, 10:33:24):
Jo, also mir passiert es immer wieder, dass mich mein eigenes 'heile'
auf 1lps, 0 mps setzt... recht unguenstig:)
Das 'heile' bei Chaoten koennte ja weiterhin so bleiben *g*

-----------------------------------------------------------------------------



Re: . (Anatol, 14. Aug 2000, 10:42:16):
~#! rn=Sina rt=966242004 rg=gilden.klerus
~#! tid=966242004
Wenn das nur bei einer sehr geringen Anzahl Spieler auftaucht, waer
es vielleicht angebracht, mal die Objekte anzuguggen, welche eben diese
"Wundheiler" (Heilen, bis alles wund ist) bei sich herumschleppen. Kann
ja eins dabei sein, mit dem man sich und/oder andere heilen kann, aber
extreme Ansprueche stellt. Oder nicht gut programmiert ist. Das silberne
Auge ist ja auch so ein nettes Teil, das Anrufungen des heiligen Ordens
"ueberschreibt".

Anatol - ueberfluessige Kommata bitte selbststaendig entfernen ;)

-----------------------------------------------------------------------------



Re: Re: . (Nonne, 14. Aug 2000, 10:51:09):
~#! rn=Anatol rt=966242536 rg=gilden.klerus
~#! tid=966242004
Bisher haben sich nur Kleriker gemeldet, die Saphina geweiht sind. Sind diese
Probleme auch bei Klerikern aufgetreten, die einem anderen Gott/Goettin
geweiht sind? Bitte per Mail an mich oder Morgoth.

Nonne.

-----------------------------------------------------------------------------



Re^3: . (Morgoth, 14. Aug 2000, 14:00:52):
~#! rn=Nonne rt=966243069 rg=gilden.klerus
~#! tid=966242004
So, ich hab mal was an den Ausgaben des Spellbooks geaendert. Wenn sowas
nochmal vorkommt, bitte an Nonne, mich oder einen EM wenden, damit das
ueberprueft werden kann.

Fuer die (Erz)Magier gehts in magier.gilden weiter...

M*

-----------------------------------------------------------------------------



Re^4: . (Apophis, 14. Aug 2000, 18:32:04):
~#! rn=Morgoth rt=966254452 rg=gilden.klerus
~#! tid=966242004
hmm, sowas iss doch richtig praktisch fuer die Arena... bevor man
draufloskloppt erstma den Gegner heilen... dann hat mans leichter.. ;-)

--> muell

Apo*

-----------------------------------------------------------------------------



Re^5: . (Tanis, 15. Aug 2000, 16:25:59):
~#! rn=Apophis rt=966270724 rg=gilden.klerus
~#! tid=966242004
Wenn da verlass drauf waere ... wuerde ich jeden Gegner/NPC gerne eine heilung
verpassen, aber leider is da kein verlass drauf :-)))

Tanis

-----------------------------------------------------------------------------



ohne worte (Nicolai, 22. Aug 2000, 17:46:31):
Sina spricht die Heilenden Worte ueber Dich, und Du fuehlst Dich sehr viel
besser.
Gesundheit:    0 |  .    .    .    .    .    .    .    .  |   1 (210)
Konzentration: 0 |  .    .    .    .    .    .    .    .  |   0 (210)       

-----------------------------------------------------------------------------



heile (Nonne, 24. Aug 2000, 11:31:52):
Tach Klerikers,

ich denke, ich habe den Fehler bei 'heile' gefunden und ausgemerzt. Testet das
aber gruendlich, muss ja nicht der letzte Fehler gewesen sein.

Bugfreies metzeln wuenscht euch

Nonne.

-----------------------------------------------------------------------------



Re: heile (Nonne, 24. Aug 2000, 11:55:07):
~#! rn=Nonne rt=967109512 rg=gilden.klerus
~#! tid=967109512
Noch eine kleine Anmerkung: Ich bin mir wirklich nicht sicher, ob das der
einzige Grund war. Wie es laut logfiles aussieht, tritt der Fehler auf, wenn
Saphinas schnell hintereinander mehrfach heilen. Tut mir den Gefallen und
testet des gruendlich bevor ihr das in kritischen Situationen macht. Ich werde
auf jeden Fall weitersuchen, ob da noch was bugt.

Nonne.

P.S: Die Erholungszeiten sind fuer Saphinas etwas laenger geworden. Sie waren
vorher wegen des Bugs so kurz. Flames bringen also nix, die sind jetzt so
lang, wie schon immer geplant.

-----------------------------------------------------------------------------



ueberlaeufer?:) (Sina, 16. Sep 2000, 00:23:07):

>unt arkshat

Dies ist Arkshat, der hiesige Ordensvorsteher. Er ist ein wuerdiger alter
Ork, in eine weite, weisse Robe mit vergoldeten Saeumen gekleidet und mit
einem guetigen Blick in den dunklen Augen.
Arkshat fuehrt die Oberaufsicht ueber die Tempeldiener hier im Tempel, und
er steht Dir bei Fragen sicher gerne zur Verfuegung.
Er ist absolut fit (100%).
Er traegt bei sich:
Eine Robe der Teufelsanbeter (angezogen).
Ein 'Chaos-Rulez'-Button.
Ein umgekehrtes Kreuz.
Ein Katana.
Ein strahlender Talisman (angezogen).    

-----------------------------------------------------------------------------



Re: ueberlaeufer?:) (Dieder, 16. Sep 2000, 12:22:44):
~#! rn=Sina rt=969056587 rg=gilden.klerus
~#! tid=969056587
Nix "Ueberlaeufer" - sowas kann Chaos nicht brauchen.

Dies zeigt naemlich, dass er a) ein scheinheiliges verlogenes Miststueck ist
(was nicht wirklich neu ist), und b) endlich erkannt hat, _was_ "rulet" - dies
ist allerdings eine weise Erkenntnis, die ich diesem Penner nu nicht zugetraut
haette :-))

Dieder, Chaot aus Ueberzeugung.

-----------------------------------------------------------------------------



Re: Re: ueberlaeufer?:) (Liara, 16. Sep 2000, 13:45:11):
~#! rn=Dieder rt=969099764 rg=gilden.klerus
~#! tid=969056587
Hm.
Er ist ein scheinheiliges, verlogenes Miststueck?
Also doch Chaot? ;-)

Liara, Zwergenzauberine, duckt sich schonmal ;-))

-----------------------------------------------------------------------------



Erleuchtet oder nicht... (Morgoth, 10. Okt 2000, 11:24:04):
sagt Euch der naechste Crash/Reboot.

Ab dann gibts naemlich eine neue Aufgabe. Ich hoffe sie ist nicht allzu schwer
und funktioniert auch so wie sie soll *grins*

M*, Chefgott usw.

-----------------------------------------------------------------------------



beten (Nonne, 12. Okt 2000, 11:10:29):
Hallo meine lieben Schaeflein,

auf vielfachen Wunsch eines einzelnen kann man nun auch fuer einen Mitspieler
beten. Vielleicht hilft's ja in schwierigen Situationen...

Viel Spass
Nonne.

-----------------------------------------------------------------------------



Kleiner Bugfix... (Zook, 17. Nov 2000, 15:09:10):
.. bei der Praesenz-Anrufung. Es buggt nun nicht mehr, dafuer 
funktioniert die Anrufung nicht ueberall; ihr werdet schon sehen,
wo und wie. Evtl. bastelt jemand mal eine voll funktionsfaehige
Loesung.

Gruss, Zook.

-----------------------------------------------------------------------------



Bug-Reports (Nonne, 23. Nov 2000, 15:33:23):
Hallo Klerikers,

wie die meisten wohl wissen, plappert der Bote, der einem von einer
Degradierung berichtet, viel Bloedsinn. Leider komme ich dem Kaeferchen nicht
so recht auf die Spur, daher waere ich dankbar, wenn ihr mir folgendes
schicken wuerdet:
- Den genauen Wortlaut des Boten, wenn der Bug auftritt
- Von welchem auf welchen Level ihr abgerutscht seit

zu tiefst dankbar
Nonne.

-----------------------------------------------------------------------------



Botenbug (Nonne, 29. Nov 2000, 18:59:59):
Hallo Kleriker,

ich denke, ich habe den Bug bei der Nachricht des Boten gefixt. Aufgrund
meines Levels *schnief* wird das aber erst nach dem naechsten Reboot wirksam;
oder die Gilde buggt wie Sau. *g*

Beten wir alle fuer gutes Gelingen

Nonne.

-----------------------------------------------------------------------------



Re: Botenbug (Hight, 29. Nov 2000, 22:05:45):
~#! rn=Nonne rt=975520799 rg=gilden.klerus
~#! tid=975520799
hm is dat nu zynismus oder sarkasmus ? 

M* is der gildenmagier da wuerde ich mir sorgenmachen wenn da mal was nicht
bugen daed 


hight grinsend

-----------------------------------------------------------------------------



Re: Re: Botenbug (Nonne, 30. Nov 2000, 09:10:15):
~#! rn=Hight rt=975531945 rg=gilden.klerus
~#! tid=975520799
*grins*

Nein, das ist Sarkasmus eines Magiers, der ueber Gildencode bruetet, bei dem
einen die Haare zu berge stehen. Von wem der Code ist, lass ich mal
dahingestellt, kann ich eh nicht mehr nachvollziehen, aber er macht
Gehirnschmerzen (c;

Nonne.

-----------------------------------------------------------------------------



Re^3: Botenbug (Wargon, 30. Nov 2000, 17:51:09):
~#! rn=Nonne rt=975571815 rg=gilden.klerus
~#! tid=975520799
Ich weise schon mal praeventiv jede Verantwortung von mir. :)
  Wargon

-----------------------------------------------------------------------------



noch ein kleiner bug-fix (Nonne,  2. Dez 2000, 18:24:26):
Es war ein kleiner Bug beim Begraben. Sollte weg sein, falls was trotzdem
nicht klappt, Mail an den zustaendigen Magier (c;

Nonne.

-----------------------------------------------------------------------------



Gilden-WWW-Seiten (Nonne,  2. Dez 2000, 18:31:32):
Hallo Kleriker,

ich habe gerade mal einen Blick auf die Gildenseiten im WWW geworfen. Die
machen ja nicht unbedingt Werbung fuer unsere Gilde. Vielleicht sollte man da
mal was dran aendern. Hat einer (oder mehrere (c;) Lust, das mal in Angriff zu
nehmen? Bewerbungen bitte an mich, die werden auch vertrauensvoll behandelt.

Auf regen Zuspruch hoffend
Nonne.

-----------------------------------------------------------------------------



Abbild und Team (Nonne,  9. Jan 2001, 18:38:55):
Hallo Kleriker,

ich habe eine Kleinigkeit am Abbild geaendert. Das sollte sich nur im
Teamkampf auswirken und ich hoffe nicht zu doll.

Nein, es ist weder Auf- noch Abwertung
Nonne.

-----------------------------------------------------------------------------



fuersprache (Nonne,  7. Feb 2001, 22:11:20):
Hallo Kleriker,

die Fuersprache hat jetzt eine zweite Funktion.

Es soll vorkommen, dass Kleriker mit Arkshat oder Mindra in Konflikt kommen
und des Tempels verwiesen werden. Dann zuernten ihnen die Goetter bis zum
Weltuntergang und sie konnten die heiligen Staetten nicht mehr betreten. Um
Klerikern nicht so eine grosse Buerde aufzuerlegen, koennen die des Tempels
verwiesenen nun einen Erleuchteten bitten, ein paar gute Worte bei den
Goettern einzulegen.
Ich hoffe, dass die Erleuchteten verantwortungsvoll mit dieser Macht umgehen
und weder leichtfertig fuersprechen, noch ihre neue Macht ausnutzen.

Viel Spass und denkt euch was nettes fuer die Absolution aus (c;
Nonne.

-----------------------------------------------------------------------------



Re: fuersprache (Gorog,  7. Feb 2001, 22:28:43):
~#! rn=Nonne rt=981580280 rg=gilden.klerus
~#! tid=981580280
HURHUR ERLEUCHTUNG RULEZ!

Kommt und wimmert auf das ihr ignorieret werdet HAHAHAHAHAHA  (;
*seriousness on*

Sollten die Verfehlungen der Antragsteller nicht zu gravierend sein sollte es
kein Problem sein ihre Bitten zu erfuellen.
*seriousness off*
Gorog sag: Keine Weltherrschaft ohne manisches Lachen!
HAAAAAAAHAHAHAHAAAAAAAA!

-----------------------------------------------------------------------------



Goettermacht (Nonne, 14. Feb 2001, 12:45:33):
Hallo Kleriker,

die Goetter haben Mitleid mit euch gezeigt und sind nunmehr bereit, ab und zu
einen Teil ihrer Macht auf die Angehoerigen der Klerusgilde zu uebertragen. 

Genaueres gibt es unter 'hilfe goettermacht'. Aenderungen bleiben vorbehalten!
Also lieber erst ein bisschen weniger freuen, dann ist der Frust nicht so
gross, wenn noch ein bisschen nachgebessert werden muss.

Lembold, Kandri und Saphina seien mit euch.
Nonne.

-----------------------------------------------------------------------------



Re: Goettermacht (Dreamer, 14. Feb 2001, 19:28:06):
~#! rn=Nonne rt=982151133 rg=gilden.klerus
~#! tid=982151133
Gleich mal getestet, und festgestellt dass widda ein neuer Spruch da ist, der
vielzuviele KP verschlingt. Mag anderen ja egal sein, aber "isch bin krass un'
da mach ich volles Programm" wenn ich vor nem Monster stehe, tja, und wenn ich
DAS tue, habe ich -1000 KP, nein im Ernst: 0 KP. Nun und im Ernstfall, stehe
ich dann nur "doof" da , voellog passiv und lasse mich zuhauen, ohne
wenigstens ein klein wenig rumzublitzen, donnern oder sonst nen Angriffsspell
starten zu koennen. Wehe ich habe nur ein paar KP ueber und mache das und ein
Spruch hoert auf zu wirken, dann heisst es Feierabend Dreamer. :((

Irgendwie isses ein weiterer Spruch von vielen in der Richtung, die schuetzen
sollen, nur ob das nicht irgendwann dasselbe ist? Was ist denn mit
heiligenschein? Oder Schild? Oder gar Schutzhand?? 

Aber wenn ein neuer Spruch, dann waere ich auf jeden Fall auch fuer einen
"Extralook" wie beim heiligenschein, Schild, etc. Der beschreibt WIE gut der
Spruch gerade wirkt.

Nur meine 2 Dinar...

Dreamer, noch testend

-----------------------------------------------------------------------------



Re: Re: Goettermacht (Nachtwind, 14. Feb 2001, 19:33:30):
~#! rn=Dreamer rt=982175286 rg=gilden.klerus
~#! tid=982151133
Vielleicht testest Du mal ERST und meckerst dann.
Erstens schuetzt die Anrufung kein bisschen, zweitens ist die Staerke ihrer
Wirkung klar ersichtlich, sogar fuer jedes "Opfer" individuell.

Seufzend,
Nachtwind.

-----------------------------------------------------------------------------



Re^3: Goettermacht (Gloinson, 14. Feb 2001, 19:46:02):
~#! rn=Nachtwind rt=982175610 rg=gilden.klerus
~#! tid=982151133
Du sabotierst die Grundlage der MPA, Nachtwind. Schaem Dich.

Gloinson, tut immer ihr Bestes fuer die MPA

-----------------------------------------------------------------------------



Re^4: Goettermacht (Dreamer, 14. Feb 2001, 20:05:01):
~#! rn=Gloinson rt=982176362 rg=gilden.klerus
~#! tid=982151133
danke Gloinson

Egal wie was wo... Ich habe NIX gegen neue Anrufungen. Ich habe NIX dagegen
mal ein wenig offensiver als Kandri Geweihter zu agieren bei einem Kampf. Nur:
Es ist nicht gut, IMHO, wenn VIELE der Anrufungen massiv in die KP-Kosten
gehen. Da hilft es NICHT: ein Spruch nach dem anderen "grosszuziehen" ohne
evtl mal ne BALANCE der jeweiligen Sprueche zu finden, die man im Kampf, wo
auch sonst, hoechstwahrscheinlich einsetzen wird. Da bleibt ein Kandri
trotzdem defensiv, auch wenn ich Kandri mal geschworen habe meine Keule zu
schwingen um gegen Untote, boese, satanische Kreaturen zu kaempfen! (wie denn
ohne KPs). Das war/ ist meine erste Festellung: Viele Sprueche, die man
einsetzen wuerde im Kampf, die aber im Kampf zusammengenommen nicht mehr zum
kaempfen gut sind, weil man zwar ne WEile geschuetz aber kaempfen nicht so
ohne weiteres moeglich ist.

Des weiteren ist es zwar schoen wenn die Wirkung fuer Dich Nachtwind klar
ersichtlich ist. Isses denn beim Heiligenschein und beim Elementarschild denn
anders?!?! Trotzdem gibbs da nen Extra-Look, warum also auch nicht bei
"Goettermacht"?

Und weiter und zu guter Letzt: Mach mich nicht an, Nachtwind!

Happ doch bloss (endlich) mal meine Sicht der Dinge erklaeren wollen und hoffe
auf diesem Wege der mpa, mal andere Kleriker mal zu Wort kommen zu lassen, die
vielleicht auch so denken wie ich. Ich versuche nur Tips und Anregungen zu
geben die ich gerne von meiner "Wishlist" gestrichen haben moechte. OB das
aber geschieht werde ich ja wohl nicht alleine (gottseidank *g*) bestimmen.
Also: Janz ruuuuhich Nachtsturm, aehh Nachtwind, es laeuft und es es tut sich
ueberhaupt mal was inner "gilden.klerus" bzw Klerusgilde. :)

Hugs, Dreamer


-----------------------------------------------------------------------------



Re^5: Goettermacht (Isis, 14. Feb 2001, 20:11:05):
~#! rn=Dreamer rt=982177501 rg=gilden.klerus
~#! tid=982151133
Hmmm...also ich ueb den Spruch im mom erst noch...was er genau macht weiss ich
nich....aber wenn ich ne 'Schutzhand alle' auf ein ein 5er Team spreche bleibt
von meinen KP auch nich viel uebrig...
dare muss man halt vortanken oder Block oefters aufladen...

Und Fuer 50 KP nen ganzes Team aufwerten...koennt schon nen maechtiger Spruch
sein...naja...mal sehen... 

Hera

-----------------------------------------------------------------------------



Re^6: Goettermacht (Strohalm, 14. Feb 2001, 20:13:40):
~#! rn=Isis rt=982177865 rg=gilden.klerus
~#! tid=982151133
Nuja, so wie ich das verstanden habe werden nur Chars mit gutem Alignment in
den Kampffertigkeiten unterstuetzt, alle mit boesem werden "abgewertet". Los
ihr Chaoten, metzelt die Kleriker hin, oder es gibt nie wieder Teamkampf ;)
Davon, dass die Anrufung den Schutz verstaerkt steht irgendwie wenig bis gar
nix in der Hilfe ;)

Lord Haelmchen, hofft nie nen Chaoten und Kleriker zusammen im Team zu haben
;)

-----------------------------------------------------------------------------



Re^7: Goettermacht (Gorog, 14. Feb 2001, 20:20:45):
~#! rn=Strohalm rt=982178020 rg=gilden.klerus
~#! tid=982151133
Naja, was die Goettermacht angeht, kann ich im Moment noch nicht feststellen,
was sie so tut. Aber is das weiter verwunderlich wenn man den Spell gerade
erst gelernt hat?! Denke nicht. 
Was das Allignment der Mitstreiter angeht, so hab ich in der Hilfe nicht
gelesen, dass boese Chars. n Malus bekommen. Und wenn schon sie haben es auch
verdient (grins)
Gorog findets gut das was neues da is und findet, dass bis auf giftschwaechung
in letzter Zeit kein sinnfreier Spell angehaengt wurde.

-----------------------------------------------------------------------------



Re^8: Goettermacht (Strohalm, 15. Feb 2001, 00:41:13):
~#! rn=Gorog rt=982178445 rg=gilden.klerus
~#! tid=982151133
"[...] Bei gutem Charakter wird sich die Kampfkraft des Spielers erhoehen,
bei boesem Charakter erniedrigen. Die Art und das Ausmass der Verbesserung
haengt vom Gildenlevel ab. [...]"

Reicht diese Aussage net? ;)

Lord Haelmchen, wird noch Hobbykleriker ;)

-----------------------------------------------------------------------------



Re^5: Goettermacht (Nonne, 15. Feb 2001, 11:11:03):
~#! rn=Dreamer rt=982177501 rg=gilden.klerus
~#! tid=982151133
Hallo Dreamer, 

wenn Du eine so lange 'wishlist' hast, wieso hab ich noch nie eine Mail von
Dir gesehen, in der Du Deine Wuensche kund tust? Wenn das konstruktive Kritik
ist oder nette Anregunen, kann man da sicher drueber reden. So gehst Du
allerdings den falschen Weg.
Ich war auch mal Kleriker. Natuerlich sind die Anrufungen teuer. Aber wenn ich
einmal metzel, muss ich nur alle 3-4 Minuten eine der Anrufungen erneut
sprechen. Ich stelle mich ja nicht in den Raum vor dem NPC und warte, bis
alles aus ist, damit ich meine KP verbraten kann. Ausserdem wird Dir ja einige
Sekunden bevor die Anrufungen zuende ist, bescheid gesagt, damit Du einige
Runden um voraus planen kannst. Zudem kann man ja 'vortanken', wie hier schon
erwaehnt wurde.
Jetzt allerdings ueber eine Anrufung herzuziehen, die Du allein aus
Zeitgruenden noch nicht ordentlich geteste haben kannst, empfinde ich als
Beleidigung. Diese Anrufung ist offensiv, sie nuetzt dem Kleriker und dem
gesamten Team, was willst Du noch? Einen Zap-Spruch, der 5 KP kostet?
Vielleicht solltest Du die Gilde wechseln, wenn Dir das alles so auf die
Nerven geht. Kleriker sein hat mit Verpflichtungen zu tun, den Goettern und
den (guten) Mitspielern gegenueber. Dass Dir als Kleriker nichts geschenkt
wird, steht auch irgendwo in der Doku, also beschwere Dich nicht.

Nonne, kopfschuettelnd.

-----------------------------------------------------------------------------



Re^6: Goettermacht (Gloinson, 15. Feb 2001, 14:39:23):
~#! rn=Nonne rt=982231863 rg=gilden.klerus
~#! tid=982151133
Bravo! Das ist der richtige Stil! Metzelt Euch! :)

Gloin(son), springt auch gern sofort Noergler an und wuergt sie

-----------------------------------------------------------------------------



Re^7: Goettermacht (Gorog, 16. Feb 2001, 00:37:01):
~#! rn=Gloinson rt=982244363 rg=gilden.klerus
~#! tid=982151133
Jetzt wo ich die Goettermacht rudimentaer gelernt und etwas mehr getestet
habe, muss ich sagen: Prima Sache das. Die Wartezeit find ich zwar etwas lang
aber was solls, wenn die Anrufung erstmal besser ist lohnt sich bestimmt noch
mehr.
Was ich allerdings seltsam fand, war das Mitstreiter, die gut waren bei weitem
nicht einen soguten Effekt hatten wie ich. Aber Kaempfer koennen ja auch so
gut zuhaun (;

Gorog badet gern in der Macht der Goetter, und hofft das die Effekte nicht nur
auf seinen Posten beschraenkt sind.

-----------------------------------------------------------------------------



WWW-Seiten (Nonne, 25. Feb 2001, 18:41:11):
Hallo Kleriker,

Gorog hat sich die Arbeit gemacht, neue WWW-Seiten fuer den Heiligen Orden zu
schreiben. Ich habe sie dann etwas ueberarbeitet und Apollonia ihnen den
letzten Schliff gegeben. Schaut sie euch bitte mal an. Konstruktive Kritik und
Lob an mich, der Rest nach /dev/null (c;

Ich hoffe, sie gefallen euch, und ich bekomme noch nette Anregungen, was noch
rein soll.

Bis denn
Nonne.

-----------------------------------------------------------------------------



Nochmal die Klerusseiten (Nonne, 15. Apr 2001, 21:18:34):
Huhu Klerikerpack,

nachdem wir ja neue Seiten haben, die recht schnell zusammengestrickt wurden,
weil die alten unertraeglich waren, hat sich jemand gefunden, der sie noch mal
ueberarbeiten will. Eigentlich steht da ja nicht mehr drin, als man in der
Gilde an Infos findet. Wenn jemand etwas weiss, was noch da rein soll, moege
er/sie mir das bitte mailen. Am liebsten allgemeine Hilfestellung fuer das
Leben als Kleriker, was kleinen Klerikern den Einstieg erleichtert.

Aber bitte nicht 'schreib doch mal, wie das und das geht', ich will kein
Magierwissen preisgeben und keine Spielerhilfe betreiben. Schreibt konkret,
was da rein soll bitte. (c:

Nonne.

-----------------------------------------------------------------------------



Langeweile (Gloin, 30. Jun 2001, 00:37:01):
> Du langweilst Dich bei diesem Gegner, hier kannst Du bestimmt nichts mehr
> lernen.

Angesichts der Tatsache, dass meine gottgegebene Faehigkeit der
Schlagwaffenbeherrschung bereits unuebertrefflich gut ist sollte das ja
eigentlich eine ueberfluessige Meldung sein, oder?

Gloin

-----------------------------------------------------------------------------



Anzeige der Gottheit (Nonne,  2. Sep 2001, 13:50:13):
Tach zusammen,

im Finger sieht man jetzt auch, welchem Gott/welcher Goettin der Kleriker/die
Klerikerin geweiht ist. Einmal Arkshat besuchen, der setzt das dann
automatisch richtig (hoffe ich zumindest).

Viel Spass noch
Nonne.

-----------------------------------------------------------------------------



Re: Anzeige der Gottheit (Gorog,  2. Sep 2001, 13:54:54):
~#! rn=Nonne rt=999431413 rg=gilden.klerus
~#! tid=999431413
Hmm prima, erspart n bissel gerenne. Was ich mich allerdings frage, is warum
setzt der meinen Gildenlevel nicht richtig?
Gorog kann sich gar nicht mehr wundern. *schnueff*

-----------------------------------------------------------------------------



Re: Re: Anzeige der Gottheit (Nonne,  2. Sep 2001, 13:56:38):
~#! rn=Gorog rt=999431694 rg=gilden.klerus
~#! tid=999431413
Mmmpf, ja, ich such den Bug mit dem Gildenleveln bei Hohepriester/Erleuchteter
ja schon seit Wochen, aber ich finde nix )c:

Nonne, unfaehig.

-----------------------------------------------------------------------------



Das liebe Beten. (Nonne,  3. Sep 2001, 18:19:41):
Hallo Kleris,

wenn man betet, bekommt man jetzt fuer die Zeit den Titel umgesetzt, damit
mMitspieler nicht den Eindruck bekommen, man sei zu blasiert zum Antworten,
obwohl man nur den Pflichten eines Klerikers nachkommt.

Klappt nach Ende, Reboot, Crash...

Nonne.

-----------------------------------------------------------------------------



Re: Das liebe Beten. (Wurzel,  3. Sep 2001, 18:20:50):
~#! rn=Nonne rt=999533981 rg=gilden.klerus
~#! tid=999533981
warum nicht gleich noch eine wegmeldung eingebaut? wer schaut schon auf den
titel?
aber ist egal, kleriker sind eh blasiert.

-----------------------------------------------------------------------------



Re: Re: Das liebe Beten. (Anatol,  3. Sep 2001, 18:21:18):
~#! rn=Wurzel rt=999534050 rg=gilden.klerus
~#! tid=999533981
Ist die Wegmeldung nicht schon laenger drin? :)

Anatol, der mit dem schlechten Gedaechtnis... 

-----------------------------------------------------------------------------



Re^3: Das liebe Beten. (Wurzel,  3. Sep 2001, 18:22:06):
~#! rn=Anatol rt=999534078 rg=gilden.klerus
~#! tid=999533981
hab ich auch grad gehoert. wusste ich nicht, wer redet schon mit klerikern.

-----------------------------------------------------------------------------



Re: Das liebe Beten. (Householder,  3. Sep 2001, 18:33:55):
~#! rn=Nonne rt=999533981 rg=gilden.klerus
~#! tid=999533981
gehoert es nicht zu den pflichten eines klerikers, blasiert zu sein ?

-----------------------------------------------------------------------------



Re: Re: Das liebe Beten. (Nonne,  3. Sep 2001, 18:34:32):
~#! rn=Householder rt=999534835 rg=gilden.klerus
~#! tid=999533981
Kleriker sind lieb, nett und zuvorkommend. Alle anderen fliegen raus! *g*

-----------------------------------------------------------------------------



Re^3: Das liebe Beten. (Wurzel,  3. Sep 2001, 18:36:07):
~#! rn=Nonne rt=999534872 rg=gilden.klerus
~#! tid=999533981
das solltest du erweitern:
kleriker sind lieb, nett, zuvorkommend und erstspieler, alle anderen fliegen
raus. spart dir ne menge arbeit :)

-----------------------------------------------------------------------------



Re^4: Das liebe Beten. (Nonne,  3. Sep 2001, 18:38:15):
~#! rn=Wurzel rt=999534967 rg=gilden.klerus
~#! tid=999533981
*stoehn* Oh ja, die Zweities, die am liebsten einen voll automatischen
Kleriker haetten... Manchmal frage ich mich, ob das hier ein (Fantasy-)Spiel
ist oder ein Wettrennen oder was auch immer...

-----------------------------------------------------------------------------



Re^5: Das liebe Beten. (Dashel,  3. Sep 2001, 18:43:00):
~#! rn=Nonne rt=999535095 rg=gilden.klerus
~#! tid=999533981
Vielleicht sollte man der Fairness halber mal zwischen Zweities und
Heil-/Segen-/Goettermacht-/Sonstwaszweities unterscheiden.

Dashel, ist Kleriker aus *raeusper* Ueberzeugung.

-----------------------------------------------------------------------------



Re^5: Das liebe Beten. (Gloinson,  3. Sep 2001, 18:44:45):
~#! rn=Nonne rt=999535095 rg=gilden.klerus
~#! tid=999533981
Es ist ein Wettrennen. Du spielst nicht mehr oft, hm? :)

Gloin(son)

-----------------------------------------------------------------------------



Re^6: Das liebe Beten. (Wurzel,  3. Sep 2001, 18:46:37):
~#! rn=Gloinson rt=999535485 rg=gilden.klerus
~#! tid=999533981
ein wettrennen ist auch ein spiel. zwar kein sehr schoenes, weil es in der
regel mehr verlierer als gewinner gibt, aber immerhin.

wurzel . o O (megaschmarrn ist ueberall)

-----------------------------------------------------------------------------



Re^5: Das liebe Beten. (Vardion,  3. Sep 2001, 19:06:15):
~#! rn=Nonne rt=999535095 rg=gilden.klerus
~#! tid=999533981
Es ist kein Fantasy-Spiel. Sonst gaebe es auch keine Monster, die angeblich
einen Saeureangriff fahren, aber in Wirklichkeit aber etwas voellig anderes
tun ;-)

Vardion

-----------------------------------------------------------------------------



Re^5: Das liebe Beten. (Hight,  3. Sep 2001, 20:39:11):
~#! rn=Nonne rt=999535095 rg=gilden.klerus
~#! tid=999533981
"die am liebsten einen voll automatischen
 Kleriker haetten"

hmm weiss ja net abba zumindest im zmud kann ich nen kleriker problemlos
automatisiern und ich bin mir sicher das das mit tf auch geht auch wenn ich
(noch) nicht weiss wies geht

hight gerne zweities als eindeutige knechte haltend

-----------------------------------------------------------------------------



Re^6: Das liebe Beten. (Ark,  3. Sep 2001, 20:47:31):
~#! rn=Hight rt=999542351 rg=gilden.klerus
~#! tid=999533981
Um Langeweile zu haben, komme ich sogar ohne ZMud aus. Ich kaufe mir eine
Playmobil Figur und versuche die zu automatisieren mit kleinen Elektromotoren.
Hat aber die Gefahr, dass es mit der Zeit interessanter werden koennte.
Deshalb wuerde ich stummes
Auf-den-Bildschirm-glotzen-waehrend-das-Kleriker-Programm-ablaeuft" dann doch
eher bevorzugen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Das liebe Beten. (Hight,  3. Sep 2001, 20:49:21):
~#! rn=Ark rt=999542851 rg=gilden.klerus
~#! tid=999533981
ne da haste mich mistverstanden ,o) den kleriker guck ich mir ja nich an ...
der is betknecht und macht automatisch das was ich will bzw. was der erstie
braucht 

hight

-----------------------------------------------------------------------------



Re^8: Das liebe Beten. (Ark,  3. Sep 2001, 20:56:15):
~#! rn=Hight rt=999542961 rg=gilden.klerus
~#! tid=999533981
Doch, hab ich schon verstanden. Das war ja auch der Zweck dieser Gilde, frag
Wargon. "Betknechte/Betmaegde" findet man auch noch ueber -kl, je nach Anrede
gibt es sogar freundliche Reaktionen ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Das liebe Beten. (Anatol,  3. Sep 2001, 21:05:20):
~#! rn=Ark rt=999543375 rg=gilden.klerus
~#! tid=999533981
Und das alles nur, weil Nonne schrieb, dass betende Kleriker einen
entsprechenden Vermerk im Titel haben. Was durchaus sinnvoll ist.

O tempora, o mores...
Anatol 

-----------------------------------------------------------------------------



Re^10: Das liebe Beten. (Anacrion,  3. Sep 2001, 21:06:08):
~#! rn=Anatol rt=999543920 rg=gilden.klerus
~#! tid=999533981
also tempora haben sich geaendert ..

mores wohl kaum..

anac* (realismuswerfend)

-----------------------------------------------------------------------------



Re^11: Das liebe Beten. (Nonne,  3. Sep 2001, 21:24:40):
~#! rn=Anacrion rt=999543968 rg=gilden.klerus
~#! tid=999533981
Ich hoffe, das alle Kleriker fleissig mitlesen und sich einen entsprechenden
Vermerk machen, welche Spieler in Zukunft bevorzugt behandelt werden und
welche hintern anstehen (am besten hinter Armageddon) (c;

Nonne, von ganzem Herzen Kleriker.

-----------------------------------------------------------------------------



Re: T-Online Flat Raetsel... :) (Foobar,  4. Sep 2001, 10:30:16):
~#! rn=Anatol rt=999551710 rg=hardsoftware
~#! tid=999551710
Moin.

Erst mal herzlichen Dank an Nonne fuer die gute Aenderung. Endlich brauch ich
nicht mehr auf Gorog einlabern wenn der vermeintlicherweise idlend irgendwo
rumsteht und nicht antwortet und ich schon wieder einen Disconnect bei ihm
vermute.

Zum Thema "Automatisierung" des Klerikers: Zauberer sind bei weitem einfacher
zu "automatisieren".

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: T-Online Flat Raetsel... :) (Anatol,  4. Sep 2001, 10:59:21):
~#! rn=Foobar rt=999592216 rg=gilden.klerus
~#! tid=999551710
Und das mit der MPA, das lernst Du kleiner Zwerg auch noch. Irgendwann.
In 200 Jahren. Vielleicht. Moeglicherweise. Hoffentlich. ;)

Anatol

-----------------------------------------------------------------------------



Re^3: T-Online Flat Raetsel... :) (Foobar,  4. Sep 2001, 11:00:15):
~#! rn=Anatol rt=999593961 rg=gilden.klerus
~#! tid=999551710
Ach, die Hoffnung hab' ich schon laengst begraben...

Foobar

-----------------------------------------------------------------------------



Re: Re: T-Online Flat Raetsel... :) (Gorog,  4. Sep 2001, 11:35:26):
~#! rn=Foobar rt=999592216 rg=gilden.klerus
~#! tid=999551710
Hmpf. 
Bloede dann merken ja jetzt alle, dass ich ignarant bin, ich glaub das mit dem
ende schieb ich noch etwas heraus. Dann hab ich wenigstes noch ne ausrede wenn
ich mal wieder keine Lust hab zu antworten. Besonders bei Foobi, der quaengelt
immer so. 
Ahja, wie waers mit ner angabe im Finger von Spielern, ob sie n Kleriker In
ihrer Familie haben, dann brauchich mir nicht immer die Namen der der ganzen
frefler zu merken, die sich auch selber heilen koennten (;

Gorog denk man muss mir langweilig sein...

Weiter so Nonne, vielleicht bekommen wir durch diese und aehnliche Aenderungen
doch noch n paar mehr Vollzeit Kleiker.
*freu*

-----------------------------------------------------------------------------



Re^3: T-Online Flat Raetsel... :) (Bambi,  4. Sep 2001, 19:36:04):
~#! rn=Anatol rt=999593961 rg=gilden.klerus
~#! tid=999551710
Wie endete das Buch eigentlich? Ich weiss nur noch, dass es da um so ne
(wuerg) rothaarige und nen jungen Kerl ging und um den dreissigjaehrigen
Krieg.

-----------------------------------------------------------------------------



Nochmal Beten und die lieben Mitspieler (Nonne,  8. Sep 2001, 22:18:11):
Hallo Kleris,

eure Mitspieler bekommen nun eine Meldung, wenn Ihr euer Gebet beendet, damit
sie nun doch merken, wenn Ihr keinen Bock auf sie habt und nicht etwa denken,
ihr wuerdet ewig beten (c;

Wie immer nach Ende, Reboot, Crash...
Nonne.

-----------------------------------------------------------------------------



Gute Kleriker, boese NPC (Nonne, 16. Okt 2001, 21:13:12):
Hallo Ihrs,

auf vielfaches, nerviges Draengeln eines einzelnen (was man sich _nicht_ zum
Vorbild nehmen sollte (c; ) habe ich eingebaut, dass man Heiligenschein und
Messerkreis wieder sprechen kann, wenn ein boeser, boeser NPC sich erdreistet
hat, diese zu beenden. Wie auch immer die Macht <Insert favourite God>'s
umgangen werden konnte.

Moege Lembold mit Euch sein.
Nonne.

-----------------------------------------------------------------------------



Re: Gute Kleriker, boese NPC (Nonne, 16. Okt 2001, 21:18:22):
~#! rn=Nonne rt=1003259592 rg=gilden.klerus
~#! tid=1003259592
Ach ja, die ueberzaehlige Meldung beim Beenden des Betens ist auch raus nach
Ende/Reboot/Crash, oder war schon der Crash? *gruebel*

Nonne.

-----------------------------------------------------------------------------



Erleuchtung (Nonne, 26. Dez 2001, 12:38:37):
Hallo Kleris,

ich habe mal ein bisschen an den Bedingungen fuer die Erleuchtung gedreht.
Ersties haben jetzt einen kleinen Vorteil gegenueber Zweities und die
Wartezeit wird anders berechnet. Auch hier werden Ersties ein wenig bevorzugt.
Bis sich das ganze Niederschlaegt, muessen sich die momentan Erleuchteten
allerdings einmal eingeloggt haben, damit die Werte neu berechnet werden.

Ich hoffe, dass das den von so vielen Ersties erwuenschten Effekt hat. Alle
Ueberlegungen, aktive Kleriker von Heilknechten zu unterscheiden, sind leider
nicht so einfach umsetzbar, bzw. hatte noch keiner eine Idee, wie man das
machen kann. Dann muss es provisorisch eben so gehen. Gegen Skripte ist leider
kein Kraut gewachsen. )c:

Nonne.

-----------------------------------------------------------------------------



Re: Erleuchtung (Sharia, 27. Dez 2001, 14:37:12):
~#! rn=Nonne rt=1009366717 rg=gilden.klerus
~#! tid=1009366717
Ui :)

Hast du erfasse endlich aktiviert ??? :-)


Sharia

-----------------------------------------------------------------------------



Re: Erleuchtung (Gor, 28. Dez 2001, 14:28:40):
~#! rn=Nonne rt=1009366717 rg=gilden.klerus
~#! tid=1009366717
Ich hoffe, du hast eingebaut, dass wenn der Zweitie Zweitie von nem Magier
ist, dass das dann wie ein Erstie behandelt wird. Das waere sonst ein bueschen
unfair.

Gor

-----------------------------------------------------------------------------



Re: Re: Erleuchtung (Sharia, 28. Dez 2001, 14:31:51):
~#! rn=Gor rt=1009546120 rg=gilden.klerus
~#! tid=1009366717

... und wenn der Zweitie Zweitie von nem Zweitie ist oder der Zweitie Erstie
von nem Zweitie ist oder wie oder was ....irgendwann wirds kompliziert :-)


Sharia ... is ca 2 Wochen Erstie :-))))

-----------------------------------------------------------------------------



Re^3: Erleuchtung (Zook, 28. Dez 2001, 14:32:27):
~#! rn=Sharia rt=1009546311 rg=gilden.klerus
~#! tid=1009366717
Das Du mit Deiner ganzen Armee durcheinander kommst, verwundert mich nicht ;)

Zook.

-----------------------------------------------------------------------------



Re^3: Erleuchtung (Gor, 28. Dez 2001, 14:32:33):
~#! rn=Sharia rt=1009546311 rg=gilden.klerus
~#! tid=1009366717
Sach ich doch, das is net ganz trivial. ;)

-----------------------------------------------------------------------------



Re^4: Erleuchtung (Sharia, 28. Dez 2001, 14:33:57):
~#! rn=Zook rt=1009546347 rg=gilden.klerus
~#! tid=1009366717

Pfffft .... Armee..... da gibts Leute mit mehr .... :) 
vorallem gibts Leute die mit ihren Zweities besser umgehn koennen als ich :))


Sharia

-----------------------------------------------------------------------------



Re^5: Erleuchtung (Cuchullin, 29. Dez 2001, 10:53:30):
~#! rn=Sharia rt=1009546437 rg=gilden.klerus
~#! tid=1009366717
Ein automatischer Malus fuer markierte Zweitspieler steht ohnehin auf
aeusserst wackeligen Beinen. Soweit ich weiss, gehoert die Pflicht zur
Zweitiemarkierung zu den wenigen Dingen im Mud, die von der Basis (den
Spielern) und nicht von den Magiern angestrebt und beim Zusammensitzen
im Partyrahmen "beschlossen" wurde. Allerdings mit einer Klausel: Ein
markierter Zweitspieler darf zu keinem Zeitpunkt gegenueber einem nicht
markierten Zweitspieler Nachteile erfahren; die Markierung diente letz-
endlich lediglich der Wegebnung fuer den Teamkampf.

Oder liege ich so daneben?

Cuch

-----------------------------------------------------------------------------



Re^6: Erleuchtung (Mupfel, 29. Dez 2001, 11:18:11):
~#! rn=Cuchullin rt=1009619610 rg=gilden.klerus
~#! tid=1009366717
Naja bevor jetzt Aufregung hochkocht, sollte erstmal getestet werden, wie
klein denn der "kleine Vorteil" jetzt wirklich ist.

-mupfel- (kein Kleriker, nie gewesen, aber es gibt ja andere Experten)

-----------------------------------------------------------------------------



Re^7: Erleuchtung (Nonne, 29. Dez 2001, 11:49:11):
~#! rn=Mupfel rt=1009621091 rg=gilden.klerus
~#! tid=1009366717
Wie gross der ist, kann ich nur durch 'Feldforschung' rauskriegen. Wenn ich
das grob abschaetze, sollte ein wirklich aktiver Kleriker diesen Malus locker
rausholen koennen.

Diese Regelung habe ich nur eingefuehrt, weil die Ersties ohne tolle Skripte
kaum noch eine Chance haben, zu erleuchten. Zumindest bei Saphina, die ja
besonders begehrt bei Heilknechten ist. Sag mir einer ne Moeglichkeit, aktive
Kleriker von skriptenden Heilknechten zu unterscheiden und ich baus ein.

Nonne, auch nicht wirklich gluecklich mit der Regelung.

P.S: Vorschlaege bitte per mail an mich. Flamewars uebergehe ich, da kommt
dann nix bei mir an.

-----------------------------------------------------------------------------



Re: Re: Erleuchtung (Yorrel, 29. Dez 2001, 22:06:35):
~#! rn=Gor rt=1009546120 rg=gilden.klerus
~#! tid=1009366717
Einen Magier-2tie automatisch als 1tie zu werten ist doch etwas seltsam, wo
auf der anderen Seite ein Magier-2tie keine limitierten Gildenraenge
blockieren darf und folglich eher automatisch entleuchtet werden sollte wenn
da Konkurrenz besteht.

Yorrel

-----------------------------------------------------------------------------



Re^3: Erleuchtung (Gor, 31. Dez 2001, 20:07:20):
~#! rn=Yorrel rt=1009659995 rg=gilden.klerus
~#! tid=1009366717
Das is aber ne schoene Meinung, dann lass ich mir alle meine Zweities wieder
atnmarkieren weil ich sie an wen verschenkt habe. Dann sind sie Erstie und in
dem Gewirr von Onlineanbietern kann das keiner mehr nachvollziehen. Biste mit
soner Loesung einverstanden?`Warum sollte ein Magierzweitie nen Nachteil
haben? Das Leuchtet mir nciht ganz ein. Naja, aber du wirst bestimmt einen
triftigen Grund haben, warum jemand, der was fuers Mud programmiert dadurch
benachteiligt werden soll. Inwieweit die Nachteile sich auswirken ist
eigentlich wurscht. Hauptsache ist, es ist ein Nachteil, der in meinen Augen
ninicht zu rechtfertigen ist.

Gruss Gor

-----------------------------------------------------------------------------



Re^4: Erleuchtung (Rochus,  1. Jan 2002, 12:07:03):
~#! rn=Gor rt=1009825640 rg=gilden.klerus
~#! tid=1009366717
Ein Magier hat tiefere Einsicht ins Spiel, daher hat ein Magierzweitie
Vorteile gegenueber anderen Spielern und somit ist ein Magierzweitie
auf einem limitierten Posten eine Benachteiligung von Spielern.

  Rochus

PS: Ich hoffe Dir sind die Konsequenzen klar, wenn Du versuchst
diese Einschraenkung zu umgehen. Ich waere fuer sofortige Loeschung.

-----------------------------------------------------------------------------



Re^5: Erleuchtung (Firehawk,  1. Jan 2002, 12:13:34):
~#! rn=Rochus rt=1009883223 rg=gilden.klerus
~#! tid=1009366717
Dagegen. Gegen die Loeschung meine ich. Dann liber zu noch mehr Gegenden
schreiben verknacken ;)

Firehawk, Mitglied der SfmvAG (Spieler fuer mehr von Arks Gebieten)

-----------------------------------------------------------------------------



Re^5: Erleuchtung (Gor,  1. Jan 2002, 19:58:21):
~#! rn=Rochus rt=1009883223 rg=gilden.klerus
~#! tid=1009366717
Gut, dass dich niemand fraegt. ;)

-----------------------------------------------------------------------------



Re^6: Erleuchtung (Zook,  1. Jan 2002, 20:08:37):
~#! rn=Gor rt=1009911501 rg=gilden.klerus
~#! tid=1009366717
Weisst Du es? ;)

Zook.

-----------------------------------------------------------------------------



Re^4: Erleuchtung (Yorrel,  1. Jan 2002, 23:37:48):
~#! rn=Gor rt=1009825640 rg=gilden.klerus
~#! tid=1009366717
Das ist nicht meine Meinung sondern das sind die momentan gueltigen Regeln
(siehe `hilfe regeln').  Persoenlich ist es mir durchaus Recht, wenn
Magierzweities nicht benachteiligt werden.  Aufgrund der Regeln ist es bloss
sinnlos drueber nachzudenken, ob man Magierzweities wie normale Ersties werten
sollte.

Gruss,
Yorrel

-----------------------------------------------------------------------------



Re^5: Erleuchtung (Wurzel,  1. Jan 2002, 23:40:25):
~#! rn=Yorrel rt=1009924668 rg=gilden.klerus
~#! tid=1009366717
wer als magier seinen zweitie gerne wie einen normalen erstie behandelt
sehen moechte, dem empfehle ich mal die hilfeseite zur selbstloeschung.
und wer denkt, unmarkierte zweities wuerde man nicht erkennen, der irrt.

wurzel

-----------------------------------------------------------------------------



Re^6: Erleuchtung (Gloinson,  2. Jan 2002, 00:38:56):
~#! rn=Wurzel rt=1009924825 rg=gilden.klerus
~#! tid=1009366717
Das es so schwer ist es zu verbergen liegt daran dass einige Magier das Hobby
betreiben Spielern in Sachen Zweitiemarkierung hinterherzuschnueffeln (siehe
auch "-m Hm, X und Y kommen von der gleichen IP ..."). Wenn man mehr als eine
IP zu Verfuegung hat, konsequent Rolle spielt und MUD-Parties "fernbleibt"
klappt das doch recht gut.
Aber Ziel und Weg passen hier nicht ganz zusammen. Metzeln und Rolle spielen
sind IMHO verschiedenerlei Dinge und mit hoeheren Gildenlevel bekommt man
meist einfach nur mehr Metzelmoeglichkeiten. Anders sieht das bei
Magierzweities aus und ich bin mir sicher in jedem MUD flitzen unerkannt
welche mit herum.
Zum Thema: Welches Thema? Nonne verschaerft die Bedingungen fuer Zweities. Mit
dem Gedanken ist sie sicher nicht die erste Magierin. Ob das die
Freiwilligkeit der Zweitiemarkierung untergraebt bleibt abzuwarten.
Und Magierzweities? Sind auch Zweities. Wenn ein Magier soviel Wert darauf
legt unerkannt Meinung und Erfahrung zu sammeln muss er eben etwas mehr
Aufwand betreiben aber fuer den Wald- und Wiesenzweitie ist diese
Beschraenkung kaum todesstossartig - durch die Abloesung sind die hier
betroffenen Posten ja sowieso nicht blockierbar.

Gloin(son)

-----------------------------------------------------------------------------



Re^6: Erleuchtung (Gor,  2. Jan 2002, 10:25:37):
~#! rn=Wurzel rt=1009924825 rg=gilden.klerus
~#! tid=1009366717
Ach Wurzel, das ist reichlich naiv. Ich mache ne Wette, dass der Zweitie zu
100% unentdeckt bleibt, wenn man es darau anlegt. Soll das jetzt eine
Anstachelung zur Selbstloeschung sein? Werd ich dann auch in nem 3/4 Jahr
wieder restauriert? ;)
Ach Rochus, um hier einen gewaltigen Vorteil zu haben muss man nicht Magier
sein. Es reichen ja im Proinzip FP, EK LIste und einige ausgesuchte Spellbooks
von Gilden. Was willste als Spieler mehr? Das Zeug bekommste ja schon recht
guenstig hinterhergeworfen.
Wem das nicht reicht, der lasse sich das komplette MG als TAR.gz schicken oder
er saugts sich bei wem runter.
Also moeglichkeiten sind da viele. Ich bin der festen uebUeberzeugung, dass
solche Spieler weit aus mehr Background haben, als ein aktiver Magier. Solche
SPieler sind die Ausnahme? Gestatte, dass ich nur grinse, wenn dir das durch
den Kopf faehrt......

Haelt man sich an eine Regel, weil es eine Regel ist? Oder steht eher im
Vordergrund, dass man die Regel fuer sinnvoll erachtet?

Gor


-----------------------------------------------------------------------------



Re^7: Erleuchtung (Gloinson,  2. Jan 2002, 14:56:18):
~#! rn=Gor rt=1009963537 rg=gilden.klerus
~#! tid=1009366717
Behauptung: Regel sinnlos, weil Spieler sowieso mehr Einsicht haben koennen
Beweise:
 - Spieler bekommen ohne Probleme FP/EK-Listen
   -> Weitergabeverbot sinnlos
 - Spieler bekommt Spellbooks von Gilden nachgeworfen
   -> Magiervertrag sinnlos
 - Spieler kann "irgendwo" komplettes MG saugen/bekommen
  -> Passwort auf MUD-Rechner sinnlos

War das so zu verstehen? Wann kommt das Postulat das das PK-Verbot sinnlos ist
weil es Spieler gibt die das mit etwas Hintertuecke umgehen (bitte beliebigen
hohen Spieler Deiner Wahl nach Vorgehensweisen fragen
(reduce_hp/NPC-schleppen/Gadgets)?

Gloin(son)

-----------------------------------------------------------------------------



Re^7: Erleuchtung (Cuchullin,  2. Jan 2002, 17:56:23):
~#! rn=Gor rt=1009963537 rg=gilden.klerus
~#! tid=1009366717
Klar, Gor, wenn Du es darauf anlegst, bleibt der Zweitie unentdeckt. Aber
wehe, Du redest mit Leuten, die Dich kennen. Man kann sich durch Wissen,
durch Smileys, Floskeln, ausgefallener Weltanschauung, krankem Geist,
Kampfweise und was weiss ich noch alles outen... und [Erz]Magier sehen
dazu noch diverse Spielereigenschaften, die vom Verhalten des Spielers
abhaengig sind. 

Wirklich SEHR gute Chancen hast Du also nur, wenn Du Dir so kraeftig auf
den Kopf schlaegst, dass Du alles vergisst, was Du ueber Dich, das MG
und der belebten Umwelt weisst. Ab und an habe ich das Gefuehl, Du waerest
schon fleissig am Ueben... ;o)

Cuchullin


-----------------------------------------------------------------------------



Re^7: Erleuchtung (Rochus,  2. Jan 2002, 18:42:37):
~#! rn=Gloinson rt=1009928336 rg=gilden.klerus
~#! tid=1009366717
Mehrer IP-Adressen zu verwenden nuetzt nichts.
Man kann Menschen auch an ihrem Verhalten erkennen,
so war Andy meist schon mit dem ersten Satz den
er von sich gegeben hat als Andy zu erkennen.
Es gibt wirklich nichts, was schweiriger zu aendern ist,
als das eigene Verhalten.

  Rochus

-----------------------------------------------------------------------------



Re^8: Erleuchtung (Orktoeter,  2. Jan 2002, 18:45:20):
~#! rn=Rochus rt=1009993357 rg=gilden.klerus
~#! tid=1009366717
Wieso habe ich eigentlich keine Bekommen, als da einer die Rosaroten Brillen
verteilt hat? Scheinen ja ansonsten recht grosszuegih verteilt worden zu
sein...

OrkT.

-----------------------------------------------------------------------------



Re^9: Erleuchtung (Wurzel,  2. Jan 2002, 18:46:00):
~#! rn=Orktoeter rt=1009993520 rg=gilden.klerus
~#! tid=1009366717
schwarze brillen sind doch auch schoen. weiss gar nicht was du hast.

-----------------------------------------------------------------------------



Re^8: Erleuchtung (Ark,  2. Jan 2002, 18:48:18):
~#! rn=Rochus rt=1009993357 rg=gilden.klerus
~#! tid=1009366717
Da muss ich etwas widersprechen. Es ist sehr viel einfacher, sich hier als
jemand anderes auszugeben, wenn man sich ein wenig am Riemen reisst. Sicher
ist das nicht unbedingt einfach, aber mit ein wenig Uebung kein Thema.
Wohlgemerkt, ich rede jetzt nicht von dem technischen Nachweis, sondern dem
"Verhalten" :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Erleuchtung (Rochus,  2. Jan 2002, 18:50:54):
~#! rn=Ark rt=1009993698 rg=gilden.klerus
~#! tid=1009366717
Genau das ist der Punkt, "wenn man sich am Riemen reisst" -
nur das schafft keiner, vor allem nicht dauerhaft.


  Rochus

-----------------------------------------------------------------------------



Re^9: Erleuchtung (Wurzel,  2. Jan 2002, 18:50:58):
~#! rn=Ark rt=1009993698 rg=gilden.klerus
~#! tid=1009366717
ich stimme da eher rochus zu. speziell verhaltensaenderungen sind fast
unmoeglich, auch wenn man selbst denkt man wuerde eine gute vorstellung
abliefern. in vielen jahren rollenspiel habe ich doch immer nur gefunden,
dass die leute, egal wieviel muehe sie sich gegeben haben, sich nur selbst
spielen koennen.

-----------------------------------------------------------------------------



Re^10: Erleuchtung (Firehawk,  2. Jan 2002, 19:04:46):
~#! rn=Wurzel rt=1009993858 rg=gilden.klerus
~#! tid=1009366717
Wir spielen uns selber? Du machst mir Angst, Wurzel.

Firehawk, zwar wissend was Wurzel meint, aber trotzdem schonmal nach Nummern
guter Psychotherapeuten suchend.

PS: Was bin ich froh, dass ich kein Metzler bin.

-----------------------------------------------------------------------------



Re^11: Erleuchtung (Silvana,  2. Jan 2002, 20:29:02):
~#! rn=Firehawk rt=1009994686 rg=gilden.klerus
~#! tid=1009366717
Jo, ich hab auch grad drueber nachgedacht, was das ueber Wurzels Charakter
aussagt... ;-)

  Silvana

-----------------------------------------------------------------------------



Re^10: Erleuchtung (Gor,  2. Jan 2002, 23:26:35):
~#! rn=Rochus rt=1009993854 rg=gilden.klerus
~#! tid=1009366717
Biste sicher? Ich habe hier und da immer noch Einladungen. ;) Allerdings
muesste ich mir dafuer die Beine rasieren nen Roeckchen anziehen und meine
Gesichtsbehaarung dauerhaft entfernen lassen. ;) Wo ein Wille, da auch ein
Weg. Es funktioniert. Einfacher als man denkt. ;) Just trie it!

Gor mit der rosaroten Schleife im Haar.

-----------------------------------------------------------------------------



Re^11: Erleuchtung (Cuchullin,  2. Jan 2002, 23:27:57):
~#! rn=Gor rt=1010010395 rg=gilden.klerus
~#! tid=1009366717
Schreib' bloss nie MPA-Artikel mit diesem Charakter. 

Cuchullin (warnt)

-----------------------------------------------------------------------------



Re^12: Erleuchtung (Wurzel,  3. Jan 2002, 00:34:20):
~#! rn=Silvana rt=1009999742 rg=gilden.klerus
~#! tid=1009366717
uebel. gaanz uebel. voellig zweifelsfrei :)

-----------------------------------------------------------------------------



Re^12: Erleuchtung (Gloinson,  3. Jan 2002, 01:16:25):
~#! rn=Cuchullin rt=1010010477 rg=gilden.klerus
~#! tid=1009366717
Muss man ja nicht. Prinzipiell geht es aber. Einfach die Kommunikation
allgemein und insbesondere mit eigentlichen Bekannten einschraenken.
Aber um es nochmal klar zu sagen: Die Leute welche sich solch eine Muehe geben
eine andere Rolle (!) zu spielen sind nicht unbedingt an den hoeheren Weihen
beschraenkter Plaetze interessiert die hier durch Nonne etwas erschwert
wurden. Geschweige denn am Teamkampf mit einem anderen eigenen Charakter.

Gloin(son)

-----------------------------------------------------------------------------



Segen (Nonne, 17. Jul 2002, 11:20:38):
Tach Kleriker,

auf dringenden Wunsch eines Einzelnen haben ich was am Segen geaendert. Stirbt
man gesegnet, sollte man nun nicht mehr direkt nach dem Beten am abklingenden
Segen verrecken. Nebenbei habe ich dann noch ausgebaut, dass der Segen
'abgewehrt' wird, da man sowieso nur Spieler segnen kann. Ignorieren kann man
ihn natuerlich weiterhin.

Viel Spass weiterhin beim Koepfe zermatschen wuenscht
Nonne.

-----------------------------------------------------------------------------



Befehle von oben ausgefuehrt (Nonne,  9. Aug 2002, 09:29:02):
Tach Kleriker,

es gibt zwei klitzekleine Aenderungen, die erste betrifft die Kleriker direkt
gar nicht: Die Schutzhand auf andere wirkt nur noch, wenn der Kleriker mit im
Raum des anderen ist.

Die zweite sollte nur selten Auswirkungen zeigen: Bei Wunder wurden manchmal
Lebenspunkte anteilig von den aktuellen LP des Opfers abgezogen, dort gibt es
nun eine Obergrenze. Die sollte sich aber nur bei so Uebermonstern wie Arnold
oder dem Weihnachtsmann bemerkbar machen.

Froehliches Koepfe zermanschen wuenscht
Nonne.

-----------------------------------------------------------------------------



Re: Befehle von oben ausgefuehrt (Mupfel,  9. Aug 2002, 10:09:49):
~#! rn=Nonne rt=1028878142 rg=gilden.klerus
~#! tid=1028878142
Angesichts der "Schutzhand-Trigger" war die Aenderung schon lange mal faellig.

Jetzt wird natuerlich erstmal wieder gejammert ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Befehle von oben ausgefuehrt (Nonne,  9. Aug 2002, 10:10:36):
~#! on=Nonne ot=1028880610 og=gilden.zauberer
~#! rn=Vardion rt=1028880363 rg=gilden.zauberer
~#! tid=1028878142
Bevor Missverstaendnisse aufkommen: Die Schutzhand ist noch da, wenn der
Spieler/Kleriker den Raum verlaesst. Sie wirkt allerdings nur, wenn der
Kleriker im Raum ist. Geht einer kurz Tanken und kommt wieder rein, ist alles
beim alten! Dann muss die Schutzhand nicht neu gecastet werden.

Nonne.

-----------------------------------------------------------------------------



Re^3: Befehle von oben ausgefuehrt (Patryn,  9. Aug 2002, 10:42:51):
~#! rn=Nonne rt=1028880636 rg=gilden.klerus
~#! tid=1028878142
patryn klatscht begeistert beifall.
selbstregulierung war ja wohl nich.

-----------------------------------------------------------------------------



Schutzhand etc. (Ktar,  9. Aug 2002, 11:03:02):
Selbstregulierung :) Lol ... :)
Wie siehts eigentlich mit der Schutzhuelle der Zaubis aus? Wirkt die noch auf
andere wenn sich derjenige nicht im gleichen Raum befindet?
Oder aber auch bei anderen Gilden ... weiss ja nicht (momentan noch nicht
wieder, da Pause von 2 Jahren) obs bei tanji oder so auch sowas gibt ...
Aber wie wollt Ihr die neue Schutzhand rollenspieltechnisch eigentlich
erklaeren?

Finds aber wunderbar das wieder was gemacht wird :)

Auf eine Restaurierung unseres alten Haufens! :)

-----------------------------------------------------------------------------



Re: Schutzhand etc. (Vanion,  9. Aug 2002, 14:34:20):
~#! rn=Ktar rt=1028883782 rg=gilden.klerus
~#! tid=1028883782
> Aber wie wollt Ihr die neue Schutzhand rollenspieltechnisch eigentlich
> erklaeren?

Es ist die Guete und die Gottesfurcht des Klerikers, der Kandri bewegt, einen
Spieler zu unterstuetzen. Die Klerikergoetter sind nicht sonderlich
verschwenderisch mit ihren Gaben.

V*
PS: Sind eben alle scheinheilig.
PPS: Chaos RULEZ

-----------------------------------------------------------------------------



Re: Re: Schutzhand etc. (Gorog, 10. Aug 2002, 19:46:50):
~#! rn=Vanion rt=1028896460 rg=gilden.klerus
~#! tid=1028883782
Hmmm da kommt man mal wieder und schon muss man sich wieder neue Taktiken
ueberlegen wenn man mal anderen Leuten helfen will... GRRRRRRRRRR... 

Hmmm, da faellt mir ein, dass mich das gar nicht betrifft *grins*

Bin froh, dass sich wieder was tut, aber vermissen werd ich:
xxx kommt rein.
xxx tritt yyy.
Kandris schuetzende Haende weilen ueber xxx.
xxx geht.

Aber hey, es gibt ja immer noch den Sonnenschutz und andere kleine
Hilfsmittel.

Gorog sagt: Kleriker sein hat nix mit Verwandschaft zu tun sondern mit
Berufung!

-----------------------------------------------------------------------------



Re^3: Schutzhand etc. (Gloinson, 10. Aug 2002, 19:51:14):
~#! rn=Gorog rt=1029001610 rg=gilden.klerus
~#! tid=1028883782
Jetzt noch auf Segen ausdehen:

> XYZ geht nach Westen.
> [Tod:Teamtod] ...

-----------------------------------------------------------------------------



Re^4: Schutzhand etc. (Gorog, 10. Aug 2002, 19:52:22):
~#! rn=Gloinson rt=1029001874 rg=gilden.klerus
~#! tid=1028883782
He neee, Sonnenschutz abzuwerten is viel wichtiger. Oder gibt der Segen 30%
Feuerresistenz?

mfGorog

-----------------------------------------------------------------------------



Re^6: Schutzhand etc. (Maarg, 10. Aug 2002, 19:54:00):
~#! rn=Deepblue rt=1029002018 rg=gilden.klerus
~#! tid=1028883782
Donner wirkt aber nur auf Leute im Raum.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re^7: Schutzhand etc. (Vanion, 11. Aug 2002, 10:15:23):
~#! rn=Maarg rt=1029002040 rg=gilden.klerus
~#! tid=1028883782
Waer ja noch schoener, wenn nicht. Einmal donnern, und das halbe Mud kippt um
:)

V*, schmarrnt eigentlich schon.

-----------------------------------------------------------------------------



Re: Re: Schutzhand etc. (Wargon, 11. Aug 2002, 17:45:01):
~#! rn=Vanion rt=1028896460 rg=gilden.klerus
~#! tid=1028883782
Eine andere Erklaerung: damit Kandri weiss, wo sie ihre Hand hinhalten muss,
baut sie eine Verbindung zu dem "castenden" Kleriker auf. Die Schutzhand kann
daher nur dort praesent sein, wo auch der Kleriker steht.

Je nachdem wie gross Kandris Haende sind und wie sehr sich das aufs
Spielgeschehen auswirken wuerde koennte man das ganze auch noch etwas
erweitern: steht die Zielperson einen Raum vom Kleriker entfernt, hat die
Schutzhand nur noch die halbe Wirkung, bei zwei Raeumen Entfernung noch 10%,
und erst dann ist Schluss :)

  Wargon

-----------------------------------------------------------------------------



Re^3: Schutzhand etc. (Nonne, 11. Aug 2002, 17:45:55):
~#! rn=Wargon rt=1029080701 rg=gilden.klerus
~#! tid=1028883782
Das kann Kandri aber nur, wenn Du das proggst (c;

Nonne.


-----------------------------------------------------------------------------



Re^3: Schutzhand etc. (Mupfel, 11. Aug 2002, 17:46:43):
~#! rn=Wargon rt=1029080701 rg=gilden.klerus
~#! tid=1028883782
Und wenn die Zeilperson dem Kleriker auf den Arm huepft.... aber lassen wir
das ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Schutzhand etc. (Gnome, 11. Aug 2002, 17:58:26):
~#! rn=Wargon rt=1029080701 rg=gilden.klerus
~#! tid=1028883782
du meinst, kandri ist so bloed und kann sich nichtmal einen
einfachen namen merken? schlechte erklaerung... ;-)

-----------------------------------------------------------------------------



Re^4: Schutzhand etc. (Ark, 12. Aug 2002, 11:05:08):
~#! rn=Gnome rt=1029081506 rg=gilden.klerus
~#! tid=1028883782
Der goettliche Kanal ist eben nicht beliebig biegsam ;) Besser?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Schutzhand etc. (Gnome, 12. Aug 2002, 14:24:41):
~#! rn=Ark rt=1029143108 rg=gilden.klerus
~#! tid=1028883782
mal angenommen, dass kandri sowas wie ein goettliches wesen ist.
sowit zitiere ich aus "rendezvous mit joe black":
william parrish: 'was ist mit deiner arbeit? wenn du hier bist,
                  wer laesst dann die menschen sterben?'
joe black: 'waehrend du dich heute morgen rasiert hast, hast du
            schon ueber tausend andere dinge nachgedacht, die
            du heute machen wirst, habe ich recht?'
willian parrish: 'ja, das stimmt.'
joe black: 'siehst du. multipliziere das mit der ewigkeit,
            erweitere es um die unendlichkeit, und die wirst
            im ansatz erahnen, wovon ich spreche...'

wenn das schon der tod kann, was kann dann ein GOTT ?

gnOme denkt . o 0 ( goettlicher kanal ueberlastet... pfffffffft. )

-----------------------------------------------------------------------------



Re^6: Schutzhand etc. (Boing, 12. Aug 2002, 14:38:13):
~#! rn=Gnome rt=1029155081 rg=gilden.klerus
~#! tid=1028883782
Du musst aber bedenken dass Kandri, Saphina und dieser andere Kasper dessen
namen ich grad vergessen hab nur ganz winzig kleine Goetter sind, mit 
echter goettlicher Allmacht hat das ja nix zu tun. Im uebrigen kann es
aber auch noch sein, dass Kandri einfach keine Lust hat, mehr zu tun
als absolut notwendig ist? :)
  Boing

-----------------------------------------------------------------------------



Re^6: Schutzhand etc. (Elberet, 12. Aug 2002, 14:40:31):
~#! rn=Gnome rt=1029155081 rg=gilden.klerus
~#! tid=1028883782
ich sag ja nur: praying error 42: god unreachable :)

Elbi

-----------------------------------------------------------------------------



Re^6: Schutzhand etc. (Ark, 12. Aug 2002, 15:12:29):
~#! rn=Gnome rt=1029155081 rg=gilden.klerus
~#! tid=1028883782
Tod, Lars, et al. sind hier ja einfache Witzfiguren, die ihre irrelevanten
Aeusserungen innerhalb weniger Minuten kundtun. JEDE Gilde kann da mehr, oder?
;)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Schutzhand etc. (Deepblue, 12. Aug 2002, 15:19:55):
~#! rn=Ark rt=1029157949 rg=gilden.klerus
~#! tid=1028883782
Hm, Funaluschi sagt gleich garnix

-----------------------------------------------------------------------------



Re^3: Schutzhand etc. (Key, 12. Aug 2002, 19:34:44):
~#! rn=Gorog rt=1029001610 rg=gilden.klerus
~#! tid=1028883782
"xxx tritt yyy."
Hey, also xxx ist mir sympathisch =;)

-----------------------------------------------------------------------------



Re^7: Schutzhand etc. (Sharia, 23. Aug 2002, 10:11:41):
~#! rn=Boing rt=1029155893 rg=gilden.klerus
~#! tid=1028883782
*raeusper*
Herr Boing!
Ich verbitte mir, dass sie in solch unflaetigen Worten ueber eine solch
wundervolle und gerechte Gottheit wie den Gott, dem ich geweiht bin sprechen!
Es handelt sich bei dem von ihnen benannten "Kasper" nicht um  irgendeinen,
sondern um eine strahlende, gute Gottheit, naemlich LEMBOLD.
Nur weil es vielleicht in ihrem Glauben moeglich ist, dass eine Gottheit
abgesetzt wird, oder sogar aus Unlust ihren Glaeubigen gegenueber von seinem
"Amt" zuruecktritt, steht es ihnen nicht zu ueber ein solch allmaechtiges
Wesen wie unseren geliebten Lembold derart negativ zu urteilen! Sie als
Ex-Gott (wenn es soetwas ueberhaupt geben kann) sollten vor allem sich da
etwas zurueckhalten!

Ich hoffe ihrerseits auf Besserung

Im tiefen Glauben an Lembold

Sharia, ehemals Hohepriesterin des Lembold

-----------------------------------------------------------------------------



Re^8: Schutzhand etc. (Brotnael, 23. Aug 2002, 13:09:52):
~#! rn=Sharia rt=1030090301 rg=gilden.klerus
~#! tid=1028883782
Lang lebe Kandri!

Brotnael, im Namen Kandris

-----------------------------------------------------------------------------



Re^9: Schutzhand etc. (Mandragon, 23. Aug 2002, 13:11:09):
~#! rn=Brotnael rt=1030100992 rg=gilden.klerus
~#! tid=1028883782

Lembold, zerschmettere die Unglaeubigen!

Ma* (im Namen der Rechtglaeubigen)

-----------------------------------------------------------------------------



Re^10: Schutzhand etc. (Hisasul, 23. Aug 2002, 13:30:19):
~#! rn=Mandragon rt=1030101069 rg=gilden.klerus
~#! tid=1028883782

Saphina, beschuetze die Doofen!

His* (im Namen der Doofen)

-----------------------------------------------------------------------------



Re^11: Schutzhand etc. (Elberet, 23. Aug 2002, 13:31:12):
~#! rn=Hisasul rt=1030102219 rg=gilden.klerus
~#! tid=1028883782
Zook, beschuetze das Mud

Elbi, im Namen Elbis

-----------------------------------------------------------------------------



Segen (Nonne,  3. Sep 2002, 15:01:46):
Hallo Kleriker,

ich musste eine Auswirkung des Segens leider voruebergehend ausbauen, da es im
Zusammenspiel mit der Schutzhand moeglich war, seinen Body ins Astronomische
zu steigern. Ich haengs wieder dran, wenn mir eine Loesung dafuer eingefallen
ist. Viel kam da eh nicht bei rum (c;

Nonne, untroestlich aber nicht zu aendern.

-----------------------------------------------------------------------------



Re: Segen (Gorog,  3. Sep 2002, 20:59:43):
~#! rn=Nonne rt=1031058106 rg=gilden.klerus
~#! tid=1031058106
Hmmm
wo Du gerade am suchen bist kannst Du ja mal schaun ob Dus hinbekommst dass
die Erde sich nicht unter mir teilt wenn einer meiner Brueder sich schuetzen
will.
mfGorog

-----------------------------------------------------------------------------



Bugfix Schutzhand (Nonne,  4. Sep 2002, 09:23:55):
Hi Kleriker,

Kandri laesst sich nun nicht mehr dazu bringen, Gegenstaende mit ihren Haenden
zu schuetzen. Wieso sie das bisher gemacht hat, ist mir allerdings
schleierhaft *seufz*

Im Auftrag Lembold unterwegs,
Nonne.

-----------------------------------------------------------------------------



Re: Bugfix Schutzhand (Ahab,  4. Sep 2002, 09:24:29):
~#! rn=Nonne rt=1031124235 rg=gilden.klerus
~#! tid=1031124235
Wieso im Auftrag Lembolds? Ist der neidisch? ;-)

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re: Re: Bugfix Schutzhand (Nonne,  4. Sep 2002, 09:25:11):
~#! rn=Ahab rt=1031124269 rg=gilden.klerus
~#! tid=1031124235
Nein, der klopft den Weibern da oben mal auf die Finger (c;

-----------------------------------------------------------------------------



Re^3: Bugfix Schutzhand (Zook,  4. Sep 2002, 09:26:49):
~#! rn=Nonne rt=1031124311 rg=gilden.klerus
~#! tid=1031124235
Weia... was fuer Verhaeltnisse...

Zook.

-----------------------------------------------------------------------------



Re^4: Bugfix Schutzhand (Orktoeter,  4. Sep 2002, 09:30:03):
~#! rn=Zook rt=1031124409 rg=gilden.klerus
~#! tid=1031124235
Musst DU gerade sagen... wie war das mit Twingi?

OrkT *fg*.

-----------------------------------------------------------------------------



Re^4: Bugfix Schutzhand (Grimmborn,  4. Sep 2002, 09:30:07):
~#! rn=Zook rt=1031124409 rg=gilden.klerus
~#! tid=1031124235
So ist das halt bei diesen angeblichen Goettern, Zook.

GdA

-----------------------------------------------------------------------------



Re: Befehle von oben ausgefuehrt (Buddha,  5. Sep 2002, 17:55:05):
~#! rn=Nonne rt=1028878142 rg=gilden.klerus
~#! tid=1028878142
Wie waers eigentlich, mit dem selben bedingungen, die jetzt fuer Schutzhand
gelten, den leid-Spell wieder anzuklemmen?

-----------------------------------------------------------------------------



Re: Re: Befehle von oben ausgefuehrt (Gorog,  5. Sep 2002, 18:34:18):
~#! rn=Buddha rt=1031241305 rg=gilden.klerus
~#! tid=1028878142
Naja Leid war ja urspruenglich ganz spassig, spaeter weniger interessant, aber
immernoch viel zu krass alls das der nutzbar sein sollte.
Sorry aber nen anderen Char ob nun ueber beliebige Entfernung oder nicht
komplett von allen Leiden zu befreien, die er so haben mag (incl. mp verlusst)
ist meiner Meinung nach mehr als nur etwas Uebertrieben.

mfGorog offen fuer Neues aber bitte durchdacht (;

-----------------------------------------------------------------------------



Re^3: Befehle von oben ausgefuehrt (Nonne,  6. Sep 2002, 08:55:06):
~#! rn=Gorog rt=1031243658 rg=gilden.klerus
~#! tid=1028878142
Und was hat das mit den Beschraenkungen der Schutzhand zu tun? Soll der
anderen alle Leiden wiederbekommen, sobald der Kleriker aus dem Raum geht???

Nonne, gruebelnd.

-----------------------------------------------------------------------------



Re^4: Befehle von oben ausgefuehrt (Buddha,  6. Sep 2002, 08:58:41):
~#! rn=Nonne rt=1031295306 rg=gilden.klerus
~#! tid=1028878142
Waer sicher nett, aber das Problem war doch hauptsaechlich, dass Kleri
"leidend" in der Kneipe stand und den Schaden "wegtankte"

-----------------------------------------------------------------------------



Re^5: Befehle von oben ausgefuehrt (Mandragon,  6. Sep 2002, 09:55:52):
~#! rn=Buddha rt=1031295521 rg=gilden.klerus
~#! tid=1028878142
Lang lebe der Zweitiekleriker.

Balancegefuehl: 6.
Setzen!

Ma* (kann es nicht fassen)

-----------------------------------------------------------------------------



Noch mal Segen (Nonne,  6. Sep 2002, 10:13:43):
Leider hat der Fehlerteufel zugeschlagen und man konnte, wenn man mit Segen
gestorben war, nach dem Beten am abklingenden Segen sterben. Habe ich wieder
korrigiert, man kriegt zwar das Abklingen zu spueren, aber stirbt nicht mehr
dran.

Sorry Pitfall *auf Knien rumrutscht*
Nonne.

-----------------------------------------------------------------------------



Re: Noch mal Segen (Pitfall,  6. Sep 2002, 10:14:05):
~#! rn=Nonne rt=1031300023 rg=gilden.klerus
~#! tid=1031300023
zeit wurde es

pit* hrmpfend

-----------------------------------------------------------------------------



Re: Re: Noch mal Segen (Nonne,  6. Sep 2002, 10:16:21):
~#! rn=Pitfall rt=1031300045 rg=gilden.klerus
~#! tid=1031300023
Hey! Das war so, seit es die Gilde gibt. Meine unendliche Barmherzigkeit hat
mich das aendern lassen. Dann war es durch Unfall ein paar Tage nicht so und
ich kriege den Spruch 'Zeit wurde es'???

Ein bisschen mehr Demut, Herr Pitfall, sonst baue ich einen
extra-Pitfall-sterbe-Segen (c;

Nonne.

-----------------------------------------------------------------------------



Re^3: Noch mal Segen (Orktoeter,  6. Sep 2002, 10:19:58):
~#! rn=Nonne rt=1031300181 rg=gilden.klerus
~#! tid=1031300023
Oh ja! bau doch mal ein, das ein Gesegneter, der muht stirbt... -T+

OrkT.

-----------------------------------------------------------------------------



Oh wunder, oh wunder (Nonne, 12. Sep 2002, 08:20:18):
Hi Klerikers,

ich hatte wohl in der Aufregung um die Schutzhand eine weitere Anpassung
vergessen zu erwaehnen oder ist sie nur im Trubel untergegangen? Bei wunder
konnte man NPC mit sehr vielen LP recht viel Schaden machen und solche NPC
auch als HP alleine metzeln. Da habe ich eine Obergrenze eingebaut, die
wirklich nur bei Mega-NPC greifen sollte. Da sich bisher keiner beschwert hat,
scheint die Grenze ja ausreichend hoch gesetzt sein, dass sie im
Kleriker-Alltag nicht stoert.

Nonne.

P.S: Natuerlich wieder auf Humnis geheiss!

-----------------------------------------------------------------------------



Re: Oh wunder, oh wunder (Croft, 12. Sep 2002, 10:23:53):
~#! rn=Nonne rt=1031811618 rg=gilden.klerus
~#! tid=1031811618
Hm.  Hattest du das nicht schon anfang August zusammen mit der Aenderung
an Schutzhand gepostet?
Ich wuerd sagen du hast es nicht vergessen zu posten, sondern vergessen
das du es gepostet hast ;-)
Gruss Croft

-----------------------------------------------------------------------------



Re: Re: Oh wunder, oh wunder (Nonne, 12. Sep 2002, 10:26:10):
~#! rn=Croft rt=1031819033 rg=gilden.klerus
~#! tid=1031811618
Okay, okay. Ich wurde drauf angesprochen, da was zu aendern und war mit nicht
mehr sicher. Dann ist der andere der Depp, der das nicht gelesen hatte (c;

-----------------------------------------------------------------------------



Re: Oh wunder, oh wunder (Cadrach, 12. Sep 2002, 10:33:57):
~#! rn=Nonne rt=1031811618 rg=gilden.klerus
~#! tid=1031811618
In diesem Zusammenhang solltest Du dann aber wohl auch mit Rikus sprechen,
damit 2-3 Stupse ausgetragen werden, da die NPCs nur auf diese Art zu killen
waren.

Cad*

-----------------------------------------------------------------------------



Re: Re: Oh wunder, oh wunder (Flauros, 12. Sep 2002, 10:36:49):
~#! rn=Cadrach rt=1031819637 rg=gilden.klerus
~#! tid=1031811618
Du spielst wohl zum Beispiel auf den Terminator an.
Ich kann Dich beruhigen, den kann man nicht nur als Kleriker hauen ... ;)

Flauros - erinnert sich schmerzhaft an seine alleinige 7h Metzeltortur als
KaempferLevel 18 fuer den doofen Schaedel ;)

-----------------------------------------------------------------------------



Re^3: Oh wunder, oh wunder (Orktoeter, 12. Sep 2002, 10:38:58):
~#! rn=Flauros rt=1031819809 rg=gilden.klerus
~#! tid=1031811618
So wie ich Nonne verstanden habe, hat sich noch nicht einer ueber die
Obergrenze beschwert. Sie scheint also so hoch zu sein, das die entsprechenden
NPC auch jetzt noch zu killen sind, wenn auch vieleicht mit ein paar Runden
mehr.

OrkT.
,

-----------------------------------------------------------------------------



Re^4: Oh wunder, oh wunder (Nonne, 12. Sep 2002, 10:46:24):
~#! rn=Orktoeter rt=1031819938 rg=gilden.klerus
~#! tid=1031811618
Ich denke, Cadrach spielte eher auf so NPC wie den Weihnachtsmann an, der nur
zu Weihnachten am PV-Hafen rumhaengt (oder wo stand der?). Der war eigentlich
wirklich nicht anders zu killen. Sonst faellt mir auf anhieb nix ein. Alle
anderen sind zu killen, wenn auch mit etwas mehr Aufwand.

Aber es wurden doch bisher bei keiner Abwertung Stupse ausgetragen, weil die
NPC nun schwieriger zu killen sind, oder?

Nonne.

-----------------------------------------------------------------------------



Re^5: Oh wunder, oh wunder (Humni, 12. Sep 2002, 10:49:34):
~#! rn=Nonne rt=1031820384 rg=gilden.klerus
~#! tid=1031811618
Nur ganz kurz ohne Zahlen verraten zu wollen: 

Die Grenze, auf die Nonne und ich uns geeinigt haben ist in der Tat recht
hoch. Und die NPCs, die sonst nicht killbar sind, sind ein Problem des RMs,
und wenn der nicht reagiert ein Problem der NPC-Balance.

Und noch was: Wunder ist (wenn er die entsprechenden Auswirkungen zeigt bei
entsprechenden NPCs) nach wie vor der maechtigste Zauberspruch im MUD.

Und zum Thema Weihnachtsmann: Seid ihr sicher, dass der noch stupst? Jaja, das
koennt Ihr derzeit nicht nachschauen... ;-)

CU Humni

-----------------------------------------------------------------------------



Re^5: Oh wunder, oh wunder (Sou, 12. Sep 2002, 10:49:42):
~#! rn=Nonne rt=1031820384 rg=gilden.klerus
~#! tid=1031811618
Dann sollten wir jetzt vielleicht damit anfangen?
Wenn der NPC echt nimmer killbar ist faend ich das vertretbar. :)

Sou mischt sich mal ein, auch wenn er keine Ahnung hat... :Op

-----------------------------------------------------------------------------



Re^6: Oh wunder, oh wunder (Flauros, 12. Sep 2002, 10:51:16):
~#! rn=Sou rt=1031820582 rg=gilden.klerus
~#! tid=1031811618
Definiere killbar?
Bzw nicht mehr killbar.

Flauros

-----------------------------------------------------------------------------



Re^7: Oh wunder, oh wunder (Sou, 12. Sep 2002, 10:53:58):
~#! rn=Flauros rt=1031820676 rg=gilden.klerus
~#! tid=1031811618
Nicht mehr killbar = das Vieh faellt nicht, auch wenn 10 Mann 15 h drauf
herumhauen :p
(einzelereignisse oder wurstteams schliss ich mal aus)

Sou

-----------------------------------------------------------------------------



Re^8: Oh wunder, oh wunder (Elberet, 12. Sep 2002, 10:56:01):
~#! rn=Sou rt=1031820838 rg=gilden.klerus
~#! tid=1031811618
haengt das von der auswahl der 15 mann ab? ;)

Elbi

-----------------------------------------------------------------------------



Re^8: Oh wunder, oh wunder (Elberet, 12. Sep 2002, 10:56:31):
~#! rn=Sou rt=1031820838 rg=gilden.klerus
~#! tid=1031811618
nachtrag: ich meine auch nciht Wurstteams ;)

Elbi

-----------------------------------------------------------------------------



Re^9: Oh wunder, oh wunder (Sou, 12. Sep 2002, 10:59:04):
~#! rn=Elberet rt=1031820991 rg=gilden.klerus
~#! tid=1031811618
OK, hast ja recht, Paul kann man mit 15 Max-Kaempfern hauen und er faellt
nicht, wenn man sonst niemand mitnimmt...

Sagen wir mal anders: wenn man das gesammte MG (zu 'Hauptverkehrszeiten') auf
das Vieh hetzt *gg*

Sou grinst bloede.

-----------------------------------------------------------------------------



Re^10: Oh wunder, oh wunder (Ark, 12. Sep 2002, 11:08:44):
~#! rn=Sou rt=1031821144 rg=gilden.klerus
~#! tid=1031811618
Paul? Wer ist eigentlich Paul? Bekommt man in der Werbung auch nie mit :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: Oh wunder, oh wunder (Sou, 12. Sep 2002, 11:09:46):
~#! rn=Ark rt=1031821724 rg=gilden.klerus
~#! tid=1031811618
LoL - ich mein 'Paul den Abenteuerer' auf dem Weg nach Williburg :)

Sou

-----------------------------------------------------------------------------



Re^10: Oh wunder, oh wunder (Croft, 12. Sep 2002, 11:10:16):
~#! rn=Sou rt=1031821144 rg=gilden.klerus
~#! tid=1031811618
Hm.  Ich hab den alleine als Shaky geschafft.  Brauchen 15 Kaempfer
eine Shaky um Paul umzuhauen?  Ich glaube nicht :o)
Gruss Croft

-----------------------------------------------------------------------------



Re^11: Oh wunder, oh wunder (Flauros, 12. Sep 2002, 11:10:58):
~#! rn=Croft rt=1031821816 rg=gilden.klerus
~#! tid=1031811618
Nee, keinen Shaky
(Wer braucht schon einen Shaky? *g*)
Es langt ein Abenteurer :)

Flauros

-----------------------------------------------------------------------------



Re^12: Oh wunder, oh wunder (Mandragon, 12. Sep 2002, 11:12:46):
~#! rn=Flauros rt=1031821858 rg=gilden.klerus
~#! tid=1031811618
Tut es normal nicht der Steintrollpanzer und bisschen Zeit?

Ma*

-----------------------------------------------------------------------------



Re^13: Oh wunder, oh wunder (Tilly, 12. Sep 2002, 11:39:59):
~#! rn=Mandragon rt=1031821966 rg=gilden.klerus
~#! tid=1031811618
:dankt Ma* fuer den konstruktiven Hinweis. 15er Teams ... *kicher*

-----------------------------------------------------------------------------



Re^11: Oh wunder, oh wunder (Leibniz, 12. Sep 2002, 23:14:06):
~#! rn=Ark rt=1031821724 rg=gilden.klerus
~#! tid=1031811618
 http://www.wer-ist-paul.de/

leibi


-----------------------------------------------------------------------------



Re^12: Oh wunder, oh wunder (Ark, 13. Sep 2002, 09:54:44):
~#! rn=Leibniz rt=1031865246 rg=gilden.klerus
~#! tid=1031811618
Dazu faellt mir nix mehr ein ... Paul Uebersetzer???


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Oh wunder, oh wunder (Grimmborn, 13. Sep 2002, 09:56:36):
~#! rn=Ark rt=1031903684 rg=gilden.klerus
~#! tid=1031811618
Frauen halt. Noch dazu ist der Uebersetzer schon formal inkonsistent, mal ist
die Uebersetzung "was er meint", mal "was er dabei denkt" und so.

GdA

-----------------------------------------------------------------------------



Laeutern (Nonne, 26. Sep 2002, 17:48:23):
Hallo Klerikers,

auf vielfachen Wunsch eines Einzelnen und andere Umstaende, ergeben sich beim
Laeutern ein paar kleine Aenderungen:

- Laeutern kann man jetzt ignorieren: ignoriere [laeutere | laeutern]
- Spieler kann man nicht mehr so einfach zig mal hintereinander laeutern. Je
extremer der Charakter, desto laenger hat der Spieler an der Laeuterung zu
kauen und ist eine Weile nicht mehr zu laeutern. Das gilt allerdings nur fuer
Spieler, NPC koennen so gelaeutert werden, wie bisher.

Viel Spass beim Koepfer zermantschen wuenscht
Nonne.

-----------------------------------------------------------------------------



Re: Laeutern (Flauros, 26. Sep 2002, 17:49:27):
~#! rn=Nonne rt=1033055303 rg=gilden.klerus
~#! tid=1033055303
Wer hat das verbrochen? ;)

Flauros - mag es einfach, mit einem heiligen Charakter zu idlen. :)

-----------------------------------------------------------------------------



Re: Re: Laeutern (Hisasul, 26. Sep 2002, 18:25:02):
~#! rn=Flauros rt=1033055367 rg=gilden.klerus
~#! tid=1033055303
Hat aber schnell geklappt mit der Umsetzung...so stellt man das sich
besstenfalls vor :o)
Grosses Lob an Nonne!

Danke HisAsul

-----------------------------------------------------------------------------



Nur fuer Kleriker interessant (Tilly, 30. Sep 2002, 17:06:22):
Moin Klerikers,

in Rueck- und Absprache mit Euren Gilden-Oberen wurde das
silberne Auge (Gilden-Aufgabe) etwas modifiziert.

So ist es nun nicht mehr moeglich, es sich schenken zu
lassen. Damit ist diese Gilden-Aufgabe nun auch wirklich
eine Aufgabe, die man selber loesen muss.

Bei den Features gab es auch Aenderungen. Eines ist bil-
liger geworden, zwei andere wurden aus balancekritischen
Gruenden gestrichen. Die uebrigen haben ihre Funktionali-
taet behalten.

Diese Features sind uebrigens nur von Angehoerigen Eures
heiligen Ordens nutzbar.

  - Tilly, i.A. der Balance -

-----------------------------------------------------------------------------



Re: Nur fuer Kleriker interessant (Cuchullin, 30. Sep 2002, 17:29:58):
~#! rn=Tilly rt=1033398382 rg=gilden.klerus
~#! tid=1033398382
Wie Du im Titel geschrieben hast: Nur fuer Kleriker interessant. Ist es
damit nicht Aufgabe der Gildenbalance, das Objekt am Boden festzubinden?

Cuch

-----------------------------------------------------------------------------



Re: Re: Nur fuer Kleriker interessant (Nonne,  1. Okt 2002, 08:39:04):
~#! rn=Cuchullin rt=1033399798 rg=gilden.klerus
~#! tid=1033398382
Oder des Gildenchefs. Das Teil war buggy, ich habe es mir angeschaut und bin
rueckwaerts vom Stuhl gefallen. Weil die Balance-Mitglieder mehr Erfahrung
haben und da auch Spieler zu Wort kommen, habe ich mich an eben jenes Gremium
gewandt, um eine Meinung von Ihnen einzuholen. Ich bekam das Ergebnis ihrer
Beratungen mitgeteilt und war zufrieden. Daher ist es in die jetzige Form
modifiziert wirden.

Zufrieden Cuch?

Nonne.

-----------------------------------------------------------------------------



Re^3: Nur fuer Kleriker interessant (Cuchullin,  1. Okt 2002, 10:55:26):
~#! rn=Nonne rt=1033454344 rg=gilden.klerus
~#! tid=1033398382
Naja, der rettende Witz an der Sache wird sein, dass (a) Normalsterbliche
das silberne Auge nur leer vom Priester erhalten und nur der Priester 
selbst ueber die Moeglichkeit des Auffuellens verfuegt und (b) Humni das
Teil vermutlich so oder so nicht kannte und es daher auch keine Abwaegungen
gibt, in die die Staerke des Auges einfliesst. ;o)

Cuch

PS: Ja, ich weiss, dass es viele Nichtnormalsterbliche gibt. ;)


-----------------------------------------------------------------------------



Noch mal Wunder (Nonne, 27. Feb 2003, 11:19:36):
Hallo Kleriker,

habe da noch ein Kaeferchen beseitigt, was die letzte Aenderung von Wunder
umgangen hat. Das ist nun gefixed mit einer zusaetzlichen Einschraenkung: Die
besten Auswirkungen von Wunder bekommt man jetzt erst, wenn man ein paar
Runden im Raum steht. Rein, wunder, raus kann man zwar immer noch machen, wird
aber nicht mehr die schoenen Auswirkungen haben, die es bisher hatte.

Euer Mittler zu den Goettern
Nonne.

-----------------------------------------------------------------------------



Faehigkeiten (Nonne,  9. Jul 2003, 09:48:53):
Hallo Kleriker,

ich wuerde im Moment keinem von Euch empfehlen, ende zu machen oder Seher zu
werden. Wird ein Kleriker erneuert, verliert er im Moment seinen Keulenskill.
Das hat was mit den allgemeinen Kampfskills zu tun und damit, dass Kleriker
die natuerlich nicht benutzen sollen. Offensichtlich ist Humni da uebers Ziel
hinausgeschossen und hat den Keulenskill gleich mit abgehaengt. Wir sollten
alle dafuer beten, dass da Mud nicht crashed, bevor Humni das gefixed hat.

Nonne.

-----------------------------------------------------------------------------



Re: Faehigkeiten (Humni,  9. Jul 2003, 12:53:36):
~#! rn=Nonne rt=1057736933 rg=gilden.klerus
~#! tid=1057736933
Weia.

Ja, das war definitiv meine Schuld. Sollte noch jemand von Euch ohne
Keulenskill rumlaufen sagt bitte sofort Bescheid, ich setz Euch den dann neu.

Nonne hatte mich noch extra danach gefragt und ich war der festen
Ueberzeugung, das muesse so sein... ok... ich verspreche besser aufzupassen...

Humni
PS: Das Wichtigste: Der Bug ist raus, ihr koennt alle renewen.

-----------------------------------------------------------------------------



Re: Re: Faehigkeiten (Humni,  9. Jul 2003, 15:13:29):
~#! rn=Humni rt=1057748016 rg=gilden.klerus
~#! tid=1057736933
So.

Also - es ist hier einiges in letzter Zeit im Klerus schiefgelaufen. Dadurch
ist folgendes passiert:

Einige Leute haben ihre allgemeine Waffenskills behalten, anstatt einen
anstaendigen Klerus-Keulenskill zu kriegen. Dies ist nur bei Leuten so, die
seit einem bestimmten Datum (das Datum wissen wir leider nicht) in die Gilde
eingetreten sind.

Dadurch, dass ich diesen Fehler kuerzlich ausgebaut habe sah das so aus, als
ob fuer einige Leute der Keulenskill verschwinden wuerde. Dem war leider nicht
so, sonst koennte man den rekonstruieren - ihr habt einfach nie einen
Keulenskill gehabt (jedenfalls keinen Klerikerkeulenskill).

Das Ganze ist fuer Euch sehr aergerlich, das kann ich verstehen. Zum Glueck
ist das nun aufgeflogen. Ihr kriegt alle einen anstaendigen
Klerikerkeulenskill, wenn ihr Arkshat nach Euren Faehigkeiten befragt.

Fuer aeltere Spieler aendert sich nichts. Die neueren bitte ich, einmal in der
Gilde nach ihrem Skill zu fragen. Das Ganze tut mir wirklich leid, was genau
von wem falsch gemacht wurde laesst sich leider nicht mehr ganz
nachvollziehen. Und wenn ich sicher waere, dass ich Schuld waere, wuerde ich
nun auch sagen, schlagt mich, aber ich bins eben nicht...

Rueckfragen an mich oder an Nonne, der die Bugs schnell und sauber ausgebaut
hat.

Humni

-----------------------------------------------------------------------------



Re^3: Faehigkeiten (Nonne,  9. Jul 2003, 20:47:16):
~#! rn=Humni rt=1057756409 rg=gilden.klerus
~#! tid=1057736933
*huestel*

Aeh, also, *drumrumred* *ausreden such* Also, naja, irgendwie... scheint das
mit dem Skill noch nicht so ganz... also ich meine, Ihr wisst schon *seufz*

*Alle Kraft zusammennehm* Es funktioniert so nicht, da bin ich sicher, Humni
meint aber, es wuerde so gehen und er ist nicht da zum Ruecksprache halten.
Daher lohnt es sich nicht fuer die Betroffenen, Keulenskill zu ueben!

*puh* Jetzt isses raus

Nonne.

P.S: Alle, die einen funktionierenden Keulenskill haben, sind in keinster
Weise betroffen
P.P.S: Langsam kotzt mich der allg. Waffenskill an (c:

-----------------------------------------------------------------------------



Re^4: Faehigkeiten (Foobar, 10. Jul 2003, 11:33:42):
~#! rn=Nonne rt=1057776436 rg=gilden.klerus
~#! tid=1057736933
Hurra, ich hab' nen funktionierenden Keulenskill! ;o)

Foobar

-----------------------------------------------------------------------------



Re^4: Faehigkeiten (Nonne, 10. Jul 2003, 21:31:29):
~#! rn=Nonne rt=1057776436 rg=gilden.klerus
~#! tid=1057736933
Hallo Kleris,

das Problem scheint geloest, wer keinen korrekten Keulenskill hat, sollte
einmal Arkshat nach den Faehigkeiten fragen, dann sollte das okay gehen. Bei
Rueckfragen/Beschwerden bitte Humni oder mich ansprechen, damit wirs dann so
richtig versaubeuteln koennen. Tut uns alles sehr leid, aber das war wirklich
nicht gewollt.

Wurstmagier Nonne.

-----------------------------------------------------------------------------



Mal was neues im Orden (Morgoth, 10. Okt 2003, 15:13:54):
Hi Kleris,

einige haben es vielleicht schon gemerkt, fuer die anderen schreib ichs
nochmal auf :)
Es gibt jetzt eine Kampfstock-Faehigkeit, die man nach dem Einloggen sollte.
Allerdings sagt Arkshat erst was, wenn man auch ein paar mal damit
zugeknueppelt hat :)

Da sich Nonne bald auf eine andere Gilde konzentrieren wird, ist die heilige
Magdalena mit aufs Boot gesprungen und ist ab sofort fuer das Flair
verantwortlich. Ich pflege weiterhin den Gildencode. Also Typos, Ideen an
Magdalena und Bugs an mich :)

Chefchen M*

-----------------------------------------------------------------------------



Probleme mit Kampfstaeben (Nonne, 12. Okt 2003, 10:38:00):
Tach zusammen,

es gibt noch Probleme mit den Skill der Kampfstaebe. Ich wuerde an eurer
Stelle nicht ueben gehen, da es sehr wahrscheinlich ist, dass der Skill bei
allen noch mal auf 0 gesetzt wird. Leider ist bei einigen Spielern der
Keulenskill in den Stabskill kopiert worden, so dass man Keule und Stab gleich
gut kann. Das war so nicht geplant und es wird noch der Ursache gesucht. Wenn
die gefunden ist, wird der Skill bei allen noch mal auf Null gesetzt, da man
nicht nachvollziehen kann, wer geuebt hat und bei wem der Skill durch einen
Bug zu hoch ist.

Danke fuer die Aufmerksamkeit und Entschuldigung fuer die Unannehmlichkeiten
Nonne.

-----------------------------------------------------------------------------



Re: Mal was neues im Orden (Zook, 13. Okt 2003, 10:06:33):
~#! rn=Morgoth rt=1065791634 rg=gilden.klerus
~#! tid=1065791634
Oder einfach das Mail-Ali "gm_klerus" verwenden.

Zook.

-----------------------------------------------------------------------------



Re: Re: Mal was neues im Orden (Gorog, 13. Okt 2003, 14:16:01):
~#! rn=Zook rt=1066032393 rg=gilden.klerus
~#! tid=1065791634
Wie jetzt Wargon ist nicht mehr fuer uns zustaendig?

Gorog

-----------------------------------------------------------------------------



Nochmal Kampfstaebe (Nonne, 26. Okt 2003, 19:43:27):
Hallo Klerikers,

mit meinen etwas erweiterten Rechten bin ich noch mal die Fertigkeiten bei den
Kampfstaeben durchgegangen. Dabei habe ich sechs Spieler gefunden, deren
Faehigkeit nicht korrekt gesetzt war. Ich habe den Skill nun korrekt
initialisiert und auf 0 gesetzt. Arkshat sollte die Fertigkeit korrekt
ausgeben, sobald der Skill hoeher als 0 ist. Sollte noch jemandem auffallen,
dass der Stabskill auffaellig nahe am Keulenskill ist, obwohl man kaum geuebt
hat, sollte derjenige sich bitte bei Morgoth oder mir melden, damit der Skill
korrekt gesetzt wird. Bei den fehlerhaften Skill stimmt nicht nur die
Faehigkeit nicht, er funktioniert auch nicht, es ist also in eurem eigenen
Interesse, das richtig zu stellen.

Frohes Hirnzermatschen wuenscht
Nonne.

-----------------------------------------------------------------------------



Re: Nochmal Kampfstaebe (Nonne, 27. Okt 2003, 08:35:53):
~#! rn=Nonne rt=1067193807 rg=gilden.klerus
~#! tid=1067193807
Da einige Fragen kamen: Arkshat sagt einem nicht, wenn der Skill auf Null ist!
Man muss also schon ein bisschen mit einem Kampfstab gekaempft haben, damit
Arkshat einem auch eine Faehigkeit bescheinigt! Sollte der Skill auch nach
einer Stunde metzeln mit einem guten Kampfstab bei nicht zu leichten Gegnern
immer noch nicht gestiegen sein, bitte ich um Meldung bei Morgoth oder mir.

Nonne.

-----------------------------------------------------------------------------



Abwerten! (Zook,  8. Jan 2004, 14:22:28):
  Muadib greift Dich mit einem gezueckten Kleriker an.
Der Schiedrichter sagt : AB JETZT GIBT ES KEIN ZURUECK MEHR! MOEGE DER
                         STAERKERE GEWINNEN!
Du hoerst den Arenasprecher rufen :
DER KAMPF IN DER ARENA BEGINNT! MOEGE DER STAERKERE GEWINNEN!
  Muadib vernichtet Dich.
Deine magischen Kraefte verhindern Deinen Tod.
  Muadib vernichtet Dich.
Deine magischen Kraefte verhindern Deinen Tod.


Wenn das kein Grund zum Abwerten ist....

Zook.

-----------------------------------------------------------------------------



identifiziere (Sharia, 10. Nov 2004, 18:06:54):
Hi ich nach langem malwieder :)

Koennte man das identifiziere so erweitern, dass bei Kampfstaeben und
Schlagwaffen die meldung kommt: Eine den Goettern wohlgefaellige (oder was
auch immer) Schlagwaffe / Kampfstab. ?

Es geht mir da nur um die beiden Waffenklassen... Die anderen koennen ja
weiterhin als "Waffe" da stehen bleiben


Gruesse Eure alte Tante Sharia

-----------------------------------------------------------------------------



Kuriere geaendert? (Gloin, 31. Dez 2004, 00:19:34):
Heute habe ich dank Saphina meinen hundertsten Tod gefeiert.

Mit einer sehr hartnaeckigen Krankheit im Nacken (eine Verwirrung) und 28 LP
versuchte ich mich zu kurieren, woraufhin folgendes kam:

Du bist etwas verwirrt...
Ein schmaler Gang.
Es gibt drei sichtbare Ausgaenge: osten, sueden und westen.
Du murmelst ein Gebet und hast Glueck: Saphina erhoert Dich!
Aber irgendwas stimmt nicht. Saphina ist erzuernt.
Der Teddy knuddelt Dich ein letztes Mal.
[Tod:Lars] Eine erzuernte Saphina hat gerade Gloin umgebracht.
[Tod:Tod] DAS WAR SCHON DAS 100TE MAL!

Irgendwie ist mir neu, dass Saphina einem fuer misslungene Versuche eine
Strafe aufbrummt und auch den anwesenden Klerikern war es nicht gelaeufig.
Wenn es "neu" ist, wann und warum wurde das so geaendert?


-----------------------------------------------------------------------------



Re: Kuriere geaendert? (Gloin, 31. Dez 2004, 03:08:36):
~#! rn=Gloin rt=1104448774 rg=gilden.klerus
~#! tid=1104448774
PS: Detailbeschreibung zur Vermeidung:

- Wurzelkrankheit mit vermutlicher Taubheit eingefangen
- Ohrenschuetzer getragen

-> Krankheit wird durch Saphina zwar geheilt, aber die Ohrenschuetzer
   machen mich weiterhin taub, daher "Fehlschlag"


-----------------------------------------------------------------------------



Re: Re: Kuriere geaendert? (Nonne,  3. Jan 2005, 08:04:36):
~#! rn=Gloin rt=1104458916 rg=gilden.klerus
~#! tid=1104448774
Hi,

ich weiss nicht wann oder von wem es geaendert wurde, ich kann mir aber
vorstellen warum. Ohrenschuetzer oder auch eine gewisse Brille wurden haeufig
zum einfachen Ueben von kuriere benutzt, dem wollte wohl jemand einen Riegel
vorschieben. Da ich es nicht war, bleibt ja eigentlich nur einer, schade, dass
das nicht wenigstens in der MPA mitgeteilt wurde.

Nonne.

-----------------------------------------------------------------------------



Re^3: Kuriere geaendert? (Orktoeter,  3. Jan 2005, 19:18:18):
~#! rn=Nonne rt=1104735876 rg=gilden.klerus
~#! tid=1104448774
Stellt sich die Frage:
Wenn du wusstest, dass diese Items zum einfachen ueben benutzt wurden, warum
hast du es nicht selber abgestellt?

OrkT.

-----------------------------------------------------------------------------



Re^4: Kuriere geaendert? (Nonne,  4. Jan 2005, 09:42:17):
~#! rn=Orktoeter rt=1104776298 rg=gilden.klerus
~#! tid=1104448774
Weil das einfache Ueben nicht ein Problem der Objekte, sonders der Anrufung
ist. Es gibt immer Moeglichkeiten, wie man diese Anrufung einfach ueben kann,
egal wie lang ich die Liste der Objekte mache, die ich abfangen moechte. Es
lohnt die Muehe nicht. Ich habe die Zeile auskommentiert, wo der Schaden
gemacht wird und die Meldung angepasst. Wenn jemand ein Problem damit hat,
kann er mir gerne einen Patch schicken :-)

Nonne.

-----------------------------------------------------------------------------



Re^5: Kuriere geaendert? (Anatol,  4. Jan 2005, 20:36:17):
~#! rn=Nonne rt=1104828137 rg=gilden.klerus
~#! tid=1104448774
Dein letzter Artikel liest sich in etwa so:
"Tut mir leid, das Problem ist nicht supereinfach. Ich loese es nicht."

Nichts fuer ungut, Nonne, aber das kannst Du besser.


-----------------------------------------------------------------------------



Re^6: Kuriere geaendert? (Gloinson,  4. Jan 2005, 21:15:56):
~#! rn=Anatol rt=1104867377 rg=gilden.klerus
~#! tid=1104448774
Das Problem war die 'Loesung' fuer die nicht einmal diskutierte Frage "kann
man 'kuriere' zu leicht lernen". Alles andere aussen vor.

Und jetzt kannst du ja gern ausfuerhlich darlegen, wieso das nicht haette
ersatzlos gestrichen werden sollen, sprich warum Nonnes "lohnt den Aufwand
nicht" eine Kapitulation vor einer irgendgearteten Komplexitaet ist.


-----------------------------------------------------------------------------



Re^6: Kuriere geaendert? (Nonne,  5. Jan 2005, 08:57:40):
~#! rn=Anatol rt=1104867377 rg=gilden.klerus
~#! tid=1104448774
Einen klitzekleinen Moment dachte ich ja dieses 'das kannst du besser' sein
ein Friedensangebot, wo du mir ja sonst nur Inkompetenz unterstellst. Dann ist
mir aber klar geworden, dass du dich nur vor dem Patch druecken willst.
Geschickt, das muss man dir lassen. Aber zum Thema: Es sollte einen Riegel vor
das einfache Ueben von kuriere schieben, was die Loesung nicht tat. Ich sehe
auch keinen Bedarf, das zu erschweren, weil es keine Anrufung ist, die das MG
in den Grundfesten erschuettert und die grossen Huerden auf dem Weg, ein
faehiger Kleriker zu werden, sicherlich woanders liegen.

Nonne.

-----------------------------------------------------------------------------



artikel idee (Trick,  2. Feb 2006, 23:22:56):
wie waers denn, wenn man nen neuen heiligenschein schon casten kann,
sobald der aktuelle mit flackern anfaengt, und nicht erst nachdem
dieser verglimmt?

-----------------------------------------------------------------------------



Re: artikel idee (Knurps,  3. Feb 2006, 02:38:18):
~#! rn=Trick rt=1138918976 rg=gilden.klerus
~#! tid=1138918976
Dafuer, wider die HS-Triggerei, fuer "normale" Spieler (gibt die noch?)!

-----------------------------------------------------------------------------



Re: Re: artikel idee (Gloin,  3. Feb 2006, 02:56:01):
~#! rn=Knurps rt=1138930698 rg=gilden.klerus
~#! tid=1138918976
Dagegen. Ich hab noch nie einen HS-Trigger benoetigt (2 Sekunden mit
Vorwarnung reichen lange) und bin seit Jahren zu faul mir die jeweiligen
Anrufungen mal in die Statuszeile zu packen.

Dagegen weil der Klerus keine supermetzelmonsterkompatible Gilde ist. Weil
eine Anrufung nicht im Dauermodus/Standard laufen muss damit wir gluecklich
sind (~ weil ich nicht finde, dass man die Anrufung Heiligenschein zu einer
Paladinaura hinabdegradieren sollte). Vielleicht auch dagegen weil ich ein
alter Sack bin und wir es frueher nicht so einfach hatten (sondern mit
diversen Bugs noch viel einfacher ...).

PS: Jaja, ich fliehe auch noch per Hand, wie Teammitspieler von mir wissen.
Staendige Nutzung der Fluchtrichtung ist was fuer Heiligenscheindaueranknipser
und Elementarsphaerenjunkies. Wo bleibt der Reiz, wenn ich alles im Dauermodus
betreiben kann? Kandri hilf, hilf mir ja dauernd, ich bin nicht faehig auf
mich aufzupassen?


-----------------------------------------------------------------------------



Re^3: artikel idee (Vector,  3. Feb 2006, 19:19:44):
~#! rn=Gloin rt=1138931761 rg=gilden.klerus
~#! tid=1138918976
>Vielleicht auch dagegen weil ich ein
>alter Sack bin und wir es frueher nicht so einfach hatten (sondern mit
>diversen Bugs noch viel einfacher ...).

ah nun ist auch klar warum du immer stundenlang als frosch beim
feuerriesen in der ssp stehst. bissl kampstock lernen oder was?
man sollte bei ALLEN gilden ALLES lernen auf null setzen, sobald
man frosch ist. dann waeren auch die probleme mit karate-froeschen
und frosch-waffenidel-kaempfer beim koch endlich ein ding der vergangenheit.

-----------------------------------------------------------------------------



Re^3: artikel idee (Bran,  3. Feb 2006, 19:26:04):
~#! rn=Gloin rt=1138931761 rg=gilden.klerus
~#! tid=1138918976
Es wuerde dir ja weiterhin freistehen, auf das Dauercasten zu verzichten,
genauso wie auf die Auto-Flucht. Im uebrigen laesst sich der HS auch jetzt
problemlos triggern. Ich nehme daher an, bei Tricks Vorschlag geht es gar
nicht ums Scripten, sondern darum, dass man den HS etwas individueller neu
anwerfen kann. Z.B. bevor man sich in einen neuen Kampf stuerzt, eben schon
wenn er flackert und nicht erst, wenn er aus ist. Ich wuesste auch nicht, was
dagegen sprechen sollte, da es ja keine unterschiedlichen Stufen des Gelingens
gibt wie zB. bei den Schutzzaubern der Zauberer, die es halt ausbaden muessen,
wenn sie dumm rumpatzen. 


-----------------------------------------------------------------------------



Re: artikel idee (Bran,  3. Feb 2006, 19:31:10):
~#! rn=Trick rt=1138918976 rg=gilden.klerus
~#! tid=1138918976
Ach so, ja. Dafuer. :)

-----------------------------------------------------------------------------



Re: Re: artikel idee (Moonshine,  3. Feb 2006, 19:42:06):
~#! rn=Bran rt=1138991470 rg=gilden.klerus
~#! tid=1138918976
Dagegen.

Also dagegen, dass Gloin weiterspielt. Er als alter Sack, der doch eher
sabbernd in seinem Schaukelstuhl sitzt, ihm sollte man dieses
Herzklopfen-steigernde Metzeln nicht mehr zumuten, dass ist echt nichts mehr.
Lasst ihn von alten Zeiten traeumen, als man noch Bugs suchen musste um
Spielen zu koennen, aber lasst ihn nicht Vergleiche zwischen Paladinen und
deren Auren sowie den Gottesanbetern des MGs aufstellen, das wird nichts ...

Und fuer eine Aenderung des HS wie Trick sie vorgeschlagen hat voellig dafuer.
Gerade dann sind keine Trigger mehr noetig, um den HS trotz aktivem
Spellcasten im Kampf aufrecht zu erhalten.
Dann kann ich naemlich von Hand individuell meinen HS anwerfen (Auch bevor er
aus ist) und muss mich dann nicht mehr auf Trigger verlassen.

PS: Wobei ich da wohl jede Hoffnung auf eine Aenderung an Spells der Klerikers
aufgegeben habe, das wird wohl nichts mehr ...

Moonshine - nicht alles fuer voll nehmen, auch wenn die Grundzuege stimmen.

-----------------------------------------------------------------------------



Re^4: artikel idee (Gloinson,  4. Feb 2006, 05:08:16):
~#! rn=Bran rt=1138991164 rg=gilden.klerus
~#! tid=1138918976
Ja Jungs und Maedchen gebt doch einfach zu, dass eure Triggerscripte leider
nicht der Zwangsspellpause abhelfen koennen und dann immer ins Leere laufen
wenn der Heiligenschein direkt nach der Anrufung einer neuen Schutzhand
abklingt. Dann muesst ihr doch nicht so hanebuechene "ich muss aber
dauermetzeln"-Argumente ins Feld fuehren, um diese Aenderung argumentativ zu
unterstuetzen.


-----------------------------------------------------------------------------



Re^3: artikel idee (Gloinson,  4. Feb 2006, 05:15:07):
~#! rn=Moonshine rt=1138992126 rg=gilden.klerus
~#! tid=1138918976
1. Gloin ist weiblich. Sorry.
2. Du bist halt zu langsam, wenn du nicht selbst bei Abklingen anrufen kannst.
   Pech.
3. Es steht dir frei den Gildenmagierposten anzustreben und die Aenderungen
   beim jeweiligen EM Gildenbalance zu beantragen.
   Maximal 6 Monate fuer so einen engagierten Mitspieler ...


-----------------------------------------------------------------------------



Re^5: artikel idee (Bran,  4. Feb 2006, 10:00:25):
~#! rn=Gloinson rt=1139026096 rg=gilden.klerus
~#! tid=1138918976
Bisher war dein Argument: Eine Aenderung wie von Trick vorgeschlagen
unterstuetze das Scripten. Unseres: Im Gegenteil, es wuerde eher das
individuelle von-Hand-Casten beguenstigen. 

Jetzt kommt : Jahaa, euer Script rettet euch aber nicht vor Spellpausen. Keine
Ahnung, was das mit Tricks Vorschlag zu tun hat. Es geht nicht drum, wie
entsetzlich muehselig es ist, nochmal 'hs' zu tippen, wenn das Script in eine
Spellpause laeuft. Sondern dass Scriptbesessene und
Frueher-war-alles-besser-Puristen gleichermassen das Ding einfach ein bisschen
flexibler anwerfen koennten. Du musst ja nicht dafuer sein, aber bleib doch
bei der Sache.

Bran, beruechtigte Dauermetzlerin


-----------------------------------------------------------------------------



Re^5: artikel idee (Vector,  4. Feb 2006, 10:03:11):
~#! rn=Gloinson rt=1139026096 rg=gilden.klerus
~#! tid=1138918976
Also wenn du zu Schutzhand noch Heiligenschein brauchst hast du
DEFINITIV die falsche Ausruestung. Oftmals merk ich gar nicht, dass
der Heiligenschein weg ist, oder wenn Trick nen Wasserpanzer beim
Feuerdaemon an hat, ich finde dieses Schaumschlaegern gegen alle 
die sich jetzt dafuer aussprechen auch auesserst unangebracht.

Bei vielen Gilden gibt es bei diese Vorwarnzeit, bei einigen
wenigen nicht. Bei fast allen diesen Gilden kann man sich entscheiden
ob man in der Uebergangszeit schon neu casten will oder eben nicht.

Trigger zu schreiben fuer sowas ist mehr als dumm. Warum? Man hat
seine KP nicht unter Kontrolle; beispiel Zauberer: Wenn beim
Eistitan meine Huelle langsam runtergeht dann bin ich froh ueber
die Entscheidungsfreiheit; machmal wird eben neu gecastet und
manchmal nehm ich die KP die ne Huelle kostet fuer 2mal Feuerball,
eben wenn der Titan schon weit unten ist.
Das du auch frueher schon ohne alles augekommen bist, ist schoen
fuer dich. Und am rande bemerkt: Auch Vector wurde noch mit
reinstem telnet ohne irgendwelchen Schnickschnack Seher.

-----------------------------------------------------------------------------



Re^6: artikel idee (Orktoeter,  4. Feb 2006, 10:44:37):
~#! rn=Vector rt=1139043791 rg=gilden.klerus
~#! tid=1138918976
Zitat:
"Also wenn du zu Schutzhand noch Heiligenschein brauchst hast du
DEFINITIV die falsche Ausruestung. Oftmals merk ich gar nicht, dass
der Heiligenschein weg ist, oder wenn Trick nen Wasserpanzer beim
Feuerdaemon an hat,..."

*pruuust* War das gerade der "Hey! Gildenbalance-EM, wir wollen abgewertet
werden"-Aufruf?
Oder kommt jetzt der "Der Heiligenschein ist ja viel zu schwach"-Jammerer
(wenn es nicht mal auffaellt, wenn er ausgeht, muss er ja zu schwach sein,
oder?).

OrkT, lachend.

-----------------------------------------------------------------------------



Re^7: artikel idee (Orktoeter,  4. Feb 2006, 10:47:25):
~#! rn=Orktoeter rt=1139046277 rg=gilden.klerus
~#! tid=1138918976
Sorry fuer das Selbstreply, aber mir faellt da gerade nur so spontan die
Geschichte der Zauberer ein, die ein Jahr lang mit einem (durch bug)
uebermaessig starken Schutz herumgelaufen sind und diesen Megapanzer auch noch
fuer voellig normal hielten...

OrkT.

-----------------------------------------------------------------------------



Re^6: artikel idee (Gloinson,  4. Feb 2006, 11:04:48):
~#! rn=Bran rt=1139043625 rg=gilden.klerus
~#! tid=1138918976
> Bisher war dein Argument: Eine Aenderung wie von Trick
> vorgeschlagen unterstuetze das Scripten.

Mitnichten. Ich finde die Aenderung nicht notwendig, weil ich nicht meine,
dass der Klerus eine Anrufung im Dauermodus als Aura laufen haben muss.
War das so schwer zu verstehen, dass ich in Satz 1 einfach nur auf Knurps
(froehliche) Allgemeinunterstellung eines HS-Triggers bei Kleris eingegangen
bin?


-----------------------------------------------------------------------------



Re^6: artikel idee (Gloinson,  4. Feb 2006, 11:09:48):
~#! rn=Vector rt=1139043791 rg=gilden.klerus
~#! tid=1138918976
> Bei vielen Gilden gibt es bei diese Vorwarnzeit, bei einigen
> wenigen nicht. Bei fast allen diesen Gilden kann man sich entscheiden
> ob man in der Uebergangszeit schon neu casten will oder eben nicht.

Im Klerus gibt es die zweite Moeglichkeit nicht. Ich find das gut so, du
nicht. Tja, damit koennten wir hier dann ja abbrechen.

> Schutzhand + Heiligenschein

Sorry, ich bin ja auch eine Wurst. Ich schalte tatsaechlich den Heiligenschein
aus Gewohnheit eher an, weil gefuehlt auch wesentlich laenger haelt. Dieses
Argument hat mich jetzt wirklich ueberzeugt, die Aenderung ist hervorragend.


-----------------------------------------------------------------------------



Re^8: artikel idee (Vector,  4. Feb 2006, 11:09:52):
~#! rn=Orktoeter rt=1139046445 rg=gilden.klerus
~#! tid=1138918976
Korrekt. Bei den Zauberern gab es ebenfalls die Situation, dass ein Wert
falsch gesetzt war und (vermutlich) eine Null zu viel hatte. Wann war das?
Anno 97? Noch frueher? Denke mal die Leute die das noch aus eigenen 
Erfahrungen erzaehlen koennen kann man mittlerweile an drei Fingern abzaehlen.
Was genau ist nun deine Kritik? Ein Spieler kennt keine Zahlen, keinen
Quellcode und nimmt erstmal die Situation als gegeben und beabsichtigt an.

Dasselbe sieht man bei den Dunkelelfen, die ihren Ausfall und ueber mehrere
Runden 6mal Brei+ als normal ansehen; bei Tanjian-Einfuehrung war der Schutz
viel zu stark --- viel staerker als jemals gedacht. Nach der Korrektur des
Verteidigungswertes war der Kommentar von Nachtwicht (Damals EM-Balance)
"Willkommen im Reich der Sterblichen".
Oder auch der Fehler, dass der Clanspell "kiri" ueberhaupt nix gemacht hat.
Den Kiri-Leuten kam er zwar schwach vor, aber ok eben wieder: Weil sie keine
Zahlen oder Code kennen.
Also nochmal: Was genau ist jetzt deine Kritik? Oder gings nur mal wieder
darum ganz ohne Bezug 2 Cent in Topf zu werfen?

-----------------------------------------------------------------------------



Re^7: artikel idee (Bran,  4. Feb 2006, 11:15:08):
~#! rn=Gloinson rt=1139047488 rg=gilden.klerus
~#! tid=1138918976
Was genau habe ich dann falsch verstanden? 'Dauermodus/Standard' vs. 'von
Hand' klingt fuer mich immer noch nach 'Scripten'.

-----------------------------------------------------------------------------



Re^8: artikel idee (Gloinson,  4. Feb 2006, 11:19:07):
~#! rn=Bran rt=1139048108 rg=gilden.klerus
~#! tid=1138918976
Dann bist du vorbelastet. Sowas. Versuch den Satz zu lesen, ohne dir in jede
Zeile den Scriptingvorwurf hineinzudenken. Das "von Hand fliehen" erwaehne ich
auch nur, um damit anzugeben dass man keinen vollendeten Schutz durch Features
wie eine Daueraura oder eine Fluchtrichtung benoetigt. Irgendwas muss ich doch
gegen Vectors gute Ausruestung gegenzusetzen haben, und sei es mein Stolz ein
alter Sack zu sein ;)


-----------------------------------------------------------------------------



Re^8: artikel idee (Vector,  4. Feb 2006, 11:19:43):
~#! rn=Orktoeter rt=1139046445 rg=gilden.klerus
~#! tid=1138918976
Orktoeter ich sehe dir nach, dass du aufgrund deines nicht-mehr-spielens
nicht mehr auf dem aktuellsten Stand bist. Mal zur Erklaerung: Die
Ruestungsspirale hat sich mittlerweile derart gedreht dass man mit der
richtigen Ausruestung bei bestimmten Gegnern die Gegentreffer der NPC
auf NULL(!!) senken kann. Und ich rede hier von 0,0. Kein Zufallskratzen
null nix nada. Null. Wenn man gaggen wurde Der $npc verfehlt Dich. So
wuerde es aussehen als ob er nicht zurueckschlaegt.
Schutzhand ist ohne Zweifel sehr sehr stark und maechtig. Das wurde nicht
nur von den Ersties erkannt, die dann ihre X-ties zu Kandri geschickt haben,
sondern nach einiger Zeit auch von den Magiern die Schutzhand entsprechend
abgeaendert haben (und diese Aenderung war noetig und richtig).

Bei besagten NPCs hat man neben der aktuellen Ausruestung auch noch
das Elementarschild und dann noch Schutzhand-obendrauf. Und weniger
Schaden als Null geht halt nicht, und Null bleibt Null unabhaengig 
ob nun Heiligenschein aktiv ist oder nicht.
Das ist soooooo tragisch ja auch nicht, Kleriker haben eben ihre
Nische in der sie tonangebend sind, ausserhalb dieser Nische sehen
sie eben schlecht aus, oder sind nur mit sehr sehr viel Aufwand 
"brauchbar".

-----------------------------------------------------------------------------



Re^9: artikel idee (Bran,  4. Feb 2006, 11:37:17):
~#! rn=Gloinson rt=1139048347 rg=gilden.klerus
~#! tid=1138918976


Na gut, dann koennen wir ja jetzt sachlich werden :) 

> dass man keinen vollendeten Schutz durch Features wie eine Daueraura
> oder eine Fluchtrichtung benoetigt 

Da geb ich dir recht. Aber eben, darum geht es bei der Idee meiner Meinung
nach auch nicht. Zumal ja der Heiligenschein nicht schlecht gelingen kann wie
eine Zauberer-Aura oder ein Kokoro, wo man mit einer Art Strafpause oder eben
mit dem schlechterem Schutz leben muss. Es geht nicht um Perfektionierung des
ohnehin schon sehr starken Kleriker-Schutzes, sondern einfach um ein bisschen
mehr Flexibilitaet. Ick find det immer noch jut :)

-----------------------------------------------------------------------------



Re^10: artikel idee (Brotnael,  4. Feb 2006, 13:45:13):
~#! rn=Bran rt=1139049437 rg=gilden.klerus
~#! tid=1138918976
Hui, leben in der Klerus-Rubrik, da muss ich mich ja einfach zu Wort melden :)
Zum Vorschlag: Ich sehe da eigentlich keinen Aenderungsbedarf. Ich finde
ein Kleriker hat immer genuegend Zeit, seinen Heiligenschein rechtzeitig
anzuwerfen. Und wenn nicht, bekommt er mal fuer eine Runde lang mehr
Schaden ab. Dafuer kann sich der Kleriker ja auch heilen :)
Und zu Vector: Du solltest nicht ueber Gilden reden, von denen du keine
Ahnung hast, zumindest machen deine Argumente diesen Anschein.

Und warum die Diskussion zu diversen Scripten und Triggern uebergegangen
ist weiss ich nicht, dass hat mit dem Vorschlag in meinen Augen nix zu tun.

Broti, im Auftrage Kandris

-----------------------------------------------------------------------------



Re^11: artikel idee (Eljo,  4. Feb 2006, 13:49:39):
~#! rn=Brotnael rt=1139057113 rg=gilden.klerus
~#! tid=1138918976
Warum das ganze uebergegangen ist zum Triggern/Scripten, das musst Du Gloinson
fragen, nicht Vector.

-----------------------------------------------------------------------------



Re^11: artikel idee (Vector,  4. Feb 2006, 13:49:51):
~#! rn=Brotnael rt=1139057113 rg=gilden.klerus
~#! tid=1138918976
oh ich verstehe, einer der 325 mal verreckt ist hat natuerlich die 
staerken der klerikergilde alle rausgefunden, alles klar :)

-----------------------------------------------------------------------------



Re^12: artikel idee (Bran,  4. Feb 2006, 13:50:43):
~#! rn=Eljo rt=1139057379 rg=gilden.klerus
~#! tid=1138918976
Gloinson wurde doch nur missverstanden :)

-----------------------------------------------------------------------------



Re^13: artikel idee (Eljo,  4. Feb 2006, 13:52:03):
~#! rn=Bran rt=1139057443 rg=gilden.klerus
~#! tid=1138918976
Ich vergass. ;-)


-----------------------------------------------------------------------------



Re^14: artikel idee (Brotnael,  4. Feb 2006, 13:58:50):
~#! rn=Eljo rt=1139057523 rg=gilden.klerus
~#! tid=1138918976
Ok, zum nichtverstehen der Gilde: Es ging um das Missverstaendnis
Heiligenschein
und Schutzhand. Nicht nur das nicht jeder Kleriker eine Schutzhand besitzt,
wirken
Heiligenschein und Schutzhand voellig anders. Und wer beide, fuer einen
Kandri-
kleriker elementaren Schutzspells in einen Topf wirft, hat in meinen Augen
nicht
viel Ahnung bzgl. seiner Faehigkeiten, sorry. Das trifft ja auch nicht nur auf
Vector zu :)

Broti, auch im Auftrage Lembolds und Saphina

-----------------------------------------------------------------------------



Re^15: artikel idee (Vector,  4. Feb 2006, 14:00:12):
~#! rn=Brotnael rt=1139057930 rg=gilden.klerus
~#! tid=1138918976
in diesem fall wars in einen topf geworfen weil der "diskussionsgegner"
mit gloin hier einer ist, der eben genau diese beiden spells zur verfuegung
hat.

-----------------------------------------------------------------------------



Re^16: artikel idee (Brotnael,  4. Feb 2006, 14:01:06):
~#! rn=Vector rt=1139058012 rg=gilden.klerus
~#! tid=1138918976
Ach, Gloin hat auch keine Ahnung :o)))

-----------------------------------------------------------------------------



Re^9: artikel idee (Vector,  4. Feb 2006, 14:56:12):
~#! rn=Vector rt=1139047792 rg=gilden.klerus
~#! tid=1138918976
moechte mich fuer den vertippe "nachtwicht" anstelle von "nachtwind"
entschuldigen. war ein versehen und keine ahnung wie das zu stande
kam (vielleicht weils ein reply fuer orktoeter war?).
jedenfalls wollte ich nochmal sagen: nachwind war fuer mich der magier
der in "meinem" mg-horizont immer EM-gildenbalance war, und diesen
job sehr sehr gut und professionell gemacht hat. er ist noch heute eine
der personen unter den magiern vor denen ich am meisten respekt und
achtung habe.

-----------------------------------------------------------------------------



Re^17: artikel idee (Gloinson,  4. Feb 2006, 16:10:06):
~#! rn=Brotnael rt=1139058066 rg=gilden.klerus
~#! tid=1138918976
Genau. Gloin hat sich vor allem immer noch nicht daran gewoehnt, dass der
Erleuchtetenposten ein Dauerposten geworden ist und die Schutzhand damit
staendig zur Verfuegung steht.


-----------------------------------------------------------------------------



Re^18: artikel idee (Vector,  4. Feb 2006, 16:13:46):
~#! rn=Gloinson rt=1139065806 rg=gilden.klerus
~#! tid=1138918976
wenn es dich beruhigt dann caste doch nur von montag 
bis mittwoch eine schutzhand?:)
nach der schutzhandaenderungen hat eben die rotationsgeschwindigkeit
deutlich nachgelassen. schwindende spielerzahlen haben weiter dazu
beigetragen dass nun eigentlich jeder der will einen level 8 posten
quasi-dauerhaft haben kann. da gibts auch kein gemaule in der spieler-
schaft mehr, wenn ein magier2tie nen begrenzten posten innehat :)

-----------------------------------------------------------------------------



Re^19: artikel idee (Bran,  4. Feb 2006, 16:19:30):
~#! rn=Vector rt=1139066026 rg=gilden.klerus
~#! tid=1138918976
Ich denke, es liegt doch mehr an den schwindenden Spielerzahlen. Mein Kleri
bemerkt die Schutzhand auch mit Heiligenschein sehr wohl, wenn er beim
riesigen Saeuredaemon oder aehnlichem steht, und wuerde nicht gern ohne aus
dem Haus/Tempel gehen. Und bis vor ca. einem Jahr oder etwas mehr wurde bei
Kandri noch munter gewechselt. Die Aenderung ist doch deutlich aelter, oder?
Wie war es eigentlich frueher?

-----------------------------------------------------------------------------



Re^20: artikel idee (Vector,  4. Feb 2006, 16:21:21):
~#! rn=Bran rt=1139066370 rg=gilden.klerus
~#! tid=1138918976
frueher stand der brave 2tie im tempel und hat segen und schutzhand
auf den erstie verteilt der anschliessend mordend in die welt gezogen
ist. schutzhand war unabhaenig vom aktuellen standord des casters.
(und wenn ichs recht weiss dann hat segen frueher zusaetzlich noch
den body hochgesetzt?!)

-----------------------------------------------------------------------------



Re^21: artikel idee (Muadib,  4. Feb 2006, 16:26:03):
~#! rn=Vector rt=1139066481 rg=gilden.klerus
~#! tid=1138918976
und vergiss nicht die vielen saphina heiltrankbuechsenspender

-----------------------------------------------------------------------------



Re^22: artikel idee (Vector,  4. Feb 2006, 16:26:41):
~#! rn=Muadib rt=1139066763 rg=gilden.klerus
~#! tid=1138918976
stimmt. die waren auch aktiv. aber auch da gab es ja ne wirkungsvolle
und noetige aenderung :)

-----------------------------------------------------------------------------



Re^23: artikel idee (Darklor,  4. Feb 2006, 17:23:59):
~#! rn=Vector rt=1139066801 rg=gilden.klerus
~#! tid=1138918976
Und seid den Aenderungen stirbt die Gilde aus?

Darklor

-----------------------------------------------------------------------------



Re^24: artikel idee (Vector,  4. Feb 2006, 17:26:06):
~#! rn=Darklor rt=1139070239 rg=gilden.klerus
~#! tid=1138918976
www.seitseid.de

-----------------------------------------------------------------------------



Re^25: artikel idee (Morgoth,  6. Feb 2006, 11:22:17):
~#! rn=Vector rt=1139070366 rg=gilden.klerus
~#! tid=1138918976
So, ich melde mich einfach mal auf den letzten Artikel hier.
Das Feature ist von mir nur eingebaut worden, weil ich fuer Klerus-NPCs einen
Mechanismus haben wollte, der sie im Zustand "Dauer-Geruestet" sein laesst,
damit die 6-8 Sekunden zum Kampfbegin wegfallen (und damit der NPC ja eh schon
tot ist). Spieler buffen sich ja auch bevor sie in den Kampf springen, laufen,
kriechen whatever.
Also: Weil ich es fuer eine nette Idee hielt (damals...) hab ich die Meldungen
auch den Spielern zugaenglich gemacht z.b. fuer Statuszeilen.
Triggern ja/nein: Mir ist es wurscht ob ihr es euch von Hand macht oder
automatisch erledigen lasst. Jeder so wie er will. Wems nicht passt, werdet
doch Moenche und geht ins Kloster, da koennt ihr dann die kleinen Jungs...aeh,
anderes Thema.
Wenn ihr weiter "diskutieren" wollt, macht das bitte in /dev/null

M*

-----------------------------------------------------------------------------



Re^26: artikel idee (Nonne,  6. Feb 2006, 12:31:51):
~#! rn=Morgoth rt=1139221337 rg=gilden.klerus
~#! tid=1138918976
Wie geil, dass die ganzen Aenderungen, die ich damals eingebaut habe, nun
ploetzlich noetig und wichtig sind, wo ich vorher geflamed wurde, bis die Bude
qualmt. Aber die hier angesprochenen Aenderungen haben nichts mit dem
Gilden-EM zu tun, die sind groesstenteils auf meinem Mist gewachsen, als es
immer mehr Beschwerden gab, dass Zweities die Erleuchteten-Raenge belegen und
ich die Zweities einfach unattraktiver machen wollte. Die Kleriker selbst sind
ja nicht geschwaecht worden, sondern haben damals noch einen gruppendienlichen
Spell dazu bekommen.

-----------------------------------------------------------------------------



Re^27: artikel idee (Gast1, 13. Feb 2006, 12:02:45):
~#! rn=Nonne rt=1139225511 rg=gilden.klerus
~#! tid=1138918976
*g* 
endlich gibt es mal in dieser Rubrik was zu lesen .. da buegelt es doch nicht
gleich so nieder Nonne und M* :)

schoen wiedermal was gelesen zu haben .. und gegen vorzeitiges Casten :)

LG Sharia

-----------------------------------------------------------------------------



Du lallst etwas Undefinierbares vor Dich hin... (Sharia, 18. Apr 2006, 10:59:57):

Mir kam da grade eine Idee...


Grade wirkte ich ein Wunder und schon war ich sturzbesoffen. 
Daher dachte ich mir, bete ich in der Zeit die ich brauche um wieder nuechtern
zu werden einfach ein wenig. Natuerlich kam da nur ein undefinierbares lallen
heraus.

Wieso jedoch, kann ich mich nicht geisseln, damit sich der Alkohol etwas
abbaut (ich meine die Geissel im Haupttempel bei Mindra) denn auch wenn ich
vielleicht nicht anstaendig sprechen kann, da mein Kopf aufgrund des starken
Alkoholisierungszustandes etwas abgelenkt ist, so sollte es doch moeglich
sein, eine Geissel zu nehmen und sich selbst zu kasteien oder?


LG Sharia ... sturzbesoffen <Hick>! Oh, Tschulligungg.

-----------------------------------------------------------------------------



Re: Du lallst etwas Undefinierbares vor Dich hin... (Bran, 18. Apr 2006, 11:33:04):
~#! rn=Sharia rt=1145350797 rg=gilden.klerus
~#! tid=1145350797
Ist vielleicht eine Frage der Treffsicherheit... Aber wieso kann man
eigentlich nicht lallend beten? Lembold sollte dich schon verstehen koennen,
auch wenn du in Alkoholzungen redest :) Vielleicht musst du den Antrag an die
Zustaendigen nur in der richtigen Art stellen. So wie in der alten Story vom
Juden, der den Rabbi fragt, ob er beim Talmudlesen rauchen darf. Natuerlich
nicht, sagt der Rabbi empoert. Und Rebbe, darf ich denn aber beim Rauchen
Talmud lesen?

Bran, fuer Beten auch im Suff

-----------------------------------------------------------------------------



Re: Du lallst etwas Undefinierbares vor Dich hin... (Gloinson, 18. Apr 2006, 11:33:10):
~#! rn=Sharia rt=1145350797 rg=gilden.klerus
~#! tid=1145350797
Und dann geisselst du im Suff alle um dich herum und wirst von Kandri mit
daemonischer Gesinnung gestraft? ;)


-----------------------------------------------------------------------------



Re: Re: Du lallst etwas Undefinierbares vor Dich hin... (Sharia, 18. Apr 2006, 15:14:57):
~#! rn=Gloinson rt=1145352790 rg=gilden.klerus
~#! tid=1145350797
hmm sowas kann man ja einbauen, wenn im Raum noch jemand anderes steht ...
vielleicht aber auch alternativ, dass hoehere Gildenlevel vielleicht auch mehr
Alkohol vertragen (Messwein laesst gruessen)

-----------------------------------------------------------------------------



Re^3: Du lallst etwas Undefinierbares vor Dich hin... (Gloinson, 18. Apr 2006, 15:17:18):
~#! rn=Sharia rt=1145366097 rg=gilden.klerus
~#! tid=1145350797
Eigentlich sollten doch niedrigere Gildenlevel mehr vertragen, die hoeheren
sind groessere Vorbilder. Also: ab 40% Alkohol moegen die Goetter Hohepriester
nicht mehr, ab 60% Erleuchtete und ab 80% normale Priester :)


-----------------------------------------------------------------------------



Re^4: Du lallst etwas Undefinierbares vor Dich hin... (Sharia, 18. Apr 2006, 15:18:00):
~#! rn=Gloinson rt=1145366238 rg=gilden.klerus
~#! tid=1145350797
jetzt dreh mir nicht noch nen strick aus meinen eigenen Vorschlaegen !!! :)


-----------------------------------------------------------------------------



Re^5: Du lallst etwas Undefinierbares vor Dich hin... (Gloinson, 18. Apr 2006, 15:18:46):
~#! rn=Sharia rt=1145366280 rg=gilden.klerus
~#! tid=1145350797
Eigentlich find ich die Idee ja gaaaar nicht schlecht, niedrigen Leveln damit
etwas mehr Leine zu lassen ;)


-----------------------------------------------------------------------------



Re^3: Du lallst etwas Undefinierbares vor Dich hin... (Ark, 18. Apr 2006, 15:23:24):
~#! rn=Sharia rt=1145366097 rg=gilden.klerus
~#! tid=1145350797
Ihr habt ja schoene Vorbilder ... das geht doch am Klerus vorbei ... dafuer
sind Bierschuettler zustaendig :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Du lallst etwas Undefinierbares vor Dich hin... (Muadib, 18. Apr 2006, 16:52:19):
~#! rn=Sharia rt=1145350797 rg=gilden.klerus
~#! tid=1145350797
frag mal den armen tempeldiener, dem du fast die haut abgegeisselt hast
alte schnapsnase

-----------------------------------------------------------------------------



Re^4: Du lallst etwas Undefinierbares vor Dich hin... (Bambi, 18. Apr 2006, 18:07:19):
~#! rn=Ark rt=1145366604 rg=gilden.klerus
~#! tid=1145350797
Wenn die hoeheren uebungsbedingt mehr koennen, aber vorbildbedingt nicht mehr
duerfen, dann hat sich das Problem doch geloest, oder nicht?

-----------------------------------------------------------------------------



Re^5: Du lallst etwas Undefinierbares vor Dich hin... (Orktoeter, 18. Apr 2006, 18:38:53):
~#! rn=Bambi rt=1145376439 rg=gilden.klerus
~#! tid=1145350797
Reply auf den letzten Artikel.

Alkohol enthemmt... wer weiss, vielleicht geisselt sich da ja mal wer zu tode,
weil er nicht mitbekommt, dass es zu viel (des guten?) ist? 

OrkT, just my 0,2 Eurocent.

-----------------------------------------------------------------------------



Re^5: Du lallst etwas Undefinierbares vor Dich hin... (Kessa, 18. Apr 2006, 21:12:19):
~#! rn=Sharia rt=1145366280 rg=gilden.klerus
~#! tid=1145350797
Nein, Sharia, als Initiatorin des Vorschlags solltest du von allen Regeln
ausgenommen sein und den Ehrentitel der Schwester Kellermeisterin tragen.
Eine(r) muss sich ja opfern und pruefen, ob der Messwein nicht muffig schmeckt
und ggf gesegnete Restbestaende entsorgen.

-----------------------------------------------------------------------------



Re^6: Du lallst etwas Undefinierbares vor Dich hin... (Alkohol, 19. Apr 2006, 12:14:22):
~#! rn=Orktoeter rt=1145378333 rg=gilden.klerus
~#! tid=1145350797
ich enthemme?

Alki

-----------------------------------------------------------------------------



Zustaendigkeit (Sharia,  3. Jul 2006, 15:21:33):
Hallo zusammen....

ich wollte mal fragen wer denn mittlerweile zustaendig fuer die Klerusgilde
ist?

Im Mailalias stehen Nonne, Morgoth und Magdalena drin .. is das so korrekt?


Sharia - wieder etwas oefter da ...

-----------------------------------------------------------------------------



Re: Zustaendigkeit (Ark,  3. Jul 2006, 18:20:08):
~#! rn=Sharia rt=1151932893 rg=gilden.klerus
~#! tid=1151932893
Soweit ich weiss, ja. Praktisch ... hm, kommt aufs Anliegen an, zumindest bei
kwer ist da keine grosse Aktivitaet zu verzeichnen. Aber wenn nix kommt, hilft
Humni gern :-)
Aua, nicht hauen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Zustaendigkeit (Chagall,  3. Jul 2006, 18:22:31):
~#! rn=Ark rt=1151943608 rg=gilden.klerus
~#! tid=1151932893
Und wenn ihr Kleris Humni lang genug nervt, findet er sicherlich auch
einen aktiven Magier der sich ein wenig um euch kuemmert.

MC

-----------------------------------------------------------------------------



Re^3: Zustaendigkeit (Darklor,  4. Jul 2006, 02:11:11):
~#! rn=Chagall rt=1151943751 rg=gilden.klerus
~#! tid=1151932893
Gibts denn Probleme beim Klerus, dass du nach nem Magier fragst? 

Darklor

-----------------------------------------------------------------------------



Re^4: Zustaendigkeit (Gloinson,  4. Jul 2006, 08:27:07):
~#! rn=Darklor rt=1151971871 rg=gilden.klerus
~#! tid=1151932893
Fortschrittsfaehigkeitsglauben :)


-----------------------------------------------------------------------------



Re^5: Zustaendigkeit (Sharia,  6. Jul 2006, 17:19:01):
~#! rn=Gloinson rt=1151994427 rg=gilden.klerus
~#! tid=1151932893
*G* Gloin kennt mich lang genug :) 

bevor ich mir Gedanken mache ueber Veraenderungsmglichkeiten oder mir die
Muehe mache bestehende Ungereimtheiten und Unstimmigkeiten irgendwo
niederzuschreiben frage ich lieber ob ueberhaupt die Chance besteht dass da
auch was mit geschieht :)

Sharia

-----------------------------------------------------------------------------



Re^6: Zustaendigkeit (Gloinson,  6. Jul 2006, 23:29:14):
~#! rn=Sharia rt=1152199141 rg=gilden.klerus
~#! tid=1151932893
Du bist in der seltenen Lage ein Projekt zu aendern um ein Projekt
voranzubringen. Aehhh. Doch. Stimmt so :)

"finger nairolf" ;)


-----------------------------------------------------------------------------



Re^6: Zustaendigkeit (Darklor,  6. Jul 2006, 23:46:58):
~#! rn=Sharia rt=1152199141 rg=gilden.klerus
~#! tid=1151932893
Schreibs doch trotzdem nieder und reichs ein - vielleicht findet sich ja ein
engagierter Magier. ;)

Darklor

-----------------------------------------------------------------------------



Re^7: Zustaendigkeit (Vector,  6. Jul 2006, 23:52:54):
~#! rn=Darklor rt=1152222418 rg=gilden.klerus
~#! tid=1151932893
vielleicht mal den allen regeln widersprechenden erstie-bonus
abschaffen? waer nach all den jahren mal an der zeit.....

-----------------------------------------------------------------------------



Re^8: Zustaendigkeit (Knurps,  7. Jul 2006, 18:53:59):
~#! rn=Vector rt=1152222774 rg=gilden.klerus
~#! tid=1151932893
Ach solange die Magier nicht mal hinbekommen zu entscheiden, ob das
Zweitieflag spielextern und damit ggf nur unerwuenscht relevant im Spiel
ist... 

-----------------------------------------------------------------------------



Re^7: Zustaendigkeit (Sharia,  7. Jul 2006, 23:37:20):
~#! rn=Gloinson rt=1152221354 rg=gilden.klerus
~#! tid=1151932893
wenn ich mich recht entsinne hat Boing damals Nairolf ein Mbanish verpasst :)
und das is gut so :)

-----------------------------------------------------------------------------



Re^9: Zustaendigkeit (Muadib,  8. Jul 2006, 11:04:21):
~#! rn=Knurps rt=1152291239 rg=gilden.klerus
~#! tid=1151932893
jaja
diese faulen, daemlichen und stinkenden magier
ich bin auch dafuer, sie komplett aus dem spiel zu nehmen

-----------------------------------------------------------------------------



Re^8: Zustaendigkeit (Zook,  8. Jul 2006, 12:20:59):
~#! rn=Sharia rt=1152308240 rg=gilden.klerus
~#! tid=1151932893
Das MBanish kann ich bestaetigen. :) 

Zook.

-----------------------------------------------------------------------------



Re^9: Zustaendigkeit (Boing, 10. Jul 2006, 08:51:01):
~#! rn=Zook rt=1152354059 rg=gilden.klerus
~#! tid=1151932893
Und es war bestimmt verdient ... ;)
  Boing

-----------------------------------------------------------------------------



Re^10: Zustaendigkeit (Sharia, 10. Jul 2006, 21:40:44):
~#! rn=Boing rt=1152514261 rg=gilden.klerus
~#! tid=1151932893
.... na da sag ich mal nix zu :) 

ok ok das wars wohl :) und auch gewuenscht :)

LG Sharia

-----------------------------------------------------------------------------



Re^11: Zustaendigkeit (Sharia, 10. Jul 2006, 22:08:38):
~#! rn=Sharia rt=1152560444 rg=gilden.klerus
~#! tid=1151932893

davon mal ganz abgesehen ....

beim Identifizieren von Keulen bekommt man ne Meldung, dass es sich um eine
den Goettern wohlgefaellige Waffe handelt- ebenso beim zuecken solcher Waffen
...

Bei Kampfstaeben, wo Kleriker ja auch einen SKill drauf haben, kommt leider
eine solche Meldung nicht ... 

sollte man mal eintragen :)

Sharia

-----------------------------------------------------------------------------



Re^3: Zustaendigkeit (Morgoth, 11. Jul 2006, 09:10:31):
~#! rn=Chagall rt=1151943751 rg=gilden.klerus
~#! tid=1151932893
Ich habe vor Ewigkeiten schonmal jemanden gefragt, ob er nicht die Kleris
uebernehmen will. Als Antwort kam dann Sinngemaess sowas wie: Arbeit in eine
Leiche stecken?
Wenn sich ein faehiger und williger Magier findet, haben glaub ich weder Nonne
noch ich was dagegen, wenn die mal wieder aufgepeppt wird. Aber dieser Magier
sollte sich die Gilde, das Spellbook und vor allem den Prayermaster VORHER
anschauen und verstehen! 

M*

-----------------------------------------------------------------------------



Idee zur Elementarsphaere (Sharia, 16. Aug 2006, 08:42:47):
Huhu

Waere es nicht schoen, wenn ein Kleriker eine Elementarsphaere um sich herum
hat, dass andere Gilden dies mit einem "schaetz" oder aehnlichem feststellen
koennten ?

Ich habe mal mit Kaempfer, Zaubi und Chaot getestet und die sehen alle nicht,
dass ich z.b. bei einer elementarsphaere eis auch noch zusaetzlichen
eisschaden mache... 


Sharia

-----------------------------------------------------------------------------



Re^12: Zustaendigkeit (Sharia, 16. Aug 2006, 08:47:31):
~#! rn=Sharia rt=1152562118 rg=gilden.klerus
~#! tid=1151932893
zu den Kampfstaeben hat auchnoch keiner was gesagt

HUUUUUUMNIIIIIIIIIIIIIIIIIIiiiiiiiiiiiiiiiiii



Sharia


*nerv*

-----------------------------------------------------------------------------



Re^7: Aenderungen: Teil III (Gloinson, 28. Aug 2006, 10:37:13):
~#! rn=Sharia rt=1156751643 rg=gilden.kaempfer
~#! tid=1156693428
Ich wuerde das Nichtausbildenlassen von Klerikern durch Trves zusaetzlich auf
die inhaltlichen Differenzen zurueckfuehren. Solange die Trves nicht gewillst
din fuer die von ihnen in rauen Mengen dahingemetzelten Wesen ein wenig
Abbitte zu leisten oder wenigstens mal in ihr Gewissen zu schauen, duerfte es
Klerikern schwerfallen sich ihnen zu einer Ausbildung (!) unterzuordnen.


-----------------------------------------------------------------------------



achja nochwas (Sharia, 28. Aug 2006, 15:43:37):
Wann lernt man eigentlich den Umgang mit Kampfstaeben? Soviel ich weiss
koennen kleine Spieler das noch nicht oder ? Wo steht da ein Hinweis drauf?
ist das irgendwo dokumentiert ? Sagt Arkshat das einem? ich hab da nix
gefunden

Sharia

-----------------------------------------------------------------------------



Re: achja nochwas (Gloinson, 28. Aug 2006, 16:09:06):
~#! rn=Sharia rt=1156772617 rg=gilden.klerus
~#! tid=1156772617
Arkshat sagt einem was zur Faehigkeit damit umzugehen.

Und ich finde nichts darueber, dass diese Faehigkeit erst spaeter aktiviert
wird. Wenn das mal so war ist es nicht mehr so, auch wenn ich mich daran nicht
erinnern kann :)


-----------------------------------------------------------------------------



Re: Re: achja nochwas (Gloinson, 28. Aug 2006, 16:21:29):
~#! rn=Gloinson rt=1156774146 rg=gilden.klerus
~#! tid=1156772617
Allerdings huellt sich Arkshat in Schweigen wenn man den Skill zwar
prinzipiell kann aber nicht ein bitzelchen an Erfahrung hat. Nicht irritieren
lassen.


-----------------------------------------------------------------------------



Re^3: achja nochwas (Sharia, 28. Aug 2006, 16:22:45):
~#! rn=Gloinson rt=1156774889 rg=gilden.klerus
~#! tid=1156772617
das heisst also: erstmal ueben mit nem stock, irgendwann sagt er was drueber ?

schade nur, dass die Dokumentation in der Klerusgilde so schlecht ist... 

vielleicht findet sich ja mal ein Magier der den Klerikern etwas unter die
Arme greift ?

Ideen sind sicher nen paar da :)

Sharia

-----------------------------------------------------------------------------



Re^4: achja nochwas (Gloinson, 28. Aug 2006, 16:26:03):
~#! rn=Sharia rt=1156774965 rg=gilden.klerus
~#! tid=1156772617
Ja, ueben und dann klappts auch bestens. Bisschen schraeg und die
Verantwortlichen haben auch eine Mail und koennen ja was dran drehen.


-----------------------------------------------------------------------------



Abbild (Sharia, 13. Sep 2006, 14:08:15):
Ist es eigentlich Absicht, dass wenn ein Spieler mein Abbild angreift ich dann
automatisch mitmache ? :) 

Sharia

-----------------------------------------------------------------------------



Re: Abbild (Sharia, 13. Sep 2006, 14:09:08):
~#! rn=Sharia rt=1158149295 rg=gilden.klerus
~#! tid=1158149295
klappt aber leider nicht immer :)

-----------------------------------------------------------------------------



Re: Re: Abbild (Muadib, 13. Sep 2006, 15:39:02):
~#! rn=Sharia rt=1158149348 rg=gilden.klerus
~#! tid=1158149295
ist er mit seinem abbild im team?

-----------------------------------------------------------------------------



Re^3: Abbild (Sharia, 13. Sep 2006, 15:42:39):
~#! rn=Muadib rt=1158154742 rg=gilden.klerus
~#! tid=1158149295
hmm ok daran kanns gelegen haben ... 
Sharia

-----------------------------------------------------------------------------



Neues Feature... (Humni, 17. Sep 2006, 16:07:05):
... wenn ihr alle einen neuen Talisman habt (was spaetestens nach dem
naechsten Reboot der Fall sein sollte, sonst sollte "Ende" auch gehen...) dann
seht ihr die Meldung, wie wohl ihr Euch fuehlt, auch fuer Kampfstaebe.

Humni

-----------------------------------------------------------------------------



Re: Neues Feature... (Orktoeter, 17. Sep 2006, 16:09:29):
~#! rn=Humni rt=1158502025 rg=gilden.klerus
~#! tid=1158502025
Bei den derzeitigen Uptimes lohnt "ende" wohl kaum. ;)

-----------------------------------------------------------------------------



Re: Re: Neues Feature... (Alkohol, 17. Sep 2006, 16:10:43):
~#! rn=Orktoeter rt=1158502169 rg=gilden.klerus
~#! tid=1158502025
bei der laenge der derzeitigen uptimes lohnen sich dumme kommentare noch
weniger

Alk

-----------------------------------------------------------------------------



Re^3: Neues Feature... (Sharia, 17. Sep 2006, 16:12:41):
~#! rn=Alkohol rt=1158502243 rg=gilden.klerus
~#! tid=1158502025
10000 Dank Humni :) 

Sharia

-----------------------------------------------------------------------------



WWW-Link (Gloinson, 24. Mai 2007, 12:21:22):
http://www.giantitp.com/comics/oots0456.html

So sehen Kleriker-Duelle aus! Spektakulaer!


-----------------------------------------------------------------------------



Re: WWW-Link (Firehawk, 24. Mai 2007, 23:30:19):
~#! rn=Gloinson rt=1180002082 rg=gilden.klerus
~#! tid=1180002082
Argh, weisst Du wie viele Stunden ich heute damit verbracht habe in den
Archiven dieses Webcomics zu stoebern? Meine Kunden muessen Dich mittlerweile
hassen. :)

Fire*

-----------------------------------------------------------------------------



Re: Re: WWW-Link (Highlander, 25. Mai 2007, 09:42:03):
~#! rn=Firehawk rt=1180042219 rg=gilden.klerus
~#! tid=1180002082
Tja, OOTS ist mittelmaessig genial. Aber troeste Dich, es beschraenkt
sich, wenn man mal da durch ist, auf drei Updates die Woche, normalerweise.

HrT

-----------------------------------------------------------------------------



Ein neuer Gildenmagier! (Humni, 23. Nov 2007, 13:34:33):
Hallo,

ich darf mit Freude verkuenden, dass Gloinson sich ab sofort um die
Klerusgilde kuemmert. Ich wuensche ihm viel Spass dabei!

Humni

-----------------------------------------------------------------------------



Re: Ein neuer Gildenmagier! (Gloinson, 23. Nov 2007, 14:00:17):
~#! rn=Humni rt=1195821273 rg=gilden.klerus
~#! tid=1195821273
Danke, Humni (und Co) und auch Dank an Morgoth fuer seine bisherige
Pflege der Gilde (und seine irren Ideen).

Die Idee, die Pflege des Klerus zu uebernehmen ist nicht ganz neu.
Vor allem kleine Haken und Ecken (die ich mit Humni diskutieren
muss) sind mir mit Gloin immer wieder aufgefallen. Ich hoffe auch
auf euch, die Anhaenger des Ordens, und eure Unterstuetzung mit
Wuenschen und Fehlermeldungen.

PS: Broti, rueck deine Featureliste raus ;)


-----------------------------------------------------------------------------



Re: Re: Ein neuer Gildenmagier! (Gloinson, 23. Nov 2007, 14:27:07):
~#! rn=Gloinson rt=1195822817 rg=gilden.klerus
~#! tid=1195821273
Sowas. Ich hab vergessen Wargon zu danken, der diese tolle Gilde ueberhaupt er
geschrieben hat. Dank also hier auch an den fast vergessenen Erschaffer!


-----------------------------------------------------------------------------



Re^3: Ein neuer Gildenmagier! (Brotnael, 24. Nov 2007, 19:55:38):
~#! rn=Gloinson rt=1195824427 rg=gilden.klerus
~#! tid=1195821273
Hallo Meister Gloinson!
Ein Stern am Himmel erblickend sehe ich wieder einen Schein auf die alten
Tempelanlagen.
Bei Kandri, Lembold und Saphina, der Weg des Durstens weicht einem neuen Weg
*blablabla*
Meine Featureliste wurde schon von Nonne bearbeitet, dem.. aehm.. der du auch
noch nicht
fuer ihr Engagement und Fleissarbeit gedankt hast! Beichte bei den Goettern!
Und viel
Glueck :o)

Broti, freudig ueber eine neue Fuehrung

-----------------------------------------------------------------------------



Re^4: Ein neuer Gildenmagier! (Gloinson, 24. Nov 2007, 21:31:51):
~#! rn=Brotnael rt=1195930538 rg=gilden.klerus
~#! tid=1195821273
Nonne ist doch noch aktiv. Jedenfalls offiziell.


-----------------------------------------------------------------------------



Re^5: Ein neuer Gildenmagier! (Sharia, 26. Nov 2007, 16:22:23):
~#! rn=Gloinson rt=1195936311 rg=gilden.klerus
~#! tid=1195821273
*JUBEL*

ich glaub ich spiel jetzt wieder mehr *G*

-----------------------------------------------------------------------------



Talisman (Gloinson,  5. Feb 2008, 09:28:28):
Hallo,
der Talisman und seine Gebetsfunktionen wurden von mir etwas durchgesehen.

Daher Vorsicht beim Gebet im Kampf. Das Feature, dass der Kampf vor dem Ende
eines inbruenstigen Gebetes doch wieder aufgenommen wurde ist nun (wieder)
deaktiviert.


-----------------------------------------------------------------------------



Re: Talisman (Gloinson,  9. Feb 2008, 17:49:27):
~#! rn=Gloinson rt=1202200108 rg=gilden.klerus
~#! tid=1202200108
Und (Dank an Bingobongo fuer den Hinweis) in Zukunft auch Vorsicht bei
Kaempfen, in denen ihr hin- und herteleportiert werden.

In der Vergangenheit konnte man sich trotz Gebet nach einer Teleportation
bewegen. Das ist mit einem neuen Talisman nicht mehr der Fall. Ich werde da
noch an der Gebetsdauer fuer solche Faelle etwas aendern, aber ihr seid ab
jetzt im Gebet so schutzlos wie urspruenglich beabsichtigt.


-----------------------------------------------------------------------------



Re: Re: Talisman (Gloinson, 10. Feb 2008, 01:02:12):
~#! rn=Gloinson rt=1202575767 rg=gilden.klerus
~#! tid=1202200108
Bewegungen des Spielers waehrend des Gebetes werden jetzt beruecksichtigt.
Jedoch sind Gebete in staendiger Bewegung schlecht fuer die Glaubensstaerke.

Natuerlich auch nur mit neuem Talisman.


-----------------------------------------------------------------------------



Re^3: Talisman (Sharia, 12. Feb 2008, 16:00:55):
~#! rn=Gloinson rt=1202601732 rg=gilden.klerus
~#! tid=1202200108
ok eine Frage zu "Bewegungen des Spielers waehrend des Gebetes":

Mir war gar nicht aufgefallen, dass es da moeglichkeiten gab sich zu bewegen.
aber was heisst "Bewegung" konkret? wenn ich aus versehen eine Himmelsrichtung
waehrend des Gebetes eingebe, so wird das doch sicher keine Auswirkung haben,
oder? 

LG Sharia

-----------------------------------------------------------------------------



Re^4: Talisman (Vector, 12. Feb 2008, 16:02:20):
~#! rn=Sharia rt=1202828455 rg=gilden.klerus
~#! tid=1202200108
ich vermute einfach mal das "sich-nicht-bewegen-koennen" wurde 
im aktuellen raum verwurstelt. wenn dich jetzt ein boeser npc
waehrend deines gebietes zu sich transt, biste frei wie ein vogel
und kannst abhauen und zum tanken hupfen waehrend des gebets.

-----------------------------------------------------------------------------



Re^5: Talisman (Croft, 12. Feb 2008, 16:03:50):
~#! rn=Vector rt=1202828540 rg=gilden.klerus
~#! tid=1202200108
Geht wohl eher um die Gebete die man z.B. nach einem 'reise nach xxx' u.ae.
anfaengt, die dann von einer zeitverzoegerten Bewegung gestoert werden.

Croft

-----------------------------------------------------------------------------



Re^6: Talisman (Sharia, 12. Feb 2008, 16:14:37):
~#! rn=Croft rt=1202828630 rg=gilden.klerus
~#! tid=1202200108
hehe :) ja dachte ich mir, aber ich muss ja mal nen bissl Erbsenzaehlen und
endlich mal fuer etwas Bewegung in dieser Rubrik sorgen.

Aber dennoch bin ich interessiert was unser Gildenchef sagt dazu :)

-----------------------------------------------------------------------------



Re^7: Talisman (Gloinson, 12. Feb 2008, 16:54:52):
~#! rn=Sharia rt=1202829277 rg=gilden.klerus
~#! tid=1202200108
Beide haben recht.

Die bisherige Art und Weise Kommandos abzufangen (*1), damit man waehrend des
Gebets/einer Meditation/eines Runenschnitzens nichts eingeben kann hat eine
Luecke:
Wenn der Spieler danach mit neuen Objekten in Kontakt kommt, stehen ihm alle
Kommandos dieser Objekte zur Verfuegung.

Beispiel: im Gebet wird der Glaeubige auf ein Schiff bewegt oder von einem
boesen NPC geholt und bekommt dabei die Ausgangskommandos des neuen Raumes.
Oder ein anderer Spieler steckt dem Glaeubigen ein Objekt zu und dieser
bekommt dessen Kommandos. Und so weiter.
Zesstra hat vor circa einem halben Jahr eine effektive Methode (*2) fuer
das Abfangen von Kommandos eingebaut. Diese ist jetzt beruecksichtigt.

Da das aber bei boesen NPCs den Effekt hat, dass diese den Glaeubigen holen
und wahllos auf ihm herumklopfen koennten, sind Gebete jetzt nicht mehr ganz
so tief. Das hat den Nachteil, dass die Kulis, die einen Glaeubigen frueher
waehrend des Gebetes wie einen Sack Mehl zB auf Schiffe oder Flugdrachen
verladen haben jetzt stoerend wirken.

Technisch:
(*1): add_action("return1", "", 1)
      AddCmd("", function { return 1 }, 1)
(*2)  P_DISABLE_COMMANDS


-----------------------------------------------------------------------------



Talisman II (Gloinson, 14. Feb 2008, 13:04:46):
Einige Aenderungen am Gebet, rebootbedingt schon jetzt.

- einige positive Effekte in Notsituationen gibt es wieder
- aufopferungsvolles Beten verbessert den Charakter nicht
  mehr ganz so geschwind wie bisher
- die Glaubensstaerke schwindet ein kleines bisschen langsamer
- der Talisman leuchtet ein wenig laenger

Die Meldungen bei "erfasse" haben sich etwas geaendert. Noch immer
hat "erfasse" allerdings keine weiteren Konsequenzen.

Ab Reboot.


-----------------------------------------------------------------------------



Re: Talisman II (Gloinson, 16. Feb 2008, 04:05:12):
~#! rn=Gloinson rt=1202990686 rg=gilden.klerus
~#! tid=1202990686
Ich musste gestern die Talismane nochmal neuladen. Dabei wurden einige
Talismane von Netztoten angeschubst und sind seitdem dunkler geworden.

Das ist jetzt (und in Zukunft) behoben. Danke an Joana fuer den Hinweis.


-----------------------------------------------------------------------------



Re: Re: Talisman II (Gloinson,  9. Mar 2008, 22:02:52):
~#! rn=Gloinson rt=1203131112 rg=gilden.klerus
~#! tid=1202990686
Die Talismane setzen beim Beten den Titel auf den Gildentitel zurueck. Mit
neuen Talismanen geschieht das nicht mehr.

Dank an Banane.


-----------------------------------------------------------------------------



Schutzhand (Gloinson, 25. Mar 2008, 21:26:22):
Erleuchtete koennen jetzt auch eine Schutzhand auf alle im Raum sprechen.
Weiterhin steht auch "schutzhand team" zur Verfuegung, um die
schmarotzenden Idler vom Spell auszuschliessen.

Allerdings ist die Schutzhand dafuer nun offensichtlicher als zuvor.


-----------------------------------------------------------------------------



Aenderungen und Fehler :) (Gloinson,  3. Jun 2008, 11:44:46):
Huhu,
ich hab das Spellbook erstmal ein wenig aufgefrischt. Zwar ist alles getestet,
aber da man nie wissen kann haltet einfach mal die Augen auf (*1).

"befriede" ist bis zu einer Entscheidung der EMs etwas abgewertet (durch den
neuen Lib-Mechanismus ... angewandt, wo schon verfuegbar). Ihr werdet es ggf.
merken.

(*1): Unter anderem treibt sich ein Bug im Driver herum, der fuer Aerger
sorgen kann, auf den ich aber lokal bei mir nicht im Driver habe.


-----------------------------------------------------------------------------



Re: Aenderungen und Fehler :) (Gloinson,  3. Jun 2008, 14:38:45):
~#! rn=Gloinson rt=1212486286 rg=gilden.klerus
~#! tid=1212486286
Korrektur Kommentar:
... der fuer Aerger sorgen kann, _den_ ich aber lokal bei mir nicht ...

PS: Ein Reboot wuerde auch in MG einen Fix ermoeglichen :)


-----------------------------------------------------------------------------



Re: Aenderungen und Fehler :) (Vector,  3. Jun 2008, 14:43:28):
~#! rn=Gloinson rt=1212486286 rg=gilden.klerus
~#! tid=1212486286
Schade schade, das es mit befriede nun einem der Hauptspells
der Kleriker an den Kragen geht. An einigen Stellen mag man
damit sicher feinen Schabernack gemacht haben, aber deswegen
direkt den Spell an sich aendern?
(Beim Zaubi-Befriede is mir das am Rande bemerkt wurst, das
wird eh nicht genutzt bzw maximal 2mal pro NPC).
Waers nicht einfacher gewesen, das ueber ein neues Flag zu
regeln, so dass die Magier die keine Befriede-Kleris haben
wollen, selbiges eben setzen?
Ich meine, bisher gabs ja schon friedliche NPC, autoattacker,
befriedbare NPC und welche die man eben nichtmehr befrieden
konnte. Sollte doch reichen?
Mehr Vielfalt gut und schoen, aber warum auf Kosten der
Betbrueder?

-----------------------------------------------------------------------------



Re: Re: Aenderungen und Fehler :) (Gloinson,  3. Jun 2008, 14:54:37):
~#! rn=Vector rt=1212497008 rg=gilden.klerus
~#! tid=1212486286
Ich habe erstmal testweise nur umgesetzt was EM-seitig gewuenscht wurde.

Die Frage, warum Befrieden jetzt zentral in der Lib geloest wird,
gehoert nicht in den Klerus. Ob es so gut ist, wie es jetzt geloest
ist, das kann und sollte man diskutieren. Durch das jetzige Kleriker-
Spellbook kann man es ja auch vorerst mal ausprobieren

Diverse Fragen und Anregungen sind meinerseits auch schon
zurueckgeflossen.



-----------------------------------------------------------------------------



Re^3: Aenderungen und Fehler :) (Leyla,  3. Jun 2008, 15:17:45):
~#! rn=Gloinson rt=1212497677 rg=gilden.klerus
~#! tid=1212486286
Vielleicht waere eine Aufklaerung, was genau diese Aenderung bewirkt ganz gut,
ansonsten kann man da auch schlecht drueber diskutieren.

Wenn es um das mehrmalige Befrieden eines NPCs geht, so bin auch ich der
Meinung, dass es eine extreme Abwertung der Kleriker bedeutet, die zur Folge
hat, dass sie sich noch mehr in die Katas zurueckziehen koennen ...

-----------------------------------------------------------------------------



Re^3: Aenderungen und Fehler :) (Gloinson,  4. Jun 2008, 00:20:13):
~#! rn=Gloinson rt=1212497677 rg=gilden.klerus
~#! tid=1212486286
PS: Entwarnung bezueglich "befriede". Die neue Funktionalitaet ist bis zum
naechsten Reboot deaktiviert.

Die Bewertungs-Funktion (QueryPacify) existierte schon. Daher kann das
Spellbook nicht erkennen, ob ein NPC schon die neue Funktionalitaet nutzt oder
nicht.


-----------------------------------------------------------------------------



Verlernen (Gloinson,  6. Jun 2008, 10:42:45):
Bei niedriger Glaubensstaerke hat man seit einigen Jahren Anrufungen zufaellig
wieder verlernt. Das heissen die Goetter nicht mehr gut, also ist es ab sofort
deaktiviert: selbst mit einem Schwarzen-Loch-Talisman verlernt ihr nichts
mehr.


-----------------------------------------------------------------------------



Aenderungen Erleuchtung/Hohepriester (Gloinson,  7. Aug 2008, 03:29:07):
Einige Veraenderungen in der Gilde:
- die Zweitie-Mali sind abgeschafft (wir haben dafuer keinen sinnvollen
  Grund gesehen)
- vom Hohepriester-Posten tritt man nun auf das Erleuchteten-Level
  zurueck (und damit kann es temporaer 6 Erleuchtete geben)
- ein neuer Hohepriester ist (wieder) fuer einige Stunden sicher
- die Wiederaufstiegsfristen haben sich etwas veraendert

Frohes Beten!


-----------------------------------------------------------------------------



Befrieden... (Zesstra, 12. Aug 2008, 19:35:54):
Huhu,

ihr habts vermutlich gemerkt, dass das Befriede bei euch bisher noch das alte
Befriede ist. Am WE ging euer Befriede gar nicht, weil der Spell noch nen
Fehler bzgl. des neuen Befriedeverhaltens enthielt. Ich hab das daher
voruebergehend wieder deaktiviert, bis Gloinson aus dem Urlaub zurueck ist und
sich drum kuemmert.

Zesstra

-----------------------------------------------------------------------------



Re: Befrieden... (Gloinson, 17. Aug 2008, 20:01:53):
~#! rn=Zesstra rt=1218562554 rg=gilden.klerus
~#! tid=1218562554
Fixed. Fehler wieder an mich :)

Dank auch an Zesstra fuer das Beheben eines anderen Fehlers im Aufstieg.


-----------------------------------------------------------------------------



Re^4: Idee Kaempferfaehigkeit (Gloinson,  5. Sep 2008, 23:55:17):
~#! rn=Ark rt=1220651513 rg=gilden.kaempfer
~#! tid=1220646566
Ich greif das gern fuer den Klerus auf. Mehr Heiligkeit fuer alle! :)


-----------------------------------------------------------------------------



Re^5: Idee Kaempferfaehigkeit (Ark,  6. Sep 2008, 00:03:21):
~#! rn=Gloinson rt=1220651717 rg=gilden.klerus
~#! tid=1220646566
Schuetzende Haende aus den hinteren Reihen ohne aktiven Kampf meinshalben ...
aber inspirierende Kleris fuer Chaoten und Delfen im Team? Kann ich mir nicht
vorstellen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Idee Kaempferfaehigkeit (Gloinson,  6. Sep 2008, 00:05:33):
~#! rn=Ark rt=1220652201 rg=gilden.klerus
~#! tid=1220646566
Die Goetter geben ihre Hoffnung nie auf, auch nicht fuer die vermeintlich
Boesen unter den Spielern. Insofern strecken sie ja auch gern Haende und
Heiltraenke her.


-----------------------------------------------------------------------------



Re^7: Idee Kaempferfaehigkeit (Darklor, 14. Sep 2008, 05:59:24):
~#! rn=Gloinson rt=1220652333 rg=gilden.klerus
~#! tid=1220646566
Waren dass nich die, die Chaoten als unzumutbar abgeschrieben haben?

Darklor

-----------------------------------------------------------------------------



Re^8: Idee Kaempferfaehigkeit (Gloinson, 14. Sep 2008, 20:37:16):
~#! rn=Darklor rt=1221364764 rg=gilden.klerus
~#! tid=1220646566
Nein. Und ich weiss auch wirklich nicht, wer dieses Maerchen von "Chaoten
koennen keine Kleriker werden" jemals in die Welt gesetzt hat.


-----------------------------------------------------------------------------



Re^9: Idee Kaempferfaehigkeit (Demonlord, 14. Sep 2008, 20:38:32):
~#! rn=Gloinson rt=1221417436 rg=gilden.klerus
~#! tid=1220646566
Die Tanjis selbstverstaendlich!! Die wollten davon ablenken, dass die beide
Ex-Mitglieder nicht aufnehmen.

-----------------------------------------------------------------------------



Re: Zweitspieler (Gloinson,  8. Jan 2009, 18:31:22):
~#! rn=Srabi rt=1231393006 rg=diskussion
~#! tid=1231393006
Dass der Klerus eine Zweiteigilde geworden ist, ist ja nichts Neues. Leider.
Bisher fehlt auch mir der zuendende Gedanke, wie man das umgehen kann.

Momentan sehe ich mehr Anwesenheitsspells als einzig sinnvolle Gegenmassnahme.
Aber ich lass mich dahingehend auch gern erleuchten ;)


-----------------------------------------------------------------------------



Re: Re: Zweitspieler (Karol,  8. Jan 2009, 18:43:28):
~#! rn=Gloinson rt=1231435882 rg=gilden.klerus
~#! tid=1231393006
Hi,

letztlich ist die Klerikergilde durch die ganzen Zweities fuer Ersties absolut
uninteressant geworden. Als Erstie muss man staendig mit Zweities (teils auch
nur Bots) um die Plaetze konkurieren. Ausser Brotnael habe ich schon lange
keinen Erstie mehr in der Gilde gesehen ...

Die einzige Moeglichkeit ist wirklich nur: Alle Anrufungen, die auf einen
anderen Spieler wirken, so zu programmieren, dass die nur funktionieren, wenn
der Gebende auch weiterhin im Raum ist. Sobald der den Raum verlaesst sollte
radikal alles sofort aufhoeren zu wirken. 

Karol

Ps.: Ich war gern als Erstie Kleriker, aber als Einziger war mir das zu bloed
...

-----------------------------------------------------------------------------



Re^3: Zweitspieler (Xutelius,  8. Jan 2009, 18:49:56):
~#! rn=Karol rt=1231436608 rg=gilden.klerus
~#! tid=1231393006
Huhu,
ich denke nicht, dass der Erstiemangel bei den Kleris an den vielen Zweities
in der Gilde liegt. Ich denke eher, das liegt an der Einseitigkeit der Gilde.
Kleriker sind in manchen Gebieten (z.B. Katas) unglaublich stark, ansonsten
aber halt weit unterm Durchschnitt. Von daher ist schon irgendwie normal, das
die meisten Spieler lieber Kaempfer, Zauberer oder Chaoten werden und sich die
Kleriker als Zweitiegilde zum Adamantschuhe holen, heilen und segnen holen.
Xut*

-----------------------------------------------------------------------------



Re^4: Zweitspieler (Croft,  8. Jan 2009, 18:52:22):
~#! rn=Xutelius rt=1231436996 rg=gilden.klerus
~#! tid=1231393006
Ich glaube auch nicht, dass die Zweities bei den Kleris heutzutage noch
ein Problem sind wie sie es frueher waren.  Wuerd mich schon sehr stark
wundern wenn du nicht als Erstie einen Erleuchteten oder Hohepriesterposten
bekommst.  Und wo liegt sonst das Problem?

Croft

-----------------------------------------------------------------------------



Re^4: Zweitspieler (Karol,  8. Jan 2009, 18:56:17):
~#! rn=Xutelius rt=1231436996 rg=gilden.klerus
~#! tid=1231393006
Hi,

ich kann nur von mir sagen, dass ich immer sehr gerne Erstiekleri war. Ich
muss aber auch Xutelius rechtgeben, durch die Einseitigkeit der Gilde lag man
bei anderen Sachen schon weit hinten. 

Waehrend sich aber die anderen Gilden weiterentwickelt haben (Raeume, Spells,
wasweissichauchimmer) blieben die Kleriker meist auf dem Stand von anno
dazumal ... Bis auf die Aenderung bei Mindra mit den Raeumen ist ja nicht
wirklich viel passiert ...

Karol

-----------------------------------------------------------------------------



Re^5: Zweitspieler (Karol,  8. Jan 2009, 18:58:28):
~#! rn=Croft rt=1231437142 rg=gilden.klerus
~#! tid=1231393006
Hi,

nein das Problem liegt nicht daran, dass ich nicht haette ein EL oder HP
Posten bekommen koennen. Ich hatte ja bis auf Lk alles auf 100%. Fuer mich lag
nicht das Problem darin, dass die Zweities die Posten besetzen, sondern darin
dass es ausser Zweities niemand mehr sonst gab ...

Karol

-----------------------------------------------------------------------------



Re^6: Zweitspieler (Croft,  8. Jan 2009, 19:07:01):
~#! rn=Karol rt=1231437508 rg=gilden.klerus
~#! tid=1231393006
Das liegt eher daran, dass Zweities die Gilde nicht wechseln, als das
Zweities durch ihre Existenz die Gilde fuer Ersties uninteressant machen.

Croft

-----------------------------------------------------------------------------



Re^7: Zweitspieler (Hermiod,  8. Jan 2009, 19:37:09):
~#! rn=Croft rt=1231438021 rg=gilden.klerus
~#! tid=1231393006
Die hilfeseiten, einfuehrung auf der webSite etc. klingen eher mehr nach
"Nutze Du, kleri, Deine meisten faehigkeiten im team, also in kombi mit
anderen Spielern (IPs), denen Du helfen moechtest!" als nach "Heile Deinen
erstie , sowie etwaige dritties, um Diese schneller hochzupushen!",
D.h. Ich fuehre den erstieklerischwund auf den allg. spielerschwund zurueck,
da ja kaum noch grosse teams gebildet werden koennen und man als kompletter
neuling daher keine Ahnung hat, was damit anzufangen ist.

-----------------------------------------------------------------------------



Re^4: Zweitspieler (Ark,  8. Jan 2009, 20:08:18):
~#! rn=Xutelius rt=1231436996 rg=gilden.klerus
~#! tid=1231393006
Jetzt bin ich sprachlos ... Adamantschuhe holen ... das geht fuer die anderen
Gilden nicht? Vielleicht geht das Klerikerhochziehen zu schnell, schneller als
die Schuhe? Hmmmm .... :)
,


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Zweitspieler (Ark,  8. Jan 2009, 20:09:40):
~#! rn=Karol rt=1231437377 rg=gilden.klerus
~#! tid=1231393006
Wenn eine Gilde einseitig ist, wird sie durch andere Spieler, nicht durch
andere eigene Charaktere interessanter. Nein? Hachja.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Zweitspieler (Vardion,  9. Jan 2009, 18:47:20):
~#! rn=Ark rt=1231441780 rg=gilden.klerus
~#! tid=1231393006
Wenn eine Gilde einseitig ist, koennen Spieler daran erstmal garnichts
aendern, sondern nur der Gildenmagier. Wie schon treffend bemerkt - die Gilde
ist nicht unattraktiv, weil sie viele Zweities hat, sondern hat viele
Zweities, wie sie unattraktiv ist.
Ich habe nie einen eigenen Klerus-Zweitie hochgespielt (selbst dafuer emnpfand
ich sie noch zu langweilis) sondern mir einfach diverse "fertige" geliehen.
Kaempfen mit dem Kleris war Kaempfen in Zeitlupe - guter Schutz, bescheidene
DPS. Im regulaeren Metzeln sind Kleriker einfach langsamer als andere Gilden,
weswegen die meisten wohl diese anderen Gilden bevorzugen werden.
Sie sind spezialisten, die sich toll in Morgoths Gebieten oder auch Drakonien
spielen lassen, aber im Rest der grossen weiten Welt waren Kaempfer, Zaubis
und auch Tanjian einfach staerker. Zumindest war das vor 4 Jahren so :)

Vardion

-----------------------------------------------------------------------------



Re^7: Zweitspieler (Ark,  9. Jan 2009, 19:22:03):
~#! rn=Vardion rt=1231523240 rg=gilden.klerus
~#! tid=1231393006
Definiere "attraktiv". Muss man als Klerus auch so gut wie alles selbst
koennen? Luecken machen eine Gilde attraktiv, nicht das Alleskoennen,
exzellenter Schutz, hervorragende Angriffe, fast alle Schadenstypen, etc. etc.
Das ist doch unattraktiv, wenn man alles kann. Dann kann ich ja wieder alles
alleine und brauche keine Mitspieler. Und was muss ein Kleriker denn noch
koennen, was dennoch zu einem richtigen Kleriker gehoert? Boesen Schaden
(Seitenhieb :-))?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Zweitspieler (Kessa,  9. Jan 2009, 21:07:53):
~#! rn=Ark rt=1231525323 rg=gilden.klerus
~#! tid=1231393006
Ark, spiel einfach mal einen Kleriker, und du verstehst, was Vardion meint ;)

-----------------------------------------------------------------------------



Re^9: Zweitspieler (Gloinson,  9. Jan 2009, 21:12:54):
~#! rn=Kessa rt=1231531673 rg=gilden.klerus
~#! tid=1231393006
Es laeuft darauf hinaus, dass "neuere" Gilden mehr BPS (*1) haben. Vielleicht
sollten wir das Heilungs- und Aggro-Konzept hier aendern. Wow-inspiriert ;)

(*1) Bumms per Spieler


-----------------------------------------------------------------------------



Re^10: Zweitspieler (Kessa,  9. Jan 2009, 21:26:59):
~#! rn=Gloinson rt=1231531974 rg=gilden.klerus
~#! tid=1231393006
Stimmt, die Kleri-BPS sind nicht so der Hammer ;) Aber das ist gar nicht mein
Punkt.  Sagt mir doch mal, was ein hiesiger Kleri gut kann ausser durch die
Katas zu fetzen. Er kann weder Schaden machen noch ordentlich heilen noch NPC
irgendwie kontrollieren (Aunahme: Frieden). Er spielt sich ueber die weitesten
Strecken einfach zaeh und langweilig. Er kann ein bisschen buffen und
regenerieren, und das sind Dinge, die auch im Standby-Modus gehen, weshalb
Kleris so oft als Bots mehr benutzt als gespielt werden.

Ich persoenlich waere gar nicht dafuer, dass Kleris mehr rumsen, sondern eher,
dass sie mal manierlich heilen lernen. Aber groessere Veraenderungen sind
wahrscheinlich sowieso total utopisch, nehme ich an. Falls ueberhaupt
erwuenscht :)

-----------------------------------------------------------------------------



Re^11: Zweitspieler (Kessa,  9. Jan 2009, 21:39:44):
~#! rn=Kessa rt=1231532819 rg=gilden.klerus
~#! tid=1231393006
Um das noch schnell hinterherzuschieben: Ich mag die Klerikergilde und meinen
Caedmon. Allerdings mehr wegen des Ambiente der Gilde und der schraegen
Kleinigkeiten als wegen der Spielbarkeit beim Hauen. Ich hab mit Caedmon immer
mehr Spass am angeblich so "verpoenten" Rollenspiel gehabt als an
irgendwelchen Metzelaktionen. Gut, ich bin auch nicht die Obermetzlerin. Aber
eben drum - wenn ich schon sage, dass eine Gilde beim Metzeln eher langweilig
ist, dann heisst das was, jaja.

-----------------------------------------------------------------------------



Re^9: Zweitspieler (Ark,  9. Jan 2009, 21:42:24):
~#! rn=Kessa rt=1231531673 rg=gilden.klerus
~#! tid=1231393006
Ich spiele eine Karateka und verstehe es nicht. Und die haben ja noch weniger
Oertlichkeiten, wo sie "rulen". Und ich bin auf andere bei vielen Kills
angewiesen. So? Ich kann halt nur 2 Schadensstufen tiefer, wo andere
vernichten. Und damals galten die Karateka noch als Sahnehaeubchen ... wie die
Zeit vergeht. Man toleriert halt mit zunehmender Allmaechtigkeit der eigenen
Gilde nur noch wenig andere, nur die Sahnehaeubchen werden abgeschoepft, das
ist schade. Und das wird dann als Selbstverwirklichung deklariert. Dann ist
der Aufschrei nachvollziehbar, wenn man die Sahnehaeubchen einschraenken will.
Aber der Kaffee schmeckt auch trotzdem noch, auch wenn er nu schal geredet
wird ... versprochen. Na, wer laesst mal probehalber seinen Ersti Kleriker
werden? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Zweitspieler (Kessa,  9. Jan 2009, 21:46:55):
~#! rn=Ark rt=1231533744 rg=gilden.klerus
~#! tid=1231393006
Ark, es geht mir nicht ums "rulen", sondern um Spass und Abwechslung beim
Spiel. Bei Karateka kann ich nicht mitreden, die kenne ich nicht. Aber ein
Zauberer z.B. kann zig verschiedene Sachen, von denen einige sogar richtig
nuetzlich sind und das an allen moeglichen verschiedenen Stellen. Damit meine
ich nicht nur den stupiden Daemitsch. Bierschuettler koennen lustige Sachen -
Bran war nicht umsonst bis ca. Lvl 40 in dieser "Anfaengergilde" - sie hat
keinen grandiosen Schaden gemacht, aber es hat Spass gemacht. Bei Kleris ist
das einfach nicht so. Leider, denn wie gesagt, von der Anlage her mag ich die
Gilde gern und Caedmon wird auch nicht wechseln.

-----------------------------------------------------------------------------



Re^11: Zweitspieler (Ark,  9. Jan 2009, 21:51:04):
~#! rn=Kessa rt=1231534015 rg=gilden.klerus
~#! tid=1231393006
Dann ist Karate sicher die unlustigste Gilde. Und ich trete trotzdem nicht
aus. Hat mit dem Selbstbild einer gewissen Elfin zu tun :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Zweitspieler (Kessa,  9. Jan 2009, 21:51:38):
~#! rn=Ark rt=1231534264 rg=gilden.klerus
~#! tid=1231393006
Tja, so geht es mir mit Caedmon auch :)

-----------------------------------------------------------------------------



Re^13: Zweitspieler (Ark,  9. Jan 2009, 21:53:20):
~#! rn=Kessa rt=1231534298 rg=gilden.klerus
~#! tid=1231393006
Ein Luxus, meine Liebe, den wir uns da goennen, fernab aller Listen und Musse
;)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Zweitspieler (Vanir,  9. Jan 2009, 21:53:34):
~#! rn=Ark rt=1231534264 rg=gilden.klerus
~#! tid=1231393006
Die Karateks sind spannender zu spielen. Glaubs mir.

V.

-----------------------------------------------------------------------------



Re^11: Zweitspieler (Zook, 12. Jan 2009, 09:09:05):
~#! rn=Kessa rt=1231532819 rg=gilden.klerus
~#! tid=1231393006
Ich glaube nicht, dass groessere Veraenderungen per se unerwuenscht
sind. Gildenmagier und Gildenbalance basteln da bestimmt etwas, wenn
sich gute Ideen und ihre Umsetzung herauskristallisieren.

Z

-----------------------------------------------------------------------------



Re^12: Zweitspieler (Moonshine, 12. Jan 2009, 11:48:15):
~#! rn=Zook rt=1231747745 rg=gilden.klerus
~#! tid=1231393006
Bevor ich jetzt auf diese Diskussion eingehe, moechte ich erstmal etwas
grundlegendes klaeren:
Was ist unter Zweities bei den Kleriker zu verstehen, also was soll bei den
Klerikern etwas eingedaemmt werden?
Ein Segen/kuriere-Bot der ansonsten seelenlos im Tempel steht oder doch schon
einen auf einen anderen Char markierten Spieler, der aber selber aktiv spielt,
Spass an der Gilde und einen eigenstaendigen Char darstellt, der nicht nur
dient.

Wenn ihr auch was gegen zweitere habt, nur weil eben eine Markierung
vorhanden, dann verabschiede ich mich hiermit aus der Diskussion, weil ich sie
fuer voellig Banane halte. 
Wenn damit auf das Problem der Bots abgezielt wird, so kann man dafuer gerne
nach einer Loesung suchen (Auch wenn nicht gerade leicht wird)

Eine Aenderung wie bei Schutzhand, die Anwesenheit voraussetzt, halte ich zwar
fuer keine schlechte Idee, aber man sollte sich auf keinen Fall der Illusion
hingeben, dass deswegen auch nur ein Kleriker mehr mitgenommen wird, der
vorher nicht eh schon dabei gewesen waere bei Metzelaktionen.
Diese Aenderung wuerde ihn meinen Augen aber eh nur beim Segen einen Sinn
machen, da das wohl der Hauptspruch dieser Bots ist.
Andererseits waere ein solcher Schritt ein zweischneidiges Schwert, die
Segens-Kleris waeren nach der Uptime da, wuerden die bekannten Gebiete
leermetzeln, bis die Ausruestung fuer alle Chars vorhanden waere, und danach
wuerden sie schlafen (auf einem Posten idR).

Um wirklich mehr Erstspieler in die Gilde zu holen bedarf es Aenderungen, die
genehmigungspflichtig sind wie zB von Kessa angesprochene Heil-Aenderung - was
aber aeusserst komplexe Folgerungen nach sich ziehen wuerde ->
Ruestungsspirale der NPCs wieder anwerfen, aujaaaa, lasst uns einfach ein
groesseres Team aufstellen, um die dann zu schaffen - ups, sind ja nicht
ausreichend Spieler mehr dafuer da ;-)
Das heisst, dass in meinen Augen Aenderungen, die aufs gesamte Team gehen
quasi wegfallen, da sie wohl eher mehr Zweities (Die zwar kaempfen, aber
letztendlich wieder nur einem Erstie dienen) hervorbringen wuerden.
Bleibt also die persoenliche Kampfkraft der Kleriker zu erhoehen, um der Gilde
neuen "Reiz" (Wer es denn braucht ...) zu verpassen.
Blitz+Donner die Staerke von verletze/Waffenschlag verpassen? 
Wuerde dafuer sorgen, dass Kleriker etwas abruecken wuerden vom
Zeitlupen-Metzeln, andererseits aber weiterhin diesen starken Schutz? Faende
ich zuviel.

Eine kleine! Anpassung bei blitz+donner nach oben an heutige Zeiten koennte
ich nachvollziehen, zusaetzlich einen Segen, der bei Abwesenheit relativ
schnell abklingt (zB 5 Runden) und sehr viel schwaecher ist (1/3) oder eben
wie bei den Zaubis innerhalb von 3 Runden abnimmt und dann eben wegen mir noch
2 Runden bei 1/3 verharrt, bis er ausgeht.
Dann aber bitte ab Erleuchtet bitte einen neuen Spruch "teamsegen" sonst tippt
man sich ja zu Tode, was dazu fuehrt, dass Segen selbst im Team nicht mehr
wirklich genutzt wird -> wieder kein Kleriker mehr gewonnen.

Was mir noch einfallen wuerde, waere ein mitlaufendes Abbild - aber a) das
bietet Lembold bereits und b) braucht es das auch nicht wirklich, da man eh
laenger an einem Ort steht, bis ein NPC faellt, waere nur bei Lauf-NPCs nett,
aber dafuer Lembolds Gabe klauen ist schlecht - dann doch lieber das Abbild
etwas staerker gestalten je nach Spruchstaerke (Wenn man es mit anderen
Gilden-BegleitNPCs vergleicht, sieht es ja nicht gerade prickelnd aus)


So, nun zu den bisherigen Aussagen ein paar Aeusserungen:
Also mir machte es gerade soviel Spass (Haeufig aber auch Muehe, keine Frage!)
eine solche Gilde mit sehr begrenzten Faehigkeiten ueberall zu spielen, EKs
erstmals alleine zu versuchen, haeufiger zu scheitern, andere Wege zu suchen,
nochmal zu versuchen, und im schlechtesten Fall dann eben Hilfe antraben zu
lassen.
Kostete Zeit&Muehe, ist nicht jedem sein Ding, okay, aber das wird bei den
Klerikern immer so sein schaetze ich, im heutigen MG hat man eben die Wahl
zwischen OBPS-Gilden (Ordentlichem Bumms pro Spieler) und eben solcher
"Randgilden" wie zB den Kleris.

Andere Gilden haben sich in meinen Augen eher in Nuancen weiterentwickelt,
dass die Kleris ueber Jahre hinweg abgehaengt wurden liegt eher an neu
hinzugekommenen Gilden als an Aenderung der bestehenden.

Und wer den Konkurrenzkampf bei den Klerikern fuerchtet, gerade in der
heutigen Zeit, naja, dem ist nicht zu helfen.
Ein L8-Posten ist bei geringstem Aufwand zu bekommen (Ja, man muss etwas
dafuer tun, aber im Vergleich zu anderen Gilden, um auf den 2t-hoechsten
Posten zu kommen, noch sehr sehr wenig) und wenn ein wahrer aktiver!
Erstspieler ankommt, und den HP-Posten haben will, so bin ich der Meinung, er
bekommt ihn auch (Und damit meine ich nicht nur fuer 1 Woche um Wunder zu
ueben, auch wenn das bedeutend schneller geht, sondern auch fuer laengere
Zeit).

Insofern kann ich Karols Meinung, dass hier kein Erstie ist, weil zu viele
Zweities da sind, fuer nicht allgemeingueltig (Gut, bei ihm mag das so gewesen
sein) aber das ist nicht der Grund bei den Kleris.

Naja, viel geschrieben, die Haelfte dessen schon wieder vergessen, es gruesst
Schwester Moonshine - die Xtie-Bot sein muss, da Brotnael wohl der einzige
aktive Zaubi^h^h^h^Trves^h^h^h^Aeh Kleriker ist. ;-)

-----------------------------------------------------------------------------



Re^13: Zweitspieler (Zesstra, 12. Jan 2009, 13:12:55):
~#! rn=Moonshine rt=1231757295 rg=gilden.klerus
~#! tid=1231393006
Also, was mich betrifft, ist in der Diskussion nicht gemeint, dass Chars mit
dem Zweitieflag unerwuenscht sind. Eigentlich ist das Flag voellig unabhaengig
davon. Der nominelle Erstspieler kann genauso inaktiv irgendwo rumhaengen und
botmaessig Segen verteilen wie ein Zweitspieler. Div. aktive Spieler haben nen
Zweitieflag und spielen mehr als viele Ersties (z.B. Miraka). In dem
Zusammenhang habe ich uebrigens eine Benachteiligung von Spielern mit
Zweitieflag per se noch nie gut gefunden.
Gemeint ist hier IMHO, dass ein Zustand unerwuenscht ist, wo eine Gilde wenig
bis gar keine aktiven Gildenchars mehr hat und die verbliebenen eigentlich nur
noch Mittel zum Zweck fuer andere Chars sind. So eine Art Begleit-NPC oder
Stelle, zu der man im Laufe des Tankscriptes einmal hingeht und was abholt
oder abgibt.

Zesstra

-----------------------------------------------------------------------------



Re^14: Zweitspieler (Ark, 12. Jan 2009, 20:04:01):
~#! rn=Zesstra rt=1231762375 rg=gilden.klerus
~#! tid=1231393006
Hier mal ein wenig ins Blaue gedacht fuer mehr Schwung der Gilde (nicht alles
ist bis zu Ende gedacht, also ruhig meckern, ich kenne die Kleris nicht bis
ins letzte Detail):

- nur Erstikleriker erhalten volle Wirkung/Dauer der Sprueche, die andere
"boosten" (for lack of a better word), Ausnahme sind kurieren/entfluchen
Zweitiumtragungen gibt es nicht ... wer Zweitikleriker nicht markieren laesst
und erwischt wird, dessen Kleri wird geloescht, richtiger Ersti und Zweitis
erleiden 50% Skillverlust (drastisch, aber sonst bringt die Unterscheidung
wenig)

Hier ein paar Ideen fuer neue/variierte bestehende Sprueche (ins Blaue
gedacht):

Sprueche auf/fuer andere Teamspieler vor/im Kampf:
Gruppensegen, Gruppengebet, Gruppenschutz, Sternenhimmel, Gruppenheilung

Neue Sprueche:

Leiche Segnen (keine Zweitikleriker) -> Reduzierung von Todesfolgen

Waffe Segnen (wirkt nur bis User Level 20-30), Heiliger Schaden

Abwehrrunen (Plazierung im Raum, Dauer: 2-5min) gegen Lauf NPC
(macht nur bei NPC Schaden)

Sternenhimmel -> Schild ueber boesen NPC(s), macht 4-7 Runden
heiligen Schaden

Gruppenheilung in 3 Spellabstufungen:
Heilt leichte Wunden
Heilt mittlere Wunden
Heilt schwere Wunden

Drittes Auge -> Senkt die Resistenz gegen eine Schadensart einmalig
um 0.1-0.3 (max. auf 0.0) ODER erhoeht die Anfaelligkeit gegen eine
Schadensart einmalig um 0.1-0.3 (jeder Gegner kann so nur einmal
bedacht werden)

Elementarwall -> schuetzt die Gruppe (reduziert NPC Schaden) vor
einem bestimmten Element fuer kurze Zeit

Falls schonmal sowas vor x Jahren diskutiert und abgelehnt wurde, hab ich es
nicht mitbekommen, insofern: don't beat me :-)

Das mit Erstiklerikern kann man muede abtun, aber ich koennte mir vorstellen,
durch belohnen von "richtigen" Erstis (muss nicht wie oben beschrieben
ausfallen) koennte man wieder locken. Und Spieler, denen wegen BPS (Bumms pro
Spieler) zu Chaos, Delfen, Kaempfern oder Zaubis (Tanjian?) geraten wird,
vielleicht anders "beraten". Ich hab in meiner aktiven Zeit als Rollenspiel
auch immer Druide und Kleriker gemimt (abgesehen von Waldlaeufer) :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Zweitspieler (Ark, 12. Jan 2009, 20:11:19):
~#! rn=Ark rt=1231787041 rg=gilden.klerus
~#! tid=1231393006
Selbstreply.
Grade angesprochen ... alternativ zu der Bestrafung/Benachteiligung von
Zweitis kann man natuerlich auch die "Boost"faehigkeiten auf Teammitglieder
beschraenken. Oder ganz fallen lassen und weiter mit Zweitiboostern leben. Was
weiss ich.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^16: Zweitspieler (Ark, 12. Jan 2009, 20:14:30):
~#! rn=Ark rt=1231787479 rg=gilden.klerus
~#! tid=1231393006
Auch wenn die, die Sequenzen schreiben, vielleicht aufheulen:
Gnade der schnellen Wiedergeburt -> vor einem Kampf gesprochen, Wahl der
"schnellsten" Todessequenz (ihr wisst schon :-)) im Fall des Ablebens
innerhalb der naechsten 2-5min :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^17: Zweitspieler (Xutelius, 12. Jan 2009, 20:31:47):
~#! rn=Ark rt=1231787670 rg=gilden.klerus
~#! tid=1231393006
Huhu,
Da der Erstiebonus fuer die Entscheidung, wer hp wird, grade vor wenigen
Monaten abgeschafft wurde, waere es eigentlich recht sinnlos, wieder einen
einzufuehren, oder? ;)
Waffe weihen gibt es schon, funktioniert allerdings etwas anders, macht
naemlich nur mehr schaden bei Untoten und daemonen.
Mehr sprueche mit teamwirkung koennten natuerlich dafuer sorgen, das kleris
beliebter fuer Teamkampf werden.
Und wo wir schon dabei sind, ich bin immernoch der Meinung, das die Abwertung
von Frieden genau in die andere Richtung gewirkt hat.
Xut*

-----------------------------------------------------------------------------



Re^18: Zweitspieler (Ark, 12. Jan 2009, 20:34:25):
~#! rn=Xutelius rt=1231788707 rg=gilden.klerus
~#! tid=1231393006
Wieso, wann kann man als Kleri befrieden? Dauert doch etwas, oder? Deshalb
sind die Kleris sicher nicht "ploetzlich" als Ersti unattraktiver geworden,
das waren sie sicher schon vorher. Dumm war es halt fuer bereitstehende
Befrieder, schon klar.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^19: Zweitspieler (Xutelius, 12. Jan 2009, 20:40:59):
~#! rn=Ark rt=1231788865 rg=gilden.klerus
~#! tid=1231393006
Fuer Kleriersties aendert sich da vielleicht nichts. aber fuer die Zweities ne
ganze Menge. Vorher sind oft Klerizweities mit beim DG gewesen, oder sonst wo,
wo frieden was gebracht hat. Seit der Aenderung hab ich meinen Klerizweitie
bei solchen NPCs nicht mehr richtig gespielt und auch sonst niemand den ich
kenne. Beim Schaden halten die einfach nicht bei Kaempfern, Zaubis, Chaoten
oder Tanjian mit, von daher spielt man, jetzt wo Frieden nurnoch wenige male
geht, lieber nen Xtie mit viel Schlagkraft.
Xut*

-----------------------------------------------------------------------------



Re^20: Zweitspieler (Ark, 12. Jan 2009, 20:49:30):
~#! rn=Xutelius rt=1231789259 rg=gilden.klerus
~#! tid=1231393006
Nun, mit dem Klerizweiti reinhecheln und befrieden, dann wieder raus, das ist
ja genau das, was die Gilde mit zur "Zweitigilde" macht. Deshalb die
Ueberlegungen, Anreize fuer ein Weitermitmetzeln des Gegners und nicht
Rausrennen-wechseln-auf-<your-bpm-top-guild-here>-Weitermetzeln.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^20: Zweitspieler (Kessa, 12. Jan 2009, 20:50:22):
~#! rn=Xutelius rt=1231789259 rg=gilden.klerus
~#! tid=1231393006
Da gebe ich Xut recht. Der Frieden war _die_ besondere Faehigkeit der
Kleriker, die so kein anderer hatte und die ein aktives Dabeisein erfordert
hat.

Eine Belohnung fuer Ersties bzw. Nachteile fuer Zweities halte ich fuer ganz
kontraproduktiv. Wo sollen die neuen Kleri-Ersties denn alle herkommen?
Ausserdem ist das nur eine buerokratische Unterscheidung und sagt, wie Zesstra
schon bemerkt hat, wenig ueber die tatsaechliche Spiel-Aktivitaet aus.

-----------------------------------------------------------------------------



Re^21: Zweitspieler (Xutelius, 12. Jan 2009, 20:55:39):
~#! rn=Kessa rt=1231789822 rg=gilden.klerus
~#! tid=1231393006
Naja, die Zauberer haben diese Faehigkeit auch noch. Allerdings stimme ich mit
... ich glaub Vector hat diese Ansicht geaeussert, ueberein, dass die
Abgwertung bei den Zaubis nicht so schlimm oder sogar gerechtfertigt ist,
damit die Kleris da halt _ihre_ besondere Faehigkeit haben, die sie fuer Teams
interessant macht.
Xut*

-----------------------------------------------------------------------------



Re^22: Zweitspieler (Kessa, 12. Jan 2009, 20:57:06):
~#! rn=Xutelius rt=1231790139 rg=gilden.klerus
~#! tid=1231393006
Zauberer koennen nur einen befrieden, der nach wenigen Augenblicken wieder
einsteigt, wenn die ihm verbundenen NPC weiter im Kampf sind.

-----------------------------------------------------------------------------



Re^23: Zweitspieler (Kessa, 12. Jan 2009, 20:58:08):
~#! rn=Kessa rt=1231790226 rg=gilden.klerus
~#! tid=1231393006
Selfreply die hundertste, ich weiss... das 'nur' sollte ich in
Anfuehrungszeichen setzen, weil genau der Fokus das Zauberer-Befriede so stark
macht. Aber das ist der Unterschied zum Klerifrieden, der eben dadurch seine
eigene Staerke hat.

-----------------------------------------------------------------------------



Re^21: Zweitspieler (Zesstra, 12. Jan 2009, 21:00:44):
~#! rn=Kessa rt=1231789822 rg=gilden.klerus
~#! tid=1231393006
Mhmm, also ich moechte widersprechen. Der Friedenkleriker beim DG z.B. war
nach meiner Erfahrung oft nen Zweitie, der nur zum Befrieden rein ist und
sonst irgendwo rumparkte.
Zum Thema Abwertung des Befriedens (nicht vergessen, nicht allein Kleriker)
ist der Hintergrund u.a. dass immer wieder Magier das Befrieden ihres NPC
verhindert haben oder dies wollten, und zwar meistens so, dass es gar nicht
mehr ging. Kann ich sogar nachvollziehen. Und in der Annahme ist es besser,
das Befrieden mit einer (von NPC-Magiern abschaltbaren) standardisierten, auf
NPC-Stats basierenden Loesung zu limitieren als dass jeder Magier was eigenes
baut und aus 'Faulheit' einfach den Spell abwehrt.

Zesstra

-----------------------------------------------------------------------------



Re^22: Zweitspieler (Kessa, 12. Jan 2009, 21:05:05):
~#! rn=Zesstra rt=1231790444 rg=gilden.klerus
~#! tid=1231393006
Ja, Zesstra, ersteres stimmt. Auf der anderen Seite war es aber so wirklich
aktiven Kleris moeglich, zum DG mitzugehen und nicht nur relativ nutzlos zu
sein, mehr hat Xutelius nicht behauptet.

Bei zweiterem fehlt mir das Hintergrundwissen :)

-----------------------------------------------------------------------------



Re^23: Zweitspieler (Moonshine, 15. Jan 2009, 06:03:30):
~#! rn=Kessa rt=1231790705 rg=gilden.klerus
~#! tid=1231393006
Ark hat ja schon einige Ideen als Neuerung angebracht, mir fielen auch noch 2
Nettigkeiten ein, die die Spielbarkeit (und damit vll mehr Erstie locken)
eines Klerikers eventuell steigern koennten.

heiliges Feuer / heilige Eishoelle -> Direkter Feuer- / Eisspells, der sich
aber in die Seelen der Gegner brennt und dort 3 Runden nachbrennt.

Dreifaltigkeit -> Die 3 Goetter (Also die wahren Kandri, Saphina, Lembold ;-)
) manifestieren sich im Kleriker und sorgen dadurch fuer eine erhoehte
Schlagzahl (Schnellkampf)

Schaetz -> Etwas an heutige Zeiten anpassen, Saphina-Kleriker zB sehen gar
keine Anfaelligkeiten, usw

Um der Gefahr zu entgehen, dass Katas o.ae. noch schneller vonstatten geht als
Kleriker, koennte man die beiden obigen Sprueche bei Untoten deaktivieren
(Spell 1: Sie haben keine Seelen, Spell 2: Die Goetter sehen dem Kleriker bei
Untoten lieber amuesiert zu)


-----------------------------------------------------------------------------



Re^24: Zweitspieler (Sky, 25. Jan 2009, 03:49:04):
~#! rn=Moonshine rt=1231995810 rg=gilden.klerus
~#! tid=1231393006
Auch wenn der letzte Post sowie die Diskussion an
sich schon etwas laenger her sind..blabla reply
auf letzten Artikel und so.

Ich hab mich jetzt mal sowohl durch die Diskussion
in gilden.klerus durchgekaempft als auch die ganze
(leidige) Diskussion zur 2tie Regelung nachgelesen.

Ein, wie ich findet sinnvoller, Ansatzpunkt koennte
sein, dass man beim Gildenaus- und wieder Eintritt
weder Gildenfaehigkeiten verlernt, noch Gildenlevel
verliert. 

Das haette den Vorteil, dass man mit seinen Haupt- 
bzw. Lieblingscharakter auch mal in andere Gilden 
reinschauen kann, ohne dass man wie z.B. bei den 
Kaempfern bei Wiedereintritt Gildenlevel 1 hat.

Ich koennte es mir (fuer mich) durchaus reizvoll
vorstellen auch mal andere Gilden als Erstspieler
zu spielen. Und ich haette auch nix dagegen mal
andere Spells zu ueben und das eben ohne mir
dafuer wieder einen neuen Seher hochspielen zu
muessen.

Von mir aus kann man dann auch noch ne neue 
Topliste machen, wer wieviel % aller MG Spellbooks
beherrscht :)
Dann wird sicher auch der eine oder andere Ranking-
geier auch mal zu den Bierschuettlern reinhuepfen.





-----------------------------------------------------------------------------



Re^25: Zweitspieler (Brotnael, 25. Jan 2009, 21:53:11):
~#! rn=Sky rt=1232851744 rg=gilden.klerus
~#! tid=1231393006
Mahlzeit :)
Ich weiss ja garnicht was ihr alle habt. Ich als Erstie bin gerne Kleri und es
macht auch Spass. Wieso wird der Spass und die Kampfkraft einer Gilde an der
Faehigkeit gemessen, wieviel Schaden man macht? Wo ich als Kaempfer in drei
Runden 6 mal gepulvert hab und danach zur Tanke gerannt bin, steh ich als
Kleri halt 20 Runden und Breie brav, so dass ich in der Summe auf aehnlichen
Schaden komme. Und ich muss beim Tanken gehen nicht so rennen :o)
Der wirkliche Spass faengt doch erst da an, wo man mit anderen Gilden
interagieren kann, und da haben Kleriker, zumindest Kandrikleriker, den
besonderen Reiz wie ich finde. Klar ist das auch mal toll, wenn man die dick
got gefaerbten Schadensstaerken als Zaubi oder Kaempfer sieht (oder lila, jeah
:), aber es ist auch immer wieder schoen, den Rest des Teams zum dritten Mal
tanken laufen zu sehen, wenn man noch beim Metzeln ist :)
Zum Frieden: Ehrlich gesagt, ich verstehe ueberhaupt nicht, warum die
Abwertung den Reiz eines Klerikers senken sollte. Wenn man den genutzt hat,
dann, um zu besch... anders zu Metzeln oder an Stellen, an denen man auch
weitgehend ohne Frieden auskommt. Die Abwertung heisst ja nicht, dass man
ueberhaupt nicht mehr befrieden koennte, vielleicht haben die meissten nur die
Abwertung gelesen und den Spell nicht mehr getestet danach..
Und zum Zweitiemali: Auch wenn ich mich des oefteren ueber Verdraengungen von
diversen Zweities aufgeregt habe, ich wuerde eine gesenkte Faehigkeit fuer
Zweities ueberhaupt nicht begruessen. Denn das wuerde die Attraktivitaet eines
jeden Spielers hier senken, einen Kleri ueberhaupt zu spielen. Ist doch egal,
was sein sogenannter Erstie ist, wenn man die Kleriker erst spaeter entdeckt,
soll man auch die Chance haben, diese in vollen Zuegen mit einem Zweitie zu
geniessen, ohne Beschneidungen.
Und zum Thema Gildenwechsel ohne Abzuege: Aeeeehm, nein :) Wenn man eine
andere Gilde mit seinem Erstie testen will, sollte man schon Abzuege
riskieren. Es sollte eine seltene Entscheidung sein und nicht zum staendigen
Gildenwechel fuehren. Immerhin ist das doch fast sowas wie ein Rollenspiel
hier oder? :o)))
Broti (bin ich wirklich der einzige noch aktive Erstie? *jammer*)

-----------------------------------------------------------------------------



Re^25: Zweitspieler (Ark, 26. Jan 2009, 00:01:31):
~#! rn=Sky rt=1232851744 rg=gilden.klerus
~#! tid=1231393006
Ich stelle mal rein willkuerlich ( :-) ) ein paar Vorstellungen auf, wie "man"
sich das Spiel vorstellen "sollte", natuerlich aus meiner miesen kleinen EM
Brille gesehen.

- Magier, insbesondere Gildenmagier dienen nicht irgendwelchen Listenfreds,
deren Hauptspass es ist, ihren eigenen Namen in dubiosen Rankinglisten zu
sehen. Gilden sind ein Bestandteil des Spiels, mit denen man den eigenen
Charakter (!) weiterentwickeln kann. Sie dienen primaer (jaja, nun wird es
wackelig, ich weiss) NICHT dem persoenlichen Maximieren des Bums-pro-Spielers
(BPS ... wer das wohl zuerst so genannt hat?).

- Wer andere Gilden spielen will, um sich reinzufuehlen, der beginne so, wie
die Gilde gedacht und nebenbei, balanciert war: von vorne. Wem das nicht
gefaellt, siehe ersten Punkt.

- Wem das zuviel Arbeit ist und Zeit verschlingt, der hat den Sinn des Spiels
vielleicht nicht verstanden ... man kann durchaus Spass haben, ohne alle
Metzelmoeglichkeiten (denn um die geht es hauptsaechlich, unterstelle ich frei
mal) auszuprobieren. Wer die Maximierung des persoenlichen Spasses anders
definiert, der halte sich an den zweiten Punkt.

- Wer aus einer Gilde (mal grade aus der mit Unterstuetzung von "hoeheren"
Maechten) austritt, ist doch noch hervorragend bedient? Warum sollte ihn jede
Gilde sofort wieder aufnehmen, wenn er sie mal schaendlich verraten hat? Das
muss mir mal einer erklaeren ... schliesslich bekommt man als Magier auch
sofort vorgehalten, wenn die Keule mit kleinen Dornen nicht auch reissenden
Schaden macht ... da klingelt sofort das rote Magiertelefon.

Mahlzeit.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^26: Zweitspieler (Gloinson, 26. Jan 2009, 00:05:25):
~#! rn=Ark rt=1232924491 rg=gilden.klerus
~#! tid=1231393006
Kurz: Ich kann mir schon vorstellen, das Verlernen der Anrufungen bei
Verlassen der Gilde auf 0% zu senken. Allerdings wuerde der Wiederaufstieg
nach Wiederaufnahme in den Orden muehseliger werden, verlorenes Vertrauen muss
man wettmachen.


-----------------------------------------------------------------------------



Re^26: Zweitspieler (Nicolai, 26. Jan 2009, 00:47:28):
~#! rn=Brotnael rt=1232916791 rg=gilden.klerus
~#! tid=1231393006
Ausgerechnet Brotnael sieht Gildenwechsel als "sollte eine
seltene Entscheidung sein" ? :) 
Man verzeihe mir mein kicherndes gegacker :)

-----------------------------------------------------------------------------



Re^27: Zweitspieler (Humni, 26. Jan 2009, 12:25:48):
~#! rn=Nicolai rt=1232927248 rg=gilden.klerus
~#! tid=1231393006
Noe. Er hat aber immer ohne jegliche Jammerei, akzeptiert, dass es dabei zu
Einbussen kam. Er weiss also, wovon er redet.

Humni
(persoenliche Meinung)

-----------------------------------------------------------------------------



Gebet (Gloinson, 27. Jan 2009, 16:12:41):
Hallo,
die drei Goetter haben mich soeben informiert, dass sie auch sehr
ausdauernden Gebeten ihr Gehoer schenken werden.

Ein ausdauerndes Gebet wird erst mit einem neuen Talisman (hilfe ende)
seine volle Wirkung entfalten und sollte in seiner Tiefe und Dauer
nicht unterschaetzt werden.

Nebenbei hat Kandri an den Kosten und der Umsetzung der Schutzhand
herumgepfu^Wgoettliche Ideen umgesetzt. Falls etwas nicht funktioniert,
soll ich es richten. Dazu brauche ich dann natuerlich Nachricht.


-----------------------------------------------------------------------------



Diverses (Gloinson, 16. Feb 2009, 00:28:27):
Hallo,
die Goetter haben mich ueber ein paar Aenderungen informiert:

Elementarschild ist um einen alten Schaden wieder ergaenzt worden. Die
Goetter sorgen sich eben um euren Schutz.

Blitz ist jetzt auch mit nur einer Hand anrufbar. Das ist nicht ganz so
gottgefaellig, aber wie geschrieben, die Goetter sorgen sich um euren
Schutz, also erlauben sie euch solcherlei Unfug.

Segen ist jetzt so wie Schutzhand auf mehrere Leute gleichzeitig
sprechbar. Falls ihr ein Team segnet, erholt ihr euch auch schneller.

Fehler darf natuerlich wieder ich beheben.


-----------------------------------------------------------------------------



Re: Diverses (Gloinson, 16. Feb 2009, 13:28:29):
~#! rn=Gloinson rt=1234740507 rg=gilden.klerus
~#! tid=1234740507
Und gleich der erste Fehler entdeckt: also neue Talismane fuer euch alle dank
der Aufmerksamkeit von Soha. Sonst mag der Elementarschild nicht ordentlich
funktionieren.


-----------------------------------------------------------------------------



Re^27: Zweitspieler (Esme,  9. Mar 2009, 13:59:00):
~#! rn=Nicolai rt=1232927248 rg=gilden.klerus
~#! tid=1231393006
Man verzeihe mir bitte, dass ich nach zwei Monaten noch etwas zu diesem Thread
schreibe.

Was die Interessantheit der Kleriker angeht: Ich habe auch einmal, mit besten
Vorsaetzen den Char wirklich zu spielen,
einen Kleriker angefangen, und ihn dann in den Schrank gestellt, weil ich Ihn
langweilig fand.

Mein Problem war nicht zu schwache Kampfkraft, sondern eher die Art/geringe
Abwechslung der Spells. Man
wirft einmal an, und wartet dann, bis die Dinge wieder ausgehen (sorry, wenn
das nur an meiner Unkenntnis
der Gilde liegt).
Was Kleriker fuer mich ansprechender machen wuerde, waeren Moeglichkeiten
haeufiger und abwechslungsreicher
in den Kampf einzugreifen. Eine Idee dir mir da kommt: Wieso kann ein Kleriker
als Heiler nicht zum 
Beispiel den Gesundheitszustand einer Auswahl von Spielern beobachten, und
dann von sich aus taetig
werden, ohne dumm rumzustehen, bis irgendjemand gemerkt hat, dass er blind ist
und Bescheid sagt.

Ich weiss, dass dies ein Skripten erleichtert, allerdings gab es bislang auch
genug erfindungsreiche Geister,
und so etwas wuerde es meiner Meinung nach einem Kleriker erleichtern, seinen
Aufgaben in einem Team gerecht
zu werden.

MfG, Esme

-----------------------------------------------------------------------------



Re^28: Zweitspieler (Gloinson,  9. Mar 2009, 14:07:10):
~#! rn=Esme rt=1236603540 rg=gilden.klerus
~#! tid=1231393006
> Gesundheitszustand von Mitspielern ueberwachen

All solche netten Ideen fliessen momentan in den "Ideenpool Aufarbeitung
heile/kuriere" ein. Also nur her damit. Dass "heile" und "kuriere" im Team
deutlich aufgewertet werden sollen ist schon beschlossene Sache. Wie genau,
das ist noch recht vage. [Hint: Ich bin in Dresden ;)]

Mir als Kleriker waer ja manchmal eine Extraspalte im "team info" ganz lieb.


-----------------------------------------------------------------------------



Re^29: Zweitspieler (Sharia,  9. Mar 2009, 17:05:59):
~#! rn=Gloinson rt=1236604030 rg=gilden.klerus
~#! tid=1231393006
hmm man koennte daraus auch einen extra spell machen...
zum beispiel eine goettliche Eingebung "eingebung <spielername>" oder hoehere
kosten eingebung <team> und dann bekommt man die Meldung "Saphina teilt dir
mit: heile mal <spieler>, der ist grade blind! " oder etwas in die Richtung...

Neuer Spell ist besser als ne zusaetzliche zeile im team info...

aehm korrigiert mal bitte das "heile mal" in ein "kuriere mal" :) 

Sharia..

-----------------------------------------------------------------------------



Saphinas positiver Einfluss (Gloinson,  1. Apr 2009, 23:11:15):
Hallo,
Saphina hat sich entschlossen, euch mit mehr Schutz vor den Giften dieser Welt
zu segnen. Zu diesem Zweck wurde "giftschwaechung" etwas verbessert, so dass
es auch unter widrigen Bedingungen nuetzlich ist.

Giftschwaechung ist jetzt so wie Segen/Schutzhand auf mehrere Leute
gleichzeitig sprechbar. Vorteile fuer Nutzung in Teams sind spaeter denkbar.

Fehler darf natuerlich wieder ich beheben.


-----------------------------------------------------------------------------



Aenderungen (Gloinson, 28. Jul 2009, 03:48:00):
Soeben hat mir Lembold leider mitgeteilt, dass der Heiligenschein bei sehr
vielen gleichzeitigen Angriffen an Schutzwirkung verloren hat. Anscheinend
sind die Goetter durch die geringe Anzahl an wahrhaft Glaeubigen geschwaecht.


-----------------------------------------------------------------------------



Heilung (Gloinson,  8. Aug 2009, 15:00:43):
Saphina hat sich entschieden, die Heilung zusammen mit den anderen Goettern
zusammen zu beaufsichtigen. Daher ist das Heilen jetzt auch um etliches
maechtiger geworden.

Froehliches Gamma-Testen bis heute Abend :)

iA Gloinson


-----------------------------------------------------------------------------



Re: Heilung (Humni,  9. Aug 2009, 21:55:47):
~#! rn=Gloinson rt=1249736443 rg=gilden.klerus
~#! tid=1249736443
Huhu,

ich wollte Euch dabei auch nur mit auf den Weg geben: Wir haben uns darum
schon laenger Gedanken gemacht. Ziel ist es durchaus, dass man im Team (!)
nicht mehr so oft tanken gehen muss (eigentlich, wenn wir mal ehrlich sind,
ist das Konzept ja eh doof, an sich).

Nun wird Euch einiges dabei auffallen, gehe ich mal von aus. Vielleicht findet
ihr auch einiges zu gut, zu schlecht... dann meldet Euch. Und bitte direkt.
Hier, oder per Mail (bei mir oder Gloinson oder beiden). Und probiert ruhig
mal ein wenig rum, was so geht.

Humni

-----------------------------------------------------------------------------



Re: Heilung (Zook, 13. Aug 2009, 17:54:00):
~#! rn=Gloinson rt=1249736443 rg=gilden.klerus
~#! tid=1249736443
Ich bin unschuldig.
Zook.

-----------------------------------------------------------------------------



Ehering (Gloinson,  1. Feb 2010, 14:46:16):
Beim naechsten Reboot / Neueinloggen werdet ihr euren Ehering ggf. naeher
betrachten und falls ihr mit eurem Partner nicht mehr oder dieser nicht mehr
mit euch verheiratet ist diesen Ring ggf. entsorgen.


-----------------------------------------------------------------------------



Re: Ehering (Vanir,  4. Feb 2010, 23:35:58):
~#! rn=Gloinson rt=1265031976 rg=gilden.klerus
~#! tid=1265031976
Was passiert, wenn einer der Ehepartner verstorben (sprich geloescht) ist?
Sollen dann die RInge auch verschwinden ? Faend ich doof.

V.

-----------------------------------------------------------------------------



Re: Re: Ehering (Gloinson,  5. Feb 2010, 13:30:23):
~#! rn=Vanir rt=1265322958 rg=gilden.klerus
~#! tid=1265031976
Da passiert nichts. Der Ring loest sich auf, wenn:
- man nicht der Besitzer ist (wie auch immer das passiert)
- man nicht verheiratet ist (P_MARRIED)
- der Partner eingeloggt/netztot und _nicht_ mit einem verheiratet ist
  (ebenfalls P_MARRIED bei ihm)


-----------------------------------------------------------------------------



Re^3: Ehering (Ark,  5. Feb 2010, 13:31:29):
~#! rn=Gloinson rt=1265373023 rg=gilden.klerus
~#! tid=1265031976
- man untreu war und eine Schein-/Mehrspielerehe fuehrte


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Ehering (Anthea,  5. Feb 2010, 13:33:25):
~#! rn=Ark rt=1265373089 rg=gilden.klerus
~#! tid=1265031976
Dann muessten wir noch ein paar Schwiegermuetter fuer die Ehen einfuehren,
dann reduzieren sich die Mehrspielerehen automatisch.

-----------------------------------------------------------------------------



Re^5: Ehering (Gloinson,  5. Feb 2010, 13:41:51):
~#! rn=Anthea rt=1265373205 rg=gilden.klerus
~#! tid=1265031976
Du bietest dich freiwillig als Schwiegermutter-Template an? :)


-----------------------------------------------------------------------------



Re^5: Ehering (Ark,  5. Feb 2010, 13:41:53):
~#! rn=Anthea rt=1265373205 rg=gilden.klerus
~#! tid=1265031976
Wenn Nachwuchs vorhanden ist, nicht unbedingt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Ehering (Bambi,  7. Feb 2010, 14:38:39):
~#! rn=Anthea rt=1265373205 rg=gilden.klerus
~#! tid=1265031976
Und die Ehen.

-----------------------------------------------------------------------------



Re^3: Ehering (Gloinson, 14. Feb 2010, 22:00:52):
~#! rn=Gloinson rt=1265373023 rg=gilden.klerus
~#! tid=1265031976
Und wie manchmal moeglich gab es Fehler-Fallout. Mist.

Betroffene von "unvorhergesehener Ringaufloesung" melden sich bitte ASAP.


-----------------------------------------------------------------------------



Re: Zeitgenauigkeit (Gloinson, 14. Feb 2010, 22:39:38):
~#! rn=Zesstra rt=1266182148 rg=entwicklung
~#! tid=1266182148
Das tritt bei ueberarbeiteten Klerus-Gruppen-Spells durchaus haeufiger und mit
Absicht auf.


-----------------------------------------------------------------------------



Charakterverschlechterung (Perin,  1. Apr 2010, 15:43:23):
Hallo,
in den letzten Tagen faellt mir auf, dass sich mein Charakter ziemlich schnell
verschlechtert, obwohl ich nur boese und satanische Monster toete.
Hat jemand das gleiche beobachtet und ev. sogar eine Erklaerung?

Perin

-----------------------------------------------------------------------------



Re: Charakterverschlechterung (Gloinson,  1. Apr 2010, 16:24:45):
~#! rn=Perin rt=1270129403 rg=gilden.klerus
~#! tid=1270129403
Gildenseitig sehe ich dafuer keine Gruende.


-----------------------------------------------------------------------------



Re: Charakterverschlechterung (Amynthor,  2. Apr 2010, 18:56:50):
~#! rn=Perin rt=1270129403 rg=gilden.klerus
~#! tid=1270129403
Hi Perin,

ich hatte das gleiche Problem mal, als ich die Goblins auf der Hochebene als
Uebungsgegner benutzt hatte. Die sind naemlich unlogischerweise freundlich
gesinnt, was ziemlich schnell den Charakter verdirbt.

Vieleicht gibt es auch noch andere Monster, auf die das zutrifft...

Amynthor


-----------------------------------------------------------------------------



Re: Re: Charakterverschlechterung (Brotnael,  5. Apr 2010, 23:21:04):
~#! rn=Amynthor rt=1270227410 rg=gilden.klerus
~#! tid=1270129403
Ich vermute da eher die Gegend der Monster, die vermutungsweise in den Katas
liegt, in denen auch die Gesinnung mit der Zeit nach unten purzelt ab und an.
Daemonen haben keinen guten Einfluss auf unsere Gesinnung... O:)

Brot

-----------------------------------------------------------------------------



Re^3: Charakterverschlechterung (Perin,  9. Apr 2010, 10:16:06):
~#! rn=Brotnael rt=1270502464 rg=gilden.klerus
~#! tid=1270129403
Scheint ein Phaenomen in den Katas zu sein. 
Irgendwie komisch, das das Toeten satanischer Monster der Charakter
verschlechtert....
Danke fuer die Hilfe .. Perin

-----------------------------------------------------------------------------



Re^4: Charakterverschlechterung (Croft,  9. Apr 2010, 10:23:46):
~#! rn=Perin rt=1270800966 rg=gilden.klerus
~#! tid=1270129403
Sicher dass da alle satanisch sind? :-)

Croft

-----------------------------------------------------------------------------



Re^5: Charakterverschlechterung (Perin,  9. Apr 2010, 10:31:55):
~#! rn=Croft rt=1270801426 rg=gilden.klerus
~#! tid=1270129403
Nicht *alle*, aber die drei, an denen ich das grad noch mal getestet habe.
(Saeuredaemon unten und die beiden Feuerdaemonen nordoestlich davon)

(He, Ich bin Kleriker und kein Bierverschuetter)

Perin

-----------------------------------------------------------------------------



Re^6: Charakterverschlechterung (Brotnael, 10. Apr 2010, 02:52:36):
~#! rn=Perin rt=1270801915 rg=gilden.klerus
~#! tid=1270129403
Ich habe die Erfahrung gemacht, dass alleine in den Katas rumstehen die
Gesinnung senkt. Vermutlich ist der Einfluss Satans dort unten ueberall stark
:)

Broti

-----------------------------------------------------------------------------



Abwertungen (Gloinson, 12. Apr 2010, 16:22:06):
Moin,

ich hab mit Humni ein wenig herumgewertet. Und es sind noch viele andere
furchtbare Sachen passiert, die in den naechsten Tagen eingebaut werden.
Tipps:

* Verbandskasten aufraeumen
* DRINGEND Faltencreme besorgen (Star Wars - Revenge of the ...)
* Ruecken immer an der Wand halten, wenn Bierschuettler da sind ...

Disclaimer: Alle Bemerkungen sind absolut unernst zu verstehen, ein ernster
Artikel folgt nach Umsetzung ...


-----------------------------------------------------------------------------



Re: Abwertungen (Sharia, 14. Apr 2010, 09:02:45):
~#! rn=Gloinson rt=1271082126 rg=gilden.klerus
~#! tid=1271082126
ohweh.....
ich finde meine Faltencreme nichtmehr? was soll ich tun? funktioniert auch
Sonnencreme? Verbandskasten....ich haette da noch Weihwasser und
Leichentuecher, das tuts doch auch, oder? 

Sharia - erwartungsvoll

-----------------------------------------------------------------------------



Goettliche Ergebnisse (Gloinson, 26. Mai 2010, 02:23:51):
Hallo,

nachdem sich die Goetter das Heilspektakel ein Jahr lang angesehen haben,
waren sie mit der recht starken Selbstbezogenheit derart unzufrieden, dass
sie die Einzelheilung in etwa auf das vorherige Mass gesenkt haben.

In den weiteren Neuigkeiten: das Entfluchen entfaltet endlich seine
volle Kraft bei vollem Anrufungseinsatz. Goettermacht ist ein wenig
informativer.

iA der Goetter, Gloinson


-----------------------------------------------------------------------------



Geschwindigkeitsupgrade (Gloinson, 28. Mai 2010, 17:54:42):
Nach der Anrufung eines einhaendigen Blitzes ist unter den richtigen
Umstaenden weniger Erholungszeit notwendig als fuer einen zweihaendigen Blitz.
Aus einer geschuetzten Position erreicht so ein einhaendiger Blitz auch fast
die Staerke eines zweihaendigen.

iA der Goetter, Gloinson


-----------------------------------------------------------------------------



Re: Geschwindigkeitsupgrade (Sharia, 29. Mai 2010, 23:16:51):
~#! rn=Gloinson rt=1275062082 rg=gilden.klerus
~#! tid=1275062082
FRZG .....

Sharia

-----------------------------------------------------------------------------



Re: Re: Geschwindigkeitsupgrade (Gloinson, 30. Mai 2010, 12:48:55):
~#! rn=Sharia rt=1275167811 rg=gilden.klerus
~#! tid=1275062082
Ach quark.


-----------------------------------------------------------------------------



Re^3: Geschwindigkeitsupgrade (Sharia, 30. Mai 2010, 15:16:54):
~#! rn=Gloinson rt=1275216535 rg=gilden.klerus
~#! tid=1275062082
danke fuers fixen :)

-----------------------------------------------------------------------------



Re: Geschwindigkeitsupgrade (Gloinson,  1. Jun 2010, 14:35:25):
~#! rn=Gloinson rt=1275062082 rg=gilden.klerus
~#! tid=1275062082
Um das mal zu qualifizieren, da einige von euch (a) nicht experimentierfreudig
sind oder (b) das alte Spellverhalten (spruchermuedung) eingeschaltet haben:

Unter bestimmten Umstaenden kann man jetzt einen einhaendigen Blitz mit einer
Erholungszeit von 1s anrufen. Diese bestimmten Umstaende sind durch einfaches
Experimentieren mit "blitz nur einhaendig" und einigen Blitzen danach leicht
herausfindbar.


-----------------------------------------------------------------------------



Re: Goettliche Ergebnisse (Gloinson,  4. Jun 2010, 14:04:03):
~#! rn=Gloinson rt=1274833431 rg=gilden.klerus
~#! tid=1274833431
Ark hat die Goetter bestochen, mich nochmal das Entfluchen ueberpruefen zu
lassen und siehe da: ein wundervoller Fehler war entfernt.


-----------------------------------------------------------------------------



Fehlerkorrektur (Gloinson, 17. Sep 2010, 04:05:11):
Hallo,

ich habe ein wenig im Klerus aufgeraeumt. Zwei Dinge sind dabei aufgefallen:

* die von einigen gewuenschte andere Gewichtsbehandlung fuer Kampfstaebe
  existiert bereits (seit Jahren) :)
* eine unbeabsichtigte Schadensartverdopplung bei geweihten Waffen und
  Elementarsphaeren ist hiermit verschwunden


-----------------------------------------------------------------------------



Ein Abbild ... (Gloinson, 20. Sep 2011, 22:16:59):
... reiht sich jetzt wie vorgesehen (wieder) ein.


-----------------------------------------------------------------------------



Blitz und Begraebnis-Optionen ... (Gloinson, 23. Sep 2011, 08:52:26):
... sollten jetzt ein "ende" oder Reboot ueberstehen.


-----------------------------------------------------------------------------



Entgiften fuer Fremdartige ... (Gloinson, 23. Sep 2011, 21:35:38):
... funktioniert weiterhin und ab jetzt auch wieder ohne Fehlermeldung.

Danke an Soynada und Derin.


-----------------------------------------------------------------------------



Anforderungen fuer Anrufungen (Gloinson,  8. Okt 2011, 14:32:08):
Beim Aufraeumen in der goettlichen Rumpelkammer ist mir aufgefallen, dass die
Anforderungen zum Lernen mancher Anrufungen nicht den aktuellen Beschreibungen
entsprachen. Dem ist jetzt nicht mehr so.

Das bedeutet eigentlich nur fuer neue Kleriker: koennte sein, dass ihr jetzt
erst Anrufungen lernen koennt, wenn ihr sie lernen koennen sollt :)


-----------------------------------------------------------------------------



Re: Anforderungen fuer Anrufungen (Brotnael, 11. Okt 2011, 19:57:48):
~#! rn=Gloinson rt=1318077128 rg=gilden.klerus
~#! tid=1318077128
Mist, nun kann ich endlich Beistand und Heiltrank lernen, darf die aber immer
noch nicht wirken.. *mopper* *grins* :P

-----------------------------------------------------------------------------



Re: Re: Anforderungen fuer Anrufungen (Gloinson, 11. Okt 2011, 20:08:34):
~#! rn=Brotnael rt=1318355868 rg=gilden.klerus
~#! tid=1318077128
Aber du kannst dir damit dein Guild-Rating versauen ;)


-----------------------------------------------------------------------------



Heilung (Gloinson, 15. Okt 2011, 23:23:01):
Den Goettern ist leider ein kleiner Fehler in der grosszuegigen Behandlung zu
haeufigen Heilens nicht aufgefallen. Das wurde vor einigen Tagen notduerftig
repariert und jetzt auf das althergebrachte Mass korrigiert.


-----------------------------------------------------------------------------



Anforderungen (Gloinson, 16. Okt 2011, 18:42:47):
Die Anforderungen an das Kuraten-Amt wurden an die Anforderungen des
Morgengrauens an Seher angepasst, da das eine ohne das andere nicht geht.

Dabei hat der Titel der Obernonne nunmehr das Zeitliche gesegnet und ein neues
Zeitalter der Aebtissinnen im Namen der Goetter beginnt. Moegen die letzten
Obernonnen Morgoth stets gewogen bleiben.

Dank an die Inquisition, die durch ihre gnadenlose Aufmerksamkeit frischen
Wind durch die Rollen blaest.


-----------------------------------------------------------------------------



Teamspells: Rueckmeldung? (Gloinson, 17. Okt 2011, 04:30:58):
Moin,

nutzt eigentlich jemand in groesserer Menge die Team-faehigen Spells (zB
giftschwaechung, segen, heilung, schutzhand). Wenn ja, dann meldet doch mal
bitte rueck, ob und wo euch ggf der Adamantschuh drueckt. Danke.


-----------------------------------------------------------------------------



Gildenmagier (Humni, 25. Okt 2011, 13:04:52):
Hallo Gemeinde,

nun gut, ihr betet zu drei komischen Goettern und nicht zu mir. Nicht zu
aendern. Nun gut, ich koennte das...

Wer das noch aendern koennte ist Gloinson, daran hat sich nichts geaendert.

Aufgrund von laengerer Abwesenheit wurden allerdings Morgoth und Magdalena vom
Posten des Gildenmagiers entfernt. Bei entsprechenden Anwesenheitszeiten
koennte sich das natuerlich wieder aendern.

Wargon als Gildenbegruender wurde hingegen in die Liste der Gildenmagier
(wieder)aufgenommen.

Ich moechte Magdalena und natuerlich vor allem Morgoth fuer den jahrelangen
Einsatz fuer die Gilde danken.

Humni

-----------------------------------------------------------------------------



Neue Auflage der Ordenshistorie verfuegbar! (Gloinson, 29. Okt 2011, 17:20:56):
Mit Hilfe vieler fleissiger Moenche konnte eine neue Rolle verfuegbar gemacht
werden. Sie enthaelt die Aufzeichnungen wichtiger Ereignisse im Orden seit der
Eroeffnung des Ablegers in Djelibeby.


-----------------------------------------------------------------------------



Re: Neue Auflage der Ordenshistorie verfuegbar! (Gloinson, 29. Okt 2011, 17:22:07):
~#! rn=Gloinson rt=1319901656 rg=gilden.klerus
~#! tid=1319901656
29. Okt 2011, 391 nach dem Exodus:
 Morgoth, Nonne und Magdalena werden offiziell seitens der Goetter
 von ihren Rollen als Sprachrohr und Sprecher beurlaubt, um den Hals
 mit Kreide, Whisky und Gebeten zu behandeln.

16. Okt 2011, 391 nach dem Exodus:
 Einige Anforderungen an das Lernen werden an die aeussere Welt und dem
 sogenannten Seherstatus dank der gnadenlosen Inquisition angepasst.
 Der Titel der Obernonne wird zugunsten des Titel Aebtissin eingestellt. 

15. Okt 2011, 391 nach dem Exodus:
 Ein einsamer Kurat stellt fest, dass die Goetter viel zu grosszuegig in
 ihrer Behandlung zu frueh wieder angerufener Heilungen sind und meldet
 dies beflissen.

8. Okt 2011, 391 nach dem Exodus:
 Die Goetter achten kritischer auf die Anforderungen zu Anrufungen.

23. Sep 2011, 391 nach dem Exodus:
 Durch goettliche Macht sind die Optionen fuer 'begrabe' und 'blitz' jetzt
 ueber einen Weltuntergang hinaus haltbar.

20. Sep 2011, 391 nach dem Exodus:
 Abbilder folgen durch goettliche Maechte geleitet wieder wie vorhergesehen
 ihrem Glaeubigen in ein eventuelles Team.

17. Sep 2010, 390 nach dem Exodus:
 Ein bisheriger Riss in der Raumzeit, der zu einer Veraenderung der
 Schadensarten bei Anwendung von Elementarsphaeren fuehrte wurde von
 Lembold geflickt.

4. Jun 2010, 390 nach dem Exodus:
 Der heidnische Zauberer Ark, ein Herr der Flueche und Tode nimmt
 frevelhaft Kontakt mit den Goettern auf, die daraufhin praeventiv
 Gloinson Informationen in einer korrekten und besseren Anwendung der
 Entfluchungs-Anrufung zukommen lassen.

28. Mai 2010, 390 nach dem Exodus:
 Kandri hat sich ueberzeugen lassen, die Anrufung eines Blitzes mit
 einer Hand durch ein Ordensmitglied im Kreis und Schutz eines
 vertrauenswuerdigen Teams fast ebenso gut wie eine regulaere
 zweihaendige Anrufung wertzuschaetzen. Die Erholung von solch einem
 Blitz aus geschuetzter Position findet sogar zuegiger statt.

26. Mai 2010, 390 nach dem Exodus:
 Die Goetter sind damit unzufrieden, dass die Heilung so vereinzelt
 gewaehrt wird und sie widmen die Kraefte einzelner Heilungen lieber
 anderen Anrufungen. Insbesondere halten Flueche einem hingebungsvollen
 Ordensmitglied schlechter stand.

14. Feb 2010, 390 nach dem Exodus:
 Die schnelllebigere Zeit fuehrt dazu, dass Anrufungen auf die Sekunde
 gesprochen werden koennen. Bei Anrufungen, die auf mehrere Spieler
 gleichzeitig sprechbar sind, kann das zu positiven Effekten fuehren.

1. Feb 2010, 390 nach dem Exodus:
 Die Ehegeloebnisse und zugehoerigen Ringe werden von den Goettern genau
 beobachtet und bei Fremdgehen oder Trennung entzogen.

8. Aug 2009, 389 nach dem Exodus:
 Saphina hat sich entschieden, die Heilung zusammen mit den anderen
 Goettern zusammen zu beaufsichtigen. Die Heilung ist dadurch sehr viel
 um wirksamer geworden. Da ein dreifacher Blick auf dem Glaeubigen ruht,
 sind die Position eines Heilers in einem Team und seine Geschwindigkeit
 stark beeinflussende Faktoren. Gelobt seien die Goetter!

28. Jul 2009, 389 nach dem Exodus:
 Der Heiligenschein kann nicht mehr vor endlos vielen boesen Angriffe
 schuetzen. Das Licht des Ordens wird schwaecher, da die Anzahl der
 wahrhaft Glaeubigen stark gesunken ist.

1. Apr 2009, 389 nach dem Exodus:
 Saphina hat mit Hilfe Lembolds entschieden, einen sehr viel maechtigeren
 Schutz vor Gift durch die Anrufung der Giftschwaechung zu gewaehren.
 Ordensmitgliedern ist es gestattet, diese auf mehrere Spieler oder
 ein Team anzurufen.

16. Feb 2009, 389 nach dem Exodus:
 Den Goettern sei Dank, die Ordensmitglieder koennen sich ab jetzt mit dem
 Elementarschild vor Saeure schuetzen. Sie erhoeren neuerdings auch Blitze,
 die nur mit einer Hand angerufen werden. Kandri liess sich nicht
 ueberzeugen, dass solch eine Anrufung ihre volle Aufmerksamkeit wert ist.
 Ein Ordensmitglied kann einen Segen mehreren Spielern oder einem Team
 verleihen und wird sich schneller davon erholen.

27. Jan 2009, 389 nach dem Exodus:
 Die Goetter oeffnen ihre goettlichen Gehoergaenge auch fuer sehr
 ausdauernde und langanhaltende Gebete.

14. Sep 2008, 388 nach dem Exodus:
 Gloinson stellt noch einmal klar, dass ehemalige Chaoten im Orden
 jederzeit willkommen sind, ihren Geist zu klaeren und zu bereuen.
 Nur katzenhaften Wesen bleibt weiterhin der Eintritt verwehrt.

17. Aug 2008, 388 nach dem Exodus:
 Der heidnische Zauberer Zesstra hat zur korrekten Wahrung des Friedens und
 der Ordnung in der Hierarchie beigetragen. Die Goetter sind erfreut
 ueber ihren positiven Einfluss.

7. Aug 2008, 388 nach dem Exodus:
 Die Hierarchie behandelt alle Ordensmitglieder gleich und fair. Zudem
 wurde ein temporaerer Erleuchtetenposten fuer zuruecktretende
 Hohepriester eingerichtet.

3. Jun 2008, 388 nach dem Exodus:
 Die gesamte Umwelt wird unfriedlicher. Der Goetter Macht reicht leider
 nicht aus, um das auszugleichen. Ordensmitglieder berichten, dass das
 Schaffen von Frieden zunehmend schwerer wird.

25. Mar 2008, 388 nach dem Exodus:
 Zur Verbreitung des Glaubens sind nunmehr mehrere Spieler oder ein Team
 gleichzeitig durch die Schutzhand Kandris behuetbar.

14. Feb 2008, 388 nach dem Exodus:
 Die Glaubensstaerke schwindet nicht mehr so schnell aus dem Herzen der
 wenigen Glaeubigen, da sich die Goetter mehr konzentrieren. Auch leuchtet
 das Licht des wahren Glaubens im Talisman heller und laenger als je
 zuvor. Der Nacht wird schliesslich doch noch Einhalt geboten werden!

9. Feb 2008, 388 nach dem Exodus:
 Den Goettern missfaellt ausdruecklich, wenn Glaeubige waehrend ihres
 Gebetes wieder aktiv werden. Sie unterbinden dies ab jetzt nach einer
 Information durch den heidnischen Zauberer Zesstra.

5. Feb 2008, 388 nach dem Exodus:
 Der Unsitte mancher Glaeubiger, vor Ende eines Gebets schon wieder nach
 der Waffe zu greifen werden Grenzen gesetzt.

23. Nov 2007, 387 nach dem Exodus:
 Gloinson wird zu Sprachrohr und Sprecher der Goetter berufen.

17. Sep 2006, 386 nach dem Exodus:
 Der bekehrte heidnische Zauberer Humni hilft bei der Verbreitung der
 Stabwaffeninformationen zur Wiedergutmachung seiner Suenden.

11. Jul 2006, 386 nach dem Exodus:
 Morgoth gibt bekannt, von der heiligen Last und Klarheit der Goetter
 mehr und mehr ausgebrannt worden zu sein und sich auf der Suche nach
 einem Nachfolger zu befinden.

18. Apr 2006, 386 nach dem Exodus:
 Hohepriesterin Sharia wird sturzbetrunken im Tempel gefunden. Schande!

6. Feb 2006, 386 nach dem Exodus:
 Ein hitziger Streit ueber die goettlich korrekte und sinnvolle Anrufung
 des Heiligenscheins entbrennt unter Ordensbruedern und -schwestern.
 Morgoth macht dem mit der Information ueber die korrekte Handhabung der
 Hinweise der Goetter ueber nachlassende Heiligenscheine ein Ende.

4. Jan 2005, 385 nach dem Exodus:
 Nach eindringlicher Diskussion der Goetter ist Saphina ueberzeugt und
 beschwichtigt. Bei einem Kurieren wird kein Ordensmitglied mehr
 abgestraft werden.

31. Dez 2004, 384 nach dem Exodus:
 Durch den Tod von Bettschwester Gloin wird offenbar, dass Saphina den
 Benutzern krankheitsaehnlicher Objekte beim Kurieren missverstaendlich
 zuernt.

26. Okt 2003, 383 nach dem Exodus:
 Mit Nonnes Hilfe beheben die Goetter ein paar Probleme, den Glaeubigen
 die Stabwaffenkunst nahezubringen. Engstirnige Ordensmitglieder!

10. Okt 2003, 383 nach dem Exodus:
 Nach Morgoths Fuerbitten gewaehren die Goetter den Ordensmitgliedern
 zusaetzliches Wissen um die Kunst, leichte Staebe als Schlagwaffen
 zu benutzen.
 Magdalena wird zu Sprecherin und Sprachrohr der Goetter berufen.

9. Jul 2003, 383 nach dem Exodus:
 Ein heidnischer Zauberer namens Humni interferiert mit dem Wissen und
 Willen Schlagwaffen zu schwingen. Nachdem Nonne Humni mit der Macht der
 Goetter bekehrt wird alles wieder gut.

27. Feb 2003, 383 nach dem Exodus:
 Nonne erfaehrt bestuerzt von den Goettern, dass die Wunderkraft weiter
 nachlaesst und bei schnellen Bewegungen der Fokus der Goetter auf
 feindlich gesinnte Wesen fehlt.

30. Sep 2002, 382 nach dem Exodus:
 Die Goetter sehen nicht gern, dass manche Glaeubige beim Erlangen des
 silbernen Auges keine Hand mit anlegen!

26. Sep 2002, 382 nach dem Exodus:
 Die Laeuterung von Nichtordensmitgliedern hat sich durch die Verhaertung
 der Charaktere der Heiden deutlich erschwert. Verbissene Nichtglaeubige
 koennen sogar ein Laeutern ignorieren.

12. Sep 2002, 382 nach dem Exodus:
 Schwester Nonne wird langsam alt und vergesslich, es wird ein Pfleger
 namens Croft, eine Billigkraft aus den bierschuettelnden Voelkern
 angestellt, um sie zu stuetzen. 

6. Sep 2002, 382 nach dem Exodus:
 Nach dem Tod des Nichtordensmitgliedes Pitfall versichern die Goetter
 Nonne in einer langen Zwiesprache, dass von der Wiedergeburt Geschwaechte
 tatsaechlich ab jetzt von den Folgen abklingender Segen verschont werden.

4. Sep 2002, 382 nach dem Exodus:
 Kandri ignoriert nun die Bitte um den Schutz von leb- und damit auch
 glaubenslosen Gegenstaenden.

3. Sep 2002, 382 nach dem Exodus:
 Das Wissen um eine Abhaertung des Koerpers gegenueber dem Irdischen
 durch den Segen geht verloren.

9. Aug 2002, 382 nach dem Exodus:
 Kandri ist irritiert, dass ihr Schutz inflationaer an Unglaeubige gewaehrt
 wird. Eine solche Schutzhand entfaltet ihre Wirkung ab jetzt nur in
 unmittelbarer Naehe des Ordensmitglieds.
 Die Wunderkraft gegen starke Wesen laesst nach. Vermutlich ist die
 Zahl der Glaeubigen zu gering geworden.

17. Jul 2002, 382 nach dem Exodus:
 Es wird gemunkelt, dass die negativen Auswirkungen des Segen der Goetter
 von der Wiedergeburt Geschwaechte verschonen soll.

26. Dez 2001, 381 nach dem Exodus:
 Nonne greift mit strenger Hand in die Hierarchie, nur zeitweise taetige
 Mitglieder heidnischen Ursprungs werden bei der Erleuchtung benachteiligt.

16. Okt 2001, 381 nach dem Exodus:
 Die Goetter sind erzuernt, dass an bestimmten Orten die Wirkung ihrer
 Anrufungen vorzeitig gebrochen werden kann und gewaehren dem Orden
 die Moeglichkeit, diese Anrufungen fruehzeitig erneut zu sprechen.

8. Sep 2001, 381 nach dem Exodus:
 Die Ordensregeln schreiben nunmehr vor, Gebete deutlich fuer Umstehende
 zu beenden, um die Goetter und ihre Macht zu bezeugen.

3. Sep 2001, 381 nach dem Exodus:
 Betende Ordensmitglieder sind in ihrer demuetigen Andacht nun auch
 fuer Nichtglaeubige erkennbar, damit diese es nicht weiter an
 Respekt mangeln lassen.

2. Sep 2001, 381 nach dem Exodus:
 Nonne erwirkt, dass die Goetter aeusserliche Kennzeichen ihrer Weihe
 am Glaeubigen hinterlassen, um umso Ruhm einzubringen.

15. Aug 2001, 381 nach dem Exodus:
 Ein Umsturz in der Welt der heidnischen Goetter fuehrt zum Fall Boings,
 der junge Gott Zook macht seinen Weg an die Spitze.

25. Feb 2001, 381 nach dem Exodus:
 Gorog, Apollonia und Nonne stellen eine Schrift ueber das Wissen des
 Ordens fertig. Sie benutzen Pergament aus dem seltenen Hatemmel-Tier.

14. Feb 2001, 381 nach dem Exodus:
 Nonne entdeckt in tiefem Gebet, dass die Macht der Goetter selbst
 einen wahrhaft Glaeubigen und seine Verbuendeten staerken kann.

7. Feb 2001, 381 nach dem Exodus:
 Nonne ordnet den Tempel neu: Erleuchtete koennen Arkshat und Mindra
 mit einer Fuersprache dazu bewegen, das Missfallen der Goetter von
 einem aus den Tempeln ausgestossenen Ordensmitglied zu nehmen.

29. Nov 2000, 380 nach dem Exodus:
 Nonne ordnet die Aufgaben der Boten, welche die Hierarchiemeldungen
 ueberbringen neu.

12. Okt 2000, 380 nach dem Exodus:
 Nonne entdeckt nach ihrer Naehe zu den Goettern, dass Glaeubige nun
 fuer andere Stossgebete aussprechen koennen.

24. Aug 2000, 380 nach dem Exodus:
 Nonne haelt innige Zwiesprache mit Saphina ueber die Heilung und siehe,
 es ward besser.

21. Jun 2000, 380 nach dem Exodus:
 Morgoth und Nonne erfahren, dass Saphina die Geniesser ihres Heiltranks
 nur noch bei Zugehoerigkeit zum Orden mit ihrer ganzen Kraft segnet.

13. Jun 2000, 380 nach dem Exodus:
 Morgoth erhaelt von den Goettern Kenntnis ueber die Anrufung 'erloese'.

26. Mai 2000, 380 nach dem Exodus:
 Morgoth und Nonne erhalten von den Goettern das Wissen, dass deren Zorn
 nicht mehr nur von halbtoten Ordensmitgliedern anrufbar ist.

22. Mai 2000, 380 nach dem Exodus:
 Unter dem Stammtempel fanden ausfuehrliche Ausbauten statt. Nur die
 Spenden der Bettelmoenche und -nonnen haben den Bau dieser sehr privaten
 Rueckzugsorte moeglich gemacht.

18. Nov 1999, 379 nach dem Exodus:
 Nonne wird zu Sprecherin und Sprachrohr der Goetter berufen.
 Das Portal im Orden schliesst sich fuer Nichtgeweihte.

2. Sep 1999, 379 nach dem Exodus:
 Morgoth erhaelt von den Goettern Kenntnis ueber die Anrufung 'praesenz'.

27. Apr 1999, 379 nach dem Exodus:
 Morgoth steht dem Orden Reden und Antwort und gesteht, ein zauberndes
 Ork-Elementar zu sein. Die Gemeinde ist hocherfreut ueber diese
 Bereicherung der Kultur, die Goetter schweigen jedoch.

29. Mar 1999, 379 nach dem Exodus:
 Morgoth informiert die Glaeubigen ueber einen neu ausgebrochenen
 Wettstreit der Narreteien. Zum Auftakt koennen Zaubererkomponenten
 ueber Schlagwaffen verplempert werden.

19. Jan 1999, 379 nach dem Exodus:
 Hohepriesterin Sharia veroeffentlicht ihre erste Autobiografie.

18. Dez 1998, 378 nach dem Exodus:
 Die heidnische Zauberin Silvana schliesst mit den Goettern einen
 unsicheren Frieden, nach dessen Bedingungen der Schar der Glaeubigen
 die Moeglichkeit fuer andere zu leiden wieder entzogen wird. Dafuer
 wird der Sprecher und das Sprachrohr der Goetter nicht getilgt.

15. Dez 1998, 378 nach dem Exodus:
 Morgoth erhaelt ueber den heidnischen Zauberer Rochus goettliche Kenntnis
 ueber die Anrufung 'leid'.

9. Sep 1998, 378 nach dem Exodus:
 Per Dekret sind ab jetzt alle Ehen nach aussen hin gluecklich. Preiset den
 Orden fuer dieses Wunder!

12. Aug 1998, 378 nach dem Exodus:
 Eine Bekehrung Tunixguts' durch Karol schlaegt fehl. Den geheimen
 Aufzeichnungen werden Einzelheiten ueber die Verblendung der
 fernoestlichen Hand- und Fussakrobaten beigefuegt.

27. Jul 1998, 378 nach dem Exodus:
 Die heidnische Zauberin Silvana ficht mit den Goettern. Deren Schwaechung
 durch den Kampf fuehrt dazu, dass sie den allgemeinen Teil der
 Anrufungsmacht erst ab Erleuchtung und nicht schon nach der Priesterweihe
 einem Glaeubigen zugaenglich machen koennen.
 Schlagwaffen mit unheiligen und boesen Schaeden sind nicht laenger
 gottgefaellig.

19. Jul 1998, 378 nach dem Exodus:
 Bruder Taz, der erste Glaeubige, Geweihter der Kandri, faellt vom Glauben
 ab und Chaos erfasst und verwirrt seinen Geist. Der gesamte Orden trauert
 und betet fuer seine Genesung.

7. Jul 1998, 378 nach dem Exodus:
 Fuer einen kurzen Moment in der Geschichte des Ordens ist der Glauben so
 konstant stark wie nie zuvor. Offenbar besinnen sich die Ordensmitglieder
 danach wieder auf ihre Fehlbarkeit und ihre Glaubensstaerke sinkt wieder
 allmaehlich mit der Zeit.

19. Jun 1998, 378 nach dem Exodus:
 Morgoth erbittet von den Goettern die Anrufung 'leid'.

16. Jun 1998, 378 nach dem Exodus:
 Morgoth erbittet von den Goettern die Gunst, Gegner zu erfassen. Diese
 Erfassung ist ohne weiteres moeglich.

3. Mar 1998, 378 nach dem Exodus:
 Morgoth erhaelt von den Goettern Kenntnis ueber die Anrufungen 'begrabe',
 'goetterzorn' und 'giftschwaechung'.

25. Feb 1998, 378 nach dem Exodus:
 Die Goetter sehen mit grossem Wohlgefallen auf besonders schwere Keulen.

20. Feb 1998, 378 nach dem Exodus:
 Morgoth versucht Kontakt mit einer namenlosen Gottheit aufzunehmen.

3. Feb 1998, 378 nach dem Exodus:
 Morgoth wird zu Sprecher und Sprachrohr der Goetter berufen.

22. Okt 1997, 377 nach dem Exodus:
 Eine Nonne verlaesst den scheinbar sinkenden Tempel.

5. Sep 1997, 377 nach dem Exodus:
 Wargon erhaelt von den Goettern Kenntnis ueber die Moeglichkeit
 Elementarsphaere und Elementarschild wieder von sich nehmen zu koennen.
 Die Goetter sehen ungnaedig auf die idelnde Zweitspielergemeinde und
 lassen Anrufungen sich von selbst verschlechtern.
 Ein Wunder geschieht im Tempel und ein Portal mit Engeln oeffnet sich,
 der Weg zur Insel am Ende der Welt wird Glaeubigen erleichtert.

21. Aug 1997, 377 nach dem Exodus:
 Die Goetter beruecksichtigen ab jetzt den Charakter bei Anrufungen.
 Elementarschilder und -sphaeren koennen nur noch gleichartig sein.

22. Apr 1997, 377 nach dem Exodus:
 Die Goetter stellen neue Aufgaben zur Erleuchtung.

14. Apr 1997, 377 nach dem Exodus:
 Die Goetter und Zauberer der heidnischen Aussenwelt zuernen ob des 
 Missbrauchs von Faehigkeiten. Dadurch ist 'entgifte' nunmehr fuer
 einige Zeit nur noch dem Klerus zugaenglich; alle Spieler zauberischer
 Herkunft muessen ihre Posten verlassen, eingeschlossen Sharia; und
 die SSP wird fuer eine Weile verschuettet. Ordenssprecher Wargon
 vernichtet enttaeuscht eine Quest.

18. Mar 1997, 377 nach dem Exodus:
 Lembold erscheint Sharia im Traum. Alles verlaeuft besser als ertraeumt.
 Einzelheiten sind in den geheimen Archiven unter 'erscheinungen'
 katalogisiert.

12. Feb 1997, 377 nach dem Exodus:
 Ein Haendler entdeckt ein stinkendes Artefakt, welches einen allgemeinen
 Teil der Goetter beim Anrufen fernhalten kann. Die Ertraege sind enorm.

13. Jan 1997, 377 nach dem Exodus:
 Wargon erhaelt von den Goettern Kenntnis ueber die Anrufungen
 'elementarschild', 'donner', 'sonnenschutz', 'wunder' und 'beistand'.
 Saphina sieht davon ab, Rochus' Cola zu Quellwasser zu wandeln.

20. Sep 1996, 376 nach dem Exodus:
 Kandri erkennt umgeformte Schwerter und sie missfallen ihr, darob bricht
 die Ordensgemeinde in Wehklagen aus.

13. Sep 1996, 376 nach dem Exodus:
 Walter, Schmied und Vater einer promiskuitiven Tochter, deren Freund den
 Orden noch reichlich beschaeftigen wird, erlernt vom heidnischen Zauberer
 Wurzel die Faehigkeit, Schwerter zu Keulen zu formen.

5. Jun 1996, 376 nach dem Exodus:
 Daemonen fuerchten die Macht der Waffen.

9. Mai 1996, 376 nach dem Exodus:
 Wargon erhaelt von Saphina Kenntnis ueber die Anrufung 'lebenskraft'. Noch
 frohlockt der Orden.

3. Mai 1996, 376 nach dem Exodus:
 Die Goetter segnen die Ordenshaeuser. Der Glaube der Ordensmitglieder wird
 dort nicht wanken.

2. Mai 1996, 376 nach dem Exodus:
 Eroeffnung des Ordensablegers in Djelibeby. Das Licht des Ordens strahlt.
 Wargon wird zu Sprecher und Sprachrohr der Goetter berufen.


-----------------------------------------------------------------------------



Goettliche Geschenke (Gloinson,  4. Nov 2011, 19:11:37):
Hoeret! Hoeret! Die Goetter haben mir verschiedene Veraenderungen in ihrem
Wirken und Tun bekanntgegeben, nachdem der heidnische Zauberer Humni sie mit
seiner wunderbaren Dichtkunst erfreute.

Die Gewaehrung der goettlichen Macht hat auf Mitstreiter eines Ordensmitglieds
numnehr keine negativen Auswirkungen mehr, da die Goetter diese fuer ihre
vorruebergehende geistige Verwirrung nicht verantwortlich machen. Auch sie
werden einst den wahren Glauben finden.

Den Schutz Kandris fuer ein Team zu erbitten erschoepft einen Glaeubigen nicht
mehr so sehr und Saphina hat mit Lembolds Hilfe den Schutz vor Giften im Kampf
weiter verlaengert.

Lobpreiset die Goetter, dass sie jetzt auch die Auswirkungen des Todes oder
der Macht der Goetter auf Anrufungen wie Spaltung, Donner, Einschaetzen,
Begraebnisse und das Entgiften beruecksichtigen. Letzteres dehnt sich auch auf
Nichtgildenmitglieder aus, denn wahrlich gross ist Saphina.


-----------------------------------------------------------------------------



Segensvolle Nachrichten! (Gloinson, 10. Nov 2011, 00:34:41):
Die Goetter sind angenehm ueberrascht, dass der Orden beschlossen hat, dass
sich die Mitglieder fuer eine volle Segenswirkung aufopferungsvoller verhalten
werden. Sie versprechen dafuer eine baldige Belohnung ...


-----------------------------------------------------------------------------



Re: Segensvolle Nachrichten! (Gloinson, 24. Nov 2011, 09:50:23):
~#! rn=Gloinson rt=1320881681 rg=gilden.klerus
~#! tid=1320881681
Vom heidnischen Zauberer Ark haben sich die Goetter eine machtvolle
Erweiterung des Segens empfehlen lassen, die selbst Lars beeindrucken wird.
Ausserdem hat Saphina jetzt wieder ein scharfes Auge auf die genaue Position
eines Ordensmitglieds im Team beim Heilen.


-----------------------------------------------------------------------------



Goettliche Identitaeten (Gloinson, 26. Nov 2011, 23:37:43):
Bei der Spaltung erzeugen Ordensmitglieder ab jetzt Abbilder, die ihnen noch
aehnlicher sind als je zuvor.


-----------------------------------------------------------------------------



Rettung in der Not! (Gloinson,  1. Dez 2011, 21:14:26):
Saphinas Kraefte werden in der Anrufung 'lebenskraft' nun deutlicher wirksam,
dies aber nur in zeitlich sinnvollem Rahmen.


-----------------------------------------------------------------------------



Zucht und Ordnung im Orden (Gloinson,  2. Dez 2011, 01:28:35):
Arkshat hat mich informiert, dass einige Anforderungen an die Level und
Faehigkeiten von Ordensmitglieder nach oben korrigiert werden mussten, um dem
stetigen Einwandern schwaechlicher Kaempfer und geistig noch verwundeter
Chaoten in hoehere Raenge Einhalt zu gebieten.

Ich habe das relativ ungeprueft uebernommen, nachdem diese neuen Anforderungen
von einfachen Mitspielern immer noch mit Leichtigkeit zu erreichen sind.
Arkshat wird die Goetter da schon auf seiner Seite haben.


-----------------------------------------------------------------------------



Elementare Kraftakte (Gloinson,  3. Dez 2011, 01:10:42):
Lembold und Kandri haben in gemeinsamen Anstrengungen geschafft, die
Widersprueche zwischen Elementarsphaere und -schild vorerst ein wenig zu
baendigen. Ob dieser Zustand andauern wird oder ob sie im Sinne des Ordens
ihre Kraefte lieber anderen Zielen widmen wird sich in den naechsten Monaten
zeigen muessen.

Preiset die Goetter!


-----------------------------------------------------------------------------



Daemonen und Untote (Gloinson,  7. Nov 2012, 17:11:45):
Brueder und Schwestern im Glauben, einige Daemonen und Untote haben einen Weg
gefunden, sich vor den Augen der Goetter zu verschleiern. Sie sind zwar direkt
als Daemon ansprechbar, aber ein maechtiger, von heidnischen Zauberern
gewirkter Klassifizierungszauber erlaubt es ihnen, der Macht von "erloese",
"schaetz", "praesenz" zu entgehen.

Bitte meldet solche eigenartigen Wesen mit "fehler" an die zustaendigen
Magier.

Leider wirken sich solche Verschleierungszauber auch direkt auf manche
Krankheiten und sogaqr Gifte aus. Solltet ihr bemerken, dass eine Krankheit
oder ein Gift ploetzlich nicht mehr durch "kuriere" oder "entgifte" zu heilen
ist, wendet euch im Notfall am besten direkt an einen Erzmagier, damit dieser
zuegig Saphina unter die Arme greifen kann.


-----------------------------------------------------------------------------



Re: Daemonen und Untote (Gloinson, 10. Nov 2012, 13:50:50):
~#! rn=Gloinson rt=1352304705 rg=gilden.klerus
~#! tid=1352304705
Hallo,

es ist uebrigens keineswegs ein Fehler, dass etliche Daemonen (also Wesen, die
durch "erloese", "praesenz" und "schaetz" als solche entlarvt werden) nicht
als Daemon ansprechbar sind (keine Id "daemon" besitzen). Das ist ein ganz
normaler Taeuschungsversuch ueber ihre Natur - wenn euer "erloese" sie hart
trifft, ist er sogar ganz offenbar misslungen.


-----------------------------------------------------------------------------



Ausdauernde Gebete (Gloinson,  9. Jan 2013, 20:59:26):
Das ausdauernde Gebet ist ab jetzt nur noch Glaeubigen verfuegbar, die eine
entpsprechende Eingabe, err, Hingabe vorweisen koennen. Es gab wohl
Irritationen in der Schar der Juenger ueber den sinnvollen Einsatz.


-----------------------------------------------------------------------------



Heilung (Gloinson, 22. Jan 2013, 19:59:07):
Saphina betrachtet Heiler mit Wohlwollen und loest ab nun die zeitliche
Verbindung zwischen Heiltrank und Heilung.

Danket Moonshine fuer ihre intensiven Gebete.

Weitere Neuigkeiten: Arkshat wird aelter und intoleranter.


-----------------------------------------------------------------------------



Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 24. Feb 2013, 17:25:26):
Hi, einem gerade entstandenen Diskurs zum Thema "Sonderheilung", konkret dem
Entgiften von "Sondereffekten" (nicht dem Entgiften, das man auch als normaler
Spieler als Questbelohnung erhaelt) und dem Entfluchen, moechte ich zur
Diskussion und Feedback anregen.
Als Spieler (!=Klerusgilde mit entsprechendem Zweig) ist man aufgeschmissen,
wenn man keinen "passenden" Kleriker "zur Hand" hat und mit einem toedlichen
Gift oder Fluch belegt wird. Das kommt nicht allzu haeufig vor, wird aber bei
Nichtvorhandensein von Klerikern i.a. zum Tod fuehren, da ein Ausloggen das
unvermeidliche Ende oft selbst herbeifuehrt (ICH weiss das gut!). Meine
Meinung: Da muss man durch. Allerdings stand ich auch schon haeufiger herum
und wuenschte mir, es gaebe mehr anwesende Kleriker, die mir dann helfen
koennten. Da sie nicht aus dem Boden zu wachsen scheinen (dazu komme ich
gleich), waere eine Reaktion: dann lassen wir es die vielen NPC, die eh
Heilstellen sind, erledigen. Das koennte man tun, das hat imho aber mehrere
Folgen: Es ist noch spassloser, entsprechende Skills als Kleriker zu ueben,
die keiner braucht ... und wozu brauche ich einen Kleriker dann noch gleich?
Ausserdem (fragt nicht mich, was ich dann tun wuerde) koennten Magier sich
dann sagen, achne, dann lieber ueberhaupt nicht mehr kennzeichnen. Nicht
falsch verstehen, spannungsloses Toeten finde ich auch dumpf. Aber billiges
(Geld ist kein knappes Gut fuer die betrachteten Metzelumgebungen)
Entgiften/Entfluchen beim Heilchinesen um die Ecke kann ja auch nicht die
Reaktion sein. Und die Klerusgilde waere eines weiteren Sinns beraubt. Waere
schade.
Ich sehe vor allem eine Loesung, die leider nicht "mal eben" gemacht ist:
Attraktivitaetssteigerung der Klerusgilde. Deshalb auch meine Frage: warum ist
das Spielen der Gilde (als Ersti!) eher unattraktiv? Zu schwer zu erreichen?
Zu oedes Aufsteigen? Geht es zu schnell? (Kaempfer finden viele toll, aber es
braucht schon seeeehr lange bis GL23, trotzdem kommt es besser an) Sind
Solo-Kleris zu schwach? (Ausser an "gewissen" Gegnern) Fehlen tolle Sprueche?
Also: was hindert einen Spieler daran, sich als Erstspieler fuer einen Kleri
zu entscheiden? Vielleicht nur das Role Model? Flair?
Nebenbei bemerkt: ich finde, dass das Fehlen von NPC-Entfluch/Entgifte
Moeglichkeiten nicht automatisch zur Zurverfuegestellung von entsprechenden
Moeglichkeiten fuehren muss. Oder sollte "teile brieseltrim mit schutzhuelle"
gehen? (okok, Polemik).
Bitte um Meinungen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Sonderheilung der Kleriker: Entgiften, Entfluchen (Gloinson, 24. Feb 2013, 17:38:04):
~#! rn=Ark rt=1361723126 rg=gilden.klerus
~#! tid=1361723126
Klerus hat kolportiert zu wenig BPS (Bumms per Second). Das wird sich sicher
auch nicht aendern (*), Kleriker ist man eher aus Ueberzeugung heraus.

(*) Morgoth hat einige beschraenkte Sprueche eingebaut, die nicht wirklich
gelockt haben (sehen wir von "leid" mal ab) und seit Humnis Gilden-EM-Zeit
sind Schutz und Heilung des Klerus wirklich um einiges maechtiger geworden.
Das aber lockt auch nicht genug, wenn man nicht Gadgets schleppt ist man als
Kleriker oft auf Assistenz beschraenkt.


-----------------------------------------------------------------------------



Re: Re: Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 24. Feb 2013, 17:51:45):
~#! rn=Gloinson rt=1361723884 rg=gilden.klerus
~#! tid=1361723126
Ich glaube ja auch *meinung* dass die nach Perfektion strebenden Gilden K*,
Z*, D*, C* und T* entweder im Spellbook oder durch Items so stark sind, dass
sich weitere kampfkraftunterstuetzenden Sprueche sich irgendwie eruebrigen.
Und Downsizing gaebe wieder Geschrei. Auf der anderen Seite mache ich mir
keinen Hehl daraus, was passieren wird, wenn Zwerg Kunz durch
Patschhandauflegen jeden Fluch beseitigt.
Schaun wir mal.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Sonderheilung der Kleriker: Entgiften, Entfluchen (Knar, 25. Feb 2013, 10:32:02):
~#! rn=Ark rt=1361724705 rg=gilden.klerus
~#! tid=1361723126
Hallo allerseits

Um die Frage von ark nach der Attraktivitaet der Klerusgilde zu beantworten:
Ueblicherweise betrachtet man einen Kleriker als Fels in der Brandung, der
zwar wenig schaden macht, dafuer ewig und 3 tage als blocker bei einem gegner
stehen bleiben kann.

Tatsache ist, das dies derzeit einfach nicht der Fall ist.
Die Heilungskraefte die man von der Gilde bekommt, sind kaum nennenswert (ich
spreche hier nicht vom Heiltrank den man erst als Seher bekommt, da man als
Erstspieler auch gerne die Gilde vom Beginn an spielen moechte und nicht in
einer anderen Gilde Seher werden will.

Die Heilungen die man von mobilen Tanken bekommt sind einfach 8-10 x staerker
als die Spells der Gilde.

Also entweder mobile Tanken extrem abwerten (#Aufschrei), oder
Heilungsfaehigkeiten aufwerten (und ich mein hier nicht nur vielleicht 10%
mehr oder so, da fehlen ganze 10er Potenzen)

Achja nochwas zur Attraktivitaet, die Gildenseiten haben den Charm der
Karategilde (das ist kein Lob).

Ich hoffen niemanden auf die Fuesse getreten zu sein.

Liebe Gruesse

Knar

-----------------------------------------------------------------------------



Re^4: Sonderheilung der Kleriker: Entgiften, Entfluchen (Humni, 25. Feb 2013, 10:41:03):
~#! rn=Knar rt=1361784722 rg=gilden.klerus
~#! tid=1361723126
Hmm. Hast Du das (recht neue - klar, schon paar Jahre...) Heilen im Team aus
der 2. Reihe mal probiert?

Und aus den Spielen, die ich so kenne (WOW, Guild Wars I, DSA...) sind
Kleriker nicht unbedingt der Fels in der Brandung, sondern "Stoffies". Sprich,
die halten sich eher im Hintergrund und zaubern.

Ist jetzt aber ein anderes Problem.

(Bei DSA mein ich jetzt keine Rondra-Geweihten ;-) )

Gegen boese Gegner haben aber auch im MG die Kleriker einen ordentlichen,
gestaffelten Schutz (elementarsphaere und heiligenschein sind schon richtig
gut, zumindest, wenn ich da den Leuten vertraue, die oefter mal z.B. die Hydra
hauen).

Humni

-----------------------------------------------------------------------------



Re^5: Sonderheilung der Kleriker: Entgiften, Entfluchen (Bugfix, 25. Feb 2013, 11:40:38):
~#! rn=Humni rt=1361785263 rg=gilden.klerus
~#! tid=1361723126
Moin,

Kleriker haben starken Schutz, ja. Das gilt halt nur fuer Gegner, die Boese
sind, boesen Schaden machen oder eine der Schadensarten gegen die es
Elementarschilde gibt machen. (Kandri Hohepriester mit Schutzhand sind da
nochmal was anders, weis ich ...)

@Helung: Das man als Spieler die starken Faehigkeiten einer Gilde nicht
voellig ausspielen kann ist jetzt kein Klerikerproblem ...

BF

-----------------------------------------------------------------------------



Re^5: Sonderheilung der Kleriker: Entgiften, Entfluchen (Gloinson, 25. Feb 2013, 15:10:47):
~#! rn=Humni rt=1361785263 rg=gilden.klerus
~#! tid=1361723126
> Hydra

Die ist aber immer und immer wieder speziell. Saemtliche Schutzanrufungen, von
Giftschwaechung und Sonnenschutz mal abgesehen wirken bei der Hydra super.
Weil die Hydra nicht veraendert wurde, hat sich ja sogar der Heiligenschein
veraendern muessen.


-----------------------------------------------------------------------------



Re^6: Sonderheilung der Kleriker: Entgiften, Entfluchen (Humni, 25. Feb 2013, 18:05:03):
~#! rn=Gloinson rt=1361801447 rg=gilden.klerus
~#! tid=1361723126
Schon richtig. Aber gerade das ist was, was ich an sich gut finde: Eine Gilde,
die in einer bestimmten Situation ueberragend ist, sonst eben nicht.

Dass andere immer einen Top-Schutz haben ist mir auch bewusst.

Humni

-----------------------------------------------------------------------------



Re^7: Sonderheilung der Kleriker: Entgiften, Entfluchen (Bugfix, 25. Feb 2013, 18:09:00):
~#! rn=Humni rt=1361811903 rg=gilden.klerus
~#! tid=1361723126
Dazu kommt ja, dass sie mit dem Abbild nen Schlagfaenger haben. Und je nach
Zweig dann als Erleuchteter Schutzhand (was n super Schutz is), den
Schutzengel (der ebenfalls extrem vorteilhaft fuer die eigene Verteidigung
ist) oder eben Heiltrank (zu dem ich wohl nix sagen muss).

Und das Argument, dass das ja nur begrenzt viele Leute sind, die erleuchtet
werden koennen, hebel ich mal aus, bevor es faellt. Es gibt naemlich nichtmehr
so viele Kleriker, dass das ein Problem waere.

(Nur als Nachtrag zu meinem letzten Artikel, fiel mir grad durch Humnis
Artikel ein.)

BF

-----------------------------------------------------------------------------



Re^8: Sonderheilung der Kleriker: Entgiften, Entfluchen (Gloinson, 25. Feb 2013, 19:01:58):
~#! rn=Bugfix rt=1361812140 rg=gilden.klerus
~#! tid=1361723126
Wobei ich immer mal im Hinterkopf habe, die Rotation der Erleuchtete erhoehen
zu wollen. Ich hatte nur noch keine nette Idee, das dynamisch an die Aktiven
anzupassen.


-----------------------------------------------------------------------------



Re^6: Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 25. Feb 2013, 19:53:28):
~#! rn=Gloinson rt=1361801447 rg=gilden.klerus
~#! tid=1361723126
Wahlloser Reply auf den Artikel, weil mir grad einige Grobideen durch den Kopf
schwirren:
- Spruch Genesung:
Heilt alle Krankheiten, Gifte UND Flueche der Gruppe (Anwesenheit beim Kleri),
Kosten und Schwierigkeit/Stufe TBD
- Spruch Rache der Natur:
Wandelt Hammerschaden in Eis/Wasser/Luft um, sobald man sich in der Umgebung
dieser Elemente befindet (nein, Feuer, Saeure, Blitz, etc. sind absichtlich
weggelassen, soll kein Kaempfer Allrounder werden) (und ja, muessen Raeume
nachgeruestet werden)
- Spruch Leichenhast:
Damit belegte Gruppenmitglieder verkuerzen ihre Todessequenzen/-folgen um bis
zu 50% (ist eigentlich eine Idee fuer die Magusgilde, aber bei sich selbst
klauen ist erlaubt :-))

... to be continued ... maybe :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Sonderheilung der Kleriker: Entgiften, Entfluchen (Gloinson, 25. Feb 2013, 20:01:13):
~#! rn=Ark rt=1361818408 rg=gilden.klerus
~#! tid=1361723126
So etwas wie "Leichenhast" ist seit einer geraumen Weile drin. Mangels aktiver
Klerikerbeteiligung faellt das eben aber nicht auf.


-----------------------------------------------------------------------------



Re^8: Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 25. Feb 2013, 20:01:51):
~#! rn=Gloinson rt=1361818873 rg=gilden.klerus
~#! tid=1361723126
I'll be ... start the Propaganda :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 25. Feb 2013, 20:04:51):
~#! rn=Ark rt=1361818911 rg=gilden.klerus
~#! tid=1361723126
Wie sagt man im MORPG Sprech? "Need" ... "Sind sie langwieriges Rumstehen nach
dem Ableben beim Drachengott leid? Koennen sie die frufes nicht mehr hoeren
"Kann nicht, hab noch Folgen" "Wo bin ich gestorben" "Seid ihr noch dran"?
Dann zoegern sie nicht und ordern sie den Superkleri."


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Sonderheilung der Kleriker: Entgiften, Entfluchen (Gloinson, 25. Feb 2013, 22:58:58):
~#! rn=Ark rt=1361819091 rg=gilden.klerus
~#! tid=1361723126
Das Feature ist jetzt uebrigens schon seit ueber einem Jahr angeschlossen. Die
Zeit vergeht so schnell ;)

Zwischenfazit:
Bei BPS kann ein Kleriker nicht mithalten, er ist eben ein kleiner Panzer
(gegen die richtigen Gegner). Das macht ihn zum Alleinspielen eher etwas fuer
Freunde des Ordens.

Kleriker bieten Schutz und Heilung: aber Heilung ist "schlecht", weil sie auf
Initiative des Klerikers geschieht, was dem fortgeschrittenen Mitmetzler nicht
passt, er moechte idealerweise bestimmen wann der Drops gelutscht ist und
nicht in Teamspeak winseln. Humni testet momentan in anderen Gilden das
Heilung-ueber-Zeit-Konzept, das schon eher Richtung einer berechenbaren Aura
geht. Goettliche Trigger und Heilung ueber Zeit sind auch fuer den Klerus
denkbar.

Die eigentliche Frage ist aber weiter: wer spielt gern nur Unterstuetzer?
Abgesehen von denen, die halt sowieso gern Klerus spielen.


-----------------------------------------------------------------------------



Re^11: Sonderheilung der Kleriker: Entgiften, Entfluchen (Ark, 26. Feb 2013, 00:40:22):
~#! rn=Gloinson rt=1361829538 rg=gilden.klerus
~#! tid=1361723126
Hm, forderst Du jetzt Gegner, bei denen man Superheilkraefte instantan in
Massen braucht? Koennte man einrichten :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Sonderheilung der Kleriker: Entgiften, Entfluchen (Vector, 26. Feb 2013, 00:44:35):
~#! rn=Ark rt=1361835622 rg=gilden.klerus
~#! tid=1361723126
etwa so?

>heile gloinson
Gloinson hat keine Heilung noetig.
>heile gloinson
Gloinson hat keine Heilung noetig.
>heile gloinson
Eine  Leiche lebt doch nicht!

-----------------------------------------------------------------------------



Re^11: Sonderheilung der Kleriker: Entgiften, Entfluchen (Felbo, 26. Feb 2013, 02:12:06):
~#! rn=Gloinson rt=1361829538 rg=gilden.klerus
~#! tid=1361723126
Mir wuerde mehr Teamplay gefallen: Man sollte je nach Gegner mehr auf die
Teamzusammenstellung achten muessen, durch Gebete koennte man Kleris
anpingen sich zu beteiligen (mehr Rollenspiel als kwer gilde klerus),
verbesserte Anzeige wer grad blind, verflucht, verfroscht ist, wessen
segnung/schutzhand abgelaufen ist (nur im Team). Manchmal mcht ich das Abbild
auch in die erste Reihe stellen koennen und selbst hinten bleiben, ein
autoheile analog zum autokampf waer was bei all dem scroll. Alternativ eine
generische Bezeichnung der Teammitglieder damit ich nicht jedesmal die
F-Tasten umbelegen muss.
Fuer die Single-Player entfluchung: "Der Taler in der Kasse klingt, die 
Seele aus dem Feuer springt". Wenn denn doch kein Kleri da ist, sollte man
zumindest in den Orden laufen muessen und seine uhm Hingabe beweisen :)
Und die Goetter haben auch nur einmal am Tag Zeit.

Als Erstie und notorisch neugierig war die Ueberlegung damals eher, wie
ueberlebe ich am besten wenn ich mich mal wieder mit einem Monster uebernehme.
Auch erschien es mir eher rollenspieltauglich (s. traue). 

Kleris gibts genug, weil fast jeder noch einen entsprechenden Zweitie
einloggen koennte, wenn er nur Bescheid wuesste dass Hilfe gebraucht wird
(wieso fragt eigentlich nie einer auf der Ebene???).

Die Verkuerzung der Todessequenz ist eine prima Idee, moechte aber vorschlagen
das an das Begraben zu koppeln, gibts eh schon. Und wer aus versehen die 
Ausruestung mit verbuddelt kann sich immer noch mit dem Willen der Goetter
raus reden.
Bitte keine neuen Spells, lieber in den Feinheiten verbessern und das
Unterstuetzerkonzept beibehalten. Das ist schliesslich nur dann bloed wenn
einen niemand braucht.

-----------------------------------------------------------------------------



Re^12: Sonderheilung der Kleriker: Entgiften, Entfluchen (Anatol, 26. Feb 2013, 07:54:22):
~#! rn=Felbo rt=1361841126 rg=gilden.klerus
~#! tid=1361723126

Das MorgenGrauen ist kein Metzelmud. Die Magier, die die (sehr auf
Zusammenspiel ausgelegten) Trves aus der Traufe gehoben haben, haben
ziemlich lange im HolyMission gezockt. 

Grauenhaftester Code. Aber die "combat.c" dort verdiente ihren Namen.

Bei den geringen Spielerzahlen ist das Thema Teamkampf ohnehin so gut
wie durch. Ich persoenlich find's okay, wenn der Kleriker an sich keine
Kampf- und Rampensau ist, sondern ein Spezialistendasein fuehrt. Kann
(und sollte) ohnehin nicht jeder ueberall brillieren.


-----------------------------------------------------------------------------



ideen fuer klerispells (Arson,  3. Mar 2013, 18:03:48):
hey, eine idee die mir gerade noch gekommen ist:
der kleriker kann einen teamkollegen mit einem spruch beleben, der ihn um z.b.
50 lp heilt wenn er unter 0 geschlagen wird.
z.b. wir gehen zum eistitanen und das ganze team weiss arson ist der der als
erstes stirbt deswegen bekommt er diesen spruch, da arson mit vorsicht 11
drinne steht und sich freut wie lange er mal wieder steht und das alle anderen
schon geflohen sind raecht sich das schicksal natuerlich denn... "hochmut
kommt vor dem fall". jetzt hat arson aber nen supi kleri im team und freut
sich das er evtl. wieder 45 lp hat da der titan ihn auf -5 geschlagen hat. 
natuerlich stirbt arson trozdem aber vielleicht ist der kleri ja so gut das er
dann nechstes mal gleich jemand schlaueren mit dieser "schicksalswaende"
belegt.

lg arson

-----------------------------------------------------------------------------



Re: ideen fuer klerispells (Arson,  3. Mar 2013, 19:45:35):
~#! rn=Arson rt=1362330228 rg=gilden.klerus
~#! tid=1362330228
habe noch mal ueber das problem des klerimangels bei erstis nachgedacht... die
kleris muessen fuer solospieler aktraktiver werden! die meiste zeit metzel ich
alleine, ich freu mich natuerlich immer wenn jemand mitkommt aber wie gesagt
hauptsaechlich bin ich alleine unterwegs. ich denke so geht es den meisten! 
wie waere es z.b. wenn bei weihe der aktuelle schaden der waffe aufgewertet
wird? also egal welcher schadenstyp, nicht nur heiligerschaden. korigiert mich
bitte wenn das schon so ist.

lg lukas alias arson

-----------------------------------------------------------------------------



Re: Re: ideen fuer klerispells (Ark,  3. Mar 2013, 21:50:44):
~#! rn=Arson rt=1362336335 rg=gilden.klerus
~#! tid=1362330228
Ich wollte noch schreiben, sicher ausgenommen unheiliger Schaden ... aber bei
der Gelegenheit ... vielleicht waere ein Pep noch eine unheilige Gottheit, die
entsprechend andere Sprueche zur Verfuegung stellt, allerdings kein
Chaosverschnitt oder -boost, sondern eben eine Variante. Und komme mir jetzt
keiner mit "oede in Variante B", lediglich eine laut gedachte Ueberlegung, den
Kleris etwas Pep einzuhauchen ... nebenbei, es gibt andere Gilden, denen geht
es aehnlich ... Karate, Bierschuettler, etc.
Ich vermute mal, das Hauptproblem sind dann doch die mangelnden Spielerzahlen,
so dass man die Gilde sucht, die optimales BPS in Verbindung mit vorhandenen
Items bietet. Zusaetzliches Itemschreiben waere eine Idee, die ich mal
festhalte.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: ideen fuer klerispells (Gnome,  3. Mar 2013, 22:38:15):
~#! rn=Arson rt=1362336335 rg=gilden.klerus
~#! tid=1362330228
Ich pflichte mal grundsaetzlich bei. Jeder nimmt einen Kleri gerne in
sein Team auf, keine Frage. Aber ein Kleri-Erstie moechte eben nicht
immer nur Beiwerk sein, wie Gloinson schon richtig anmerkte.
Und bei allem Verstaendnis fuers Teamplay und deren Foerderung:
einerseits moechte man schlicht nicht immer und ueberall im Team los,
andererseits lassen einen die anhaltend niedrigen Spielerzahlen eben nicht
zu jeder Tages- und Nachtzeit ein vernuenftiges Team bilden. Und von
Hydra und Pararatten mal abgesehen, bieten einem die meisten anderen
Gilden im Schnitt deutlich mehr Einzelkaempfererfolge.

Was tun? Gute Frage, schwere Frage. Boese Gottheit wie Ark vorschlug?
Zumindest eine interessante Idee. Mehr Schutz auch gegen nicht-boese
Monster? Kann man auch machen. Oder einen offence/defence-modus,
aehnlich der Kaempfer-Taktik, in der man entweder viel BPS macht oder
extrem viel Schutz geniesst?

gnOme

-----------------------------------------------------------------------------



Re^3: ideen fuer klerispells (Ark,  3. Mar 2013, 23:02:14):
~#! rn=Gnome rt=1362346695 rg=gilden.klerus
~#! tid=1362330228
Also das Vermengen von Skills zu einem Einheitsbrei an Gilden, so dass man
sich nur durch unterschiedliche Bumsmechanismen (jaja, zweideutig und
abfaellig, i know) untereinander differenziert, erscheint mir ... ne, dann
lieber Gloinsons Ansatz des Bewahrens, der mir zwar auch nicht so doll
gefaellt *duck* aber immerhin den Kleris noch ein wenig eigenes Flair laesst
... auch wenn es keinen kuemmert. Wer allein losziehen muss/will, der ist dann
mit den Allround Schadensverursachern mit "good enough" Schutz besser bedient,
daran besteht ja heute schon kein Mangel.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: ideen fuer klerispells (Ark,  3. Mar 2013, 23:06:45):
~#! rn=Ark rt=1362348134 rg=gilden.klerus
~#! tid=1362330228
Selbstreply *pfui* die Moeglichkeit von guter Teamheilung hat ja noch nicht zu
kleinen/groesseren Teams gefuehrt, die bessere Heilmechanismen bei aetzenderen
Gegnern erfolgreich einsetzen ... man muss halt offenbar auf einen <bps-gilde>
char verzichten, was schwerer wiegt als mal einen seltener gehauenen Gegner zu
bezwingen. Schadeeee :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: ideen fuer klerispells (Gloinson,  3. Mar 2013, 23:13:20):
~#! rn=Ark rt=1362348405 rg=gilden.klerus
~#! tid=1362330228
Sinngemaess wurde recht frueh im Thread kommentiert, dass die Teamheilung
schlecht sei; ich hab das auch aehnlich aufgenommen. Bei der Staerke der
heutigen tragbaren Tankquellen (und durch Vortanken) ist die Teamheilung
tatsaechlich arg nebensaechlich. Natuerlich koennen wir ueber goettliche
Trigger auf Heilung mit Humni diskutieren (Arson wird eben nicht erst bei 0
sondern bei X HP automatisch geheilt, dafuer muss der Kleriker dreimal Rad
schlagen und fuenfmal anderweitig aktiv sein), aber den selbstbestimmten Drops
werden wir nie schlagen.

Teams: es gibt genug aktive Teams. Die werden aber einfach oft nicht mehr
offen kommuniziert. Man gelangt oft in Team nur dann hinein, wenn man die
Leute eh schon kennt oder selbst anspricht.


-----------------------------------------------------------------------------



Re^3: ideen fuer klerispells (Ogar,  4. Mar 2013, 00:02:03):
~#! rn=Gnome rt=1362346695 rg=gilden.klerus
~#! tid=1362330228
Wie waer's mit einem "predige", das manche NPCs dazu bringt, dem Kleriker zu
folgen? Verbessert die Offensive, ein paar mehr Sprueche des Klerikers
finden auch ohne Team ein Ziel und passt IMHO zum Flair einer Kleriker-Gilde.
Da auch die Defensive gestaerkt wird, muesste man sie vielleicht zum Ausgleich
an anderer Stelle etwas zurueckdrehen.

Mit einer entsprechenden Auswahl an NPCs duerfte auch fuer Abwechslung
gesorgt sein. Natuerlich levelabhaengig und mit Malus, wenn man immer mit
den gleichen loszieht (bzw. Bonus bei einem NPC, der schon lange nicht mehr
an der Seite eines Klerikers kaempfen durfte).

Ogar

-----------------------------------------------------------------------------



Re^4: ideen fuer klerispells (Gloinson,  4. Mar 2013, 00:33:38):
~#! rn=Ogar rt=1362351723 rg=gilden.klerus
~#! tid=1362330228
> predige und folgende NPCs

Die Zauberer hatten/haben diese Idee mal gehabt und die Unvorbereitetheit des
MUDs auf die Konsequenzen (aggressive NPC in Anfaengerraeumen) hat dazu
gefuehrt, dass standardmaessig NPCs nicht "entfuehrbar" sind. Bei den aktuell
etwa 3k geladenen NPCs in Raeumen gilt das zB fuer 90% aller dieser NPCs.


-----------------------------------------------------------------------------



Re^5: ideen fuer klerispells (Gnome,  4. Mar 2013, 01:03:10):
~#! rn=Gloinson rt=1362353618 rg=gilden.klerus
~#! tid=1362330228
Da koennte man ja mal ansetzen und die 90% drastisch reduzieren wollen.
Und mit ein wenig Arbeitseinsatz und einigen sicherlich noetigen
Ausnahmen haette man viele Fliegen ("bezaubere", "feuerwalze" und dann
ggf. "predige") mit einer Klappe geschlagen.

gnOme

-----------------------------------------------------------------------------



Re^5: ideen fuer klerispells (Ogar,  4. Mar 2013, 01:11:29):
~#! rn=Gloinson rt=1362353618 rg=gilden.klerus
~#! tid=1362330228
Ich hatte bei "predige" an ein paar Handvoll speziell ausgewaehlter NPCs
gedacht. Diese NPCs wuerden idealerweise auch von ihrer Story her dazu passen.
Ihre Auswahl waere so selektiv wie das Verteilen von Waffenschlag-Boni.
Ausserdem waere es nicht zu viel verlangt (und ich vermute, auch nicht weiter
schwierig), wenn sie sich im Gefolge eines Klerikers zu benehmen wissen und
nur angreifen, was der Kleriker angreift.

Ogar (wedelt wild mit einem "Wir brauchen mehr Tempelritter!"-Faehnchen)

-----------------------------------------------------------------------------



Re^6: ideen fuer klerispells (Ark,  4. Mar 2013, 01:20:56):
~#! rn=Gnome rt=1362355390 rg=gilden.klerus
~#! tid=1362330228
Nun, das Mitgeben eines "kaempfenden Helfers" unterliegt heutzutage noch einer
Balance (egal Objekt- oder Gildenbalance, wie auch immer). Wenn es ein (nicht
aggressiver) "Helfer" sein soll, dann muss man den sich nicht nur folgen
lassen, sondern auch als Verteidiger eintragen, sonst passiert nuescht. Nun
stelle man sich die breite Masse der NPC vor, da wird es sehr schwer sein,
numerische Grenzen zu ziehen, wann so einer unbedenklich mitlaufen und
verteidigen (nennen wir es doch ehrlicherweise mitangreifen) darf.
Und wir Magier sind ja wirklich durchgeknallt, von (ich uebertreibe sicher nur
leicht) NPC mit grossem Verteidigungswert und hoher, vielfaeltiger Resi bei
gleichzeitig niedrigem Angriffswert bis hin zu winzigen, leicht zu toetenden,
aber atombombenartigem Angriffswert besitzenden Muecken gibt es ... vieles
unueberschaubares.
Und deshalb ist das nicht zu balancieren. Nur das, was eben durch die Balance
geht. Also wuerde der Spruch einen eng umrissenen Umfang an neuen NPC haben.
Oder irre ich?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: ideen fuer klerispells (Gloinson,  4. Mar 2013, 01:23:03):
~#! rn=Ogar rt=1362355889 rg=gilden.klerus
~#! tid=1362330228
Eigentlich also nur einen Daemonen, damit man sich auch in die dritte Reihe
stellen kann ...


-----------------------------------------------------------------------------



Re^6: ideen fuer klerispells (Ark,  4. Mar 2013, 01:23:56):
~#! rn=Ogar rt=1362355889 rg=gilden.klerus
~#! tid=1362330228
Tempelritter? Fein ... ich glaub Untote sind fuer "predigen" weniger zu haben,
dito Tiere aller Art *verstaendnislos-die-Ohren-spitz*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: ideen fuer klerispells (Gloinson,  4. Mar 2013, 01:25:49):
~#! rn=Ark rt=1362356456 rg=gilden.klerus
~#! tid=1362330228
Die Frage ist halt auch: was soll der Kleriker fuer so einen Begleiter
bezahlen? Zehn Team-Vollheilungen? Immerhin gibt es im Zweig Lembold schon
Begleiter gegen schnoede KP, wenn die Goetter das fuer alle Kleriker
freigeben, wieso nicht auch gleich die Schutzhand fuer alle ...


-----------------------------------------------------------------------------



Re^7: ideen fuer klerispells (Gnome,  4. Mar 2013, 01:43:16):
~#! rn=Ark rt=1362356456 rg=gilden.klerus
~#! tid=1362330228
Moeglicherweise waere es leichter zu balancieren, wenn der NPC "nur"
Schlagfaenger spielt? Weitere Einschraenkungen waeren zB nur eine sehr
begrenzte Folgschaft, je groesser/boeser der letzte NPC war, umso groesser
die Pause, weil der Kleri erst wieder Ueberzeugungskraft sammeln muss, die
LP des Monsters koennten generell durch 10 geteilt werden, etc. pp.
Ich finde es zumindest eine interessante und verfolgenswerte Idee.

gnOme

-----------------------------------------------------------------------------



Re^8: ideen fuer klerispells (Anatol,  4. Mar 2013, 07:50:18):
~#! rn=Gnome rt=1362357796 rg=gilden.klerus
~#! tid=1362330228
Koennen wir nicht die Anti-Snoop-Diskussion wiederhaben? Oder eine
Script-Disskussion neu aufleben lassen? Oder ueber das Schwertmeistersch...

Ach, "Meine Gilde muss schoener werden!" ist einfach schon wieder dran?


Maedels, die Diskussion hat keinen Mehrwert. Hatte sie schon vor Jahren
nicht. Der Klerus ist "maechtig" genug, um dem Kleriker zu ermoeglichen, 
alle fuer Quests noetigen Kaempfe alleine zu meistern. Und vielleicht 
auch ein bisschen mehr. 

Alles, was darueber hinaus geht, ist Kuer. Kann man schaffen koennen,
muss man nicht. Letztendlich ist der Uebergang von "Kann ich alleine"
zu "Brauch ich ein Team fuer" eher fliessend und auch von Kram abhaengig
wie Ausruestung oder gar persoenliches Spielvermoegen.

Wenn es wenig Ersties in der Gilde gibt, ist die Gilde an sich einfach
nicht so beliebt. Erstspieler mit Krampfhaft Kampfkraft! locken zu wollen,
ist so herrlich absurd, dass sich nicht mal ein Clown-Vergleich aufdraengt.


So, may we have the next slide, please?


-----------------------------------------------------------------------------



Re^9: ideen fuer klerispells (Gnome,  4. Mar 2013, 10:58:35):
~#! rn=Anatol rt=1362379818 rg=gilden.klerus
~#! tid=1362330228
Anatol, in Deinen Augen bin ich vielleicht ein Jungspund, in meinen Augen
bist Du aber schon seit Jahren tot, wenn ich Dich so reden hoere.
"Die Diskussion hatten wir schon, bla, die auch, blubb, koennen wir bitte
 ans Ende springen?" Klar, koennen wir. Lasst uns das Mud zumachen, dann
haben wir alle Probleme geloest und belaestigen Dich auch nicht mehr
mit diesen leidlichen Diskussionen.

Manche Diskussion mag wirklich ueberfluessig sein (mir faellt gerade keine
ein, aber es gibt bestimmt welche), doch das Thema "(m)eine Gilde soll
schoener/interessanter/bunter werden" ist eine der elementarsten und
wichtigsten, die es hier gibt. Abgesehen von einer mehr oder weniger
ausgepraegten Schizophrenie, die bedingt durch Zweities fast jeder hier
hat, definiert man sich doch in erster Linie ueber die Gilde des
Erstspielers, nicht ohne jedoch kein Interesse fuer die anderen zu haben,
jedenfalls geht es mir so.

Summa summarum: Gildenveraenderung - in Maszen - tut not; sei es, um Spieler
zu halten, sei es, um neue Spieler anzulocken. Das kann mit neuen Kampf-
kraftdimensionen und neuen Raeumen geschehen (Chaos) oder gleich mit neuen
Zweigen (Trves), oder auch mit Faehigkeiten, die mir im Kampf alleine einfach
neue Moeglichkeiten des Verteidigens oder Angreifens ermoeglichen.
Ich fuer meinen Teil moechte keine auf ewig statische Gilde. Ich haette
irgendwann das Gefuehl, dass ich mit dem Spiel "durch" waere und nur noch
einloggen, wenn ein neues Gebiet angeschlossen wird.

Dass man dieses Thema / diese Wuensche nur relativ begrenzt nachvollziehen
kann, wenn man dem sicheren Seherhaus kaum den Ruecken kehrt, liegt in der
Natur der Sache.


gnOme

-----------------------------------------------------------------------------



Re^9: ideen fuer klerispells (Gloinson,  4. Mar 2013, 13:49:45):
~#! rn=Anatol rt=1362379818 rg=gilden.klerus
~#! tid=1362330228
> Kuer

Die findet hier auch statt. Humni und ich reden da so im Zweijahrestakt
drueber (ich bin beim Lesen des Logs auch oft verwundert, wieviel Zeit
zwischen Aenderungen liegt).

Der Ausloeser des Threads war ja nicht "BPS-Erhoehung" sondern "Kleriker
heilen, wieso nimmt die keiner?!" Fuer meinen Teil habe ich meine Antwort fuer
die Frage gefunden. Bisher auch eher unwidersprochen. Neue Spells sehe ich
weniger als Heilmittel: neue Spells sind nur Teil der Kuer und ich notier mir
auch Dinge, die mir gefallen fuer diese Humni-Mail-a-Mails.

(Jaja, ich sehe jetzt auch erst, dass sich die Kopfzeile da oben seit Ark
Artikel geaendert hat. Kann passieren.)


-----------------------------------------------------------------------------



Re^8: ideen fuer klerispells (Ark,  4. Mar 2013, 20:59:32):
~#! rn=Gloinson rt=1362356749 rg=gilden.klerus
~#! tid=1362330228
Eine andere, nicht naeher genannte "Antipodengilde" der Kleriker, comes to
mind. Schutzengel, Racheengel, Goetterbote ... watt weiss ich. Gibt sicher
sowas, aber da waere evtl. noch Potential.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: ideen fuer klerispells (Sky,  5. Mar 2013, 00:00:02):
~#! rn=Gloinson rt=1362401385 rg=gilden.klerus
~#! tid=1362330228
Sooo mal eben kurz dazwischenlabern...

Um auf das eigentliche Thema zurueckzukommen ("ideen fuer klerispells")


Man koennte z.b. jeder Gottheit eine andere Faehigkeit der Teamunter-
stuetzung zukommen lassen. Zum Beispiel Hp+Mp Heilung, extra Defense und
extra Immunitaet gegen Elementarschaeden.

Um jetzt noch einen Anreiz zu schaffen (grosse) Teams mit dem oder den 
Klerikern zu bilden, sind diese Spells natuerlich um so staerker je 
groesser das Team ist.

Damit koennte man zum einen erreichen, dass nicht nur ein weiterer
"Ich steh den ganzen Tag in der Gilde und buffe meinen Erstie"-Spell 
entsteht und zum anderen ueberlegt sich vielleicht eine Gruppe von 3 
Leuten, lieber noch 2 andere mit zu nehmen und staerkere Team-
unterstuetzung aus den Spells rausholen zu koennen.

Willkuerliches Beispiel zu extra Defense:

Kleriker und ein weiterer Spieler im Team -> +2 AP
Kleriker und zwei weitere Spieler im Team -> +6 AP
Kleriker und drei weiterer Spieler im Team -> + 12 AP
Kleriker und vier weiterer Spieler im Team -> + 20 AP
Kleriker und fuenf weiterer Spieler im Team -> + 30 AP
Kleriker und sechs weiterer Spieler im Team -> + 42 AP
Kleriker und sieben weitere Spieler im Team -> + 54 AP

Wie gesagt, genaue Zahlenwerte hat jemand anders festzulegen, sollte
jetzt nur zur Verdeutlichung sein, wie ein solcher Teamspell mit 
zunehmender Teamgroesse besser wird. Kleriker predigen ja gerne vor
einer grossen Gemeinde und so....

Irgendwo kam auch bereits das Stichwort "Kreuzritter", wobei ich den 
Eindruck hatte das war eher ironisch gemeint. Andererseits,..warum nicht
Kreuzritter?

Kleine Gildenquest einbauen in der man sich ein Kreuzritter-Cape 
zusammenschneidern und fortan als eben solcher durch die Lande ziehen 
kann. Kreuzritterspells natuerlich nur anwendbar solange man sein Cape
anhat, welches man nur alle 24 Stunden an oder ausziehen kann. Klerikerspells
kann der Kreuzritter natuerlich keine casten. ....diesbezueglich haette ich 
noch ein Haufen weiterer Ideen und Anmerkungen aber zum einen will ich niemand
damit nerven und zum anderen stellt sich, zurecht, die Frage "Wer soll das
alles einbauen?" und vorallem "Wer soll das alles denn jetzt noch nutzen?" :)

Und bevor der #Aufschrei kommt von wegen boese Ruestungsspirale, so sei
gesagt, dass ohne Ruestungsspirale die Spieler heute noch versuchen wuerden
mit dem Pony aus der Waldhofquest die Elitewaechter in Para-Moulokin 
niederzureiten.

-----------------------------------------------------------------------------



antwort auf letzten artikel zufaellig :) (Vector,  5. Mar 2013, 11:51:05):

Bevor mann jetzt das dritte Diskussionsthema anfaengt, sollte man vielleicht
wenigstens das erste abschliessen :) Es ging darum, ob und in welchem Umfang
NPC Gildenfaehigkeiten bekommen sollen, speziell das kurieren und entfluchen
der Kleriker.

Klar: Doof, wenn kein Kleriker da ist und man als blinder, verfluchter
Giftfrosch unterwegs ist, die Frage ist, was man den Klerikern noch alles
wegnehmen will. Flueche, Blindheit etc sollen doch in der Tat Einschraenkungen
bleiben und eben nicht beliebig konterbar sein (Brille, Sabberamu etc), dann
kann man naemlich diese "Ereignisse" gleich abhaengen.

Viel eher muss man ein grosses Fragezeichen setzen ueber die Auswuechse, die
diese "Ereignisse" teilweise hinter sich haben. Tagelanges Stehen als
Salzsaeule
(Myung, para2Skelette), an denen sich auch Lvl-9-Kleris im 3er Pack nen
Wolf entfluchen sind doch genauso fragwuerdig wie Flueche, die auch von
mehreren
Kleris nicht vor dem Tod des Verfluchten entfernt werden koennen. (Dann doch
lieber nen ehrlichen Zap). Gleiches gilt fuer Flueche/Krankheiten die nicht
erkannt werden oder Statsabzuege, die reboot-fest sind (Hallo Nars).

Mir ist schon klar, dass man als Magier immer eine "Herausforderung" proggen
will, damit die Spieler Nervenkitzel und Spass haben. Auch klar ist mir, dass 
man als Magier beim Proggen dem NPC lieber nochmal ne Null mehr bei den hands
oder den LPs gibt.
Aber wenn ich als Spieler weiss: Auch mit 3 Klerikern die schon triggerbereit 
an der richtigen Stelle stehen hab ich immer noch eine grosse Chance zu 
verrecken, ist das alles andere als gelungen. Wie gesagt: Dann lieber nen
ehrlichen Zap. (Woher man bei der aktuellen Zweitieregelung und Spielerzahlen
3 Kleris auf einmal herzaubert ist wohl ne Aufgabe fuer sich). 

Wildwuechse zurueckschneiden, NPC so lassen, Kleris haben weiterhin ihren
Sinn und Zweck und man wird nen Tod durch Fluch auch ohne Murren schlucken
und sich in der Todessequenz ueberlegen welchen Kleriker man das Naechste
mal mitnimmt.

-----------------------------------------------------------------------------



Re: antwort auf letzten artikel zufaellig :) (Slax,  6. Mar 2013, 14:02:50):
~#! rn=Vector rt=1362480665 rg=gilden.klerus
~#! tid=1362480665
Bei den ganzen offenen Diskussionsstraengen weiss ich gar nicht, wo ich jetzt
meinen Senf hinknallen soll, also nehme jetzt einfach mal den hier...

Auf mein Gezeter Ark gegenueber wurde die ganze Diskussion vermutlich erst
angeleiert. Es ging dabei um Flueche von gewissen NPC's in einem Gebiet, in
das man sowieso fast nur Solo reinkommt (Wenn ich das richtige sehe, gibt es
eine Wahrscheinlichkeit von 25 %, dass Teamkampf dort ueberhaupt moeglich ist,
eine von 6,25 %, dass man als Team zusammen dort landet, wo es den Fluch geben
kann und eine noch viel geringere, dass der fluchende NPC ueberhaupt
auftaucht...  Wem das jetzt zu verwirrend ist, ueberlese es einfach...).
Jedenfalls ist in diesem speziellen Fall ein Teamkampf ziemlich sinnfrei, da
der geteamte Kleri in sehr vielen Faellen einfach nur dumm rumstehen darf, um
dann irgendwann mal den Fluch vom Metzelkollegen zu nehmen. Eine wirklich
spannende Aufgabe aus Kleri-Sicht... Darum denke ich auch, dass die ganze
Teamkampfdiskussion fuer diesen speziellen Fall, der alles ausgeloest zu haben
scheint, irrelevant ist. (Sinnlos mag sie dennoch nicht sein.)

Nun war es so, dass mich der Fluch weiterhin zu einer Zeit ereilt hatte, in
der sowieso kaum Spieler anwesend waren. Gut, wenn man dann einen
Kleri-Zweitie zuecken kann. (Hat aber auch nicht jeder.) Nicht so toll, wenn
der dann auch nach 15 Entfluche-Versuchen den Fluch auch nicht entfernen kann.
Da muss ich Vector vollkommen Recht geben. Total sinnloser Mist irgendwie,
wenn man nicht mal so eine Chance hat zu ueberleben. Dann kann man wirklich
gleich zappen...

Daraufhin bekam ich dann zu hoeren, dass es wohl der falsche Kleri-Zweig waere
und ich dann wohl Pech gehabt hatte. Hahaha! Totgelacht, ganz ohne Fluch...
Also selbst wenn es mehr Spieler bei den Kleris geben wuerde, muessten die
dann auch noch im richtigen Zweig sein, um ueberhaupt in diesem speziellen
Fall hilfreich zu sein...

Meine Idee war nun ein NPC, wie z.B. der Heiler in Katzmandu, der auch Flueche
bannen kann. Es muss ja nun auch nicht so sein, dass ein solches Entfluchen
einfach nur leicht zu beschaffenes Geld kostet. Zwei Moeglichkeiten hatte ich
vorgeschlagen. Erstens: Der Entflucher koennte in einem Gebiet stehen, das mit
Blockern geschuetzt ist, die man erstmal umhauen bzw vorbereitend umgehauen
haben muss. Zweitens: Das Entfluchen kostet etwas anderes als Geld, das nur
mit Aufwand zu besorgen ist. Beides kann natuerlich auch miteinander verbunden
werden. Wenn ein Spieler-Kleri anwesend und bereit zur Hilfe ist, sollte dies
die einfachere Variante sein. Wenn nicht, ist aber wenigstens die Chance
gegeben, Flueche auch so loszuwerden.

Da die Diskussion sich vom urspruenglichen Thema weg zur Verbesserung der
Kleriker-Gilde gewandt hat, hier auch noch zwei Ideen von mir dazu:

Wenn ein Kleriker einen andere Spieler (nicht NPC und nicht Zweitie) mit
entfluchen, entgiften, kurieren, heilen usw behilflich ist, gibt es dafuer je
nach Staerke der Unterstuetzung Punkte, die der Kleriker aber nicht sieht. Ist
eine bestimmte Punktzahl erreicht, ist random Saphina, Lembold oder Kandri
sehr zufrieden mit diesen Taten und gibt dem Kleriker irgendetwas Tolles, wie
z.B. einen Extraschutz oder Extraschaden fuer eine laengere Zeit oder einen
zusaetzlichen Heiltrank oder einen kleinen Gefaehrten, der mitkaempft oder
Doppelschlag (Schnellkampf) oder was auch immer... Das System der
Punktevergabe sollte nicht allzu durchschaubar sein, weil ich mir gleich
wieder vorstellen koennte, dass sich dann zwei finden, wo der eine sich an
Wurfsternen piekst und der andere ihn heilt, bis ein Extra erscheint - also
vllt sowas in der Art, dass nach 5 mal heilen erst wieder eine random gezogene
andere Unterstuetzung geschehen muss, damit es ueberhaupt wieder Punkte
gibt...

Was mich bei den Klerikern ziemlich nervt, ist, dass man im Kampf keine so
tolle Anzeige wie den Tanjianreport oder den Stabreport der Zauberer hat und
man nie genau weiss, was gerade noch angeschalten ist und was nicht. Bei
mindestens 5 verschiedenen Sachen (Messerkreis, Heiligenschein, Schutzhand,
Weihe und Elementarschild) tipp ich mir immer n Wolf, um das durchzuchecken
und bei wenig KP's bekommt man gar keine Info mehr darueber, selbst wenn es
noch aktiv ist... Ein Kleri-Report waere aus meiner Sicht (kein TF'ler oder
Skriptbastler) daher sehr wuenschenswert.


-----------------------------------------------------------------------------



Re: Re: ideen fuer klerispells (Tin,  8. Mar 2013, 12:53:22):
~#! rn=Arson rt=1362336335 rg=gilden.klerus
~#! tid=1362330228
also, da ich jetzt erst mal einen ueberblick bekommen muss, was ich hier alles
verpasst habe und hier etwas mitlesen, bzw nachlesen muss, sag ich einfach mal
was zu dem artikel von arson:
Ich wuerde es auch ganz gut finden, wenn kleris auch solo irgendetwas umhauen
koennen wuerden. Heilen und so finde ich ja gar nicht so uebel, aber ich denke
kaempfen sollte jedem in irgendeiner weise moeglich sein.
ich weiss leider nicht, wie viele sprueche es gibt, die man im kampf verwenden
kann, um auch schaden anrichten zu koennen, aber gut waere das schon.

gruss
tin

-----------------------------------------------------------------------------



Re^3: ideen fuer klerispells (Anatol,  8. Mar 2013, 14:01:28):
~#! rn=Tin rt=1362743602 rg=gilden.klerus
~#! tid=1362330228
Sie koennen. Es gibt nur einen gewissen Dissens, ob sie allgemein in der
Oberstliga mitspielen koennen muessen oder ob es der Lage genuege tut, 
wenn sie ganz passabel rummsen und nur in etwas spezielleren Situationen 
richtige Kracher sind.


-----------------------------------------------------------------------------



Re^3: ideen fuer klerispells (Ark,  8. Mar 2013, 18:05:26):
~#! rn=Tin rt=1362743602 rg=gilden.klerus
~#! tid=1362330228
Das erweckt den Eindruck, als waeren Kleris voellig doof, hilflos und schwach.
Kleris koennen alleine was umholzen, und wie. Boese bis satanische NPC
besonders gut. Und gewiefte Spieler schaffen Vesray samt Horden allein (nicht
nur Kleriker, ich weiss). Also sag keiner, dass die Luschen waeren, wie immer,
hilft gute MG Kenntnis weiter (schliesst auch NPC ein). Man lernt besonders
beim Scheitern. Vielleicht aber nicht jedermanns Sache, und man verlaesst sich
lieber auf Hoerensagen als auf Ausprobieren. Wahrscheinlich aus der Mode
gekommen (sorry fuer's Laestern) :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: ideen fuer klerispells (Sparkle,  8. Mar 2013, 20:44:37):
~#! rn=Ark rt=1362762326 rg=gilden.klerus
~#! tid=1362330228
Die Staerke eine Gilde duerfte fuer die Gildenwahl von Ersties keine Rolle
spielen.
Wenn man sich fuer eine Gilde entscheidet, ist man weit davon entfernt auch
nur ansatzweise beurteilen zu koennen, wie stark eine Gilde wirklich ist.
Wonach faellt dann die Entscheidung ? Da spielen mit Sicherheit mehrere Dinge
eine Rolle.
Zum einen sind die meisten Spieler durch andere Spiele vorgepraegt. Es gibt
nunmal klassische Vorurteile, wie Kaempfer, Kleris usw eben sind.
Kleris sind in den meisten Spielen REINE Supporter. Sie koennen alleine nicht
wirklich bestehen, stehen hinter anderen und heilen.
Das trifft auf unsere Kleris nun eher weniger zu. Sie koennen sehr gut alleine
losziehen.
Wie kann man nun die Klerikergilde attraktiver machen ?
Zum einen sind da die Informationen auf der Gildenhomepage anzufuehren. Die
machen es im Falle der Kleriker nicht wirklich attraktiv.
Ein weiterer Punkt ist das Gildenhaus. Djelibeby ist ja nun nicht gerade der
Nabel der Pizza. Es gibt eigentlich nichts, was einen Neuling da einfach mal
so hinfuehrt.
Wenn man die Gilde interessanter machen will, muesste man vor allem diese
Bereiche lebendiger machen.
Mehr oder weniger Rumms aendert da nichts.
LG, Sparkle

-----------------------------------------------------------------------------



Re^5: ideen fuer klerispells (Knar, 10. Mar 2013, 06:20:55):
~#! rn=Sparkle rt=1362771877 rg=gilden.klerus
~#! tid=1362330228
Fuer mich (Knar) war diese Diskussion bisher sehr aufschlussreich.
Ich habe erfahren das es die Aufgabe eines Klerikers ist im Team zu spielen.
Auf diese Idee waere ich von alleine nie gekommen.
Ich dachte bisher immer, Kleriker sind dafuer da, dass wenn man im Endgame
nicht mehr
weiterkommt, man sich einen Klerikerzweitie baut, und damit seinen Erstie
unterstuetzt.
Auf die Idee andere Spieler zu unterstuetzen waere ich nie gekommen.
(Andere Spieler wohl auch nicht, ist schliesslich nie ein Kleriker da, wenn
man einen braucht).
*/ ironie off

Ok, Tatsache ist es, das keinerlei Anforderungen der Gilde an eine
Unterstuetzung anderer Spieler vorhanden sind.
Es gibt ein Kerbholz um zu sehen ob man ein Monster schon umgeholzt hat, es
gibt jedoch kein Instrument das einem zeigt, ob man einem Mitspieler schonmal
geholfen hat, und wenn ja wieviel und wie oft (heilung, schutz, was ein
kleriker halt zu
bieten hat).

Hier meine Loesung diese Problems:
Abschaffung der Erstkillpunkte fuer Kleriker -> Dafuer Erstheilungspunkte fuer
Mitspieler.
Abschaffung der Erfahrungspunkte im Kampf fuer Kleriker -> Erfahrungspunkte
werden nur durch Anwendung der eigenen Faehigkeiten auf Mitspieler vergeben,
und zwar je mehr, je weniger man einem Spieler schon geholfen hat (also wenn
man immer seinen Zweitie unterstuetzt bekommt man irgendwann nix mehr davon).
Neuer Zauberspruch der einem Raeume anzeigt, in denen Blut von Mitspielern
vergossen wird (je mehr Blut / Spieler desto hoeherer Spielerlevel
erforderlich) - damit der Kleriker weiss das er eigentlich nicht in der Gilde
sitzen sollte,
sondern er eigentlich wo anders benoetigt wird.
Identifizieren von Fluchstaerken / Krankheitsleveln von Mitspielern.
Wenn jemand eine Lvl1 Krankheit hat, kann jeder das sofort kurieren.
Wenn jemand Lvl10 Krankheit hat, dann ist sofort klar, das wird ein bisserl
schwieriger.

Liebe Gruesse Knar 
(Fordert ausserdem eine Zwangsmitgliedschaft beim roten Kreuz fr Kleriker,
Sowie einen Blutspendeausweiss im RL um in die Gilde aufgenommen zu werden -
ne, nur Scherz).

-----------------------------------------------------------------------------



Re^6: ideen fuer klerispells (Moonshine, 10. Mar 2013, 07:40:37):
~#! rn=Knar rt=1362892855 rg=gilden.klerus
~#! tid=1362330228
Muahahahaa!!

-----------------------------------------------------------------------------



Talisman-Fertigung veraendert! (Gloinson, 10. Mar 2013, 21:26:04):
Der Talisman wird ab jetzt von den Schmieden des Ordens mit neu erlernter
goettlicher Hingabe gefertigt und von Mindra persoenlich im Stammtempel
gesegnet.


-----------------------------------------------------------------------------



Re: Talisman-Fertigung veraendert! (Gloinson, 31. Mar 2013, 20:45:47):
~#! rn=Gloinson rt=1362947164 rg=gilden.klerus
~#! tid=1362947164
Die Schmiede des Ordens haben ihre Fertigkeiten mit Hilfe heidnischer
Osterhasen weiter verbessert und zeigen einen eisernen Willen zum Endspurt.

(Die damit einhergegangenen drastischen Aenderungen in Grundregeln der
 Himmelssphaeren koennten irdischen Auswirkungen: Fehler nach sich ziehen.
 Meldungen an den Schuldigen von Dienst sind willkommen. Geduld auch.)


-----------------------------------------------------------------------------



Re: Re: Talisman-Fertigung veraendert! (Gloinson,  1. Apr 2013, 20:10:05):
~#! rn=Gloinson rt=1364755547 rg=gilden.klerus
~#! tid=1362947164
Danke an Moonshine fuer das Melden einer doch sehr interessanten Problematik
von Anrufungen in Zeit und Raum. Da haben Kandri und Lembold beim Loesen der
Elementar-Anrufungen ein wenig zu uebereifrig den Terminplaner aufgeraeumt ...

Das Layout fuer grosse Gruppen ist jetzt repariert, mit "ende" kann man davon
profitieren. Die Goetter wollen euch nicht nochmal eine Gebetsrunde
ueberhelfen.


-----------------------------------------------------------------------------



Re^3: Talisman-Fertigung veraendert! (Gloinson,  3. Apr 2013, 23:54:13):
~#! rn=Gloinson rt=1364839805 rg=gilden.klerus
~#! tid=1362947164
Ansonsten mal ganz unkryptisch: fuer Saphinas Feature stelle ich mir ein Art
Report im HB vor. Ich habe allerdings noch klaren Ideen, was da wirklich
hilfreich bei der Unterstuetzung von Entscheidungen (zB im Teamkampf) waere.
Moeglicherweise frei definierbare HP-Melde-Grenzen fuer Teammitglieder oder
ausfuehrliche Informationen, wenn deren Schutz erlischt? Vorschlaege nehme ich
gern entgegen (Umsetzung muss ein paar Wochen pausieren).


-----------------------------------------------------------------------------



Re: Talisman-Fertigung veraendert! (Tin,  4. Apr 2013, 18:29:24):
~#! rn=Gloinson rt=1362947164 rg=gilden.klerus
~#! tid=1362947164
des versteh ich net^^  heisst das ich kann meinen jetzt auch von mindra segnen
lassen oder wie?????
***

-----------------------------------------------------------------------------



Re: Re: Talisman-Fertigung veraendert! (Gloinson,  4. Apr 2013, 19:06:11):
~#! rn=Tin rt=1365092964 rg=gilden.klerus
~#! tid=1362947164
Einfach mal den Tali ... begutachten.


-----------------------------------------------------------------------------



Re^3: Talisman-Fertigung veraendert! (Tin,  4. Apr 2013, 19:06:41):
~#! rn=Gloinson rt=1365095171 rg=gilden.klerus
~#! tid=1362947164
aha, ok:)

-----------------------------------------------------------------------------



Re^3: Talisman-Fertigung veraendert! (Gloinson, 24. Apr 2013, 21:24:34):
~#! rn=Gloinson rt=1364839805 rg=gilden.klerus
~#! tid=1362947164
Die Goetter haben Felbos Flehen erhoert und gewaehren nach Neubesorgung eines
Talismans weitere Adverbien fuer Darstellungen.

... und in den Ferien lege ich die Schmiedekunst heidnischen Hohepriestern des
Polars zum Review vor, damit die auch mal weinen.


-----------------------------------------------------------------------------



Webseite: FAQ angepasst (Gloinson, 28. Apr 2013, 20:25:53):
FAQ in MUD und im Web sind auf den aktuellen Stand gebracht.


-----------------------------------------------------------------------------



Teamfeature: Testphase (Gloinson,  2. Jun 2013, 16:32:35):
Hallo,

die Goetter haben mich eben informiert, dass sie Spieler in Teams (von
ausreichender Groesse und Aktivitaet) in Zukunft versuchen werden geistig mehr
zu unterstuetzen.

Testphase. Einige Werte werden eventuell noch nach unten veraendert. So
richtig bemerkbar wird es nur bei echtem Teamplay sein, Meinungen bitte an
mich.


-----------------------------------------------------------------------------



Farben (Gloinson, 12. Sep 2013, 23:39:19):
Falls jemand in naher Zukunft mehr Farben sieht als ihm lieb ist, so moege er
doch bitte Arkshat um Rat fragen, der hat die Sauerei angerichtet.


-----------------------------------------------------------------------------



Re: Farben (Piga, 13. Sep 2013, 12:18:34):
~#! rn=Gloinson rt=1379021959 rg=gilden.klerus
~#! tid=1379021959
Grauenhaft. Vor allem das weiss auf weiss bei spaltung
.. CPiga

-----------------------------------------------------------------------------



Fehlerfix in Ablaufzeiten (Gloinson, 29. Dez 2013, 14:35:56):
Dank Moonshine habe ich nach nunmehr einem Jahr und einem erfolglosen Review
mit einem anderen Magier endlich einen kleinen aber gemeinen (Denk)fehler
gefunden, der dazu fuehrte, dass manche Anrufungen ewig andauerten.

Herzlichen Dank!


-----------------------------------------------------------------------------



Phantom-EK (Arathorn, 13. Feb 2014, 00:54:07):
Hallo zusammen,

wer auch immer einen gewissen, ominoesen, nicht aufzufindenden Erstkill-Tip
"beim Klerus" in seiner Brumni-Liste haben sollte, fuer den lohnt sich
die Suche seit heute wieder.

Arathorn.

-----------------------------------------------------------------------------



Goettermacht-Anzeige (Gloinson, 12. Mai 2014, 02:37:09):
Anzeige waehrend der Abklingzeit war defekt, ist jetzt korrigiert. Preiset
Kandri und den Reboot.


-----------------------------------------------------------------------------



Goettliche Talismanpolieraktion (Gloinson, 21. Jul 2014, 15:53:02):
Leider haben die Schmiede in dieser Uptime wenig Ruecksicht auf die Effekte
des Talismans auf Paralysen genommen, weshalb eine austauschende Hand
notwendig wurde.


-----------------------------------------------------------------------------



Schreikolben und andere vertippte Erleuchtungen (Gloinson, 31. Aug 2014, 23:17:24):
Arkshat hat heute Mindra darueber aufgeklaert, dass eine der Gegenstaende der
Erleuchtetenaufgaben von einem Magier der Ebene repariert wurde und ab jetzt
korrekt benannt ist. Durch diese Reparatur folgend wurde ein gewisser rostiger
Gegenstand auf dem Altar des Tempels auf dem Insel am Ende der Welt nicht mehr
anerkannt und flugs recycled. Das sollte jetzt wieder klappen.


-----------------------------------------------------------------------------



Gewichtige Sachen (Gloinson, 25. Aug 2015, 17:39:39):
Fuer eine kurze und unbekannte Zeit wurden Weihwasser und Leichentuecher aus
des Kaisers neuen Kleidern und linksdrehendem Gegenwasser hergestellt. Dadurch
wogen sie recht wenig und dem haben wir jetzt mal abgeholfen, im Namen der
Goetter, verdammt noch mal!


-----------------------------------------------------------------------------



Bei den Goettern, alles Idler! (Gloinson, 23. Okt 2015, 20:38:12):
Ich hab mal die Mali fuer Abwesenheit/Hohepriesterpostenhalten drastisch
erhoeht. Also auf circa 2 und 1 Promille von vorher quasi nichtexistenten
Werten.


-----------------------------------------------------------------------------



Re: Bei den Goettern, alles Idler! (Sharia, 28. Okt 2015, 00:56:05):
~#! rn=Gloinson rt=1445625492 rg=gilden.klerus
~#! tid=1445625492
kann man das genauer erlaeutern ? :)

-----------------------------------------------------------------------------



Re: Re: Bei den Goettern, alles Idler! (Croft, 28. Okt 2015, 00:59:21):
~#! rn=Sharia rt=1445990165 rg=gilden.klerus
~#! tid=1445625492
Leute die lange offline sind und Leute die schon lange auf dem HP
Posten sitzen sind einfacher zu verdraengen als in der Vergangenheit.
Was muss man da mehr Details wissen?  Denke nicht dass das im 30min Takt
sein wird.

Croft

-----------------------------------------------------------------------------



Ignorieren von Spielern/Anrufungen (Gloinson, 29. Okt 2015, 00:33:39):
Moin,

im Zuge des Grossreinemachens muss man nunmehr die ignorierbaren Anrufungen
"segne", "giftschwaechung" und "laeutere" korrekt ignorieren. Aus rein
technischen Gruenden (Willkuer) haben die Goetter beschlossen, faule Vertipper
und Substantivierungen nicht mehr zu tolerieren und jeden Abweichler von der
korrekten Ignoriersyntax gnadenlos mit Segnungen und Laeuterungen zu
bestrafen, soweit konzentrationspunktbestueckte und willfaehrige Vollstrecker
dieser ihrer grenzenlosen Hochnaesigkeit zu finden sind.

Syntaxtipp: "ignoriere .segne", "ignoriere .segne.klerus", [...]


-----------------------------------------------------------------------------



Re: Ignorieren von Spielern/Anrufungen (Moonshine, 29. Okt 2015, 07:15:52):
~#! rn=Gloinson rt=1446075219 rg=gilden.klerus
~#! tid=1446075219

Laesst sich denn auch ein Spruch (z.B. Segen, Giftschwaechung) nur von
bestimmten Leute ignorieren?

Also aus der Hilfe werde ich nicht so ganz schlau, an sich muesste es ja
ignoriere <spielername>.<spruch> sein, allerdings widerspricht das der
Auflistung zur Einschraenkungs-Auflistung, da wird hiervon nichts erwaehnt.

Mooni - wahrscheinlich mal wieder einfach zu doof.

-----------------------------------------------------------------------------



Re: Re: Ignorieren von Spielern/Anrufungen (Gloinson, 29. Okt 2015, 08:10:37):
~#! rn=Moonshine rt=1446099352 rg=gilden.klerus
~#! tid=1446075219
Die Befehle "ignoriere moonshine.segne" bzw "ignoriere moonshine.segne.klerus"
sollten zB gut funktionieren.


-----------------------------------------------------------------------------



Drimst und seine Kram (Gloinson,  1. Mar 2016, 22:37:19):
Aus aktuellem Anlass hohen Bedarfs hat sich die Paketgroesse bei Drimst mal
wieder erhoeht. Also Skripte anpassen, sonst muesste ihr nur sinnlos ueber
euren Plan hinaus morden, toeten, foltern und ... begraben.


-----------------------------------------------------------------------------



Saphina Lebenskraft (Gloinson,  1. Apr 2016, 00:00:00):
Arkshat wurde soeben von einem grossen boesen Drachen darueber informiert,
dass mit Saphina ab heute nicht zu spassen ist. Ihre Lebenskraft kann
teilweise derart ueberfliessen, dass es an nahestehenden Gegnern zu
ernsthaften Wunden kommen kann. Wohl jedem Glaeubigen, der brav alle seine
Anrufungen gelernt hat.

Ebenfalls fliesst dabei die Nutzung des nunmehr dank Abwesenheit des magischen
Packs frei verfuegbaren Komponentenmaterials ein. Das allerdings erst nach
Erneuerung des Talismans. Dank gebuehrt Morgoth fuer diese vor langer Zeit
umgesetzte Idee.

-----------------------------------------------------------------------------



Notstrom ab jetzt auch Gildenmagier Klerus! (Gloinson,  1. Apr 2016, 12:20:28):
Hallo,

Notstrom macht sich bereits in den Regionen Wald und Wueste unentbehrlich und
wird wohl demnaechst auch noch Polar uebernehmen. Da liegt es - Region Wueste
- natuerlich nahe, dass er ebenfalls die Gilde des Klerus betreut. Einige
seiner Miniquests werden ab demnaechst entsprechend verbindlich fuer den
Aufstieg.

Herzlich Willkommen, Notstrom, als neuer Gildenmagier Klerus. Ich werde mit
meinem Spieler aufmerksam deine neuen Ideen verfolgen.


-----------------------------------------------------------------------------



Re: Notstrom ab jetzt auch Gildenmagier Klerus! (Gloinson,  2. Apr 2016, 14:10:55):
~#! rn=Gloinson rt=1459506028 rg=gilden.klerus
~#! tid=1459506028
Leider hat sich Notstrom total mit den Goettern ueberworfen und musste
geknickt abdanken. Dennoch Dank fuer den Einsatz und natuerlich ist er als
Chorknabe in einem zukuenftigen Leben Arkshat immer gern willkommen.


-----------------------------------------------------------------------------



Re: Saphina Lebenskraft (Gloinson,  3. Apr 2016, 10:57:42):
~#! rn=Gloinson rt=1459461600 rg=gilden.klerus
~#! tid=1459461600
Sharia hat eine fiese Datenluecke im Feature gefunden, die ich leider beim
Nachschieben einer Aenderung uebersehen habe. Entsprechend habe ich auch
Sharias Artikel geloescht, ein paar zu viele Informationen.

Schade, dass es nur Sharia aufgefallen ist. So endet der testende Aprilscherz
fuer mich auf einer saeuerlichen Note. Es ist alles wieder wie vorher.


-----------------------------------------------------------------------------



Re: Re: Saphina Lebenskraft (Tin,  3. Apr 2016, 14:04:27):
~#! rn=Gloinson rt=1459673862 rg=gilden.klerus
~#! tid=1459461600
wir sind ja unaufmerksame kleriker.
tztztz.

-----------------------------------------------------------------------------



Re^3: Saphina Lebenskraft (Sharia,  7. Apr 2016, 21:26:24):
~#! rn=Tin rt=1459685067 rg=gilden.klerus
~#! tid=1459461600
hmmmm sorry Gloinson da ich nix gerafft habe dachte ich, dass es irgendwelche
fakemeldungen sind... die Weisheit und EIngabe unserer Goetter ist ja manchmal
unergruendlich.
fuer saeuerlichkeiten wollte ich nicht verantwortlich  sein.


-----------------------------------------------------------------------------



Re^4: Saphina Lebenskraft (Tin,  7. Apr 2016, 21:30:10):
~#! rn=Sharia rt=1460057184 rg=gilden.klerus
~#! tid=1459461600
was s wa nd a sfur meld eungen?

-----------------------------------------------------------------------------



Re^5: Saphina Lebenskraft (Sharia,  7. Apr 2016, 21:33:16):
~#! rn=Tin rt=1460057410 rg=gilden.klerus
~#! tid=1459461600
ich denke dass ein fehler im spell war und dann mir code angezeigt wurde.


-----------------------------------------------------------------------------



Re^6: Saphina Lebenskraft (Tin,  7. Apr 2016, 21:34:44):
~#! rn=Sharia rt=1460057596 rg=gilden.klerus
~#! tid=1459461600
he u nd ic a b mic gewundert waum so viel mist komt wen ic lebsnkraft uebe...
cid avcte ic ab was kaput gemact...

-----------------------------------------------------------------------------



Re^7: Saphina Lebenskraft (Gloinson,  7. Apr 2016, 21:38:35):
~#! rn=Tin rt=1460057684 rg=gilden.klerus
~#! tid=1459461600
Der Scroll davor war tatsaechlich Mist. Ich hab in letzter Minute was
gebastelt und das dann im falschen Zweig hochgeladen. Der Scroll danach war
eher kein Mist sondern sollte scherzhaft sein, das ist aber sicher
untergegangen. Alles in allem war es auch ein Test ... aber darueber rede ich
mit dem Drachen sicherlich noch ein anderes Mal.


-----------------------------------------------------------------------------



Kleine Ausbesserungsarbeit (Gloinson, 11. Apr 2016, 14:11:43):
Wer von den maennlichen Klerikern noch aehnlich viel kindischen Spass haben
moechte wie ich vorhin bei Notstroms Meldung ueber das Verhalten seines
Diakons, der moege doch mal die Haende weihen (vielleicht noch ein wenig
Zaubererkomponentenen verschwenden) und sich betrachten.

Alle anderen holen einen neuen Talisman :)


-----------------------------------------------------------------------------



Federhaarschuppenallergie (Gloinson,  3. Jul 2016, 23:08:42):
Aufgrund einer starken Allergie eines in die Jahre gekommenen Herren ist die
Gilde ab jetzt haustierfrei, so weit er das ueberblickt.


-----------------------------------------------------------------------------



Re: Federhaarschuppenallergie (Ark,  4. Jul 2016, 21:36:13):
~#! rn=Gloinson rt=1467580122 rg=gilden.klerus
~#! tid=1467580122
Intolerantes Jammerpack! Tierverachtende Lebensfeinde! :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Federhaarschuppenallergie (Chagall,  4. Jul 2016, 21:38:09):
~#! rn=Ark rt=1467660973 rg=gilden.klerus
~#! tid=1467580122
Moment mal, das Jammerpack ist ja wohl immer noch die Kaempfergilde.

MC


-----------------------------------------------------------------------------



Re^3: Federhaarschuppenallergie (Djtom, 23. Aug 2016, 00:56:54):
~#! rn=Chagall rt=1467661089 rg=gilden.klerus
~#! tid=1467580122
PFF von wegen die Kaempfer sind das Jammerpack, waren und werden immer die
Zaubis sein.

-----------------------------------------------------------------------------



Konzentration beim Gebet (Gloinson,  1. Apr 2017, 10:27:04):
Ab sofort bekommen Spieler saechlichen Geschlechts einen starken Bonus auf
ihre Gebete, da sie von ihrer koerperlichen Seite weniger abgelenkt werden.

Wie man den Zustand erreicht, wird als bekannt vorausgesetzt. Weitere Boni
duerften in Zukunft folgen.


-----------------------------------------------------------------------------



Schoenheitsfehler bereinigt (Gloinson, 30. Apr 2017, 02:25:56):
Ab naechstem Reboot/neuem Talisman legt ihr eure Waffe vor dem Aufnehmen der
Geissel aus der Hand. Das ist sehr wichtig, weil die Waffen regelmaessig
Schmutzflecken auf der Geissel hinterlassen haben und Blut, Hautfetzen und
koestlicher Klerikertraenen das einzige sind, was diese benetzen duerfen.


-----------------------------------------------------------------------------



Koerperteile (Gloinson, 25. Mar 2018, 01:35:23):
Hallo,

wem hier und da ein paar Zaehne fehlen sage mir doch bitte mal Bescheid, wo
das geschehen ist, damit ich Saphina Bescheid sagen kann.


-----------------------------------------------------------------------------



teamkampf (Sharia,  4. Dez 2018, 13:24:30):
Ich war schon lange nicht mehr da.....

vielleicht wurde es mir deshalb mal wieder richtig bewusst: wieso stehen zwar
Abbilder im Team, aber man kann diese nicht vor sich stellen? Und wieso ist
der Beistand (Schutzengel, Phoenix) auch nicht im team?

Wenn ich mir da nen Chaoten anschaue (tue ich selten, denn da wird mir immer
so schlecht) der die Kampfreihen im team wechseln kann mit seinem Daemon, dann
frage ich mich wieso das bei uns nicht geht..


-----------------------------------------------------------------------------



Re: teamkampf (Xutelius,  4. Dez 2018, 15:47:04):
~#! rn=Sharia rt=1543926270 rg=gilden.klerus
~#! tid=1543926270
Die Beistand-Frage ist einfach. Sind zwei NPCs im Team und stehen beide vor
dir, bist du von normalen physikalischen Angriffen nicht mehr zu treffen. Ist
also ne Balancing-Frage.

Xutelius

-----------------------------------------------------------------------------



Re: Re: teamkampf (Sharia,  4. Dez 2018, 21:02:04):
~#! rn=Xutelius rt=1543934824 rg=gilden.klerus
~#! tid=1543926270
und das Abbild ? wie gruende ich ein team mit dem Abbild und stell mich
dahinter?

-----------------------------------------------------------------------------



Re^3: teamkampf (Xutelius,  4. Dez 2018, 21:23:25):
~#! rn=Sharia rt=1543953724 rg=gilden.klerus
~#! tid=1543926270
Im Moment gar nicht. ;-)

Xutelius

-----------------------------------------------------------------------------



Re^4: teamkampf (Tizona,  4. Dez 2018, 21:28:17):
~#! rn=Xutelius rt=1543955005 rg=gilden.klerus
~#! tid=1543926270
Chaoten sind aber auch fei^h^h^hviel besser fuer den Fernkampf ausgelegt, weil
die diesen Chaosball haben. Eure Goetter wollen aber, dass ihr den Feinden die
Schaedel zertruemmert, das geht aus der zweiten Reihe nicht.

-----------------------------------------------------------------------------



Re: teamkampf (Gloinson,  5. Dez 2018, 23:31:50):
~#! rn=Sharia rt=1543926270 rg=gilden.klerus
~#! tid=1543926270
Kurze Version: darum ;)

Lange Version: Ich fand das Unterlaufen der Idee, dass Team Boni fuer
Zusammenspielen von Spielern bringt, nicht gut.


-----------------------------------------------------------------------------



Re: Re: teamkampf (Sharia, 10. Dez 2018, 20:03:47):
~#! rn=Gloinson rt=1544049110 rg=gilden.klerus
~#! tid=1543926270
na dann halt nicht .. versteh ich nicht, aber wurscht ....

-----------------------------------------------------------------------------



Grundlose Grausamkeit gegen wehrlose Geschoepfe (Lilka,  6. Apr 2019, 15:39:39):
Nach langen Reisen wollte Lilka Al Dhiran mal wieder in den Tempel von
Djelibeby, ein paar Dinge spenden, mit dem Ordensvorstand sprechen und beten.
Dort jedoch erwartete sie eine sehr boese Ueberaschung. Ihre voellig
friedliche, wohlerzogene kleine weisse Maus wurde unbarmherzig in einen
schrecklichen Kaefig gezogen, den Lilka trotz aller Bitten nicht oeffnen und
mit dem Maeuschen verschwinden konnte. Auch waren die Maschen dieses
Foltergeraetes so eng, dass sie nicht einmal einen Finger hineinstecken
konnte, um das veraengstigte Tier zu beruhigen oder zu troesten. Viel weniger
konnte sie auch nur einen winzigen Happen Futter in dieses graessliche
Behaeltnis stecken, um den Hungertod ihrer kleinen Gefaehrtin zu verhindern.
Niemand erbarmte sich der Not der Beiden, auch konnte sie die Maus nicht auf
magische Weise zu sich rufen, nachdem sie den Tempel verlassen hatte.
Es gab definitiv nicht den kleinsten Ausweg.
Bisher hatte Lilka gedacht, die Chaoten waeren die Grausamen in dieser Welt,
doch nun wurde sie eines besseren belehrt.
Hatten sich die Gruender und Leiter des Ordens komplett vom Guten, vom Licht
abgewandt? War alles Reden ueber Heilung, Rettung der Welt und demuetigem
Dienst an den Goettern nur Heuchelei?
Lilka entschied jedoch, nicht aufzugeben. Sie wuerde alles tun, um das
winzige, ihr anvertraute Leben zu retten. Auch wenn das ihr eigenes ENDE
bedeuten wuerde ...

-----------------------------------------------------------------------------



Re: Grundlose Grausamkeit gegen wehrlose Geschoepfe (Regonna, 11. Apr 2019, 17:57:25):
~#! rn=Lilka rt=1554557979 rg=gilden.klerus
~#! tid=1554557979
Ein kleiner Kaefig aus total antiallergenem Knorpelfischdraht, durch dessen
Loecher allenfalls Luft, Liebe und Haustierfloehe gelangen. Er hat an der
Seite eine Art Reuse: alles kommt rein, nichts kommt in Ursprungform heraus.
Das heisst, jedes unglueckliche Geschoepf, dass da rein geraet, ist dazu
verurteilt,
jaemmerlich zu verhungern und verdursten.
Das Ding kann echt nur ein Tierhasser gebaut haben, und es stoert ganz
empfindlich den Eindruck von frieden in dem Tempel.
Ich bin als Zauberer extra mal hier hergekommen, um mir ein Bild von der Lage
zu machen.
Nee, Leute, wer hat sich was dabei gedacht?
Setzen>! 6!

-----------------------------------------------------------------------------



Re: Re: Grundlose Grausamkeit gegen wehrlose Geschoepfe (Ark, 12. Apr 2019, 12:32:10):
~#! rn=Regonna rt=1554998245 rg=gilden.klerus
~#! tid=1554557979
Deine Erstkills: zuviele, um als demuetiger Klerus durchzugehen.
Deine Tierliebe: leider auch Tiere dabei, die vor ein vibrierendes Hoelzchen
gelockt wurden, und dann brutal dahingemetzelt wurden. Sogar wissenschaftlich
angehauchtes Zaehlen der Leichen betreiben die "frommen" Kleriker. So. Genug
Kleribashing, jetzt zu den Zauberern ... aeh ... achwas, die sind noch viel
schlimmer. Unter ihrem laechelich hohen Huetchen verbirgt sich nicht ein mit
Wissen vollgestopfter, deformierter Kopf, sondern niederer Killstupswahn.
Verbrecherlisten finden sich in jeder Gilde. Nun weiter metzeln, der
Scheinheiligkeitsschein ist bereits wieder am Verblassen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Grundlose Grausamkeit gegen wehrlose Geschoepfe (Mundron, 12. Apr 2019, 14:26:33):
~#! rn=Ark rt=1555065130 rg=gilden.klerus
~#! tid=1554557979
Also sicher haben manche schon gemerkt, dass ich jammern kann wie ein Zaubi
und erster Metzel, dann frage, wie ein Kaempfer. Trotzdem bin ich ein Kleri,
der einfach alle NPC unabhaengig von der Gesinnung toetet wie ein Tanjian und
als Elf bin ich dann doch meinen Wurzeln bei den Wipfellaeufern verbunden. Und
ich wage es sogar mit Chaoten im Team zu Kaempfen und habe Spass dabei :D

So genug multikulti. Also prinzipiell gebe ich schon Recht, dass die
Beschreibung des Kaefigs nicht konform ist mit dem Stil des Tempels. Der Ort
wird als andaechtig und ruhig beschrieben. Daher sticht alleine deswegen die
Beschreibung des Kaefigs heraus. 
Das heisst jetzt nicht, dass ich ein Tierparadies als Kaefig haben will,
welches artgerecht die Haustiere himmlisch verwoehnt, sondern eher was
"neutraleres" oder zumindest der Atmosphaere angemessenes.

Zu Ueberdenken waere tatsaechlich die Funktionalitaet des Kaefigs, denn ich
sehe keinen Sinn darin, dass das Haustier festgehalten wird, wenn der Besitzer
den Tempel verlaesst. Eigentlich sollte sich doch Arkshat freuen sich um
weniger Haustiere kuemmern zu muessen. Die sind zwar weggesperrt, aber im
Kaefig wird es ja doch laut und so. 

So, nun lasset uns beten zu der heiligen Dreifaltigkeit Saphina, Kandri und
Lembold, dass sie die Welt von allem Boesen befreien, sei es mit Liebe und
Diplomatie oder Keulen und Kampfstaebe. :)

-----------------------------------------------------------------------------



Fischgraetenmangel (Gloinson, 31. Jan 2020, 16:25:49):

Aufgrund aktuen Fischgraetenmangels muss Arkshat momentan mit Viechern leben.


-----------------------------------------------------------------------------



