Der Count-Down laeuft. (Shakedbeer,  2. Mai 1996, 18:56:03):
Hallo Shaky-Fans.

Sobald Wargon noch sein OK gegeben hat, wird vermutlich morgen die Gilde
der Bierschuettler auf Shaky Island angeschlossen. Weitere Auskuenfte wird
Bruno der Gildenshaky erteilen. Fragt den nur kraeftig aus, damit ich
fehlende Infos so schnell wie moeglich einfuegen kann.

Shakedbeer - Bierschuettler aus Ueberzeugung.

PS: Wo genau wird sich wohl eine Gilde befinden, die mit Bier zu tun hat?
:))

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



Los gehts! Viel Spass! (Shakedbeer,  3. Mai 1996, 13:15:00):
Willkommen in der Gilde der Bierschuettler auf Shaky Island.

Soeben hat Bruno feierlich das rote Band durchtrennt, das den Eingang zur
Gilde der Bierschuettler versperrte. Damit ist die Gilde nun offiziell ein-
geweiht und angeschlossen.

Shakedbeer - Augenzeuge der Eroeffnung.

PS: Infos ueber 'hilfe bierschuettler' oder von Bruno.

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



Sehertor auf ShakyIsland (Predator,  3. Mai 1996, 13:16:44):
Wie der Titel schon sagt, kommt dort n Tor hin ????

Predator, ist zu faul, seine 2tis mit dem Schiff fahren zu lassen...

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



Re: Sehertor auf ShakyIsland (Shakedbeer,  3. Mai 1996, 13:17:51):
~#! rn=Predator rt=831122204
~#! tid=831122204
Fuer Bierschuettler ist ein Sehertor ueberfluessig.

Shakedbeer - grinsend.

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



Re: Los gehts! Viel Spass! (Raffi,  3. Mai 1996, 13:19:01):
~#! rn=Shakedbeer rt=831122100
~#! tid=831122100

*ARGL*

Shakedbeer Du bringst mich ehrlich in Versuchung meine Absichten hier als
Stufe 3 Abenteurer alt zu werden fallen zu lassen.

Ich geh mal mit Bruno reden.

Gruss
H.

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



Die ersten Verbesserungen... (Shakedbeer,  6. Mai 1996, 21:37:06):
Hi Bierschuettler!

Dank vieler Vorschlaege von Euch konnte ich schon die ersten Verbesserungs-
Vorschlaege umsetzen:
- Bruno sendet ein wenig auf dem [Bierschuettler:]-Kanal.
- Hitzeschlag gibt jetzt die Trefferstaerke an.
- Freibier und Party wird billiger (spaetestens ab morgen)
- Eine Mitgliederliste wird ausgehaengt (ebenfalls morgen)

Shakedbeer - Bierschuettler aus Ueberzeugung

PS: Freut Euch schon mal auf zwei weitere Neuerungen, die gerade abgenommen
    wurden, aber noch geproggt werden muessen: Ich sage nur: Es hat was mit
    Kneipen zu tun! *ZWINKERRAFFIZU*

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



Re: Die ersten Verbesserungen... (Mupfel,  7. Mai 1996, 14:39:40):
~#! rn=Shakedbeer rt=831411426
~#! tid=831411426
Huhu

Beim Wettbewerb 'Jugend forscht' soll jetzt ja angeblich von einem der jungen
Forscher ein 'Trockenbier' erfunden wurden sein, ein Pulver, zu dem man nur
noch Wasser zu geben braucht. Soll sogar schmecken, hab ich gehoert. Faellt
Dir *dazu* nicht was ein, Shaky? :-)

-mupfel-

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



Re: Re: Die ersten Verbesserungen... (Shakedbeer,  7. Mai 1996, 17:48:14):
~#! rn=Mupfel rt=831472780
~#! tid=831411426
Hey, was meinst Du, was die Shakies fuer das Schuettelbier fuer Zutaten
benutzen? :)

Shakedbeer - grinsend.

PS: Oder was meinst Du, weshalb es immer weniger Sand auf Shaky Island gibt?

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



Re: Re: Die ersten Verbesserungen... (Hadra,  8. Mai 1996, 02:43:29):
~#! rn=Mupfel rt=831472780
~#! tid=831411426
dazu faellt mir nur ein, dass die jury von nix ne ahnung hat. pulverbier zum
anruehern ist zumindest in england schon ein uralter hut (und so schemckt es
auch ;)

hadra - biertourist

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



Re: Die ersten Verbesserungen... (Raffi,  8. Mai 1996, 18:26:39):
~#! rn=Shakedbeer rt=831411426
~#! tid=831411426

> nn
Die ersten Verbesserungen... (Shakedbeer,  6. Mai 1996, 21:37:06):
Hi Bierschuettler!
    :
    :
    :
PS: Freut Euch schon mal auf zwei weitere Neuerungen, die gerade abgenommen
    wurden, aber noch geproggt werden muessen: Ich sage nur: Es hat was mit
    Kneipen zu tun! *ZWINKERRAFFIZU*
> :hohlt schonmal die Lederschuerze und sucht die Pferde.
Raffi hohlt schonmal die Lederschuerze und sucht die Pferde.
> -a Weiss jemand wo man im MG Brauereiroesser findet ?
[Allgemein:Raffi] Weiss jemand wo man im MG Brauereiroesser findet ?
[Allgemein:Blackmoor] in der brauerei? (drachenhort)
[Allgemein:Roadrunner] bei drachenhoert ?
-a:geht mal nach drachenhort
[Allgemein:Raffi geht mal nach drachenhort]
> antworte
    :
    :
    :

*grins*
H.
(oder gehoert das jetzt nach Schmarrn?)

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



Re: Re: Die ersten Verbesserungen... (Li, 10. Mai 1996, 09:25:13):
~#! rn=Mupfel rt=831472780
~#! tid=831411426
das Torckenbier ist eine art gefriergetrocknetes bier, aehnlich dem loeslichen
Kaffe. nur mit dem Alkohol hapert bei dem Bier noch, da sie keine ordentliche
reaktion hinbekommen haben, die aus feststoffen ordentliches
ethanol(trinkalkohol)macht.
Li (fand den artikel recht interessant)

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



Topliste (Shakedbeer, 12. Mai 1996, 19:34:07):
Hallo Bierschuettler!

Ihr habt gewonnen ;) Nachdem einige von Euch mehrmals gefragt haben, habe
ich doch noch eine Topliste programmiert. Sie kann momentan noch nicht
ausgehangen werden und ist auch noch recht vorlaeufig, da von allen Mit-
gliedern ab Platz 19 keine Werte bei der letzten Berechnung vorlagen.

         DIE TOPLISTE DER GILDE DER BIERSCHUETTLER AUF SHAKY ISLAND         
----------------------------------------------------------------------------
                     Stand: Son, 12. Mai 1996, 19:26:47

  1 - Super                              - Kelder
  2 - Super                              - Aquadest
  3 - Besser als nix                     - Ratazong
  4 - Schlecht                           - Fantaboy
  5 - Schlecht                           - Amazonia
  6 - Schlecht                           - Bierchen
  7 - Einfach schlecht                   - Supermario
  8 - Schlecht. Schlechter gehts nicht.  - Qnyberth
  9 - Schlecht. Schlechter gehts nicht.  - Drobanir
 10 - Schlecht. Schlechter gehts nicht.  - Byron
 11 - Schlecht. Schlechter gehts nicht.  - Zag
 12 - Schlecht ist uebertrieben          - Jorinde
 13 - Mieserabel                         - Stepi
 14 - Mieserabel                         - Lariel
 15 - Nicht der Rede wert                - Bluebox
 16 - Nicht der Rede wert                - Lex
 17 - Gegen Null                         - Patty
 18 - Gegen Null                         - Zenka
 19 - Null                               - Raffi
 20 - Null                               - Script
 21 - Null                               - Gambit
 22 - Null                               - Kasse
 23 - Null                               - Asder
 24 - Null                               - Gregor
 25 - Null                               - Bonzai
 26 - Null                               - Haplo
 27 - Null                               - Jedweder
 28 - Null                               - Clausthaler
 29 - Null                               - Shaker

Shakedbeer - Bierschuettler aus Ueberzeugung.

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



Alkohol zu Magie? (Lariel, 13. Mai 1996, 15:04:29):
Hey Ho, Shakies!
Ich haette da mal ne kleine Frage:
Geht das Zaubern eigentlich einfacher, wenn man betrunken ist? Muesste 
doch bei Bierschuettlern besser gehen, je mehr man intus hat, oder?

Sollte das noch nicht der Fall sein, waers doch ne lustige Erweiterung, oder?

-Lariel Falkenflug der Todesengel.
 (Liebt die Shaky-Gilde!!!)

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



Re: Alkohol zu Magie? (Cauno, 13. Mai 1996, 15:05:48):
~#! rn=Lariel rt=831992669
~#! tid=831992669

Wahrscheinlich geht das Zaubern leichter. Aber wer sagt Dir, dass Du den
gewuenschten Effekt erzielst, und keinen anderen? Siehe Chaosgilde.

                                                     C. No

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



Re: Re: Alkohol zu Magie? (Raffi, 13. Mai 1996, 16:04:45):
~#! rn=Cauno rt=831992748
~#! tid=831992669
Also ich finde die Idee auch gut - je besoffener, desdo besser die Chance
das ein zauberspruch gelingt. Schliesslich muss man auch sturzbesoffen sein
um das Gildenlevel zu erhoehen, und das ist ja definitiv ne magische Sache.   

                                                                             

Ich koennte mir 2 verschiedene Wege vorstellen:

Zauberspruchchance(effektiv) = Normale_Chance% + Besoffenheits%

oder

Zauberspruchchance(effektiv) = Max(Normale_Chance%,Besoffenheits%)

Bei Methode 1 wuede die Zauberspruchchance bereits beim ersten Glas Bier
steigen, bei Methode 2 erst wenn man besoffener ist als die normale Chance
fuer diesen Spruch ist. Methode 1 erscheint mir als ein sinvolles Abbild
der Tatsache zu sein das ein Bierschuttler nunmal mit jedem Bier besser
wird. Man koennte ja die Zauberspruchchance(effektiv) auf max. 99% fest-
setzen. Methode 2 hingegen wuede den Effekt abschwaechen, da sie die
Steigerung erst spaeter (mehr besoffen) einsetzen laesst. Daher wird der
Hilfseffekt fuer den erfahrenen Schuetler geringer sein als fuer den
Neuling.

Achtung die ganze Idee verringert aber das Lernen. Wenn ich mich recht
erinnere lernt man ja nur aus Fehlschlaegen. Wenn man nun seltener Fehler
macht, dann lernt man auch langsammer.

mir persoenlich wuerde Methode 1 am besten gefallen

Gruss
H.

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



Re: Alkohol zu Magie? (Todesengel, 13. Mai 1996, 18:25:51):
~#! rn=Lariel rt=831992669
~#! tid=831992669
Argl. Billige Namenskopie. *grummel*

Todesengel

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



Re^3: Alkohol zu Magie? (Shakedbeer, 13. Mai 1996, 22:02:22):
~#! rn=Raffi rt=831996285
~#! tid=831992669
Hi Bierschuettler!

Ich habe mir das mit dem Alkohol natuerlich auch schon mal durch den Kopf
gehen lassen, bin aber zu dem einfachen Entschluss gekommen, dass es wohl
nicht unbedingt nuetzlich ist, erst mal besoffen sein zu muessen, um gut
zaubern zu koennen, denn wenn man dann ein paar gute Sprueche gesprochen
hat, kann man nicht mehr tanken weil man zu besoffen ist.

Shakedbeer - Bierschuettler aus Ueberzeugung.

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



Re^4: Alkohol zu Magie? (Raffi, 14. Mai 1996, 12:24:01):
~#! rn=Shakedbeer rt=832017742
~#! tid=831992669

Hmmm Shaked*,die Idee war ja nicht das man besoffen sein mus zum Zaubern
sondern das man besser wird je besoffener man ist. Der Hoehepunkt der
Zauberfaehigkeit kommt kurz bevor man besoffen unter den Tisch rutscht :)
Das Klingt doch irgendwie bekannt oder ?


Gruss 
H.

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



Re^5: Alkohol zu Magie? (Asmodis, 14. Mai 1996, 12:25:29):
~#! rn=Raffi rt=832069441
~#! tid=831992669
Jo, ich spiele auch am besten Billiard, wenn ich besoffen bin, wenn
ich dann das Queue noch halten kann :)

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



Zauberfaehigkeiten (Shakedbeer, 14. Mai 1996, 16:41:09):
Hi Bierschuettler!

Damit ihr wisst, wo ihr steht, und damit ihr nicht laenger fragen muesst,
kommt hier kurz die Liste der Bezeichnungen der Zauberfaehigkeiten:

- Null
- Gegen Null
- Nicht der Rede wert
- Hundsmiserabel
- Miserabel
- Schlecht ist uebertrieben
- Schlecht, schlechter gehts nicht
- Sehr schlecht. Sehr sehr schlecht
- Einfach schlecht
- Schlecht
- Besser als nix
- Zur Not ganz gut
- Gut
- Laesst sich sehen
- Super
- Exzellent
- Ueberaus exzellent
- Fast perfekt
- Perfekt
- Total perfekt

An den Werten fuer diese Bezeichnungen wird wohl in naechster Zeit etwas ge-
aendert, aber diese Reihenfolge bleibt bestehen. Wenn ihr also demnaechst mal
ein bis zwei Stufen abrutschen solltet, ist das kein Bug ;)

Shakedbeer - Bierschuettler aus Ueberzeugung.

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



Extralook (Shakedbeer, 14. Mai 1996, 16:49:39):
Nebenbei:

Haarwuchs und Schimmer fuehren nun zu einer Veraenderung
Eures Aussehens ;)

Shakedbeer - Bierschuettler... (ihr wisst schon)

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



Re: Zauberfaehigkeiten (Predator, 14. Mai 1996, 17:25:02):
~#! rn=Shakedbeer rt=832084869
~#! tid=832084869
Besser waere sicherlich die Abstufung:
...
- Miserabel
- Schlecht ist untertrieben
- Schlecht, schlechter gehts nicht
...

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



Re: Re: Zauberfaehigkeiten (Shakedbeer, 14. Mai 1996, 17:27:44):
~#! rn=Predator rt=832087502
~#! tid=832084869
Echt? Wieso?
Wenn etwas schlechter ist als schlecht, so ist schlecht doch uebertrieben,
oder?

Shakedbeer - etwas verwirrt.

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



Re^3: Zauberfaehigkeiten (Predator, 14. Mai 1996, 18:28:09):
~#! rn=Shakedbeer rt=832087664
~#! tid=832084869
noe, untertrieben, mann ist ja nooch VIEL schlechter als schlecht....

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



Biervielfalt (Lager, 15. Mai 1996, 11:35:12):
Hi hier spricht der juenste Schuettler ...
Wie waere es damit, die Shaky-Produktpalette zu vervielfaeltigen ...
Shaky Standfart-Normal
Shaky Dunkel-Weizen
Shaky Hefe-Weizen
Shaky Mai-Bock
usw.
:-)
Lager - ist grad vom schuetteln ueberzeugt worden.

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



Re: Biervielfalt (Shakedbeer, 15. Mai 1996, 12:23:21):
~#! rn=Lager rt=832152912
~#! tid=832152912
Mir solls egal sein. Beim Wirt werde ich wohl noch die ein oder andere
Biersorte einfuegen, aber Bruno hat mit dem 'Original Schuettelbier'
und dem 'Schuettelbier ALKOHOLFREI' schon genug zu tun. :)

Shakedbeer - mag am liebsten Alt.

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



Re: Re: Biervielfalt (Shakedbeer, 15. Mai 1996, 12:24:10):
~#! rn=Shakedbeer rt=832155801
~#! tid=832152912
Ooops. Ich meine natuerlich Ralph statt Bruno.

Shakedbeer.

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



Re^3: Biervielfalt (Schoko, 15. Mai 1996, 21:36:04):
~#! rn=Shakedbeer rt=832155850
~#! tid=832152912
Neee, doch nicht etwa ALKFREI!!! Das ist eines Schuettlers nicht wuerdig.

Schuettel hat schon alles was ein Bier braucht :)

Schoko.

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



Neuigkeiten (Shakedbeer, 16. Mai 1996, 15:22:23):
Hallo Bierschuettler!

Gerade sind folgende Aenderungen aktiv geworden:
- Die Topliste haengt in der Gilde aus.
- Die Zauberfaehigkeiten koennen leicht verschoben sein. (Natuerlich behaltet
  ihr die alten Werte. Die Bezeichnungen sind nur anders eingeteilt.)
- Bierschuettler haben (bis auf Party und Freibier) Zauberverbot im
  Gildenraum.
- Bruno sendet leider noch nicht auf den neuen Kanaelen.
- Schuettelstarre und Rkaufe verbrauchen keine Magiepunkte mehr, wenn sie
  gesprochen werden, aber noch nicht wieder einsatzbereit sind.

Shakedbeer - Bierschuettler aus Ueberzeugung

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



schuettel (Gando, 17. Mai 1996, 12:14:41):
Halloechen ...
Ich habe ein vorschlag fuer den Schuettel-Spruch
koennte man es nicht einrichten, dass das schuetteln bei gegenstaenden 
eine Information liefert  (wie bis jetzt) und bei NPCs eine art kampfspruch
wird?
oder eben ein paralleler spruch ...
Dann kaeme:Du schuettelst den <xxx> hart. :-)
Das wuerde ja zu Shaky passen. :-)  
Gando - vom schutteln ueberzeugt

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



Bruno (Shakedbeer, 17. Mai 1996, 14:45:07):
[Bierschuettler:Bruno] Re! :)

Shakedbeer - Bierschuettler aus Ueberzeugung.

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



BSG-FAQ (Shakedbeer, 23. Mai 1996, 21:20:24):
Hi!

Einige von Euch haben mich gebeten, eine FAQ zu erstellen. Das ganze faellt
einem nur etwas schwer, wenn ihr keine Fragen stellt :)
Also: Mailt mir Eure Fragen zur Gilde. Bruno wird dann auch diese FAQ aus-
haengen.

Shakedbeer - befuerchtet, dass Bruno bald in einem Blaetterwald erstickt.

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



Bruno nervt ;) (Azzuro, 28. Mai 1996, 03:33:51):
Koennt ihr mal die Meldungen von Bruno auf den Kanaelen so ansetzen, das sie
nicht per Echoall kommen. Ich habe jetzt schon 3 mal versucht den Kanal
abzubestellen, aber Bruno muellt mir immer noch den Bildschirm voll.
Nicht das ich ihn nicht mag. Aber manchmal will ich auch meine Ruhe haben.
 
Azzuro

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



Re: Bruno nervt ;) (Shakedbeer, 28. Mai 1996, 07:59:09):
~#! rn=Azzuro rt=833247231
~#! tid=833247231
Hmmm. Das sind keine Echosalls. Das kommt tatsaechlich nur ueber die Kanaele.

Shakedbeer - wundert sich.

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



Re: Re: Bruno nervt ;) (Anakin, 28. Mai 1996, 10:09:12):
~#! rn=Shakedbeer rt=833263149
~#! tid=833247231
Also das sollte doch mit -Bierschuettler- gehen....nix echoall

Anakin.

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



Bruno nervt anscheinend nicht mehr :) (Azzuro, 28. Mai 1996, 10:49:31):
Sorry!
Scheint wirklich meine eigene Dummheit gewesen zu sein.
Allerdings war es gestern 4 Uhr nachts und ich nicht mehr ganz
zurechnungsfaehig.
Sollte er nochmal nerven, dann melde ich mich bei Dir Shakebeer. Ansonsten
nichts fuer ungut.

Azzuro - Kopfschuettelnd ueber sich selber

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



Aktuelle Neuerung! (Shakedbeer, 28. Mai 1996, 21:09:01):
Hallo Bierschuettler!

Der Wirt in der Kneipe unter der Bierschuettlergilde hat vor, neue
Schuettelbierkunden zu werben. Deshalb bittet er alle Bierschuettler um
Mithilfe. Geht doch mal zu ihm und fragt ihn nach einer Lieferung, dann wird
er Euch sicherlich ein Faesschen mit Schuettelbier geben, das Ihr an eine
Kneipe Eurer Wahl liefern koennt. Da Bruno ein guter Freund des Wirtes ist,
erklaert er sich nur noch bereit, ein Gildenlevel zu erhoehen, wenn man ein
Faesschen ausgeliefert hat. Dafuer ueberlaesst er aber allen Bierschuettlern
ab Gildenlevel 2 eine Bierschuerze, die mehrere Funktionen hat:
- 'kneipen'       Listet alle belieferten Kneipen auf.
- 'eile [<nr>]'   Man kann von der Bierschuettlergilde aus zu einer
                  belieferten Kneipe <nr> eilen. Ebenso kann man von einer
                  solchen Kneipe wieder zurueckeilen. Da dies einiges an
                  Kraft kostet, kann man das nur einmal hin und zurueck in
                  einer bestimmten Zeit.
- Ausserdem erhaltet Ihr in allen belieferten Kneipen Rabatt. Also sucht
  Euch gut aus, welche Kneipen Ihr beliefert.
Jeder Bierschuettler kann in seiner Laufbahn also 19 Kneipen beliefern und
hat nachher eine nette Anzahl von Kneipen zu denen er eilen kann und wo er
Rabatt erhaellt. Deshalb sollte es fuer Bierschuettler, die jetzt schon z.B.
Level 10 sind, keine Schikane sein, jetzt erstmal 10 Kneipen zu beliefern,
bis sie wieder ein Gildenlevel aufsteigen koennen. ;) Wenn Ihr eine Kneipe
beliefert, koennen mehrere Meldungen erscheinen: (a) Ihr beliefert die
Kneipe, was natuerlich die beste Moeglichkeit ist. (b) Die Kneipe DARF NICHT
beliefert werden. Das kann mehrere Gruende haben, die nicht weiter
erlaeutert werden sollen und meistens in der Programmierung der Umgebung der
Kneipen liegen. (c) Die Kneipe ist noch nicht eingetragen. Das wird wohl in
erste Zeit sehr haeufig auftreten. Dabei wird die Kneipe geloggt, die Ihr zu
beliefern versucht und ich werde sie dann so schnell wie moeglich als
belieferbar eintragen, oder eben als nicht belieferbar kennzeichnen. Habt
also am Anfang etwas Geduld. 

  Shakedbeer - Bierschuettler aus Ueberzeugung.

PS: Verschiedene Kneipen koennen auch verschiedene Rabatte geben.

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



Bug in der Schuerze (Shakedbeer, 30. Mai 1996, 21:01:32):
Hi Bierschuettler!

Leider hat sich doch noch ein Fehler in die Bierschuerze eingeschlichen!
Bitte geht mit Euren alten Schuerzen nach Bruno und fragt ihn wieder nach 
Schuerze. Er tauscht die dann aus. Die neuen Schuerzen reagiern auf die
Befehle bkaufe, bbestelle und bspendiere. Die alten Befehle wurden naemlich
zum Teil beim erneuten betreten der Kneipen ueberschrieben. Mit den b-Verben
sollte jetzt jeder Rabatt bekommen ;)

Shakedbeer - hat lange gesucht.

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



MUSS das sein :) ? (Anatol, 12. Jun 1996, 03:30:24):
> -Bier*
Folgendes ist auf 'Bierschuettler' passiert:
[Bierschuettler:Bruno] Ich habe gerade die Topliste aktualisiert.  <10:41:40>
[Bierschuettler:Bruno] He, das MorgenGrauen ist ja schon wieder lange up. 
[Bierschuettler:Bruno] <10:41:40>
[Bierschuettler:Bruno] Wer hat von Euch schon die Shaky-Quest gespielt? 
[Bierschuettler:Bruno] <11:16:42>
[Bierschuettler:Bruno] Es gibt kein Bier auf Hawaii, es gibt kein Bier. Drum
[Bierschuettler:Bruno] fahrn wir nich nach Hawaii drum bleibn wir hier. 
[Bierschuettler:Bruno] <12:16:50>
[Bierschuettler:Bruno] Wie kommt man von Shaky Island zur Chaos-Gilde? 
[Bierschuettler:Bruno] <13:12:00>
[Bierschuettler:Bruno] Hi Shakedbeer! Was programmierst Du gerade? Wie waere
[Bierschuettler:Bruno] es mal mit einer Frau fuer mich?  <13:16:19>
[Bierschuettler:Bruno] Ich mache die Arbeit und Shakedbeer macht sich einen
[Bierschuettler:Bruno] schoenen Tag.  <13:29:58>
[Bierschuettler:Bruno] Es gibt kein Bier auf Hawaii, es gibt kein Bier. Drum
[Bierschuettler:Bruno] fahrn wir nich nach Hawaii drum bleibn wir hier. 
[Bierschuettler:Bruno] <13:57:04>
[Bierschuettler:Bruno] I like to be a Shaky - I like to shake some beer. If I
[Bierschuettler:Bruno] would not like Shakies - I just would not be here. 
[Bierschuettler:Bruno] <14:32:07>
[Bierschuettler:Bruno] Sollen wir etwas ueber Shakedbeer laestern?  <15:27:14>
[Bierschuettler:Bruno] Hey Maedels! Ich bin noch Solo und eine gute Partie! 
[Bierschuettler:Bruno] <16:22:21>
[Bierschuettler:Bruno] Hey, Leute! Wie waere es mit einer Party in der
[Bierschuettler:Bruno] Bierschuettlergilde?  <17:22:31>
[Bierschuettler:Bruno] Hi Shakedbeer! Was programmierst Du gerade? Wie waere
[Bierschuettler:Bruno] es mal mit einer Frau fuer mich?  <17:59:57>
[Bierschuettler:Bruno] Sollen wir etwas ueber Shakedbeer laestern?  <18:07:36>
[Bierschuettler:Bruno] Die Luft ist rein! Shakedbeer ist wieder weg. 
[Bierschuettler:Bruno] <18:25:39>
[Bierschuettler:Bruno] Hat jemand Lust auf Doppelkopf?  <18:47:45>
[Bierschuettler:Bruno] Ich habe gerade die Topliste aktualisiert.  <18:52:46>
[Bierschuettler:Bruno] Hallo Shakedbeer! Alles klar?  <18:59:05>
[Bierschuettler:Bruno] Shakedbeer ist ein echter Drueckeberger. Der hat mich
[Bierschuettler:Bruno] schon wieder versetzt.  <19:26:50>
[Bierschuettler:Bruno] Kann mir jemand Geld fuer ein Schuettelbier leihen? 
[Bierschuettler:Bruno] <19:32:50>
[Bierschuettler:Bruno] Wenn das lange so weiter geht, wander ich ins AnderLand
[Bierschuettler:Bruno] aus.  <20:27:57>
[Bierschuettler:Bruno] Ist das wieder langweilig heute.  <21:13:05>
[Bierschuettler:Bruno] Wie kommt man von Shaky Island zur Chaos-Gilde? 
[Bierschuettler:Bruno] <22:08:11>
[Bierschuettler:Bruno] Hat jemand Lust auf Doppelkopf?  <22:58:17>
[Bierschuettler:Bruno] Wenn der Hahn kraeht auf dem Mist, aendert sich das
[Bierschuettler:Bruno] Wetter oder es bleibt wie es ist.  <23:38:20>
[Bierschuettler:Bruno] Hey! Gerade ist Shakedbeer hier vorbeigelaufen. 
[Bierschuettler:Bruno] <00:21:08>
[Bierschuettler:Acrimon] Quatsch ihn doch an :-) <00:21:58>
[Bierschuettler:Bruno] 57 Spieler? Das soll es gewesen sein?  <00:23:25>
[Bierschuettler:Bruno] Ich mache die Arbeit und Shakedbeer macht sich einen
[Bierschuettler:Bruno] schoenen Tag.  <00:35:39>
[Bierschuettler:Bruno] Wieviel Rabatt kann man maximal bekommen?  <01:03:27>
[Bierschuettler:Bruno] Shakedbeer haette mir ruhig ein paar Sprueche mehr
[Bierschuettler:Bruno] einprogrammieren koennen.  <01:38:30>
[Bierschuettler:Bruno] Wenn das lange so weiter geht, wander ich ins AnderLand
[Bierschuettler:Bruno] aus.  <02:28:33>
[Bierschuettler:Bruno] Ist das wieder langweilig heute.  <03:13:38>
[Bierschuettler:Bruno] Ich habe gerade die Topliste aktualisiert.  <03:18:39>

Autsch! :)
Anatol


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



Re: MUSS das sein :) ? (Raffi, 12. Jun 1996, 12:17:01):
~#! rn=Anatol rt=834543024
~#! tid=834543024

Ja!

Wenigstens einer der dann auf -y sendet !


Gruss
H.

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



Sauflieder (Shakedbeer, 12. Jun 1996, 15:13:41):
Hi Bierschuettler!

Bruno hat gerade Tryfan auf dem Bierschuettlerkanal singen hoeren. Das
hat ihm so gut gefallen, dass er jetzt voellig von dem Gedanken besessen
ist, ein Buch mit den schoensten Saufliedern herauszubringen. Bitte mailt
ihm doch Eure schoensten Sauflieder. Er sagt, dass er sich auch ueber 
Lieder in einem Dialekt freuen wuerde.

i.A. Shakedbeer.

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



Gildenemblem/ -wappen/ -zeichen/ -blabla (Anakin, 13. Jun 1996, 10:22:33):
Fuer alle die zum Morgengrauensommercamp kommen wollen, 
wie waere es wenn die EURE Gilde auch durch einen
Wimpel/Fahne vertreten ist. Wir haben da so klasse
Fahnenstangen auf dem Zeltplatz. Das was die anderen
Gilden schaffen packt ihr Bierschuettler doch wohl auch.
Also wenn die Abenteurer mit sowas ankommen und ihr nicht,
das ist ja dann wohl mehr als peinlich.
Also: Schreibt was zu der Idee ob ihr sowas machen wollt,
ob sich einer findet sowas zu entwerfen und zu realisieren.
Wenn mehrere Leute mit sowas ankommen, wird der Beste
gewinnen.
Wegen der Groesse Hate oder mich fragen.

Anakin - MGSC '96

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



Fliesse (Shakedbeer, 20. Jun 1996, 13:46:30):
Hi!

Ab sofort kommt man beim 'Fliesse' von SI->PV auch wirklich am Hafen
aus ;)

Shakedbeer - sagt: Danke, Byron.

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



Neue Schuerzen. (Shakedbeer, 20. Jun 1996, 14:42:42):
Hi!

...
Bruno teilt Dir mit: Hi Shakedbeer. Ich hab gerade neue Schuerzen 
Bruno teilt Dir mit: entworfen, die Autoload sind. Die Spieler brauchen
Bruno teilt Dir mit: mich nur danach zu fragen, dann tausche ich die um.
Du teilst Bruno mit: Danke. :)
...

Shakedbeer.

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



Bruno (Shakedbeer, 25. Jun 1996, 13:10:59):
Hi Bierschuettler!

Bruno hat mir gerade versprochen, dass er allen Bierschuettlern, die ihn aus
der Ferne fragen, wie gut sie sind (teile bruno mit wie gut bin ich?), Rede
und Antwort stehen will.

Shakedbeer - dreht den Spiess um und bringt jetzt mal Bruno auf Trabb :)

PS: Ich hab ihn mal darauf hingewiesen, dass er nicht so oft -Bierschuettler
    zumuellen soll.

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



Bruno (Morgoth, 27. Jun 1996, 16:15:35):
[Verlegt von d.vland, Raffi, 27. Jun 1996, 16:13:33]:

Also irgendwie geht mir dass gesemmel von Bruno ab

BOING!
H.


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



Re: Bruno (Shakedbeer, 27. Jun 1996, 16:17:36):
~#! rn=Morgoth rt=835884935
~#! tid=835884935
Den hab ich doch schon beschwichtigt. Der redet nur noch 4 mal so wenig.

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



Re: Re: Bruno (Raffi, 27. Jun 1996, 16:20:13):
~#! rn=Shakedbeer rt=835885056
~#! tid=835884935

Das mein ich ja

Frueher ging mir das ja auf die Semmel, aber jetzt boingt er irgendwie zu
wenig - ist irgendwie goettlich einsamm. Versuch mal den goldenen Mittelweg zu
finden, dann wird auch ein Thor draus.

Gruss
H.

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



Faehigkeiten... (Shakedbeer, 27. Jun 1996, 18:10:07):
Hi!

Ich habe gerade festgestellt, dass eine weitere Stufe in der Einteilung der
Zauberfaehigkeitsbeurteilung noetig war, damit bei den Top-Bierschuettlern
keine Probleme auftreten ;)
Deshalb gibt es jetzt zwischen 'Ueberaus exzellent' und 'Fast perfekt' noch
die Stufe 'Spitzenklasse'.

Shakedbeer.

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



Kneipen (Shakedbeer, 24. Jul 1996, 12:20:51):
Hi!

Ich habe gerade mal wieder einen ganzen Schwung Kneipen aktiviert.
Viel Spass damit ;)

Shakedbeer.

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



Re: Kneipen (Milamber, 25. Jul 1996, 09:21:43):
~#! rn=Shakedbeer rt=838203651
~#! tid=838203651
na toll, ich bin doch schon bierschuettlermeister ;)

sollen doch die anderen auch suchen, wie ich und die anderen meister
zur Zeit

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



Re: Re: Kneipen (Grimmborn, 29. Jul 1996, 13:43:17):
~#! rn=Milamber rt=838279303
~#! tid=838203651

Ja, zu der Einstellung, die aus dem Artikel spricht muss ich ja nichts weiter
sagen denke ich. Traurig, aber nicht gerade ueberraschend. Andererseits muss
ich gestehen, dass ich diese Einstellung in allen anderen Gilden eher erwartet
haette als in der Bierschuettlergilde, die ja eigentlich weniger auf
uebertriebenem Ehrgeiz und Ellebogendenken beruhen sollte...

Grimmborn der Atheist denkt dennoch: Meine Kinder sollen es einmal besser
haben als ich.

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



Re^3: Kneipen (Craig, 13. Aug 1996, 16:53:19):
~#! rn=Grimmborn rt=838640597
~#! tid=838203651

da kann ich Dir nur komplett zustimmen, mein lieber Grimmborn. Aber Ausnahmen
bestaetigen die Regel. Mit ein paar schwarzen Schafen muessen wir alle leben.

Jeder blamiert sich nun mal so gut, wie er kann.

Vollbusig
Eure CRAIG

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



Haarwuchs (Shakedbeer, 20. Aug 1996, 13:26:31):
Hi!

Zardoz hat  mich auf einen Bug im Haarwuchs aufmerksam gemacht. Er ist be-
seitigt, was zur Folge hat, dass ganz schwache Waffen so gut wie nicht mehr
durch den Haarwuchs geschaedigt werden.

Shakedbeer - sagt: Danke Zardoz! :)

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



Bierschuerze autoload? Ja oder doch? (Aureus, 19. Sep 1996, 18:45:32):
Ich erinnere mich an Zeiten als die Bierschuerze autoload war, sprich nach
einem Crash hatte ich sie noch. Seit wenigen Wochen jedoch ist das nicht mehr
so. Da es keine Ankuendigung daruber gab, moechte ich nur mal dumm fragen:
Ist das ein Bug, dass die Schuerze nicht mehr autoload ist, oder wurde das
absichtlich geaendert?
Gruss und Schluss, Aureus

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



Re: Bierschuerze autoload? Ja oder doch? (Lariel, 22. Sep 1996, 15:24:59):
~#! rn=Aureus rt=843151532
~#! tid=843151532
Uebrigends, von wegen Schuerze...
Ist das ein Bug, dass ich die noch mit mir rumtrage, obwohl ich schon
seit einigen Monaten KEIN Bierschuettler mehr bin? Man hat sie mir beim
austreten nicht abgenommen.

- Lariel Falkenflug, Inquisitor von Taramis
  (Wundert sich darueber schon laenger.)

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



Re: Bierschuerze autoload? Ja oder doch? (Craig, 23. Sep 1996, 13:01:20):
~#! rn=Aureus rt=843151532
~#! tid=843151532

Also meine Schuerze ist nach wie vor autoload.

Euer CRAIG

P.S.: So viel zum Thema Einzeiler.

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



Re: Re: Bierschuerze autoload? Ja oder doch? (Shakedbeer, 24. Sep 1996, 18:21:04):
~#! rn=Craig rt=843476480
~#! tid=843151532
URGS!

Das ist eigentlich nicht beabsichtigt. (Noch 2 Sachen, die sich an das 
Rep-file anhaengen). Ich werde wohl naechste Woche mal einen Rep-file-Tag
einlegen ;)

Shakedbeer - ist ab naechste Woche wieder voll da.

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



Re^3: Bierschuerze autoload? Ja oder doch? (Yantro, 25. Sep 1996, 08:34:05):
~#! rn=Shakedbeer rt=843582064
~#! tid=843151532
was ist ein RepFile?

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



Re^3: Bierschuerze autoload? Ja oder doch? (Shakedbeer, 13. Okt 1996, 22:11:04):
~#! rn=Shakedbeer rt=843582064
~#! tid=843151532
Hi Shakies!

Es ist soweit. Bruno verteilt wieder Autoload-Schuerzen.
Fragt ihn einfach nach der Schuerze und er tauscht auch alte in neue.

Shakedbeer.

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



Re^4: Bierschuerze autoload? Ja oder doch? (Asmodis, 14. Okt 1996, 19:33:46):
~#! rn=Shakedbeer rt=845237464
~#! tid=843151532
Ich glaube kaum, dass er mir eine gibt :)

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



Re^4: Bierschuerze autoload? Ja oder doch? (Acrimon, 14. Okt 1996, 22:43:11):
~#! rn=Shakedbeer rt=845237464
~#! tid=843151532
Autoload auf unbestimmte Zeit ... ohne Gewaehr ... oder lebenslang?

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



Re^5: Bierschuerze autoload? Ja oder doch? (Asmodis, 15. Okt 1996, 02:22:24):
~#! rn=Acrimon rt=845325791
~#! tid=843151532
autoload bis zum naechsten Crash :)

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



Whats new? (Shakedbeer, 16. Okt 1996, 22:47:51):
Hallo Bierschuettler.

Ich habe einmal die Reportfiles durchgesehen und folgende Aenderungen
durchgefuehrt:

*) Der Spruch 'Party' kann jetzt auch so gesprochen werden, dass das
   Partymonster nicht mehr lauthals losruft. Wenn man also 'party leise'
   spricht, bleibt das Partymonster stumm und man kann in 'Ruhe' ueben.
*) Der Lese-Bug in der Bierschuettlergilde selbst ist beseitigt. D. h.: Man
   kann jetzt wieder andere Objekte lesen und kommt nicht immer auf der
   Topliste aus. (Jaja. Was ein Gleichzeichen so ausmacht ;) )
*) Die Bierschuerze ist wieder Autoload.
*) Die gemeldeten Typos sind auch verschwunden.
*) Die Dokumentation der Bierschuettlergilde habe ich auch auf den aktuellen
   Stand gebracht. Die muss aber noch in das richtige Verzeichnis kopiert
   werden.

Shakedbeer.

PS: Das Repfile zu Shaky Island und der Gefaengnisinsel ist etwas laenger.
    Ich werde mir das mal an einem freien Wochenende vornehmen. (Sind eh
    fast nur Typos.)

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



ACHTUNG LEBENSGEFAHR (Shakedbeer, 17. Okt 1996, 10:55:02):
Hi Bierschuettler.

Bitte ueberprueft einmal, ob Ihr die Kneipe 'Das Hinterzimmer der Kneipe'
in Eurer Kneipenliste habt. Sollte das der Fall sein, EILT DORT UNTER GAR
KEINEN UMSTAENDEN HIN ODER WEG. Meldet Euch bei mir oder schreibt mir eine
Mail. Ich werde Euch dort eine neue Kneipe in die Liste setzen. Die Kneipe
ist ab sofort deaktiviert und kann nicht mehr beliefert werden.

Shakedbeer.

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



Gilden-Doku (Shakedbeer, 17. Okt 1996, 21:58:35):
Hi!

Ab sofort ist die neue Gilden-Doku aktiv. Da gibt es Hilfen zu den
einzelnen Zauberspruechen und anderen interessanten Sachen. Wer 
'hilfe bierschuettler' tippt, sollte dem entnehmen koennen, wie man
auch als Nicht-Bierschuettler an diese Hilfen kommt. Wer Typos
findet oder etwas vermisst, sollte das unter idee/ typo in der 
Bierschuettlergilde absetzen.

Shakedbeer.

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



Re: Gilden-Doku (Raffi, 17. Okt 1996, 22:11:53):
~#! rn=Shakedbeer rt=845582315
~#! tid=845582315

Fleissig Fleissig mein lieber OberShaky :)

Knuddel
H.

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



Coming soon (Shakedbeer, 24. Okt 1996, 09:28:45):
Hallo Bierschuettler!

Wie Ihr bestimmt schon mitbekommen habt, arbeite ich im Moment an
Seherspruechen fuer die Bierschuettler. Die Files sind im Moment schon zu
Testzwecken auf den Stand der neuen Sprueche gebracht. Nichtmagier werden
aber noch keine Moeglichkeit haben, diese Sprueche anzuwenden. Ich bitte
Euch deshalb folgende Aenderungen vorerst zu ignorieren, denn sie sind noch
nicht endgueltig.
- Die Sehersprueche tauchen schon in der Lerne-Anzeige auf.
- Die Hilfeseiten sind schon fuer diese Sprueche vorhanden.
- Die Bierschuerze ist geaendert worden. (Macht Euch noch keine Muehe, die
  Tropfen zu finden, denn die werden noch verteilt.)
- Die GuildRating beruecksichtigt die neuen Sprueche schon. Deshalb kann es
  zum Teil zu Abstufungen in dieser Hinsicht kommen. 
Wie gesagt: Die Aenderungen sind nicht endgueltig und koennen noch in jeder
Hinsicht abgeaendert werden.

Shakedbeer.

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



Re: Coming soon (Anatol, 24. Okt 1996, 09:37:08):
~#! rn=Shakedbeer rt=846142125
~#! tid=846142125

Anscheinend ist er fuer wenige Magier tragbar, dass ihre Gilde eben NICHT
alles kann und eben NICHT die beste ist....

Magier sind schlimmer als Spieler, glaub ich manchmal...

Anatol, gruebelnd


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



Re: Re: Coming soon (Shakedbeer, 24. Okt 1996, 16:39:07):
~#! rn=Anatol rt=846142628
~#! tid=846142125
Hi!

Ich glaube nicht, dass Magier nicht akzeptieren koennen, dass die Gilde
nicht alles kann, sondern die Gildenmitglieder, denn die sind es ja, die
einen dazu bringen und ewig nachfragen ;)

Shaky.

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



Re^3: Coming soon (Shakedbeer, 24. Okt 1996, 17:21:14):
~#! rn=Shakedbeer rt=846167947
~#! tid=846142125
Hi!

Vielleicht ist in dem Artikel 'Coming soon...' eines noch nicht ganz klar
geworden: Die neuen Sehersprueche sind von Rochus noch nicht abgenommen und
muessen erst noch getestet werden. Erst dann koennen sie (in mit sehr
grosser Wahrscheinlichkeit) abgewandelter Form fuer Spieler freigegeben
werden. Gerade kam auf 'Chaos:' die Diskussion auf, warum die Gilden denn
ein Wettruesten veranstalten wuerden. Dazu moechte ich auch noch kurz etwas
loswerden: Ich habe die Sehersprueche hautsaechlich aus zwei Gruenden
geplant: 1) Viele Bierschuettler haben angemerkt, dass es schade ist, dass
man quasi mit der Gilde fertig ist, wenn man den Seherstatus erreicht hat.
2) Einige Angehoerige anderer Gilden erkannten, dass man in der
Bierschuettlergilde extrem schnell zu einer hohen GuildRating gelangen kann
(und somit viele Stufenpunkte darueber im Eilverfahren bekommen kann). Wenn
man nun diese beiden Punkte zusammen nimmt, ist eigentlich nur eine
Vorgehensweise sinnvoll: Man fuehrt Sehersprueche ein. (Hier ist geplant:
Alle fuenf Seherlevel ein neuer Seherspruch.) So wird die Gilde fuer Seher
wieder interessanter, denn sie haben wieder ein Ziel, auf das sie
hinarbeiten koennen und die Guildrating steigt nicht mehr so schnell, weil
die Sehersprueche zusaetzlich staerker gewertet werden. Das hat meiner
Meinung nach nichts mit Wettruesten zu tun. Ein Bierschuettler wird nicht
staerker dadurch, dass er sich seine Kneipen nun aussuchen kann, die er
beliefert, oder dass er als Seher einen besseren Massierespruch beherrschen
kann. Was wirklich eine Verbesserung fuer die Kampfstaerke ist, ist der 
Biergeist, aber ueber dessen Staerke muss Rochus ja erst noch entscheiden 
(die Chaoten brauchen sich deshalb sicherlich nicht zu fuerchten ;) ) und
der wird sicher nicht so sein, dass die Bierschuettler ploetzlich staerker
als Chaoten, Zauberer oder Karateka sind. Bierschuettler sollen eine
Anfaengergilde bleiben, die aber nicht ploetzlich uninteressant wird,
solbald man Seher ist, aber auch nicht die Moeglichkeit bietet, sofort alle
GildenStufenPunkte einzuheimsen. Und das ist meiner Meinung nach nur auf
diesem Wege moeglich.

Shakedbeer - hofft, dass einiges klarer geworden ist.

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



Re^4: Coming soon (Morgoth, 24. Okt 1996, 17:27:00):
~#! rn=Shakedbeer rt=846170474
~#! tid=846142125
Klara Korn ?

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



Re^4: Coming soon (Asmodis, 24. Okt 1996, 19:21:04):
~#! rn=Shakedbeer rt=846170474
~#! tid=846142125
Kriegen die Karatekas jetzt auch ein paar Seher-Techniken ??
Die alten sind ja auch abgearbeitet und ich kann mich nicht mehr
verbessern :)

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



Re^5: Coming soon (Orktoeter, 24. Okt 1996, 19:33:03):
~#! rn=Asmodis rt=846177664
~#! tid=846142125
N E I N !
OrkT muss grinsen.

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



Coming soon... oder? (Shakedbeer, 27. Okt 1996, 22:10:26):
Hi!

Bis auf weiteres sind folgende Aenderungen wieder zurueckgenommen:
*) Die Guildrating ist wieder auf dem alten Stand. Geht einfach in die 
   Gilde und tippt 'lerne'. Dann bekommt ihr wieder die Guildrating
   ohne Sehersprueche angerechnet.
*) Die Hilfeseiten sind auch erstmal wieder weg ;)

Shakedbeer.

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



VOLCANO (Craig,  4. Dez 1996, 17:14:38):
Seid gegruesst, Freunde des gut geschuettelten Bieres.
Sicher habt ihr sie auch schon oft vermisst, die Hymne der Schuettler. Doch
diese Zeit der Leere und Sinnlosigkeit koennte bald schon vorbei sein. Wegen
einer noch viel sinnentleerteren Sinnlosigkeit, die uns die Praesidenten der
Vereinigten Staaten von Amerika mitzuteilen nicht zu bloed waren.

Im Folgenden der Vorschlag in der ungekuerzten Fassung:


VOLCANO

Under the island... middle of a mountain
There is a big bad... boomin' system
Blowin' speakers... woofers and tweeters
Amplifiers... melted wires
The party exploded... the core is corroded
Under ground... the Puget sound
Cause a shiftin'... and a driftin'
Big black boom box... stuck in the hot rock
It's in there flowin'... in there growin'
You don't believe me... that this scenery
Could be a cold blooded killer

It's gonna blow... Volcano

Now the island is shiftin'... the plates are liftin'
The core is creamy... docile and dreamy
Stopped up and steamy
Happy campers... poop in their pampers
When the mountain... becomes a fountain
Of white hot lava... molten magma
Super sonic... plate tectonics
Stereo phonic... lava and tonic
The boom is bionic
Sony shut down... magnavox meltdown
Ballistic breakdown
Hi-fi heatwave... lo-fi lava cave
That sulfur smells... Mt. St. Helens
Pompeii was yellin'...

It's gonna blow... Volcano
------------------------------------------------------------------------------

In diesem Sinne

Euer CRAIG.

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



Beruhige (Rochus, 15. Jan 1997, 21:46:15):
Der Spruch war zu stark geworden nach der Levelreform,
ich habe den erst mal auf den urspruenglich beabsichtigten
Maximalwert angepasst (Es wird wohl noch eine leichte
Verbesserung nach oben fuer sehr hohe Level folgen,
aber das muss ich mir erst mal genau ausrechnen)

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



Re: Beruhige (Wim, 16. Jan 1997, 05:02:45):
~#! rn=Rochus rt=853361175 rg=gilden.bierschuettler
~#! tid=853361175
wunderbar, fuer die hohen seher. wenn man bedenkt, dass man diesen spruch nur
alle nase lang machen kann und entsprechend langsam lernt..schoenes ding. dann
gehe ich doch gleich in eine andere gilde. momentan habe ich durch diesen
spruch gerade mal ein +4 trotz ewigen uebens und benutzens. mache ich mich
doch gleich in einer anderen gilde fit und hole mir einen +3 aus der ssp, die
ich als bierschuettler gerade mal so bis zu den einfachen ebenen
ueberlebe...bierschuettler.. die, gilde fuer ausgewaehlte mitglieder! wir
bieten nichts fuer anfaenger! ich stelle mich gerne zur verfuegung als
testperson..schickt mir einen gleichwertigen anderen spieler aus einer der
anderen gilden in die arena..und ihr werdet sehen, wie schnell ich ein haufen
vergammeltes fleisch bin! 

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



Re: Re: Beruhige (Baboon, 16. Jan 1997, 11:01:09):
~#! rn=Wim rt=853387365 rg=gilden.bierschuettler
~#! tid=853361175
Aeh, Wim, das meinst du jetzt doch nicht wirklich ernst, oder?
Die Bierschuettlergilde ist neben der Abenteurergilde
die Anfaengergilde schlechthin. Wenn du meinst, das Ueben waer
schwierig, dann geh doch mal nach Fernwest und werd Karateka.
Meiner Meinung nach sind die BS-Gildensprueche verglichen mit dem
Lernaufwand besser als irgendwo sonst. Und wenn du meinst, dass du
irgendwo so einfach einen dicken bonus auf die Attribute einstreichen
kannst wie beim beruhige-Spruch, dann hast du dich geschnitten.
Denkst du etwa, in der SSP regnet es DEX+3-Ringe?

Baboon (glaubt, dass manche Leute einfach zu verwoehnt sind.)


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



Re: Re: Beruhige (Hadra, 16. Jan 1997, 11:02:09):
~#! rn=Wim rt=853387365 rg=gilden.bierschuettler
~#! tid=853361175
jaaaaaaaa, geil, da haben wir sie wieder unsere allseits beliebte:
ich-find-das-irgendwie-total-scheisse-dass-bei-uns-was-geaendert-wird-und-fang
-
gleich-an-zu-heulen-diskussion ueber gilden.
gidle a ist staerker als b und b ist staerker als c und c ist staerker als a
und alle sind doof und stinken und ueberhaupt.
wurde zeit, dass endlich mal wieder jemand so einen thread startet.

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



Re^3: Beruhige (Guybrush, 16. Jan 1997, 11:58:21):
~#! rn=Hadra rt=853408929 rg=gilden.bierschuettler
~#! tid=853361175
Hm, und wurde genauso Zeit, dass Dein Artikel gleichen Inhalts nur in etwas
die Wortwahl betreffender Form wieder erscheint ;)

Guybrush, meldet sich auch mal zu Wort, aber wird das nicht wiederholen ;)

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



Re: Re: Beruhige (Grimmborn, 16. Jan 1997, 14:57:36):
~#! rn=Wim rt=853387365 rg=gilden.bierschuettler
~#! tid=853361175
Die Bierschuettlergilde ist meines Wissens von Anfang an als "Fun-Gilde"
geplant gewesen, die Argumentation "die anderen Gilden sind aber die besseren
Kaempfer" ist also voellig am Thema vorbei.
Wenn Du gerne gut kaempfen koennen willst: es gibt genug Gilden, die sich in
der einen oder anderen Weise darauf spezialisieren. Die Bierschuettlergilde
gehoert nicht dazu.

Grimmborn der Atheist

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



Anfaengergilde (Bumbasticus, 16. Jan 1997, 15:16:37):
Hiho Shakys und Interessierte
Die Bierschuettlergilde ist eine Anfaengergilde, das ist nicht von der Hand
zu weisen. Zumindest duerfte das jeder gemerkt haben, der sie getestet hat.
Doch mit den neuen Seherspruechen sollte sich das wohl aendern, sonst waeren
eben diese Sehersprueche sinnlos.
Die Bierschuettlergilde koennte damit auf dem Weg zu einer Gilde fuer
Anfaenger
und fuer Fortgeschrittene werden, denke ich zumindest. Den Abenteurern wuerde
ich das auch langsam mal wuenschen. Die Vertreter der anderen Gilden sollten
doch dagegen nichts haben und auch Rochus wird uns sicher dahingehend einiges
zugestehen. Klar ist es ein Unding, bei uns noch etwas abzuwerten, aber wenn
es damit Probleme gab, muss es halt erstmal geaendert werden, bis das Problem
fuer alle zufriedenstellend geloest wird. Bindet man Sprueche an hoehere
Spielerlevel, so kann man das vielleicht mit dem vielen Ueben in den anderen
Gilden gleichstellen. Wie hoch man die Levelanforderungen setzt, muss dabei
gut ueberlegt sein und das ist wohl der Streitpunkt hier. Ich meine, noch
steht Rochus' Entscheidung nicht fest, also abwarten und Bier schuetteln.
                  Euer hoffnungsloser Anfaenger Mr. Lover

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



Re^4: Beruhige (Raffi, 16. Jan 1997, 15:19:08):
~#! rn=Guybrush rt=853412301 rg=gilden.bierschuettler
~#! tid=853361175
Sempft on:

Ich finde es schon etwas komisch wenn gerade der anfaengerspruch der BSG als
zu stark eingereiht wird, und dann auch noch gesagt wirerd das er fuier die
Oberen seher wieder verstaerkt werden koennte.... warum eigentlich ? Ware es
:nicht sinvoller ihn fuer die HLPs abzuschwaechen ? ... naj ja, aber hadra:
wenn dann ist ja gilde b besser als d !!!

Gruss
H.

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



Re: Anfaengergilde (Bendeigid, 16. Jan 1997, 15:21:12):
~#! rn=Bumbasticus rt=853424197 rg=gilden.bierschuettler
~#! tid=853424197
Nicht ganz korrekt, Bumbasticus.

Die Sache hat Rochus doch genau beshcrieben: Die Gilde hat den Spruch, der die
Geschicklichkeit erhoeht. Der war damals bis max (!!!) +5 vorgesehen, und
unter dieser Bedingung genehmigt worden. Dazu kommt, dass es eigentlich als
Jux-Gilde und nicht zum Metzeln angelegt war (das stand jedenfalls unter der
Gidlenbeschreibung von Shakedbeer.... ) 
Da sich mit der Levelreform die Spielerlevel grundsaetzlich erhoeht haben,
wurde dieser Grenzwert von 5 ueberschritten. Und fiel damit aus der
Genehmigung. Das wurde behoben.

Ueber die Sehersprueche wird grade debattiert....

Z'par Servu,
              Bendeigid, wuehlt sich auch durchs BS-Spellbook

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



Wunsch (Alpha, 16. Jan 1997, 15:49:37):
Hi,
Wenn ich so auf meine Stufe schaue, und danach auf die Bedingungen, die ich
erfuellen muss, um Seher zu werden(ehrwuerdiges Ziel, nicht wahr), dann weiss
ich, das ich fruehestens auf Spielerstufe 27 Seher bin. Was? 7 Stufen ohne
neuen Zauberspruch und noch mehr Jux und Dallerei? Also, ganz klar: Alpha
wuenscht sich SPIELERsprueche auch ueber Level 20. 

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



Re^4: Beruhige (Astar, 16. Jan 1997, 16:01:56):
~#! rn=Guybrush rt=853412301 rg=gilden.bierschuettler
~#! tid=853361175
Also ganz einfach:
  Alle Gilden ausser Abenteurer sind zu stark.

Ok?

Astar

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



Re^5: Beruhige (Hood, 16. Jan 1997, 17:26:23):
~#! rn=Raffi rt=853424348 rg=gilden.bierschuettler
~#! tid=853361175
tatsache ist doch, das bestimmte leute ihr geschick bis auf knapp 40 damit
hochjagen konnten, und das ist in verbindung mit artellerie mehr als
heftig (bumi + wurfsterne). die leute die es in der form nutzten scheinen
aber auch die ruhigsten zu dem thema zu sein, es kam ihnen wohl selber
etwas seltsam vor...

------
patryn

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



Re: Anfaengergilde (Grimmborn, 16. Jan 1997, 17:54:46):
~#! rn=Bumbasticus rt=853424197 rg=gilden.bierschuettler
~#! tid=853424197
Hmm, Anfaenger = wenig Kampfkraft, Seher/Fortgeschrittene = viel Kampfkraft?
Wisst ihr was, bei solchen Beurteilungen gerade im Zusammenhang mit der
Bierschuettlergilde, dreht sich mir doch der Magen um. Entweder ihr oder ich
haben da wohl was nicht verstanden...

Grimmborn der Atheist

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



Re: Re: Anfaengergilde (Anatol, 16. Jan 1997, 18:10:03):
~#! rn=Grimmborn rt=853433686 rg=gilden.bierschuettler
~#! tid=853424197
Ich moechte nicht allzuviel negative Stimmung machen, und ich moechte auch
nicht gegen Shakedbeer hetzen - aber ich glaube, dass sich die meisten
erfahrenen Seher (damit meine ich nicht FPs oder Level) gegen die geplanten
Neuerungen aussprachen. Sie waeren zwar erfreulich fuer die Bierschuettler (ha
ha, waere ja auch komisch, wenn nicht...), passen aber allgemeiner Meinung
nach weder in den urspruenglichen Gildengedanken (Fun-Gilde) noch in die
Balance der Gilden untereinander. Man kann naemlich trotz allen Gemeckers
ueber Schwaechen der eigenen und Staerken der anderen Gilden nicht von der
Hand weisen, dass die Gilden zu einem gewissen Grad tatsaechlich aus- und
angeglichen sind.

Wer seine Gilde unter dem Aspekt "moeglichst kampfstark" waehlt, ist bei den
Bierschuettlern garantiert falsch (wo er richtig ist, weiss ich nicht genau
;-)), wer aber seine Gilde aus Ueberzeugung waehlt (ich wollte schon als
kleiner Junge zaubern koennen *erroet*), wird auch mit ihr gluecklich, so wie
sie ist.

Lasst den Froeschen ihre Schenkel.
Anatol (Muellmann)


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



Re^3: Anfaengergilde (Asmodis, 16. Jan 1997, 18:16:54):
~#! rn=Anatol rt=853434603 rg=gilden.bierschuettler
~#! tid=853424197
Ich finde auch, einige Leute aus der Bierschuettlergilde sollen aufhoeren
zu heulen und ihre Gilde wechseln, wenn sie richtig kaempfen wollen.
Obwohl: Mahatma konnte auch ohne die neuen Aenderungen in der
die Hydra killen. Es ist also nicht eine Frage der neuen Spells,
sondern eine Frage der MUD-Kenntnis, wenn man hier einige Jahre
auf dem Buckel hat, dann kennt man auch bestimmte 'Gegenstaende',
die fuer ein bestimmtes Vorhaben nuetzlich sind. Und ich finde es
fair, dass erfahrene Leute dadurch entsprechend kampfstaerker sind.
Der falsche Weg ist es sicherlich jetzt, eine Anfaengergilde so
aufzuruesten, dass auch schon Anfaenger harte NPCs schaffen (DAS
schafft man in keiner anderen Gilde). 
Also bewahrt die Gildenbalance, und lasst die Bierschuettlergilde
auf dem Level, auf dem sie im Vergleich zu den anderen Gilden war!

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



auch mal senfen.... (Nairolf, 16. Jan 1997, 18:34:19):
Wirklich eine nette Diskussion die ihr da betreibt....
Ich habe mal alle Gilden angetestet (ausser den Abenteurern .. das kommt noch)
und stellte fest, das es wirklich starke Unterschiede gibt zwischen den
einzelnen Gilden...
Hier meine persoenliche Meinung:

Zauberer: Staerkste Gilde gegen jeden Gegner da die meisten NPC ziemlich
Magieanfaellig sind.
ABER: sehr hoher lernaufwand...der sich jedoch rentiert...

Karatekas: Solang der Gegner nicht zuviel zaubert sind sie auch ohne
Magiepunkte auch noch der Hammer!
ABER: irre hoher Lernaufwand...nur was fuer besessene :-)

Chaoten: Schoene Gilde die angenehm ist durch viele waehlbare
Schadenstypen..und die moeglichkeit zu paralysieren...
etwas fuer leute die gerne nicht SO viel lernen aber dennoch eine relativ
starke Gilde wollen...

Kleriker: Ja aehm :-) nette Gilde :-) mit relativ wenig lernaufwand...
momentan noch keine Moeglichkeit alles auf 100% zu lernen aber trotzdem noch
relativ stark, jedoch fast nur gegen boese Gegner (bei denen staerker als die
Chaoten sonst jedoch lang nicht..)
bis zum oberen Level relativ viel lernaufwand, jedoch in die oberen Raenge
kommt man schnell...

Bierschuettler: Witzige Gilde :-) etwas schwaecher als Kleriker (wenn man
nicht Mahatma heisst :-) ) dennoch nicht zu verachten !!!
Lernaufwand: kaum 

Kaempfer: Muss man abwarten...
Abenteurer: wie gesagt keine Ahnung :-)

Dies ist immer nur auf die oberen Level bezogen und meine persoenliche Meinung
und: eigentlich nur uninteressanter Senf :-)


Gruss Nairolf, der mit dem Drachenbaby

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



Juxgilde? (Shakedbeer, 17. Jan 1997, 17:07:34):
Hi!

Ich habe mich hier gerade durch den ganzen Thread gelesen und moechte 
kurz ein wenig Stellung beziehen. Es fiel der Begriff Juxgilde. Nunja, ich
sehe die Bierschuettler eher als Anfaengergilde, auch wenn einige Sprueche
keinen kampftechnischen Wert haben. Zur Abwertung von Beruhige kann ich auch
nur sagen, dass Rochus Recht hat, wenn er den Spruch in seine urspruenglichen
Schranken weist, denn so war die Gilde ja geplant. Ausserdem ist er der 
Gildenerzi und wenn er ausrechnet, dass der Spruch zu gut ist, dann wird er
abgeschwaecht. Ich glaube kaum, dass sonst jemand so viel Duchblick durch 
die Gildenwerte hat wie Rochus.

Also bleibt mal alle locker und wartet ab.
Shakedbeer - schaut in sein Planfile und grinst.

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



Re: Juxgilde? (Guldukat, 17. Jan 1997, 18:15:27):
~#! rn=Shakedbeer rt=853517254 rg=gilden.bierschuettler
~#! tid=853517254

Shaky, wenn ich bitten darf, mach doch mal die gilde erstmal richtig fertig.

Deine ganzen bierschuettler besaufen sich masslos in jeder kneipe, aber
es gibt im morgengrauen kein Ort, wo sie ueberschuessiges/verdautes Bier
wieder ablassen koennen. (gut, wenn ich mich recht entsinne, gibts auf irgend
einer komischen insel ne toilette, aber da rennen die hoechstens hin, um den 
zt abzuzocken.)

Und weisst du, was ein Bierschuettler in seiner Not auf der Hochebene
urinierend fuer ein jaemmerliches bild abgibt? 
Greulich !

Also, bitte mach doch noch ein paar WCs fuer die bierschuettler, dass uns
dieser unatraktiever anblick erspart bleibt.

Nicht auszudenken, was newbies denken, wenn ein bierschuettler in der gilde
auslaeuft!

GD

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



Re: Re: Juxgilde? (Wurzel, 17. Jan 1997, 18:26:34):
~#! rn=Guldukat rt=853521327 rg=gilden.bierschuettler
~#! tid=853517254
tja, in wilhelmsburg gibts ein klo, und das ist weder von der hochebene noch
von port vain weit entfernt :)


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



Re: Juxgilde? (Asmodis, 17. Jan 1997, 22:21:55):
~#! rn=Shakedbeer rt=853517254 rg=gilden.bierschuettler
~#! tid=853517254
Danke, Shaky, endlich ein vernueftiger Beitrag.
Ich weiss auch nicht, wieso man sich bei DIESER Gilde ueber eine
Abwertung eines Spruchs aufregt, der viel zu maechtig war.
Wenn man sich die anderen Gilden anschaut, wie lange man da ueben
muss, bis mal was klappt, oder bis man ueberhaupt mal nen 
vernuenftigen Spruch hat, da sind die Bierschuettler echt gut dran!

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



Bluemel ist voellig unruhig (Bluemel, 24. Jan 1997, 16:09:03):
Ich habs jetzt begriffen !
Wer also Fun haben will in diesem Mud, der darf nicht kaemfen koennen.
Wer also trotzdem kaempfen will, muss die Gilde wechseln und auf den Fun
verzichten.
Ja, das ist Bloedsinn, aber es scheint mir der Konsens aus den vorangegangenen
Artikeln zu sein.
Als Level 39 Seher und Bierschuettler bin ich im Kampf ein ziemlicher Witz (
im Vergleich mit Chaoten, Zaubererern und Karatekas sowieso ).
Aber da es mir mehr um den Fun ging, bin ich hier Bierschuettler geworden und
musste zu meiner Freude feststellen, dass man auch mit ein wenig Ueberlegung
auch einigermassen kaempfen konnte.
Jetzt ist rausgekommen, dass selbst die Bierschuettler ( zumindest einige von
ihnen ) auch einen halbwegs maechtigen Spruch haben und prompt wird dieser
abgewertet.
Was das ueben angeht, so ist man zwar als Bierschuettler von Anfang an recht
gut , aber um einen Wert auf Perfekt zu bekommen, muss man massig ueben !
Wie bei anderen Gilden lernt man nur bei missglueckten Spruechen und damit ein
Spruch, den man fast perfekt kann, missglueckt braucht man zum Teil ueber 600
Anlaeufe !
Ausserdem , was ist eine Anfaengergilde ! Wozu ist sie gut.
Die Gilde war also gedacht, dass Anfaenger hier eintreten, sich dann durch
langes Ueben hocharbeiten, Fun haben und dann, wenn sie auch Metzeln wollen (
muessen ) , die Gilde wechseln ---> Klingt nicht sehr logisch.
Ausserdem ist es mir ein Raetsel, wie Anfaenger ( keine Zweities) die Gilde
finden sollen, da sie am A.. der Welt ist.
Ich bin also nicht der Meinung, dass der *beruhige* Spruch zu heftig war; es
ist eher das einzig sinnige, was die Bierschuettler hatten!
Und Wurfsterne sind nicht nur fuer Bierschuettler eine sehr gute Waffe gewesen
und ich frag mich, wie man als Bierschuettlerlusche
ohne Zweities an die Dinger rankommen soll?
Und die Bierschuettler, die sie hatten, haben sie sich durch Zweities aus
anderen Gilden besorgt !

Bluemel, hilflos vor sich hinblubbernd

[Moerder:Geist eines Weghiers] Bluemel hat mir grad ein Koelsch ausgegegen. 

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



Re: Bluemel ist voellig unruhig (Asmodis, 24. Jan 1997, 19:20:31):
~#! rn=Bluemel rt=854118543 rg=gilden.bierschuettler
~#! tid=854118543
Es geht darum, dass einige Waffen nicht darauf konzipiert sind, dass jemand
mit Geschicklichkeit 40 oder so sie anwendet.
Beruhige ist da doch sehr heftig, damit bringt man das ganze Gleichgewicht
in diesem MUD durcheinander.

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



Re: Bluemel ist voellig unruhig (Vanir, 27. Jan 1997, 18:26:25):
~#! rn=Bluemel rt=854118543 rg=gilden.bierschuettler
~#! tid=854118543
Gerade auf Moerder:

[Moerder:Geist eines Weghiers] Bluemel hat mir grad ein Koelsch ausgegegen. 

Ich glaube sooo schwach seid ihr doch nicht.

                Vanir.

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



Re: Re: Bluemel ist voellig unruhig (Sidolin, 28. Jan 1997, 11:41:38):
~#! rn=Vanir rt=854385985 rg=gilden.bierschuettler
~#! tid=854118543
Aumann Vanir, bist du dusselich. :-)

Das war in dem Artikel, nich auf Moerder. :-)

Sidolin. Rotflt.

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



Re^3: Bluemel ist voellig unruhig (Bottom, 12. Feb 1997, 20:01:02):
~#! rn=Sidolin rt=854448098 rg=gilden.bierschuettler
~#! tid=854118543
 Ach! Das war Bestandteil des Artikels? 
Wie will Bluemel das denn gemacht haben? Sowas geht doch normalerweise gar
nicht - der ist bestimmt ein Magierzweiti!
Zappt ihn!

Bottom - ist den Suffkopp ziemlich leid  ;-)

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



Starre (Alpha, 19. Feb 1997, 14:31:17):
Hi, ich haette da ein kleines Problem, und zwar mit der von mir erst vor
kurzem erlernten Schuettelstarre. Also, in der Hilfe steht, dass fuer
Schuettelstarre keine Haende notwendig sind, was ich mir vom Konzept
her(Starren tue ich, zumindest ich, halt nur mit den Augen und nicht mit
Haenden) verstaendlich waere. Was ich nicht verstehe ist die Meldung:"Du hast
nicht genuegend Haende frei" wenn ich einen Zweihaender in der Hand bzw
Haenden habe. Ist der bug nun in der Starre, oder ist der Bug in der Hilfe und
im Namen ..starre?

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



Re: Starre (Baboon, 20. Feb 1997, 10:19:15):
~#! rn=Alpha rt=856359077 rg=gilden.bierschuettler
~#! tid=856359077
Argl, ich hoffe, dass wird jetzt nicht als Spielerhilfe gewertet.

Also, Schuettelstarre hat nix mit (jemand an)starren zu tun, sondern
auf starr( vor Schreck).
Und da du fuer die Anwendung des Spruchs mindestens eine freie
Hand brauchst, ist doch wohl logisch, dass du mit
nem gezueckten Zweihaender (warum heisst der wohl so?)
nicht mehr genuegend Haende frei hast.

Wenn dus nicht glaubst, lies einfach mal die Hilfe zu dem Spruch.

Baboon kommt jetzt bestimmt ins Jail.

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



dumm (Alpha, 20. Feb 1997, 15:18:37):
Doch, doch Baboon,
das habe ich getan. Und da steht nun mal halt 17 schuettelstarre 100 MP 0
Haende. Ich dachte 0 heisst Null wie keine Haende dazu noetig. Also, wenn ich
keine Haende brauche und zwei Haende besetzt(durch den Zweihaender) habe, dann
habe ich noch immer 0 Haende frei also geht das doch, oder? Habe ich was
falsch verstanden? Am Rechnen kann's nicht liegen, hoffe ich mal. Naja, wo ist
denn nun der Bug?
Alpha, hedonistisch und impulsiv 

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



Re: dumm (Baboon, 20. Feb 1997, 17:53:44):
~#! rn=Alpha rt=856448317 rg=gilden.bierschuettler
~#! tid=856448317
Jaja, Magier sind doof und stinken, besonders ich. 
Trodem ist es mir gerade gelungen, mit einem
gezueckten Zweihaender eine Schuettelstarre zu zaubern.
Anscheinend ist dein Spei
Anscheinend ist dein Spielerfile kaputt, wenns
bei dir nicht klappt. Dagegen hilft dann nur
Selbstloeschung. :-)

Baboon kaempft mit Micro$oft-Telnet und verliert.

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



Re: Re: dumm (Hate, 20. Feb 1997, 20:15:41):
~#! rn=Baboon rt=856457624 rg=gilden.bierschuettler
~#! tid=856448317
Tja, Baboon, MG WWW Seite anklicken und dort aufs Bild klicken.
Ich bin gerade mit dem Applet online und es funktioniert wunderbar.
Besser jedenfalls als das M$-Telnet.

Und mit TF auch bunt.

Naja, cut&paste muesste ich endlich mal einbauen.

Hate.

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



Neues (Shakedbeer,  4. Mar 1997, 00:32:04):
Hi Bierschuettler!

Einige kleine Aenderungen sind in der Bierschuettlergilde aktiv geworden:

- Bisher wurden Spieler nach Selbstloeschung oder nach Loeschung durch das
  System immer noch als Bierschuettler gefuehrt. Das sollte jetzt abgestellt
  sein. Wundert Euch also nicht, dass die Anzahl der Mitglieder staerker
  zurueckgegangen ist.

- Testspieler werden nicht mehr in der Topliste angezeigt.

- Die Typos am Satzanfang, wie 'ein Ork floesst Dir Schuettelbier ein.'
  sollten abgestellt sein. Wenn Ihr noch so einem Typo begegnet, meldet das
  bitte wie gewohnt in der Bierschuettlergilde als Typo.

- Der Freibier-Spruch wurde so korrigiert, dass die Spellpoints vor dem
  Austeilen des Freibieres abgezogen werden.

Normalerweise sollten keine Fehler mit den Aenderungen auftreten. Wenn es
trotzdem Probleme gibt, setzt sie bitte wie gewohnt mit 'bug' in der
Bierschuettlergilde ab. In dringenden Faellen (wenn nichts mehr geht)
schreibt bitte eine Mail an ID@TheOffice.Net, da ich in einer
Klausurvorbereitung stecke und nicht taeglich ins Mud schauen werde, wenn
alles problemlos laeuft.

Shakedbeer.

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



Bruno und die Topliste (Shakedbeer, 13. Mar 1997, 22:05:05):
Hi!

Gerade hatte ich einen Brief im Postfach, in dem gefragt wurde, warum
Bruno so oft die Topliste aktualisiert. Das liegt daran, dass in wenigen 
Tagen so Rochus will die Sehersprueche angeschlossen werden. Dabei ist eine
haeufigere aktualisierung notwendig. Eine genauere Erklaerung folgt in Kuerze.

Shakedbeer - hofft, dass alle am 21.3. um 9:30 die Daumen druecken! :)

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



Re: Bruno und die Topliste (Asmodis, 13. Mar 1997, 22:06:09):
~#! rn=Shakedbeer rt=858287105 rg=gilden.bierschuettler
~#! tid=858287105
Die Bierschuettler werden zu stark !!!

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



Re: Re: Bruno und die Topliste (Shakedbeer, 13. Mar 1997, 22:07:48):
~#! rn=Asmodis rt=858287169 rg=gilden.bierschuettler
~#! tid=858287105
Weil sie die Topliste oefter aktualisieren? ;)

Shaky.

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



Re^3: Bruno und die Topliste (Dhojakt, 14. Mar 1997, 00:49:52):
~#! rn=Shakedbeer rt=858287268 rg=gilden.bierschuettler
~#! tid=858287105
Klar, sie bekaempfen die monster mit lag. :)

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



Los gehts...! (Shakedbeer, 26. Mar 1997, 12:18:27):
Hallo Bierschuettler!

ES IST SOWEIT! DIE NEUEN SEHERSPRUECHE SIND AKTIV! Ich habe ja fuenf neue
Sprueche vorgeschlagen und Rochus hat drei davon genehmigt. Dadurch wird die
Guildrating nicht so stark abfallen, wie bisher vermutet, aber die volle
Guildrating kann erst ab einem sehr hohen Seherlevel erreicht werden. (Das
ist in anderen Gilden auch so. Aus diesem Grund habe ich ja erst die
Sehersprueche geplant.) Dabei ist folgendes zu beachten:

- Es gibt drei neue Gildenlevel:
  - GL 20 ab Seherlevel 20 (Betonung auf SEHERlevel) ;)
  - GL 21 ab Seherlevel 30
  - GL 22 ab Seherlevel 40

- Fuer jeden neuen Gildenlevel gibt es auch einen neuen Zauberspruch:
  - BELIEFERE: Kann bereits belieferte Kneipen aendern.
  - NEBEL: Kampfzauber mit variablem Schadenstyp.
  - ALKOHOLGIFT: Fuegt dem Gegner eine Alkoholvergiftung zu.
  Naeheres zu den Spruechen erfahrt Ihr in den Hilfeseiten.

- Fuer die neue Lerne-Anzeige waren neue Abstufungen notwendig. Die neuen
  Bezeichnungen findet Ihr unter 'hilfe abstufungen'.

- Die Sehersprueche werden in der Guildrating 20% ausmachen, da sie schwerer
  zu lernen sind. Deshalb wird es bei den Meisten zu Abwertungen in der 
  Topliste und zum Verlust von Stufenpunkten kommen. Aber fuer die neuen 
  Sprueche lohnt sich das bestimmt.

- Da die Guildrating fuer alle Spieler neu berechnet werde muss, und die
  Topliste die Guildrating benoetigt, habe ich die Topliste geleert. Wenn
  Ihr bei einer Toplistenaktualisierung anwesend seid, solltet Ihr wieder
  beruecksichtigt werden. (Bruno aktualisiert in den naechsten zwei Wochen
  deshalb jede halbe bis volle Stunde.) Wenn Ihr nicht so lange online seid,
  koennt Ihr auch mit dem Befehl 'teile bruno mit wie gut bin ich?' eine
  Neuberechnung der Guildrating und somit eine Wiederaufnahme in die
  Bierschuettler Topliste erreichen.

- Die Bierschuettlerhilfeseiten sind schon aktualisiert und auch Bruno 
  sollte ueber die neuen Sprueche Bescheid wissen.

Auch fuer diese Aenderungen gilt wieder:
Normalerweise sollten keine Fehler mit den Aenderungen auftreten. Wenn es
trotzdem Probleme gibt, setzt sie bitte wie gewohnt mit 'bug' in der
Bierschuettlergilde ab. In dringenden Faellen (wenn nichts mehr geht)
schreibt bitte eine Mail an ID@TheOffice.Net, da ich in einer
Klausurvorbereitung stecke und nicht taeglich ins Mud schauen werde, wenn
alles problemlos laeuft.

Shakedbeer - hat endlich einmal ein wenig Zeit gehabt, um an der Gilde zu
             arbeiten.

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



Re: Los gehts...! (Asmodis, 26. Mar 1997, 13:40:09):
~#! rn=Shakedbeer rt=859375107 rg=gilden.bierschuettler
~#! tid=859375107

Wertet die Bierschuettler ab !!

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



Re: Los gehts...! (Bloodyharry, 26. Mar 1997, 16:25:57):
~#! rn=Shakedbeer rt=859375107 rg=gilden.bierschuettler
~#! tid=859375107
>   - ALKOHOLGIFT: Fuegt dem Gegner eine Alkoholvergiftung zu.

Alc-Vergiftung von Bier??? Das ist doch nicht Dein Ernst?!!  :)

bh - schuettelt ernuechternd den Kopf

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



Bruno beruhigt. (Shakedbeer, 12. Apr 1997, 16:55:28):
Hi!

Ich habe gerade Bruno ein wenig beruhigt.
Er hat mir versprochen die Topliste nicht mehr ganz so oft
zu aktualisieren.

Shaky.

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



Beliefere (Shakedbeer, 15. Apr 1997, 22:34:46):
Hi!

Trotz der hier herrschenden Stimmung habe ich
eine Verbesserung eingefuehrt. Der Beliefere Bug ist weg.

Shaky.

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



Re: Beliefere (Aquadest, 16. Apr 1997, 00:07:44):
~#! rn=Shakedbeer rt=861136486 rg=gilden.bierschuettler
~#! tid=861136486

Merci tres bien! :)

Aqua dest.


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



Beliefere (Alpha, 30. Apr 1997, 15:10:16):
Hm, nun ist Alpha auf Stufe 20 angelangt, und hat bis zum Seher werden immer
noch 1216 nichtgesammelte Abenteuerpunkte. Also noch ne ziemlich lange Zeit.
Und ich denke, es geht da doch auch einigen anderen so, das man nicht gleich
mit Level 20 oder 21 Seher wird. Auf was ich hinaus will ist: koennte 
Beliefere nen Spielerspruch werden? Meinetwegen gebe ich Party oder sowas
dafuer gerne her, aber ich denke mal Beliefer nutzt mir jetzt. Wenn ich Seher
bin, dann habe ich eh die Portale. Ausserdem aendern sich die Prioritaeten bei
der Wahl der Kneipen vor allem in den jungen Levels; ich sitzte jetzt auf ner
menge von Kneipen rum, die beliefert sind, in die ich aber nie eile oder
einkehre, weil halt nix los ist in der Naehe. Punktum: Alpha wuenscht sich
Beliefere als SpielerSpruch.  

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



Re: Beliefere (Mahatma, 30. Apr 1997, 15:15:20):
~#! rn=Alpha rt=862405816 rg=gilden.bierschuettler
~#! tid=862405816
Ich bin zwar kein Spieler mehr, weswegen mir die Sache eigentlich egal ist.
Ich schliesse mich aber trotzdem dem Vorschlag an, da die angefuehrten
Argumente durchaus stichhaltig sind. Ausserdem gibts ja Beliefere ohnehin 
schon ab Seherlevel 20, obwohl man inzwischen erst mit Level 30 oder mehr
Seher wird, die Seherlevel darunter sind ja praktisch ausgestorben. Also 
koennte man den Spruch durchaus schon ab Spielerlevel 20 bekommen, vielleicht
sogar schon eher.

Mahatma (lief auch viel zu lange mit ner unsinnigen Kneipenliste rum)

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



Re: Re: Beliefere (Homm, 30. Apr 1997, 15:36:58):
~#! rn=Mahatma rt=862406120 rg=gilden.bierschuettler
~#! tid=862405816
Ich bin dagegen, da die Bierschuettler schon stark genug sind.

Wuerdevoll verneigend

PAPST Homm

PS: Ironie war eingeschaltet

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



Re^3: Beliefere (Shakedbeer, 30. Apr 1997, 21:24:36):
~#! rn=Homm rt=862407418 rg=gilden.bierschuettler
~#! tid=862405816
Was sagt Rochus dazu?

Shaky.

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



Re: Re: Beliefere (Tiptop, 23. Mai 1997, 18:30:45):
~#! rn=Mahatma rt=862406120 rg=gilden.bierschuettler
~#! tid=862405816

Aehm...wieso sind Seherlevel unter 30 ausgestorben??? *staun*


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



Re^3: Beliefere (Mahatma, 23. Mai 1997, 18:33:24):
~#! rn=Tiptop rt=864405045 rg=gilden.bierschuettler
~#! tid=862405816
Ausnahmen bestaetigen die Regel. Und Zweitis zaehlen nicht.

Mahatma

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



Italien?! (Shakedbeer, 26. Jun 1997, 23:53:42):
Hallo Muddies...

...ich komme gerade vom Konzert des Studentensinfonieorchesters
in Dortmund. Dort habe ich die Pauken gespielt und bin eingeladen
worden ab Samstag 14 Tage in Italien mit dem Jugendsinfonieorchesters
des Landes NRW zu spielen (Carmen). Ich lasse mir das alles zwar noch
durch den Kopf gehen, aber wahrscheinlich werde ich das Angebot
annehmen und deshalb wohl nicht zum Dortmunder Stammtisch kommen und
die naechsten 14 Tage wohl nicht im Mud zu sehen sein.

Also machts gut.

Shakedbeer - vielleicht ab Samstag in Italien. *WINK*

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



Kleine Aenderung (Paracelsus, 28. Jul 1997, 16:57:35):
Hiho Bierschuettlers.
Da ja theoretisch keine Begrenzung des Spielerlevels nach oben hin mehr
besteht, mussten bei einigen Spruechen (schimmer, beruhige) entspr.
Begrenzungen eingefuehrt werden.
Da Shaky kaum Zeit hat, hat er mich auf dem letzte DO-Stammtisch gebeten,
dass zu uebernehmen. Bei der Gelegenheit konnte ich dann auch gleich noch
1-2 Bugs entfernen (hoffe ich zumindest ;).

Para*

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



Re: Kleine Aenderung (Hangover, 28. Jul 1997, 17:16:50):
~#! rn=Paracelsus rt=870101855 rg=gilden.bierschuettler
~#! tid=870101855
Na klasse!

Beruhige auf +4 maximal...
Danke!

-Hangover
(etwas sauer)

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



Re: Re: Kleine Aenderung (Paracelsus, 28. Jul 1997, 18:50:53):
~#! rn=Hangover rt=870103010 rg=gilden.bierschuettler
~#! tid=870101855
Ich nochmal ;)
Als kleines Trostpflaster ist der 'nebel'-Spruch ein kleines bisschen
aufgewertet worden.

Paracelsus.

P.S.: Aber erwartet jetzt kein Wunder ];->

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



Re^3: Kleine Aenderung (Paracelsus, 28. Jul 1997, 21:07:31):
~#! rn=Paracelsus rt=870108653 rg=gilden.bierschuettler
~#! tid=870101855
Tss, jetzt bau ich da selbst noch wieder Fehler ein :(
Peinlich, peinlich ;)
Durch diesen Fehler war der 'nebel' dann doch etwas staerker geraten
als gedacht. Naja, ihr werdet euch wohl noch nicht daran gewoehnt haben.

Paracelsus.

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



Re: Kleine Aenderung (Angrim, 28. Jul 1997, 22:20:23):
~#! rn=Paracelsus rt=870101855 rg=gilden.bierschuettler
~#! tid=870101855
Ich weiss ja nicht WIE STARK jetzt alle Gilden abgewertet werden, aber ich
muss sagen, dass unsere Gilde jetzt entgueltig demontiert wurde.
Bisher wurde die Gilde fuer wirklich hochstufige Spieler (Level 48 bzw. 64)
noch richtig interessant, aber auf einmal wird auch der beste Spruch der
Bierschuettler noch verkrueppelt.
und 1. gibt es meines wissens immer noch das max-level 75 (nicht wahr Mahatma)
2.  war bei der letzten Beruhige Abwertung schon durchaus bekannt dass
zumindest level 48 noch erreichbar ist.

Angrim ueberlegt sich jetzt, ob er ueberhaupt nocht SPIELT oder ob er
zumindest die Gilde wechselt (haette ich nie gedacht). Aber erstmal wart ich
mal ab, wie sich die anderen Gilden entwickeln, aber die Kluft zwischen
Zauberern und Bierschuettlern ist jetzt NOCH groesser geworden.

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



Re: Re: Kleine Aenderung (Key, 28. Jul 1997, 22:24:13):
~#! rn=Angrim rt=870121223 rg=gilden.bierschuettler
~#! tid=870101855
Ohja ... die Kluft zwischen Zauberern und Bierschuettlern ...
Muss ich mal wieder daran erinnern das die shakies urspruenglich eine spass
gilde war??

Wenn du die zauberer so doll findest dann wechsel die gilde oder loesch dich
halt.
Hauptsache es hoert mal dieses gejammer mit die gilde ist staerker als meine
auf.

Key

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



Re^3: Kleine Aenderung (Ringor, 28. Jul 1997, 22:26:19):
~#! rn=Key rt=870121453 rg=gilden.bierschuettler
~#! tid=870101855
Zumal diese Boni bei beruhige *nie* gedacht waren.

Ihr haettet mal Shaky's Gesicht sehen sollen auf dem Stammtisch am Freitag,
als er erfuhr, welchen Level Mahatma hat. Geschrieben hat er die Gilde
naemlich zu einer Zeit, als ein einziger Spieler Level 40 hatte und der Rest
8-10 Level dahinter kam. Und daran hat er die Staerke der Sprueche bemessen.

Ringor

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



Re^3: Kleine Aenderung (Raffi, 28. Jul 1997, 22:30:10):
~#! rn=Key rt=870121453 rg=gilden.bierschuettler
~#! tid=870101855

Ja, Ne spassgilde, mit Faehigkeiten, die Es bei gutem traeinig erlaubten
mitzuhalten ... nix Gigantisches, aber wirklich gut. jetzt sind aber sachen
dazugekommen die TOEDLICH sind. Ich weiss nicht ob das die Gilde ist, in die
ich als einer der ersten eingetreten bin.

Mein Tod gerade ging auf so ne aenderung zurueck. Ich hab ueberhaupt nix
davon, wenn einerseits Sprueche Verstaerkt werden, andererseits aber Gefahren
dazu kommen. Ich hab die Gilde eigentlich bisher als SEHR gut und ausgewogen
empfunden.

Grummel
H.

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



Re^4: Kleine Aenderung (Ringor, 28. Jul 1997, 22:45:01):
~#! rn=Raffi rt=870121810 rg=gilden.bierschuettler
~#! tid=870101855
Klaer die armen Leser doch mal genauer auf, Raffi.

Ein -T* zeigt nur, dass Du an 'eile' gestorben bist. Der Spruch hat aber schon
immer LP gekostet, das ist nicht neu.

Ringor, neugierig.

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



Re^4: Kleine Aenderung (Hangover, 28. Jul 1997, 22:50:00):
~#! rn=Ringor rt=870121579 rg=gilden.bierschuettler
~#! tid=870101855
Zu Beruhige...

Ich kann mich an die letzte Diskussion dazu erinnern - da hiess es mal,
Rochus haette gesagt, ein Maximum von +5 waere ok. Warum man dafuer auf
einmal Level 60 erreichen sollen muss, ist mir etwas schleierhaft...

-Hangover
(dessen Name ihn nunmal auf Lebenszeit an diese Gilde bindet...)

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



Re^4: Kleine Aenderung (Mahatma, 28. Jul 1997, 23:07:34):
~#! rn=Ringor rt=870121579 rg=gilden.bierschuettler
~#! tid=870101855
Das kann ich so nicht stehenlassen, wie es hier dargestellt wird. Es ist
richtig, dass zum Zeitpunkt der Gildenerstellung der hoechste Spieler Level 40
hatte (damals vor der Levelreform noch), damals bekam man fuer 5 Level +1
Geschick.
Das waere also bei Ryne damals schon +9 gewesen (wenn er denn seine Gilde
gewechselt haette).

Dann kam die Levelreform, damit stiegen die Level natuerlich betraechtlich,
irgendwann hatte ich dann mit Level 63 einen Bonus von 13, was natuerlich
nicht so beabsichtigt war. Dies ist aber laengst Geschichte, denn irgendwann
wurden die Magier doch aufmerksam, woraufhin Rochus eine Obergrenze von +5
einfuehrte. 
Damals kam es dann zu berechtigten Protesten, weil man mit einem niedrigen
Level schon diese Grenze erreichte und damit die Moeglichkeit, durch
Levelaufstieg seine Faehigkeiten zu verbessern, nicht mehr gegeben war; gerade
das machte aber fuer mich den Reiz dieser Gilde aus.

Nun, Rochus hat es damals eingesehen und sich eine neue Formel ausgedacht,
wobei man bis Level 32 alle 8 Level +1 bekam, und danach alle 16 Level +1. Das
stand damals auch in der MPA, Shakedbeer wusste auch davon, und alle fandens
ok. Rochus hat mir damals sogar vorgerechnet, was bei hoeheren Leveln
passiert, das warn alles noch ertraegliche Zahlen, und so schnell geht das
Aufsteigen ja inzwischen auch nicht mehr, da ich das inzwischen fast nur noch
durch Forschen schaffe.

Deshalb finde ich diese Aenderung nicht gut, und ich wuerde mich freuen, wenn
Rochus' Formel wieder genommen werden wuerde; schliesslich ist der Unterschied
zwischen +5 (jetzt) und +7 (vorher) auch nicht so gross, dass da eine
Abwertung zwingend notwendig ist.

Ich will aber nicht nur noergeln, ich freue mich, dass der Waffe-wegsteck-Bug
jetzt endlich raus ist, und dass Nebel jetzt endlich brauchbar ist.

Mahatma

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



Re^5: Kleine Aenderung (Hate, 29. Jul 1997, 08:51:06):
~#! rn=Mahatma rt=870124054 rg=gilden.bierschuettler
~#! tid=870101855
Mahatma -> 76!
Hate.

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



Re^6: Kleine Aenderung (Paracelsus, 29. Jul 1997, 11:22:40):
~#! rn=Hate rt=870159066 rg=gilden.bierschuettler
~#! tid=870101855
HI.
Also um das mit dem 'Tod durch eile' mal klarzustellen: An dem Spruch habe
ich ueberhaupt nix geaendert. Wer also jetzt daran stirbt, waere 
vorher auch daran gestorben.

Paracelsus.

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



Re^7: Kleine Aenderung (Raffi, 29. Jul 1997, 12:31:33):
~#! rn=Paracelsus rt=870168160 rg=gilden.bierschuettler
~#! tid=870101855
Hmm....

Dann frag ich mich warum ich gestorben bin ?

ich hab vorsicht 40 und bin mit 37 LP aus nem kampf mit nem schattenmann raus
- dann eile, eile 1 und tod !

Gruebelnd
H.

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



Beruhige. (Shakedbeer, 29. Jul 1997, 12:48:12):
Hi!

Beruhigt Euch mal in der Beruhigesache. Ich habe gerade mit Para* gesprochen
und nach laengerer Diskussion haben wir die Rochusformel wieder eingefuehrt
und auf DEX+8 beschraenkt. Mahatma, Du kannst also getrost Level 80 werden.
Die Aenderung ist ab sofort aktiv.

Ach ja. Die Bierschuettler sind keine Spassgilde, sondern mein voller
Ernst. ;-) Ich denke Anfaengergilde ist passender.

Shaky - Hatte mal ein wenig Zeit, um einige Mails zu verarbeiten.

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



Re: Beruhige. (Hangover, 29. Jul 1997, 12:50:02):
~#! rn=Shakedbeer rt=870173292 rg=gilden.bierschuettler
~#! tid=870173292
Hi!

Na, das hoert sich ja gleich wieder etwas besser an :)

Ein hocherfreuter Hangover

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



Re: Re: Beruhige. (Guellewrite, 29. Jul 1997, 12:51:19):
~#! rn=Hangover rt=870173402 rg=gilden.bierschuettler
~#! tid=870173292
Ueberleg Dir das nochmal, Shaky. Das ist mein voller Spass !

G.

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



Re^3: Beruhige. (Catweazle, 29. Jul 1997, 20:12:55):
~#! rn=Guellewrite rt=870173479 rg=gilden.bierschuettler
~#! tid=870173292

Hm, kann mir jemand erklaeren, warum es mir in den Fingern zuckt, und ich 
versucht bin, einen artikel von jemandem mit Namen 'guellewrite', zu 
leoschen?

YTC

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



Re^4: Beruhige. (Bloodyharry, 29. Jul 1997, 23:18:41):
~#! rn=Catweazle rt=870199975 rg=gilden.bierschuettler
~#! tid=870173292
Weil Du Sherif bist und die Devise lautet: erst schiessen, dann fragen? ;)

bh - konnte wieder mal nicht wiederstehen.

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



Re^4: Beruhige. (Raffi, 30. Jul 1997, 16:01:46):
~#! rn=Catweazle rt=870199975 rg=gilden.bierschuettler
~#! tid=870173292

Lass Dir am besten von einem Bierschuettler ne tuechtige Dosis 'Beruhige'
verpassen ... dann kannste hoffentlich wiederstehen.

Gruss
H.
(Ups das war glatt ein Beitrag mit bezug zum thema - sorry :)

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



Re^5: Beruhige. (Feuerwehr,  1. Aug 1997, 19:16:03):
~#! rn=Bloodyharry rt=870211121 rg=gilden.bierschuettler
~#! tid=870173292
Klingt logisch :)

   Feuerwehr (zueckt eine Kanone und legt an).

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



Alpha braucht nen Tip, (Alpha, 18. Aug 1997, 15:57:13):
und zwar fuer eine gute neue Kneipe. Da seit letzter Woche (danke Zardoz)
meine Lieblingstanke nix mehr bringt, suche ich ne neue mit nem guten
Getraenk. Hat da ein Bierschuettler nen guten Tip? Campari ist Muell, und
Knobiwasser auch.
Alpha.

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



Der 1. Ehrenbierschuettler. (Shakedbeer, 24. Aug 1997, 21:15:57):
Hi!

Ich habe beim Muenster-Sommercamp Dauergast zum Ehrenbierschuettler
ernannt. Man findet ihn nun in der Bierschuettlertopliste verewigt.
Danke fuer Deine Dienste an den Bierschuettlern, Dauergast.

Shakedbeer - dankt dem MudDriver, der das Mud up hielt und 
             noch viel mehr dem MS-ScanDisk.

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



Magischer Kanister (Boebbel, 11. Sep 1997, 16:35:21):

Hallo!

Kaum habe ich endlich Stufe 40 erreicht, schon hab' ich wieder was zu
meckern... ;-) Keine Angst, es ist nichts Schlimmes... :)

Leider ist der Name des gefuellten magischen Kanisters ein bisschen
zu lang geraten, so dass die 2 Spalten im Inventory floeten gehen... :(

Koennte man nicht aus

'Ein magischer Kanister mit 7 Litern Schuettelbier.'

'Ein magischer Kanister (7 Liter)' oder
'Ein magischer Kanister (7 l)'

machen? Dann waere das Inventory wieder 2-spaltig und man haette 
trotzdem alle Informationen...

Na, wie waers?
Ein Boebbel...

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



Kleine Aenderung (Paracelsus,  7. Nov 1997, 11:49:53):
Hi.
Ne kleine Aenderung beim Nebel. Man kann jetzt mit dem Kommando
'nebelschaden' einen Standard-Schadenstyp fuer den Nebel einstellen.
Geht natuerlich nur mit einer neuen (sprich: nach diesem Artikel neu
erzeugten) Bierschuerze und wenn man den Spruch 'nebel' auch beherrscht.

Para*

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



mal ne Idee (Khorak, 11. Nov 1997, 20:34:49):
Koennte man die Shakies nicht bischen aufwerten ?
Die anderen Gilden sind ja abgewertet worden, und 
wir Schuettler haben jetzt mehr fuer unseren
Schutz vor den boesen NPCs zu tun.
Meine Idee, nicht die Sprueche verstaerken, sonder bischen 
den MP-Verbrauch absenken.
z.B.Fuer Erdbeben auf 60 , fuer Nebel auf 45 oder 40 ,
fuer Alkoholgift auf 70...
wie gesagt, nur so ne Idee :)
Khorak

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



Re: mal ne Idee (Hangover, 11. Nov 1997, 23:35:38):
~#! rn=Khorak rt=879276889 rg=gilden.bierschuettler
~#! tid=879276889
Muss ich ja auch mal was fuer sagen:

Khorak, sei froh, dass der Nebelspruch durch die Party ein bisschen dem
MP-Verbrauch angepasst worden ist. Und sei mit dem zufrieden, was 
Schuettler koennen - das ist naemlich allerhand. Nur dass es zum Teil
etwas zu gut versteckt ist :-)

Hangover
(kann zwar auch noch diverse extras brauchen, aber...!)

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



Kanister (Kartoffel, 12. Nov 1997, 23:56:42):
Halloele,
eine kleine Frage, koennte man nicht die Short des Kanisters etwas kuerzen,
damit das in ne halbe Zeile passt?


Kartoffel - wird von ihrem Inv-Scroll erschlagen...

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



Re: Kanister (Kartoffel, 14. Nov 1997, 18:07:14):
~#! rn=Kartoffel rt=879375402 rg=gilden.bierschuettler
~#! tid=879375402
 Das ging ja fix, danke :)

Kartoffel

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



Re: Re: Kanister (Paracelsus, 14. Nov 1997, 21:04:07):
~#! rn=Kartoffel rt=879527234 rg=gilden.bierschuettler
~#! tid=879375402
Tja, ich hatte zufaelligerweise einige Minuten Zeit ;)

Para*

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



Kleiner Wunsch (Hangover, 26. Nov 1997, 16:23:23):
Moin!

Kleiner Wunsch fuer die Schuettler niedrigerer Level. Da die Sprueche
in der Fertigkeit einen Oberwert haben, erreicht man den als Nicht-
seher ja auch gerne mal und uebt sich dumm und dusselig, weil da
immer noch die Meldung erscheint: "Du lernst aus Deinem Fehler". 
Koennte nicht alternativ bei Erreichen des Maximums eine Meldung
ausgegeben werden wie "Du kannst aus Deinem Fehlern nicht mehr
lernen"? Solls ja in anderen Gilden auch nicht geben.

Aeh...streicht das 'nicht' aus dem letzten Satz... :-/

Knuddels,
Hangover

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



Partymonster-Bild (Honx,  7. Jan 1998, 19:19:42):

Hallo Bierschuettler-Kumpanen,

ein Freund von mir hat das Partymonster gezeichnet.

Ich hab das Bild eingescannt und auf den
mg-FTPServer gepackt. Im Moment liegt es
in /incoming als party(mon)?.(tif|gif)
(Es waere nett, wenn jemand mit Schreib-
berechtigung die Dateien dann mal in das richtige
Verzeichnis verschieben koennte).

TTY, Honx

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



Kanister (Paracelsus, 19. Feb 1998, 13:24:15):
Hi.
Die Bierschuettler, die stolze Besitzer eines magischen Kanisters sind,
werden wohl nach einem ende/reboot/crash feststellen, dass die
Langbeschreibung um eine Zeile laenger geworden ist.

Para.

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



Frankenstein (Angrim, 22. Feb 1998, 11:28:48):
Wenn man bei Frankenstein eine Rassenumwandlung macht, sollte man am besten
keine aktive schimmerruestung und kein aktives beruhige haben, da diese
anschliessend bis zu einem ende buggen.

                                        Gruss Angrim

P.S.: Wer feststellt, das es ihm trotzdem passiert ist, sollte sich
vertrauensvoll an einen Magier wenden um sich die Objekte destructen zu lassen
:)

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



Wie waer's? (Torf,  3. Apr 1998, 10:56:36):
Liebe Bierschuettler!
Ich bin ja nun schon seit einiger Zeit in dieser Gilde und ich hoffe die
Situation einigermassen beurteilen zu koennen(Wenn nicht korrigiert mich
bitte!). Als ich in diese Gilde eintrat hoffte ich eine Gruppe von Leuten
treffen mit ein bischen Zusammengehoerigkeitsgefuehl, froehlich und
freundlich, die nicht umbedingt ihre naechst Stufe und Verbesserung der
Kampffertigkeiten im Auge haben.
Als Bruno dann verkuendete: Torf ist auch in die Gilde eingetreten, erwartete
mich auf dem -bierschuettlerkanal eisiges Schweigen, Kein Hallo, Kein
Willkommen, Kein Garnichts. Ich fuehrte dass auf meine Persoenlichkeit
zurueck, aber mittlerweile haben mir andere Bierschuettler erzaehlt, dass es
ihnen genausogeht. Sind euch denn neue Mitglieder so egal? Falls ihr uebrigens
mal -bierschuettler* tippt wette ich dass zu 90% Bruno sder einzige ist, der
ueberhaupt was sagt. Schade! Ich denke an den Leuten die dahinterstecken liegt
es nicht, die habe ich bis jetzt alle als aussert nette Mudder kennengelernt,
also hoffe ich dass hier in diese Gilde ein wenig mehr Kultur(Was besseres ist
mir jetzt nicht eingefallen einkehrt. Lasst uns alle ein wenig dazu beitragen.
Euer Torf

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



Re: Wie waer's? (Gloin,  3. Apr 1998, 18:32:15):
~#! rn=Torf rt=891593796 rg=gilden.bierschuettler
~#! tid=891593796
Oooch. Die Bierschuettler schuetteln meines Wissens lieber in RL herum,
so geschehen auf der Sommerfete in Muenster ...

Schlafsack Gloin

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



Re: Re: Wie waer's? (Hangover,  3. Apr 1998, 18:49:46):
~#! rn=Gloin rt=891621135 rg=gilden.bierschuettler
~#! tid=891593796
Ja, wenn sie mal aus ihren Loecher gekrochen kommen...

Hangover
(braucht dringend ne Sommerparty)

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



Re^3: Wie waer's? (Torf,  3. Apr 1998, 20:21:50):
~#! rn=Hangover rt=891622186 rg=gilden.bierschuettler
~#! tid=891593796
Leider geht es hier nicht um sommerparties sondern ums MG. Ich denke die Leute
wuerden gerne was hier veraendern(In der Gilde), aber irgendwie fehlt der
Anstoss. Also, Artikel schreiben, Kanal benutzen( Auch sachen die man sonst
nur auf -a oder -zt senden wuerde), Annekdoten erzaehlen, halt alles was
dazugehoert. Ich wuerde mich freuen und ich glaube andere Bierschuettler auch!

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



Re: Wie waer's? (Asmodis,  4. Apr 1998, 12:55:36):
~#! rn=Torf rt=891593796 rg=gilden.bierschuettler
~#! tid=891593796
Anscheinend haben alle den Bierschuettlerkanal abgestellt, weil Bruno
so nervt.
Dann bekommt natuerlich keiner mit, dass du eingetreten bist :)

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



Re^4: Wie waer's? (Key,  4. Apr 1998, 14:44:22):
~#! rn=Torf rt=891627710 rg=gilden.bierschuettler
~#! tid=891593796
Bring die Leute auch noch auf dumme Ideen ...
Die verschiedenen Kanaele haben deshalb so seltsame Namen damit eben die
verschiedenen Themen da besprochen werden.
Ne Frage nach nem Zt hat nix auf allgemein, abenteuer, oder auf irgendeinem
gildenkanal zu suchen.

Key

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



Aktualisierung der Topliste (Dieder, 21. Apr 1998, 18:32:21):
Sorry, aber die Aktualisierung der Topliste tausendmal am Tag nervt echt,
insbesondere das (zugegeben) kurz Lag, das sie verursacht!
Und die intelligenten Sprueche von Bruno sind wohl auch der Grund, weshalb
viele auf dem Kanal gar nicht mehr hoeren...
Kann man nich wenigstens die Aktualisierung nur einmal am Tag vornehmen?
Muesste doch auch reichen.

Dieder

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



Re: Aktualisierung der Topliste (Hangover, 21. Apr 1998, 18:33:16):
~#! rn=Dieder rt=893176341 rg=gilden.bierschuettler
~#! tid=893176341
Das Lag kommt nicht ungedingt von der Topliste sondern vom allgemeinen
Reset, der alle 5 Minuten stattfindet. 

-Hangover

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



Re: Re: Aktualisierung der Topliste (Hangover, 21. Apr 1998, 18:33:54):
~#! rn=Hangover rt=893176396 rg=gilden.bierschuettler
~#! tid=893176341
Kleiner Nachsatz:

Ohne einen Magier, der sich um die Gilde kuemmert, wird hier eh
nix.

-Hangover

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



Re^3: Aktualisierung der Topliste (Shakedbeer, 23. Apr 1998, 23:36:21):
~#! rn=Hangover rt=893176434 rg=gilden.bierschuettler
~#! tid=893176341
Hi!

1. Para kuemmert sich um die Gilde (wenn er zwischendurch Zeit hat und von mir
Anregungen bekommt.)
2. Es muss mehrmals aktualisiert werden, da nur anwesende Spieler
bercksichtigt werden knnen. => Wenn man nur einmal am Tag aktualisiert, werden
Muddies, die zu dieser tageszeit nicht surfen nie aufsteigen.

Shaky. (invis)

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



Re: Aktualisierung der Topliste (Key, 24. Apr 1998, 17:40:27):
~#! rn=Dieder rt=893176341 rg=gilden.bierschuettler
~#! tid=893176341
Hmm zu 2. ....
Wieso erzeugen dann andere Gilden kein Lag?
Oder ist mir das nurnicht bewusst?

Key

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



Re: Re: Aktualisierung der Topliste (Silvana, 24. Apr 1998, 18:12:52):
~#! rn=Key rt=893432427 rg=gilden.bierschuettler
~#! tid=893176341
Naja, als die Zauberergilde noch Bestenlisten hatte, haben auch
die Lag gemacht. Allerdings nicht ganz so viel, da die Bearbeitung
auf die (nicht synchronen) resets dreier Objekte aufgeteilt wurde
Von der gesammt-Rechenzeit her duerfte es aber aehnlich gewesen sein.

  Silvana

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



Re^3: Aktualisierung der Topliste (Key, 24. Apr 1998, 18:14:17):
~#! rn=Silvana rt=893434372 rg=gilden.bierschuettler
~#! tid=893176341
*gruebel*
Aeh Shaky sachte doch was von wegen aufsteigen weswegen resettet werden
muesste .... 
meinte er etwa nur die plaetze in der topliste???

Key

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



Re^3: Aktualisierung der Topliste (Trekan, 25. Apr 1998, 12:01:05):
~#! rn=Silvana rt=893434372 rg=gilden.bierschuettler
~#! tid=893176341
warum werden die listen eigtl nicht extern berechnet ?
auf die save-daten koennen doch scripte von aussen zugreifen und
text-dateien/listen auf platte auswerfen.
Trekan

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



Spellbook debugt (Silvana, 29. Apr 1998, 12:00:24):
Hi.
Ich habe eben Euer Spellbook etwas entwanzt. Ein paar der unfreiwilligen
features duerften damit weg sein - und das Gescrolle auf Debug auch.
Hoff ich jedenfalls...

  Silvana

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



Something's happening... (Bielefeld, 26. Mai 1998, 14:06:32):
Moin!

Es tut sich was - Irgendwas und meine Wenigkeit werden in Kuerze die
Reihen der Magier verstaerken und mit Shakedbeer zusammen mal ein
bisschen was an der Gilde tun. 

Zwar haben wir schon gewisse Vorstellungen ueber unser Tun, aber da
die Gilde auch den 'Verbrauchern', also auch euch gehoert, bitten
wir um Vorschlaege, Anregungen, Wuensche,...

Jemand aus Bielefeld

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



Re: Something's happening... (Alpha, 26. Mai 1998, 15:13:13):
~#! rn=Bielefeld rt=896184392 rg=gilden.bierschuettler
~#! tid=896184392
So....gar nicht so unnett faende ich nen Spruch: Alkstand, der halt den
genauen Alkstand anzeigt.
Der Sand koennte auch verbessert werden. Ich haette als Vorschlag, dass man
(optional) beim Betreten des Raumes sofort,also ohne lies Sand zu tippen, den
Text lesen kann. Beim Erkunden irgendwelcher schrecklichen Labs waere das
recht hilfreich. 
Wenn ich mir die Chaosgilde so ansehe, dann werde ich ganz neidisch auf das
Chaossage. Koennten wir nicht auch soetwas haben? 
Alpha.

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



Re: Re: Something's happening... (Hangover, 26. Mai 1998, 15:28:17):
~#! rn=Alpha rt=896188393 rg=gilden.bierschuettler
~#! tid=896184392
Moin!

Zum Alkstand: dafuer gibts bisher eigentlich 'beobachte'. 
Zum Sand: Bau Dir einen Trigger, der auf 'Ein Haufen Sand' reagiert. Nach
aktueller Regelung in diesem Bereich hochlegal und am einfachsten :-)

-Hangover

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



Re^3: Something's happening... (Gloinson, 26. Mai 1998, 15:28:48):
~#! rn=Hangover rt=896189297 rg=gilden.bierschuettler
~#! tid=896184392
Sand: Und vor allem fuer andere am wenigsten nervend.

Gloin

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



Re^4: Something's happening... (Alpha, 26. Mai 1998, 15:32:24):
~#! rn=Gloinson rt=896189328 rg=gilden.bierschuettler
~#! tid=896184392
Der Sand soll ja nur von einem selbst gelesen werden...
Wenn es legal ist, schoen.
Wenn fuer uns kleine Spieler das Eilen etwas oefter erlaubt waere und
Beliefere endlich als Spielerspruch zugaenglich gemacht waere, wuerde ich ganz
gluecklich sein. Warum gerade Beliefere ein Seherspruch ist, war mir schon
immer unklar.
Alpha moechte allen Schuettlern im gemeinsamen Biergeist lauschen.

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



Re^5: Something's happening... (Hangover, 26. Mai 1998, 15:34:01):
~#! rn=Alpha rt=896189544 rg=gilden.bierschuettler
~#! tid=896184392
Warum Beliefere ein Seherspruch ist?

Hmm...seh es mal so: Der Spruch ist eine Chance, den Mist, den man
als kleiner Spieler verzapft hat, wiedergutzumachen. Und das muss
man ja nicht sofort koennen.

-Hangover
(eilt pro Uptime und Richtung in der Regel einmal)

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



Re^5: Something's happening... (Key, 26. Mai 1998, 17:42:50):
~#! rn=Alpha rt=896189544 rg=gilden.bierschuettler
~#! tid=896184392
Warum willste als Spieler net gleich Seherportale benutzen?

Key

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



Aenderungen in den Kneipen (Bielefeld, 23. Jun 1998, 16:04:45):
Moin!

Ich bin grade dabei das Logfile der Kneipenbelieferungen zu durchforsten
und die zustaendigen Magier ueber die Belieferungen zu befragen. Deswegen
wundert Euch nicht, dass sich eventuell bei den Kneipen ein bisschen was
aendert - zum guten wie zum schlechten.

Erste schlechte Nachricht: Ausliefern in Neskaya ist NICHT mehr
moeglich.

Jemand aus Bielefeld

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



Re: Aenderungen in den Kneipen (Tarina, 23. Jun 1998, 16:34:55):
~#! rn=Bielefeld rt=898610685 rg=gilden.bierschuettler
~#! tid=898610685
Erste schlechte Nachricht: Ausliefern in Neskaya ist NICHT mehr
moeglich.
Macht doch die Kneipen gleich zu :-)
Da kann man eh nix vernuenftiges Tanken.

Tarina

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



Re: Re: Aenderungen in den Kneipen (Bendeigid, 23. Jun 1998, 17:21:13):
~#! rn=Tarina rt=898612495 rg=gilden.bierschuettler
~#! tid=898610685
Tarinamaedel, das merk ich mir... oh ja, das merk ich mir GAnz genau, dass das
von dir kam...

Brieseltrim.... ich haette da eine Aenderung am Befoerderungsplan
vorzuschlagen...

grummelnd, Bendeigid

P.S.: Das mit den Nicht-Belieferbaren Kneipen in Neskaya ist einzig und allein
meiner puren Gemeinheit zu verdanken, dass ich egoistischerweise nicht will,
dass der Pass durch einen Pseudo-Teleport umgangen werden kann. Flames und
Beschwerden bitte an /dev/null oder wahlweise bei der Banshee persoenlich
abgeben

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



Re^3: Aenderungen in den Kneipen (Overlord, 23. Jun 1998, 17:53:18):
~#! rn=Bendeigid rt=898615273 rg=gilden.bierschuettler
~#! tid=898610685
Vorschlag zur Guete: man koennte die kneipe doch ab einem GL belieferbar
machen, ab dem die Banshee keine grosse Gefahr mehr ist.

Ovi

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



Re^4: Aenderungen in den Kneipen (Bielefeld, 23. Jun 1998, 17:53:52):
~#! rn=Overlord rt=898617198 rg=gilden.bierschuettler
~#! tid=898610685
Das hiesse, noch einige Gildenlevel anzuhaengen.

Jemand aus Bielefeld

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



Re^5: Aenderungen in den Kneipen (Gloinson, 24. Jun 1998, 16:25:39):
~#! rn=Bielefeld rt=898617232 rg=gilden.bierschuettler
~#! tid=898610685
Seh ich auch so ;-)
Kann man 'eile' nicht einfach etwas veraendern, so dass die Zielkneipe
auf 'Beeilfaehigkeit' getestet wird? Das koennte die Problem mit Akhar
N'thar und Neskaya (und sicher noch anderen Orten) loesen.

Gloin

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



Re^6: Aenderungen in den Kneipen (Key, 24. Jun 1998, 16:27:43):
~#! rn=Gloinson rt=898698339 rg=gilden.bierschuettler
~#! tid=898610685
Hmm vertehts wirklich keiner?
Also im Klartext ... Bende will net das irgendein Seppel mal eben kurz durch
nen Teleport nach Nesakaya kommt ....
Punkt aus Schluss.

Key

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



Re^7: Aenderungen in den Kneipen (Anatol, 24. Jun 1998, 16:35:32):
~#! rn=Key rt=898698463 rg=gilden.bierschuettler
~#! tid=898610685
Davon abgesehen gackert Gloin wieder, ohne vom Eierlegen Ahnung zu haben. Jede
Kneipe, die in die Kneipenliste eines Bierschuettlers aufgenommen werden soll,
muss vorher freigegeben worden sein. Wenn Shaky Neskaya eingetragen hat, dann
hat er eben Bendeigid nicht gefragt, sondern nach eigenem besten Wissen und
Gewissen gehandelt, was halt nicht der Intention Bendes entsprach, und gut.

Anatol, erklaert Gloin das mit Bienen und Blumen


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



Re^8: Aenderungen in den Kneipen (Ringor, 24. Jun 1998, 16:35:38):
~#! rn=Anatol rt=898698843 rg=gilden.bierschuettler
~#! tid=898610685
Vielleicht hab ich Gloin ja falsch verstanden - aber meinte er nicht eher,
dass man den Rabatt der Schuettler und das Eilen koennen zu einer Kneipe
getrennt regeln sollte?

Also so, dass man in Neskaya meinetwegen Rabatt bekommt, aber nicht hineilen
darf?

Ringor spielt Vermittler.

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



Re^9: Aenderungen in den Kneipen (Gloinson, 24. Jun 1998, 16:46:48):
~#! rn=Ringor rt=898698938 rg=gilden.bierschuettler
~#! tid=898610685
Jepp. Genau das. War wohl etwas missverstaendlich ausgedrueckt. Die meisten
Schuettler die ich kenee legen mehr Wert auf den Bonus als aufs Eilen.

Gloin

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



Re^10: Aenderungen in den Kneipen (Anatol, 24. Jun 1998, 16:47:39):
~#! rn=Gloinson rt=898699608 rg=gilden.bierschuettler
~#! tid=898610685
Du meinst: Die meisten Spendiere-Zweities, die Du kennst.... ;)

Anatol ;)


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



Aenderungen in den Kneipen (Mtv, 25. Jun 1998, 00:46:48):
~#! rn=Gloinson rt=898699608 rg=gilden.bierschuettler
~#! tid=898610685
Also ich lege mehr Wert auf eilen, wie auf den Rabatt, daher suche ich mir die
Kneipen sehr gut aus, und habe auch 3 Tode auf mich genommen, bis ich endlich
Neskaya beliefert hatte.

MTV

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



Re^7: Aenderungen in den Kneipen (Bielefeld, 25. Jun 1998, 12:15:22):
~#! rn=Key rt=898698463 rg=gilden.bierschuettler
~#! tid=898610685
Genau das.

Jemand aus Bielefeld
(gibt Key recht, und respektiert Bendeigids Wunsch)

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



Re: Aenderungen in den Kneipen (Bendeigid, 26. Jun 1998, 16:35:32):
~#! rn=Mtv rt=898728408 rg=gilden.bierschuettler
~#! tid=898610685
genau darum will ich kein Beliefern nach Neskaya.
Ich bin doch tatsaechlich so dermassen arrogant, dass ich der festen
ueberzeugung bin, den 'Verrin-Falken' muss man einfach mal gesehen haben. Ist
so ungefaehr wie Hilberts Turm oder Schreckensspitze oder Daemonenburg: Wers
nicht kennt kennts MG nich :)))

Z'par servu,
             Bendeigid

P.S.: Danke fuer die drei Tode, MTV *kerb Hoelzchen*

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



Re: Re: Aenderungen in den Kneipen (Aline, 26. Jun 1998, 16:38:02):
~#! rn=Bendeigid rt=898871732 rg=gilden.bierschuettler
~#! tid=898610685

Hmmm 'Verrin-Falken'??? 
Ich glaube Du hast Banshee so ziemlich flachs geschrieben.

Aline (war schon oefter in Nesquick, kann sich aber an den Falken nicht
erinnern)

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



Re^3: Aenderungen in den Kneipen (Tarina, 26. Jun 1998, 16:43:22):
~#! rn=Aline rt=898871882 rg=gilden.bierschuettler
~#! tid=898610685
Das Problem ist ja eben, dass man sich an das Angebot des Falken
nicht erinnern kann... weil es total ueberteuert und tastatur-schaedigend
ist. Wenns nicht ein paar Nettigkeiten dort gaebe, die ich _nur_ dort
bekomme, haette Neskaya keine Anziehungskraft fuer mich.

Tarina duckt sich schonmal.

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



Re^3: Aenderungen in den Kneipen (Anatol, 26. Jun 1998, 16:44:03):
~#! rn=Aline rt=898871882 rg=gilden.bierschuettler
~#! tid=898610685
(a) Der Gasthof in Neskaya heisst "Zum Verrin-Falken".
(b) In der Falknerei kann (oder konnte) man einen Verrin-Falken erstehen.

Anatol, Neskayaliebhaber



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



Re^4: Aenderungen in den Kneipen (Aline, 26. Jun 1998, 16:45:31):
~#! rn=Tarina rt=898872202 rg=gilden.bierschuettler
~#! tid=898610685

Bei mir lag das Problem wohl eher darin, dass als ich oefter
in Nesquick war. Der Falke nie da war.......

Aline . o O (Bugdeigid)
und begibt sich in die Deckung

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



Re: Re: Aenderungen in den Kneipen (Key, 26. Jun 1998, 17:22:50):
~#! rn=Bendeigid rt=898871732 rg=gilden.bierschuettler
~#! tid=898610685
Verrin-Falken?
Was issn das? .)

Key grinst frech

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



Aenderungen am Spellbook (Bielefeld, 27. Jun 1998, 16:36:52):
Moin!

Es hat sich ein bisschen was getan:
* Bei 'beobachte' wird der Vergiftungslevel mit angezeigt
* Nebel ist ein bisschen billiger geworden
* Alkoholgift kostet jetzt nur noch 60 MP und wirkt ein wenig besser.

Jemand aus Bielefeld
(in der Hoffnung, dass da jetzt keine Bugs drinsind)

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



Re: Aenderungen am Spellbook (Anatol, 27. Jun 1998, 16:51:28):
~#! rn=Bielefeld rt=898958212 rg=gilden.bierschuettler
~#! tid=898958212
Hat mich ja fast gewundert... eine Gilde ohne krankhafte Aufwertung KANN
es im Morgengrauen ja eigentlich nicht geben, oder? 

Mann, wacht doch mal endlich auf! "Spielspass" und "Gildenstaerke" sind 
nicht proportional zueinander, geschweige denn gleichbedeutend. Wenn das
die Wurstseher der Gilden schon nicht blicken, warum merkt "ihr Magier"
das nicht?

Anatol - ueberall dasselbe...


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



Re: Re: Aenderungen am Spellbook (Bielefeld, 27. Jun 1998, 17:21:53):
~#! rn=Anatol rt=898959088 rg=gilden.bierschuettler
~#! tid=898958212
Hm...also das, was ich am Spellbook geaendert habe, wuerde ich nicht
aufwerten nennen. Auch mit dem, was jetzt drin ist, werden die Schuettler
nicht 'wettbewerbsfaehig' im Sinne der staerkeren Gilden, und das
werden sie auch nicht werden.

Jemand aus Bielefeld
(differenziert zwischen Aufwerten und Nachbessern)

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



Re^3: Aenderungen am Spellbook (Morgoth, 27. Jun 1998, 20:00:06):
~#! rn=Bielefeld rt=898960913 rg=gilden.bierschuettler
~#! tid=898958212
HEy, dann schau dir mal deinen wurst-erstie an, wenn er in einer runde mit
zwei bummis zweimal zerschmettert OHNE MP zu verbrauchen. also ich wuerde das
nciht unbedingt als 'schwach' bezeichnen.
M*

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



Neue Schuerze (Bielefeld, 27. Jun 1998, 23:30:08):
Moin!

In der Bierschuerze hat sich das Fassungsvermoegen fuer Nebeltropfen
geringfuegig veraendert. Wo ihr neue kriegt, wisst ihr ja wohl :)

Jemand aus Bielefeld

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



Re: Aenderungen am Spellbook (Tilly, 28. Jun 1998, 01:10:06):
~#! rn=Bielefeld rt=898958212 rg=gilden.bierschuettler
~#! tid=898958212
Hehe,
gut gelacht: Der ist jetzt etwas besser aber dafuer auch billiger. Jo, recht
so :)

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



Noch eine Aenderung an der Schuerze (Bielefeld, 29. Jun 1998, 11:32:51):
Moin!

Und wieder eine Aenderung. Bruno teilte mir mit, dass es neue Schuerzen
gibt, die das Spendieren von Getraenken etwas anders handhaben als
bisher (irgendwie waren die Wirte grummelig, weil sie dauernd Rabatt
gewaehren mussten...). Die Schuerzen gibt es entweder bei Bruno selbst, 
oder nach Ende / Reboot.

Jemand aus Bielefeld


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



Eine Kleinigkeit (Bielefeld,  9. Jul 1998, 17:42:45):
Moin!

Es hat sich eine Kleinigkeit geaendert:
Bei misslungenen Zaubern gibt es jetzt eine etwas andere Meldung
als vorher, der Lerneffekt bleibt aber der gleiche. Sollte beim
Zaubern ein Fehler ohne Lerneffekt bleiben (das gabs auch frueher
schon!), so gibt dies eine andere, recht deutliche Meldung. Wem der 
Text dieser Meldungen nicht so gefaellt, moege mir bitte Alternativ-
vorschlaege machen.

Viel Spass beim Zaubern wuenscht
Jemand aus Bielefeld

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



Kleine Aenderungen im Alkohol (Bielefeld, 17. Jul 1998, 20:32:28):
Moin!

2 Kleinigkeiten auf die Schnelle:

1. Wie bereits angedroht, bekommt 'Floesse' in den Auswirkungen eine
   Obergrenze, dies duerfte sich aber nur bei einigen wenigen High-Level-
   Sehern auswirken.
2. Nuechtern bekommt eine Mindestwirkung, fuer den Fall, dass man mal
   komplett ausnuechtern will (welch Vorstellung!). Gleichzeitig gibts
   auch eine Obergrenze fuer den Ernuechterungsgrad, da einige Rassen
   seit ein paar Monaten sehr trinkfest geworden sind.

Jemand aus Bielefeld

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



Fuerchterliche Dinge sind geschehen... (Bielefeld, 28. Jul 1998, 15:55:14):
Prost!

Auch vor uns hat die Abwertungswelle nicht halt gemacht, weshalb
ich Bruno davon ueberzeugen musste, sein Lehrangebot etwas umzu-
aendern. Folgendes hat sich getan:

- Erdbeben: Man muss fuer diesen Spruch schon im Kampf sein. Einfach
  so im leeren Raum ueben geht nicht mehr.
- Nebel: das selbe. Ausserdem ist man nach einem Nebelzauber fuer
  ein paar Sekunden erschoepft.
- Floesse: kann jetzt von Zauberern mit Wille abgefangen werden.
- Schuettelstarre: geht nicht mehr gegen Opfer, die bereits
  paralysiert sind.
- Freibier: Die Punkte kommen nicht mehr sofort zurueck, sondern
  analog zum Kneipensystem.
- Beruhige: Begrenzt die Wirkung auf +6.

Das war (leider) noch nicht alles.

Jemand aus Bielefeld,
ordert schonmal die Schuettelbierfaesser fuers Frustsaufen...

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



Noch eine Abwertung (Bielefeld, 31. Jul 1998, 14:16:26):
Moin!

Zweiter Teil der Abwertung: Der Massiere-Spruch wurde bemaengelt und
deswegen wie folgt geaendert:

- Massage funktioniert an einem Spieler nur noch alle 20 Sekunden.
- Massage an vergifteten Spielern geht nicht mehr.
- Der Versuch, Spieler zu massieren, die sich im Kampf befinden,
  wird in wenigen Minuten auch fehlschlagen.

Ansonsten wars das mit Abwertungen fuers erste.

Jemand aus Bielefeld.

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



Re: Fuerchterliche Dinge sind geschehen... (Asmodis, 31. Jul 1998, 18:59:43):
~#! rn=Bielefeld rt=901634114 rg=gilden.bierschuettler
~#! tid=901634114
Klasse, Bielefeld, das war schon lange mal noetig.

Obwohl, Bielefeld gibts ja gar nicht, also doch keine
Aenderung ? *gruebel*

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



Grunz (Bluemel, 31. Jul 1998, 19:22:49):
Aber sonst ist hier alles noch ganz knusper ?
Statt einer Metzellusche sind die Bierschuettler jetzt die Obermetzelluschen.
Mir solls egal sein, ich steh eh nur noch rum !

Ein Bluemel !

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



Re: Re: Fuerchterliche Dinge sind geschehen... (Songoku,  3. Aug 1998, 10:48:00):
~#! rn=Asmodis rt=901904383 rg=gilden.bierschuettler
~#! tid=901634114
Da es B nicht gibt, war es eine vom Schwedischen Geheimdienst induzierte
Illusion. Ergo die Bierschuettler wurden nicht abgewertet sondern abgeschaft.
inklusive dieser Rubrik, die auch nur eine Illusion ist)

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



Re: Noch eine Abwertung (Smurf, 14. Aug 1998, 16:26:15):
~#! rn=Bielefeld rt=901887386 rg=gilden.bierschuettler
~#! tid=901887386
Gilt die Einschraenkung auf "im Kampf sein" auch dann, wenn der
Gepruegelte den Ort der Schlaegerei verlaesst und sich im Nebenraum
massieren laesst?

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



Re: Re: Noch eine Abwertung (Bielefeld, 14. Aug 1998, 19:05:39):
~#! rn=Smurf rt=903104775 rg=gilden.bierschuettler
~#! tid=901887386
Moin!

Frage sowas nie einen Magier, sonst kommt das fuer Spieler schlimmste
dabei heraus... ;)

Bielefeld.

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



Nebeltropfen bei Erschoepfung (Arelion, 28. Aug 1998, 16:16:21):
Ist es Bug oder Feature, dass Nebeltropfen runtergezaehlt werden, wenn man zu
erschoepft ist?

- Sonnen-Hob-Elf Arelion.

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



Bad News (Bielefeld, 21. Sep 1998, 10:28:29):
Moin!

Der Alkoholgift-Zauber ist erst einmal abgehaengt, bis ich mich mit
Silvana auf eine sinnvolle Alternativregelung zum Spruch geeinigt habe.

Abgehaengt bedeutet: die Skills bleiben erstmal und werden nach Moeglichkeit
auch beibehalten.

-Bielefeld

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



Kurze Warnung (Bielefeld, 24. Sep 1998, 14:53:19):
Moin!

Wer von Euch nach dem naechsten Ende/Reboot ohne eine Bierschuerze
aufwacht, sollte sich dringend bei Bruno eine neue holen. Die Datei
zur alten schuerze existiert in der Form nicht mehr.

Bielefeld

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



Re: Kurze Warnung (Kartoffel, 26. Sep 1998, 23:54:59):
~#! rn=Bielefeld rt=906641599 rg=gilden.bierschuettler
~#! tid=906641599
Auch ohne, dass die Schuerze weg ist ist angeraten, dass man sich eine neue
holt.
Mit beliefere geaenderte Kneipen werden auf der alten Schuerze nicht mehr
eingetragen.

'Toffel

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



Mal wieder ne Schuerze (Bielefeld,  1. Okt 1998, 13:45:09):
Moin!

Aufgrund eines kleinen Bugfeatures *grins Iwo* gibts eine neue
Bierschuerze, die Ihr euch besser holen solltet.

-Bielefeld

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



Re: Mal wieder ne Schuerze (Alpha,  2. Okt 1998, 03:59:43):
~#! rn=Bielefeld rt=907242309 rg=gilden.bierschuettler
~#! tid=907242309
Die neue Schuerze buggt aber auch - ich kann mir nicht vorstellen, das man
nachdem man Ende getippt hat, nicht mehr eilen koennen soll. Als Schutz vor
Eilerei ohne Beschraenkung mag das gehen, aber das kann man doch auch anders
realisieren, als so!
Alpha - maechtig frustriert.

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



Re: Re: Mal wieder ne Schuerze (Bielefeld,  3. Okt 1998, 09:31:14):
~#! rn=Alpha rt=907293583 rg=gilden.bierschuettler
~#! tid=907242309
Moin!

Dass man nach 'ende' nicht mehr eilen koennen soll, ist schon Absicht.
1. war die vorherige Implementation des Eilens insofern buggy, als
dass man nur 'ende' machen musste, um neu eilen zu koennen, 2. ist
'ende' nicht als Befehl gedacht, den man leichten Herzens immer mal
wieder benutzt. 

Mit anderen Worten: Wer mit 'ende' einer unangenehmen Situation
entflieht, muss mit Konsequenzen rechnen.

-Bielefeld

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



News (Bielefeld,  7. Okt 1998, 14:23:11):
Moin!

Eine kurze Nachricht: Party ist jetzt billiger geworden.

-Bielefeld
(Keine Angst, kommt noch mehr in den naechsten Tagen)

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



Aenderungen bei Beobachte (Bielefeld,  7. Okt 1998, 16:22:02):
Moin!

Folgendes hat sich getan: Vom Standard abweichende Maximalwerte bei 
Essen, Trinken, Alkohol werden jetzt beruecksichtigt. Ausserdem kann
man jetzt auch eine Auskunft ueber die Groesse eines Gegners erhalten,
die jedoch nicht allzu akkurat ist.

-Bielefeld

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



Neulich mal... (Daria,  9. Okt 1998, 12:40:34):
Anwesende Bierschuettler (5 Spieler):
Name          LP   MP Stufe Idle Alkohol    Ort
Daria        154   36   26       nuechtern  Die Bierschuettlergilde       
Mahatmu       58   82    4    j  nuechtern  Unter der Baumkrone           
Raffi        178   50    3    j  nuechtern  Im Geldspeicher der Zentralbank
Leibniz      218  202   43    I  nuechtern  Ganz oben in einer Keksdose   
Golas         94  100   19    I  nuechtern  Pflanzenebene     

neenee. 1. alle nuechtern, 2. alle idle 
Also Bierschuettler sind auch nicht mehr das was sie mal waren...
*g*
Daria.

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



Gelalle (Pertinaxe, 11. Okt 1998, 21:29:44):
Ich bin dafuer, dass ihr euch fuer den durchaus sinnvollen Befehl bsag was
anderes einfallen lasst, als das Lallen.
br
Sa wenn mich morgens schon die Leute anlallen, erinnert mich das an die
Trinkhallen, die es noerdlich der Mainlinie gibt und an denen man tatsaechlich
angelallt wird.
Als Kommunikationsebene und ansatzweisen Schaffung eines Gildengefuehls finde
ich das bsag und das bwer sehr nuetzlich.
Aber wenn ich mich weiterhin anlallen lassen muss, wechsle ich die Gilde.
h
h
PS: Tilde und h funktioniert nicht als Hilfe, daher kommts in die MPA wie
getippt.

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



Re: Gelalle (Swift, 12. Okt 1998, 02:03:49):
~#! rn=Pertinaxe rt=908134184 rg=gilden.bierschuettler
~#! tid=908134184
hmm mach doch selbst mal vorschlaege, was du gern haettest anstelle von
"lallen", nicht nur motzen.

uebrigens: falls du zmud benutzt, da ist die tilde als "default quote char"
definiert. darum gehts auch net. um also die tilde auch ans mud zu senden,
musst du einfach 2(!) tilden hintereinander eingeben. bsp: ~~h
dann bekommste auch die hilfe. das funkt auch mit ~r - womit du deinen artikel
nochmal lesen kannst vorm absenden...

swift (Ex-Bierschuettler und ueberzeugter Chaot!)

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



Re: Re: Gelalle (Urthona, 12. Okt 1998, 02:05:34):
~#! rn=Swift rt=908150629 rg=gilden.bierschuettler
~#! tid=908134184
Man kann auch statt der tilde einen anderen quote char definieren. Deswegen
'Default...'

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



Re^3: Gelalle (Arelion, 12. Okt 1998, 13:11:56):
~#! rn=Urthona rt=908150734 rg=gilden.bierschuettler
~#! tid=908134184
Oder auch einfach dieses terminal-icon anclicken. Wenn da ein Kreuz ist,
geht's raus wie geschrieben!

Arelion -> clients.zMUD

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



Re: Gelalle (Zino, 12. Okt 1998, 15:05:58):
~#! rn=Pertinaxe rt=908134184 rg=gilden.bierschuettler
~#! tid=908134184
Also ich find das Lallen bei bsag ausserordentlich sinnvoll. Wenn ich mich da
z.B. an die Winterfete in Dortmund erinnere, wo da eine feuchtfroehliche
Bierschuettlerrunde beisammensass, Bier schuettelte und durchaus schon
ziemlich lallte, dann trifft das genau den Kern der Sache.

Mahatma (heute blau und morgen blau und uebermorgen wieder)

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



Re: Re: Gelalle (Morgoth, 12. Okt 1998, 15:06:40):
~#! rn=Zino rt=908197558 rg=gilden.bierschuettler
~#! tid=908134184
Es gibt doch noch gar keine schuettelbare Cola-40, oder?

M*

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



Re: Gelalle (Brandir, 12. Okt 1998, 15:38:42):
~#! rn=Pertinaxe rt=908134184 rg=gilden.bierschuettler
~#! tid=908134184
Hmmmm, solltest Du wirklich zMud benutzen, mach doch einfach einen Trigger auf
"lallt rum:" und dann als command:
#substitute "ruelpst rum"

dann haste mal was anderes :)
Ausserdem kannste es ja jederzeit gaggen, bzw. gleich ignorieren.
Wegem dem Gelalle unsere schoene Gilde verlassen zu wollen klingt fuer mich
eher nach einer Ausrede sich in eine staerke Gilde schleichen zu wollen.
(hmmm, Ausdruck: 6- wegen Wiederholungen... was solls :) )

Ich haette da lieber ein deutlich erkennbareres bemote, wie zum Beispiel:
Shaky Brandir gruesst alle Schuettler.

Brandir - kann auch Vorschlaege machen...

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



Re: Re: Gelalle (Arelion, 12. Okt 1998, 17:38:00):
~#! rn=Brandir rt=908199522 rg=gilden.bierschuettler
~#! tid=908134184
Dafuer! Dann kann man naemlich einen Farbtrigger draufsetzen ...

Arelion in Kurzfassung.

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



Re^3: Gelalle (Brandir, 12. Okt 1998, 21:59:26):
~#! rn=Arelion rt=908206680 rg=gilden.bierschuettler
~#! tid=908134184
Das kann man auch so, ist aber sehr aufwendig und nicht sehr zuverlaessig, es
wird eben alles markiert, was nach einem grossgeschriebenen Wort am Anfang
einer Zeile folgt, und mit b anfaengt.
Leider gibt es da doch noch einiges mehr :-)

Aber genau das war einer der Gruende fuer meinen Vorschlag.

Brandir

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



beobachte (Daria, 13. Okt 1998, 03:37:45):
Hi,
Kann es sein, dass irgendwas mit beobachte nicht stimmt?
Ich hab einen NPC beobachtet, erst mit, dann ohne Ruestung.
Und jedesmal war er in allem gleich gut...
Oder liegt das vielleicht an dem Npc?
*gruebel*
Daria

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



Re: beobachte (Daria, 13. Okt 1998, 03:40:12):
~#! rn=Daria rt=908242665 rg=gilden.bierschuettler
~#! tid=908242665
Ok, mein Fehler. 
Ich haette es vielleicht an *normalen*
Monstern auch ausprobieren sollen.
Schoener Befehl fuer nen NPC...
Wie heisst der? ;-)
Daria

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



Nochmal ich (Daria, 13. Okt 1998, 04:08:08):
Also nach einigen Diskussionen
will ich es jetzt doch mal genau wissen:
Wie geht das?

Also es ist nicht nur bei NO_ATTACKS...
Auch die Orks am Anfang der Schreckensspitze
machen sowas
Daria, ist Mag in nem anderen Mud und hat
ausserdem grad Lust die Rubrik vollzumuellen...

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



Unsere Identitaet (Arelion, 21. Okt 1998, 10:02:19):
Prost an alle, die sich auf die Braukunst verstehen!

(Alle anderen geht das hier nix an und sie sollen ihren Senf bis auf weiteres
fuer sich behalten!)

Es ist wiederholt davon gesprochen worden, dass wir eine
Spass-(Anfaenger-)gilde sind und dass deshalb bei uns andere Masstaebe gelten
als bei anderen Gilden. Aeusserungen bis zu "loescht die Gilde" standen in der
MPA. Ich weiss nicht, was diese Leute bewegt, ich sehe es anders!
Natuerlich sind wir eine Spassgilde. Ich mudde, um Spass zu haben. Wenn das
Mitglieder anderer Gilden anders sehen, sollten sie ueberlegen, was das Wort
"Spiel" fuer sie bedeutet. Wie man im MG Spass hat, bleibt jedem selbst
ueberlassen und wir haben halt unseren Weg.
Dass wir eine Anfaengergilde seien ist angesichts Mahatma, Ivo, Cakey,
Hangover, mir und einigen anderen wohl der Gipfel des Grotesken! Mag sein,
dass sich jemand mal was anderes gedacht hat, wir sind aber inzwischen eine
Gilde fuer alle. Von ganz klein bis ganz gross.
Unsere Kampfkraft war schon immer schwach. Wir haben uns durchgewuselt, indem
wir uns verschiedener Items bedient haben, die andere nicht beachteten bzw.
fuer die wir eine besondere Befaehigung haben. Ich finde, dass es so bleiben
sollte!
Das eigentlich Problem ist anscheinend, dass nach und nach auch andere Gilden
auf die Idee gekommen sind, diese Items zuzueglich zu ihren Gildenfaehigkeiten
einzusetzen. Dass die Items dann durch die Objektbalance abgewertet werden ist
nicht verwunderlich und ich denke auch korrekt. Fakt ist allerdings auch, dass
damit unsere Nische nach und nach verschwindet.
Ich denke wir sollten uns ein klares Profil nach aussen geben. Jede Gilde hat
ihre klaren Staerken und Schwaechen. Unsere Staerke ist eine erhoehte
Tankkapazitaet und die hohe Geschicklichkeit, die bei verschiedenen Items
Vorteile bringt. Allerdings sind wir in diesen Feldern in letzter Zeit
ueberholt und mehrfach abgewertet worden, zumeist ohne dass es dabei
unmittelbar um uns ging.
Ich plaediere dafuer mit einem klaren Profil fuer eine reformierte Gilde an
Silvana zu treten und dann Moeglichkeiten auszuloten. Dafuer sollten aber wir
uns zunaechst einig sein, was wir wollen, d.h. wer wir sind.
Was haltet ihr von dem Vorschlag? Und vor allem, wie seht ihr Euch als
Schuettler?

Arelion - auf der Flucht nach vorne.

PS: Spart Euch bitte sowas wie Spruch xy sollte auf- oder abgewertet werden,
es geht mir ums Konzept und nicht um Zahlen.
PPS: Und alle Flamer >> /dev/null

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



Re: Unsere Identitaet (Lyra, 21. Okt 1998, 10:10:42):
~#! rn=Arelion rt=908964139 rg=gilden.bierschuettler
~#! tid=908964139
Ich stimme Arelion zu, auch wenn weder ich noch Obermotz oder Duffy noch bei
den Schuettlern sind. Jeder Gilde soll ihr Profil habe. Damit verdunden sind
natuerlich auch Schwaechen. Eine Gilde, die nur Staerken hat, wuerde definitiv
die Balance stoeren. Und was die besonders Bierschuettler angeht: Ich war mit
Obermotz nur bis Level 10 dort. Es hat mir dort gefallen, aber ich wollte nun
mal gerne Zauberer werden und habe gewechselt. Aber warum wurde ich
Schuettler? Weil man dort als Anfanger (eben unter Level 10) die meisten
Sachen Lernen kann. Somit ist das keine Anfaengergilde, sondern eine Gilde,
die sehr gut fuer Anfaenger geignet ist und eben auch Potential fuer Seher
bietet.

Lyra schreibt mal fuer das Obermotz-Trio

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



Re: Unsere Identitaet (Guard, 21. Okt 1998, 10:30:41):
~#! rn=Arelion rt=908964139 rg=gilden.bierschuettler
~#! tid=908964139
Hallo

ich kann Arelion auch nur zustimmen. Das Konzept der Spass und anfaengergilde
ist nicht mehr tragbar, ma sollte, doch grundlegend herausfinden, wie wir uns
identifizieren wollen und womit. 

ein klares PRO von Guard

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



Re: Unsere Identitaet (Key, 21. Okt 1998, 10:32:04):
~#! rn=Arelion rt=908964139 rg=gilden.bierschuettler
~#! tid=908964139
*grins*

Also Arelion ... zum einen Teil glaub ich hast Du mich und alles andere
missverstanden, aber naja :)
Hmm dann nochwas ...
Die Items von denen du sprichst ...... Die gab es schon lange vor der
schuettler gilde, und wurden von anderen Gilden auch genutzt.
Und es ist nicht so das andere Gilden damit zuviel Schaden machten und diese
Sachen deswegen abgewertet werden, sondern die Schuettler.



So aber zu deinem letzten Absatz ... Das finde ich spitze!
Sieh zu das Du es schafft das sich diese Schuettler mal zusammenraufen :)
Bring feeling in die Gilde und dann sehen wir mal weiter ;9


Key

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



Re: Re: Unsere Identitaet (Key, 21. Okt 1998, 10:33:19):
~#! rn=Lyra rt=908964642 rg=gilden.bierschuettler
~#! tid=908964139
Fuer mich ist anfaengergile== gilde fuer Anfaenger ... wers anderst sieht Pech
gehabt ...

Zum potential fuer Seher ... wozu eigentlich?

Key

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



Re: Re: Unsere Identitaet (Arelion, 21. Okt 1998, 11:14:59):
~#! rn=Guard rt=908965841 rg=gilden.bierschuettler
~#! tid=908964139
Prost!

Auch wenn ich mich ueber Pros freue, Ideen, Vorschlaege und Meinungen sind
gefragt. Ich bin weder der Ober- oder Topshaky und auch nicht der
Gildenmagier! Wenn ich sage, dass unsere Gilde traditionell hohe
Stufenanforderungen gestellt hat und man sich stundenlang ausruesten muss, bis
man was ausrichten kann und sage, dass es so bleiben soll, fuerchte ich, dass
es nicht nur Zustimmung gibt. Oder etwa doch?

Zu Key: (*nein keine Diskussion vom Zaun brechen*) Ich weiss, dass es die
Objekte schon vorher gab und dass sie in grauer Vorzeit auch wohl rege genutzt
wurden. Ich hatte allerdings den Eindruck, dass sie bei sehr vielen Sehern in
der Zwischenzeit aus der Mode gekommen waren.

Arelion - praezisierend.

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



Re^3: Unsere Identitaet (Key, 21. Okt 1998, 11:36:13):
~#! rn=Arelion rt=908968499 rg=gilden.bierschuettler
~#! tid=908964139
*zuck*
Bei denen bei denen sie aus der Mode kamen sind sie auch nicht wieder
reingekommen ,)


Aehm Stundenlang ausruesten bevor man was machen kann ....
Das ist der Sinn, oder soll jeder ne autoload max rue bekommen???

Key

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



Re^4: Unsere Identitaet (Arelion, 21. Okt 1998, 15:57:13):
~#! rn=Key rt=908969773 rg=gilden.bierschuettler
~#! tid=908964139
Ich denke, dass die Ausruestungsproblematik eigentlich nur von Kaempfern in
dieser Form geteilt wird. Ob sie bei hohen Kaempfern noch besteht, kann ich
nicht beurteilen. Mein Zaubererzweiti ist jedenfalls in 15 min soweit
ausgeruestet, dass er durch die SSP laeuft. Mein Chaot ist in aehnlicher Zeit
einsatzbereit. Fuer Arelion brauche ich, um mich an die GLEICHEN GEGNER zu
wagen 2 bis 3 Stunden, wobei ich dann auch noch sich verbrauchende Ari
einsetze, die ich anschliessend wiederbeschaffen muss. Ich finde das in
Ordnung, aber ich halte das auch fuer einen Gildennachteil, fuer den wir an
anderer Stelle ggf. Vorteile beanspruchen koennen.

Arelion - redet nicht von Zap-Tools u.ae.

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



Prost (Bluemel, 21. Okt 1998, 17:23:59):
Wenn die Bierschuettlergilde eine Spassgilde sein soll, warum tun die Mags
eigentlich alles, um einem den Spass zu verderben !
Warum kann man die Bierschuettler nicht als normale eigenstaendige Gilde wie
alle anderen auch betrachten, statt sie dauernd mit dem Argument, dass sie
eine Spassgilde ist, abzuwerten.
Ausserdem entsteht bei mir bei dieser Argumentation der Eindruck, dass die
Mitglieder der anderen Gilden, welche metzeln koennen und dies auch tun
deshalb anscheindend keinen Spass mehr am Mudden haben. Zwingt die einer zum
Mudden oder was ????

Ein Bluemel

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



Re: Prost (Householder, 21. Okt 1998, 17:26:01):
~#! rn=Bluemel rt=908990639 rg=gilden.bierschuettler
~#! tid=908990639
ne dass "spass" bezieht sich darauf dass andere gilden spass haben sollen, den
Bierschuettlern beim metzeln von bienen und ameisen zuzusehen :-) 

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



Re: Re: Prost (Anatol, 21. Okt 1998, 17:32:14):
~#! rn=Householder rt=908990761 rg=gilden.bierschuettler
~#! tid=908990639
Wenn Du nicht einsiehst, dass Objektbalance grundsaetzlich vom "worst case"
ausgehen muss (und in puncto Spirale ist der worst case das, was sie am 
Meisten hochschraubt), bist Du hier im falschen Mud. Mach' am Besten ein
eigenes auf.
Wenn Dir nicht klar ist, dass "2mal zerschmettern je Runde fuer 0 KP"
ausserhalb des normalen Angriffs einfach nicht drin sein kann, solltest Du 
ueber einen Neuanfang hier im Mud nachdenken - den Seherstatus hast Du dann
naemlich wirklich nicht verdient. Nichtmal ansatzweise.

Ich wuerde ja gerne "heul doch" schreiben, aber das tut ihr ja bereits...
Anatol


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



Re: Prost (Silvana, 21. Okt 1998, 17:32:32):
~#! rn=Bluemel rt=908990639 rg=gilden.bierschuettler
~#! tid=908990639
Da muss ich dann doch mal ein wenig korrigieren. Die einzige direkte
Abwertung der Gilde stammt von mir und ich habe die Gilde nicht als
Spassgilde bezeichnet. Fuer mich ist die Gilde eine anfaengertaugliche,
aber durchaus auch Sehertaugliche Gilde: Man kommt ohne zu viel 
Aufwand zu einem Mindestmass an Staerke und mit einigem Zusatz-
aufwand auch zu einer den Abenteurern _deutlich_ ueberlegenen 
Kampfstaerke. So solls auch bleiben.
Die Abwertung des Bumerangs hat nichts damit zu tun, wie die 
Bierschuettler sich selbst sehen (und stammt auch nicht von mir).
Die Begruendungen des Balancegremiums sind in den einschlaegigen
Rubriken einzusehen, vielleicht solltet ihr die mal nachlesen?

  Silvana

PS: Ja, mir ist bewusst, dass die Bumerangaenderung vor allem die
    Bierschuettler trifft...

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



Re^3: Prost (Bluemel, 21. Okt 1998, 18:01:18):
~#! rn=Anatol rt=908991134 rg=gilden.bierschuettler
~#! tid=908990639
Wir sind ein deutsches Mud: Warum schreibst du #worst case# : Heisst das
Wurstkasten ?
Ich hab mit keinem Wort die Gildenbalance erwaehnt und auch das Wort Bumerang
kam nicht vor: War das wirklich ein RE auf meinen Artikel ? Auf Anfrage meinte
Anatol " Such es dir aus "
Und Zitat Anatol: " Bierschuettler sind offenbar alle gleich. Haben keine
Ahnung von ihrer Gilde, von dem, was Shaky urspruenglich beabsichtigte. Wollen
so toll sein wie die Kaempfer."
Wie kann jemand zum einen auf Gildenbalance pochen und dann schreiben, dass
die eine Gilde neidisch auf eine andere anscheinend bessere Gilde ist. Wenn
sie besser ist, ist die Balance dann nicht ge/zerstoert. Sollen nicht alle
Gilden etwa gleich gut sein. Und wenn die andere von vorneherein besser ist,
wieso sollte man dann neidisch sein ???
Ausserdem besagt der letze Absatz meines Artikels indirekt, welchen
Stellenwert ich der Metzelei zuschreibe. Warum soll ich dann heulen. Fragen
ueber Fragen - Raetsel ueber Raetsel !?
Und ?? Was hat das ganze mit meinem Seherstatus zu tun ???

Bluemel ( irritiert )

PS: Anscheinend gibts in Osnabrueck jetzt schon Drogen umsonst ?


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



Re^3: Prost (Arelion, 21. Okt 1998, 18:05:44):
~#! rn=Anatol rt=908991134 rg=gilden.bierschuettler
~#! tid=908990639
Wenigstens eins steht nach dem Artikel fest: Wir sind im Gegensatz zu anderen
hier, noch in der Lage zu lesen! Anatol, niemand hat dich gefragt und niemand
hat sich ueber das Balance-Team beschwert.

Arelion - der wert darauf legt, dass man erst denkt und dann schreibt.

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



Re^4: Prost (Anatol, 21. Okt 1998, 18:13:44):
~#! rn=Arelion rt=908993144 rg=gilden.bierschuettler
~#! tid=908990639
Zwischen purem "lesen" und der Faehigkeit, das Gelesene zu verstehen, 
ist ein grosser Unterschied - ich haette aber nicht gedacht, dass hier
jemand in relativ normalen Artikeln Wert auf diese Differenzierung legt.

Heult halt weiter :)
Anatol

PS: Ich werde mich bemuehen, in Zukunft teile-mit's an einen Bierschuettler
    mit den ueblichen Tags <ironie>/<sarkasmus>/<zynik>/... zu versehen,
    um pragmatische Fehlgriffe seitens der kognitiv minderbemittelten
    Braeu-Fetischisten moeglichst zu verhindern.
    </ich_nehme_dich_schon_lange_nicht_mehr_wirklich_ernst_bluemel>


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



Re: Re: Prost (Arelion, 21. Okt 1998, 18:19:22):
~#! rn=Silvana rt=908991152 rg=gilden.bierschuettler
~#! tid=908990639
Sei gegruesst Gletscherfee ... "Prost!"

Nun ja, dass wir mehr Kampfkraft als Abenteurer haben ist unbezweifelt. Dass
aber alle Gilden deutlich staerker sind wohl auch nicht. :) Wenn Abenteurer
ein Mass sind, dann das Infimum. Allerdings steht uns ein extern
ausgeruesteter Abenteurer nicht viel nach. Wir koennen uns immerhin unser Zeug
selbst besorgen.

Arelion - der mit einem geliehenen Abenteurer einem Kaempfer das Metzeln
gezeigt hat.

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



Re^5: Prost (Arelion, 21. Okt 1998, 18:24:47):
~#! rn=Anatol rt=908993624 rg=gilden.bierschuettler
~#! tid=908990639
Tja verschaetzt, aber was willst du damit sagen?

Arelion - heult nicht; grinst belustigt.

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



Re^3: Prost (Key, 21. Okt 1998, 18:25:49):
~#! rn=Arelion rt=908993962 rg=gilden.bierschuettler
~#! tid=908990639
Aehm Arelion ... halt mich fuer bloede ... aber ich versteh das folgende
nicht:
"Allerdings steht uns ein extern
ausgeruesteter Abenteurer nicht viel nach. Wir koennen uns immerhin unser Zeug
selbst besorgen.
Was hat das eine mit dem anderen zu tun .... bzw wieso sollte ein extrem
ausgeruesteter Abenteurer staerker als ein Extrem ausgeruesteter Shaky sein?
Wo sie doch ohne rue scheinbar schwaecher sind ...
Aeh und abenteurer koennen sich ihr Zeug besorgen ...

Key steht entweder auf dem Schlauch oder *zuck*

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



Re^4: Prost (Arelion, 21. Okt 1998, 18:27:36):
~#! rn=Key rt=908994349 rg=gilden.bierschuettler
~#! tid=908990639
"Extern" nicht "Extrem". Mit einem vernuenftig ausgeruesteten Abenteurer kann
man in vielen Situationen aehnlich viel machen, wie mit einem Schuettler. Nur
kommt ein Abenteurer an das zeug nicht selbst dran.

Arelion - erklaerend

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



Re^5: Prost (Anatol, 21. Okt 1998, 18:28:40):
~#! rn=Arelion rt=908994456 rg=gilden.bierschuettler
~#! tid=908990639
Ok, Arelion. Lies Deinen letzten Artikel nochmal durch. Langsam. Und 
dann erklaere mir, wieviel Dein "fast" bzw. "aehnlich viel" hier zu
umspannen droht.

Meine Guete...
Anatol


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



Re^5: Prost (Ineluki, 21. Okt 1998, 18:28:50):
~#! rn=Arelion rt=908994456 rg=gilden.bierschuettler
~#! tid=908990639
ich mag das einfach zu bezweifeln .. soweit ich weiss kam Mahatma auch
irgendwie ueberall dran .. aber is ja auch egal der is kein massstab und
jetzzt SCHLUSS DAMIT !!

Ine* oder so.

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



Konzept? (Bielefeld, 22. Okt 1998, 11:12:47):
So, nach all den Artikeln der letzten Tage moechte ich mich auch mal
zu Wort melden:

Ich muss Arelion erst einmal Recht geben - ein Konzept fuer eine Gilde
ist nichts, was einmal beschlossen wird und auf ewig und alle Tage
feststeht, sondern ein grober (Handlungs-)Rahmen. Spieler aendern sich,
das MUD als Ganzes aendert sich, insofern muessen auch Gilden immer
eine Chance haben, sich innerhalb gewisser Grenzen zu aendern. Dass
es fuer die Bierschuettler NIEMALS eine mit den Kaempfern oder Zauberern
vergleichbare Kampfkraft gibt (nicht solange ich da mitreden kann),
sollte allen hier klar sein.

Trotzdem: ein Vergleich mit dem Rest der MUD-Realitaet ist immer mal
angebracht, und wenn ich mir die Abwertungen und Aenderungen durch
Silvana und das Balance-Team anschaue, stelle ich folgendes fest:
Jede Aenderung fuer sich ist natuerlich begruendbar und auch in 
gewissem Masse im Sinne einer Ausgewogenheit sinnvoll, aber: in der
Summe ergibt sich ein etwas anderes Bild - die Bierschuettler wurden
in ihren Kampfmoeglichkeiten drastisch beschnitten, wenn ich hier von
einer Halbierung spreche, ist das noch nicht einmal uebertrieben.

Stellt sich natuerlich die Frage: Muss das sein? Sind eine Handvoll
Bierschuettler eine derartige Bedrohung fuer das MUD, dass sie so
stark abgewertet werden muessen oder ist das Argument 'Spassgilde'
derart gewichtig, dass es jegliche Kampffertigkeit ausschliesst...?

Ich fuer mein Teil finde es reichlich albern, wenn ich meinen Spielern
guten Gewissens empfehlen kann, Abenteurer zu bleiben, weil die auch
nicht schwaecher sind und wesentlich weniger ueben muessen.

-Bielefeld
(fordert zu konstruktiver Stellungnahme auf)

P.S.: An alle Flamer und Besserwisser: heult doch!

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



Re: Konzept? (Anatol, 22. Okt 1998, 11:48:12):
~#! rn=Bielefeld rt=909054767 rg=gilden.bierschuettler
~#! tid=909054767

Ok, Zugestaendnis: Niemand sagt, dass das einer Gilde zugrundeliegende
Konzept statisch ist, richtig - das Mud "lebt" quasi und veraendert
sich. Soweit stimme ich dem mal froehlich zu.

Aber dann... da faellt doch fast der Elf vom Baum.
Dann erklaert Bielefeld, dass die Kostenerhebung von 3 KP je Bumerang-
wurf einer "Halbierung der Kampfmoeglichkeiten" entspricht und bricht
- jawohl - in intensives Gejammer aus. Nun, genauer gesagt, er spricht
von "Aenderungen", bezieht da *vielleicht* noch das "massiere" mit ein,
welches im Rahmen der Gildenbalance seiner verboten guten Funktion be-
raubt werden musste (Hey, beiss' Dich daran fest, Bielefeld, das ist
Deine einzige Chance, Dich wenigstens nicht TOTAL laecherlich zu machen).

Lieber "Gildenmagier" Bielefeld,
die Stellungnahme des Gildenbalance-Erzmagiers befindet sich bereits in
dieser Rubrik (vom 21.10). Und wie Du dort nachlesen kannst, haben die
Bumerangs mit der Gildenbalance _nichts_ zu tun. Wenn nun die Kampfkraft
der Bierschuettler ploetzlich um 50% nachgelassen hat, so sind sie JETZT 
auf dem von Silvana vorgesehenen Niveau. Wenn Dir jetzt die verbliebenen
Faehigkeiten nicht genuegen... Hangover wird es gewiss nicht nachgetragen, 
wenn er in die Abenteurergilde zurueckwechselt.

"P.S.: An alle Flamer und Besserwisser: heult doch!"
- Ach was, muessen echt nicht alle so sein wie Du.

Anatol


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



Re: Re: Konzept? (Morgoth, 22. Okt 1998, 11:52:45):
~#! rn=Anatol rt=909056892 rg=gilden.bierschuettler
~#! tid=909054767
Du warst auch mal besser, Anatol. Es gab mal Zeiten, da hast Du noch richtig
gescriptet, als es noch komplett verboten war, Du bist mit Deiner Familie
losgezogen...und jetzt??? Wieso bist Du so scheisse geworden? Hat Dir Deine
Mitgliedschaft irgendwo eine Gehirnwaesche verpasst oder was ist passiert?
Also ich finde schon, dass der Bummi immer zu den Bierschuettlern gehoerte,
wie der Daemon zu den Chaoten. Soweit ich erfahren habe, gab es mehrere
Vorschlaege fuer den Bummi, aber es wurde der einfachste und schlechteste
gewa^h^h^h^hbestimmt. 

Morgoth, verstaendnisvoll

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



Re: Re: Konzept? (Ivo, 22. Okt 1998, 11:59:52):
~#! rn=Anatol rt=909056892 rg=gilden.bierschuettler
~#! tid=909054767
Mein lieber Anatol, 
erwaehnt Bielefeld irgendwo, dass er sich bei der Halbierung der Kampfkraft
nur auf die Bumis bezieht ? Die Summe aller Aenderungen (Gildenbalance _und_
AusruestungsBalance) ziehen bei den Bierschuettlern eine mehr als deutliche
Abwertung der Kampfkraft der Buerschuettler nach sich. Also bitte leg deine
Scheuklappen ab und lies, was die Leute schreiben und flame nicht nur!

YT Ivo

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



Jetzt reicht's aber (Daria, 22. Okt 1998, 12:14:05):
Hallo.
Ich weiss nicht, was Du mit Deinen persoenlichen Angriffen
erreichen willst, Anatol. Hast Du es so noetig?

Und jetzt werde ich mal persoenlich:
Kannst Du Dich im RL nicht behaupten? So dass Du im Mud den grossen Macker
spielen musst?

*persoenlicher Angriff Ende*

Ich mag meine Schuettlergilde gerade, weil es so eine Spassgilde ist. Ich war
auch mal in der Karategilde, das war mir viel zu anstrengend. Ich will mudden,
um Spass zu haben, und nicht, um mich darin zu verlieren.

Ich habe langsam das Gefuehl, dass viele Leute im Mud einen ganz anderen Sinn
sehen als ich. Geht es wirklich darum, wer der beste, der schnellste und der
tollste ist und wer die meisten Hydrahoerner hat?
Vor allem, wo es doch keine wirkliche Eigenleistung ist?

Mir ist das MULTI besonders wichtig, das Unterhalten auf den Ebenen. Und
dieses wird in der Schuettlergilde hochgehalten - zumindest so wie ich das
verstehe.

Von wegen Konzept: Auch wenn ich nur eine Wurstspielerin bin:
Ich schlage vor, dass es ab demnaechst regelmaessige Parties/Kissenschlachten
in der Gilde gibt.

Daria, die sich lange genug rausgehalten hat

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



Re^3: Konzept? (Anatol, 22. Okt 1998, 12:15:11):
~#! rn=Ivo rt=909057592 rg=gilden.bierschuettler
~#! tid=909054767
Gesetzt den Fall, dass Bielefeld sich in der Tat auf die Gesamtheit 
der Abwertungen (inclusive Silvanas Rundumschlag) bezieht, so macht 
er sich mit seinem erbaermlichen Gejammer noch deutlich laecherlicher 
- schliesslich hat Silvana mit purer Absicht und nicht nur die Bier-
schuettlergilde abgewertet. Frag' mal einen der besseren Kaempfer oder 
Zauberer, um nur die beiden Gilden zu nennen, die Bielefeld erwaehnte.

Anatol


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



Konzept (Arelion, 22. Okt 1998, 12:30:33):
Ein paar Ideen zu den neuen Schuettlern ...

Bierschuettler strebten schon immer nach hohen Leveln und die Gilde ist am
Spielerlevel orientiert. Da jezt die 64 nicht mehr interessant ist, schlage
ich vor, dass man die Seherlevel bzw. Skills am Spielerlevel aufhaengt (Bei
den Chaoten z.B. am Gildenrating). Da sich Level immer nach oben verschieben
koennte man ueberlegen, ob man max. bei 2/3 oder 3/4 des Top-Sehers erteilt.
Bierschuettler sind die Wunschgilde der Hobbits. Im Gegensatz zu anderen
Gilden, wo sie unerwuenscht sind oder ein Schattendasein fristen, koennen sie
hier zur vollen Bluete kommen. Das alleine gibt der Gilde das Recht, nach
Gleichberechtigung mit anderen Gilden zu streben. Gleichzeitig gibt das der
Gilde ein praegendes Flair. Wer sollte sich besser auf Essen und Trinken
verstehen als wir? In diesem Zusammenhang halte ich Moeglichkeiten fuer
sinnvoll, aehnlich wie nuechtern,  Bauch und Blase zu entleeren. Tanken ist
unsere Spezialitaet, schliesslich sind unsere Sprueche auch furchtbar teuer!
Der Hitzeschlag ist laecherlich. Wenn ich ihn mit einem Chaosball vergleiche,
der genausoviel kostet und mit der passenden Waffe verstaerkt werden kann, ist
er einfach ein Witz. Mir persoenlich ist es zwar egal, aber ich denke
insbesondere Anfaenger leben von dem Spruch. Er trainiert natuerlich gut fuer
das spaetere Schuettlerleben. Viel KP fuer wenig Effekt, also andere Mittel
suchen. Ich bin dafuer, die Skill Abhaengigkeit in der Schadensbemessung
herauszunehmen.
Wie gesagt, Schuettler verstehen was von gutem Essen und Trinken. Natuerlich
auch von schlechtem. Alkoholgift zeigt das. Der Spruch ist eine vernuenftige
Idle-Bremse fuer starke Gegner. Damit jemanden umbringen, will wohl niemand
ernsthaft. Persoenlich finde ich jedoch, dass jemand der im Fieber torkelt und
noch saubere Spells absetzt und die kompliziertesten Schlaege fuehrt,
unglaubwuerdig ist. Vergiftung sollte sich auf Stats und Skills auswirken. Von
mir aus in der MudLib!
Schuettelstarre hat ein klares Abbild in der Chaosgilde. Einfach gleiche
Leistung fuer gleiches Geld und wir haben eine Menge erreicht.
Nebel ist um einen Faktor 1.5 bis 2 zu teuer. Na ja, wie gesagt, das sind wir
gewohnt. So lassen! Ob die Sperre im Teamkampf angemessen ist, wage ich zu
bezweifeln. Verletzte, Chaosball mit Waffe halte ich in der Wirkung fuer
vergleichbar und die gehen jede Runde.
Wie oben gesagt, bei uns ist alles zu teuer und deshalb suchen wir nach
anderen Wegen. Das war immer so, also soll es so bleiben. Die anderen Wege
sind meist Artillerie. Das fueht zu zwei Dingen: Zum einen sind 2-Hand Waffen
fuer uns faktisch nutzlos. Dass wir daher keine Max-Waffe haben ist weniger
schlimm, als das unsere Auswahl an Waffenschadenstypen aeusserst gering ist.
Zur Erinnerung, wir haben auch nur Feuer, Eis, Wasser und Blitz ueber Spells
zugaenglich. Saeure ist als Artillerie leicht zu bekommen, Luft eher schwer.
Und dann? Bleiben neben Einzelstuecken nur noch Rollen. Die immer wieder ins
Feld gefuehrten Bumeraenge sind fuer ernsthafte Aufgaben annaehernd zweckfrei.
Sie machen nur mechanischen Schaden der bei den heutzutage verwendeten Bodies
absorbiert wird. Dazu kommt, dass sie nur wirklich effektiv sind, wenn man
drin stehen bleiben kann. Da heute jede Ameise als Kaempfer, Karateka oder
ueberhaupt die Starre ignoriert und dann zerschmettert, ist das faktisch nicht
moeglich!
Langer Rede kurzer Sinn: Wir sind die Spezialisten fuer Artillerie und sollten
daher besser mit dem Zeug umgehen koennen als andere. Moeglickeiten dafuer
gibt es einige. So ist ein Zauber denkbar, der Bumeraengen, Sternen etc. einen
beschraenkt waehlbaren Schadenstyp verleiht. Wuerde ich mit dem Hand Spruch
der Zauberer vergleichen. Oder ein Extrahand, dass neben den Bumis auch 2-Hand
Waffen erlaubt. Das SMS schliesse ich dabei explizit mit ein! Oder ein Skill,
mit dem Ari den Body umgeht. Von so schoenen Dingen wie "wirf bumerang nach
osten" (vgl. Feuerwalze) will ich gar nicht erst reden.
Uebrigens, ich waere dafuer, den Joints des Partymonsters ihren Nutzen zu
geben. Dann wird man ggf. doch mal wenigstens von einer Gilde gebeten, den
Spruch zu machen. Das Partymonster sollte man sowieso mal etwas
stimmungsvoller machen. Erdbeben, nuechtern, licht, sand, freibier, floesse,
beruhige und schimmer sind okay. Haarwuchs ist so laecherlich wie es aussieht!
Ich bin aber dagegen den Schutz deutlich hochzukurbeln.  Der Rest sind 
Ballastsprueche oder Gildeninterna, die man auch ueberall hat - wir vielleicht
sogar am wenigsten, sind auch okay. 
Mich interessiert, wie die anderen Schuettler das sehen. Ach, gleich vorweg
... zweimal lesen! Und ... dass Zauberermagister die Probleme eines normalen
Spielers nicht beurteilen koennen, wundert mich nicht. Und ... Aeusserungen
bezueglich Balance-Entscheidungen, interessieren ausschliesslich von Silvana
und den Mitgliedern des Balance-Teams selbst!

Arelion - der hofft, einem endlosen Flamewar entgehen zu koennen.

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



Re: Konzept (Ringor, 22. Okt 1998, 14:12:13):
~#! rn=Arelion rt=909059433 rg=gilden.bierschuettler
~#! tid=909059433
Ich bin zwar weder fuer Balance zustaendig, noch ein Bierschuettler, aber ich
gebe trotzdem mal meine Meinung dazu ab. Nicht alles, was Gegenargumente
enthaelt, ist gleich ein Flame.

Was Du mit dem Festmachen der Level an den Topsehern erreichen moechtest, ist
mir noch nicht ganz klar. Sollen dann jedes Mal, wenn Mahatma seinen Level
erhoeht, wieder 20 Schuettler anfangen zu questen, damit sie ihre Sprueche
wieder benutzen duerfen? Oder soll das nur neue Schuettler betreffen, die die
Level erreichen wollen - aehnlich der Seheranforderung?

Letzteres faende ich ziemlich unfair den neuen Bierschuettlern gegenueber. Bei
den Seheranforderungen gab es auch schon mehrere Diskussionen, die auf einem
Level einzufrieren - da muss man denselben Fehler nicht unbedingt nochmal in
einer Gilde machen.

Zitat: "Bierschuettler sind die Wunschgilde der Hobbits."

Dass ich als Zwerg mal Hobbits verteidigen wuerde, haette ich ja eigentlich
nicht gedacht ;-) aber das kann ich so wirklich nicht stehen lassen. Die
einzige Gilde, in der Hobbits ausgeschlossen sind, ist die Chaos-Gilde. Das
"Schattendasein" kann hoechstens die Kaempfer betreffen, wobei unsere Hobbits
auch nicht mehr so laut quengeln wie frueher. In allen anderen Gilden sind sie
gleich gut wenn nicht sogar besser als andere Rassen. Frag mal Knurt, warum er
als Hobbit bei den Zauberern so gut zurecht kommt. Oder frag mal Karateka,
welche Vorteile Hobbits bei ihnen haben.

Bei den Bierschuettlern haben die Hobbits auch "nur" bei der Artillerie
Vorteile - und seit der Fixierung der Stats auf eine Obergrenze von 30 kann
jede andere Rasse mit einem Geschicklichkeitsring genauso viel.

Daher kann ich der Argumentation, die Hobbits als Legitimation zum Aufruesten
zu nehmen, nicht ganz folgen. Selbst wenn es nur eine einzige Gilde fuer
Hobbits gaebe, in der sie dann besonders stark waeren, so waere das kein
Grund, Elfen in dieser Gilde dieselben Vorteile zu gewaehren, gell?
Die Suche nach einem Konzept fuer die Gilde finde ich generell lobenswert -
aber warum muss das immer gleich durch massive Aufwertungen geschehen?
Stimmung und Gildenfeeling kann man auch erreichen, ohne die Kampfkraft zu
erhoehen. 

Aber gehen wir Deine Punkte mal einzeln durch:

Bierschuettler koennen schon jetzt fast unendlich tanken (genuegend hohe
Geldvorraete immer vorausgesetzt). Wenn zusaetzlich noch Sprueche zum
Entleeren von Bauch und Blase ergaenzt werden, dann bekommt jeder
Bierschuettler mit genuegend Geld jedes Monster platt. Alleine. Und selbst den
Verbrauch an Geld kann man dann noch einschraenken, da man sich ja nicht mehr
unbedingt auf die teuersten Tankmoeglichkeiten beschraenken muss. 

Bei der Kneipenreform wurde mit Absicht darauf geachtet, dass rein
alkoholische Getraenke z.B. nicht mehr moeglich sind. Eben weil unendliches
Tanken nicht erwuenscht ist. Daher glaube ich kaum, dass dieser Vorschlag eine
Chance hat, genehmigt zu werden.

Den Hitzschlag mit dem Chaosball zu vergleichen, halte ich fuer gewagt. Der
Hitzschlag ist als Spruch zwischen dem Pfeil und dem Feuerball der Abenteurer
geplant gewesen, und genau dort ist er von den Kosten und der Staerke her auch
angesiedelt. Gerade fuer Anfaenger ist es ein offensiver Spruch, den sie
*sehr* frueh lernen - vergleich das bitte mal mit den Anforderungen bei
anderen Gilden.

Gerade die Skillabhaengigkeiten finde ich bei Spells sehr schoen, weil man
dabei Erfolge beim Ueben sieht. Das war etwas, was mich bei den Chaoten damals
genervt hatte - dass der einzige Unterschied zwischen 80% und 100% war, dass
der Spell bei 100% nicht mehr misslang. Das mag Geschmackssache sein - aber
wenn man bedenkt, wie frueh Spieler den Hitzschlag lernen koennen, finde ich,
dass sie durchaus mit einem noch recht schwachen Spruch am Anfang leben
koennen.

Deine Vorschlaege fuer vergiftete Gegner ist durchaus zweischneidig. Klar,
bauen wir das in die Mudlib ein. Aber denk dran, dass dasselbe auch mit Dir
passiert, wenn ein NPC Dich vergiftet. Und weil es so schoen logisch ist,
bauen wir bitte noch mit ein, dass man Gegner natuerlich nur treffen kann,
wenn man sie auch sieht. Nicht zu vergessen, dass man paralysiert nicht
fliehen kann. Und im Dunklen verschwundene Ausgaenge kann man auch zum
Fluechten nicht benutzen versteht sich. Konsequent waer es allemal. ;-)

Schuettelstarre ist ein klares Abbild der Chaosgilde ... jau. Und Erdbeben ist
bis auf die Staerke 1:1 bei den Zauberern geklaut. Dort ist es uebrigens ein
Erz-(?)Magisterspruch. 

Bei beiden Beispielen fliesst der Lernaufwand mit ein. Ich unterstelle Silvana
einfach mal, dass sie sich schon etwas dabei gedacht hat, warum es da
Unterschiede bei den Gilden gibt ...

Nebel mit Verletze oder Chaosball zu vergleichen, ist genauso gewagt.
Flaechenspells wie der Feuerball der Zauberer z.B. haben auch eine nette
Sperre. Inwieweit Silvana mit sich ueber die Kosten verhandeln laesst (wurden
die nicht eben erst gesenkt?), weiss ich nicht - aber mit Teamkampf kann man
auch nicht alles rechtfertigen.

Das Argument, Schuettler koennten faktisch keine Zweihandwaffen benutzen wegen
ihrer Artillerie, ist (sorry) laecherlich. Schau bitte mal andere Gilden an,
fast alle Spells brauchen mindestens eine freie Hand. Und Einhandwaffen mit
maximaler Waffenklasse gibt es auch mehr, als der Balance lieb ist. Eure
Auswahl an Waffenschadentypen ist genauso hoch wie die jeder anderen Gilde. 

Dass heutzutage jede Gilde alle Schadenarten koennen muss, halte ich sowieso
fuer eine bedauernswerte Entwicklung. Genau diese Vielfalt war einmal das
Spezialgebiet und der Vorteil von Chaoten. Dass Zauberer mittlerweile fast
genauso viele Schaeden beherrschen, ist nicht mehr zu aendern. Dass das jetzt
aber als Rechtfertigung fuer andere Gilden benutzt wird, um ebenfalls alle
Schaeden zu fordern, finde ich traurig.

Das Problem zu hoher Bodies betrifft nicht nur die Bierschuettler, sondern
alle Gilden, die mechanischen Schaden machen wollen. Das muss generell geloest
werden (z.B. durch eine NPC-Balance) und nicht durch Inselloesungen der
einzelnen Gilden. 

Wenn Du bei keiner Ameise mehr stehen bleiben kannst, sondern nur noch
rein/raus beherrscht, dann musst Du deutlich staerkere Ameisen kennen als ich.
Der Schutz der Bierschuettler ist lange nicht so schlecht, wie er immer
hingestellt wird. Was ist denn Deine Vorstellung von der Staerke der
Bierschuettler, wie Du sie Dir wuenscht?

Spezialisten fuer (Geschick-abhaengige) Artillerie seid ihr ohne jede
Aenderung der Gilde. Eine Aenderung der Schadenart von z.B. Wurfsternen halte
ich balancetechnisch allerdings fuer sehr fragwuerdig. Die Wurfsterne wurden
absichtlich so geaendert, dass sie durch die Ruestung des Gegners muessen und
sind selbst so noch einigen Magiern ein Dorn im Auge. Was glaubst Du, wie
lange die angeschlossen bleiben, wenn der erste Schuettler mit Eissternen auf
der Feuerebene zerstaeuben geht?

Eine Extrahand wuerde in der Form z.B. ein SMS und einen Schild erlauben.
Nette Sache das - wo kann ich das beantragen? :-) 

Artillerie ohne freihe Haende werfen zu koennen, faende ich dagegen begrenzt
sogar sinnvoll. Die momentane Regelung benachteiligt zumindest nur
Telnet-Spieler, da sich die Nachteile durch Clients recht gut beheben lassen.
Das gilt allerdings fuer alle Spells aller Gilden. Wobei man dann auch
hinterfragen muesste, warum diese Einschraenkungen ueberhaupt gemacht wurden
...

Den Body umgehen durch einen Skill bei Artillerie? Zusaetzlich zu dem
Geschick-Bonus? Du scherzt :)

So, ich muss zum Seminar. Viel Spass mit dem viel zu langen Artikel ;-)

Ringor

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



Re: Re: Konzept (Padreic, 22. Okt 1998, 15:07:08):
~#! rn=Ringor rt=909065533 rg=gilden.bierschuettler
~#! tid=909059433
Also...

Ich komme zwar immer weniger zum spielen aber ich denke trotzdem zumindest
was normalsterbliche Schuettler angeht durchaus noch einen gewissen
Ueberblick zu haben.

1. Was gewisse Zauberer und Chaoten angeht so kann ich Euch nur allen raten
   einfach ignorieren :)
2. Das sprueche zu teuer sind finde ich eigentlich nicht, insbesondere nicht
   bei Nebel! Man muss halt immer etwas mehr tanken als die anderen Gilden :)
3. Bumeraenge und Wurfsterne haben fuer mich irgendwie immer zur Gilde
   gehoert und ich kann mir auch einfach nicht vorstellen, das Silvana das   
   bei ihrer Balance nicht mit einkalkuliert hat. (Zu den Wurfsternen moechte

   ich hier noch anmerken, das sie tierisch ueberschaetzt werden fuer den
   Aufwand!). Bumeraenge und selbst Wurfsterne bringen bei wirklich starken
   Gegnern eh nichts sondern sind eher was fuer die vielen mittelmaessigen
   NPCs und ich kann jeden bitten sich doch mal anzusehn wie gut ein Kaempfer
   mit gutem skill seine Gegner trifft ohne einen einzigen MP zu benutzen.
   Insbesondere wenn der NPC auch noch anfaellig ist!
4. Was das trinken angeht... Frueher konnte man eindeutig zuviel tanken, den
   jetzigen Erfahrungswert halte ich jedoch fuer die aeusserste
   Schmerzgrenze, Aber vielleicht laesst Silvana ja ueber eine _leichte_
   Aufwertung von Nuechtern mit sich sprechen?
5. Macht die Gilde doch bitte nicht schlechter als sie ist, selbst mit den
   ganzen Aenderungen kann man leben und sich durch das MG schlagen, auch
   wenn sie tatsaechlich stark abgewertet wurde.
6. Zum Abschluss noch ein Vorschlag zu den Bumeraengen: Die Argumentation
   des Balancegremiums laesst mich hoffen, das sie Ketos evtl. gestatten
   die alte Bumerangversion einem angemessen starken NPC mitzugeben, den man
   metzeln kann. Dies wuerde ich dann eindeutig fuer den Koenigsweg halten.
7. Zu der Levelabhaengigkeit koennte ich mir vorstellen, das man evtl.
   leichte Boni auf den Erfolg gewisser Sprueche bekommen kann (z.B. auf
   Nuechtern siehe oben) diesen Zusatzbonus koennte man z.B. verlieren
   wenn man unter diese Grenze faellt.


                                                 Padreic



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



Re: Jetzt reicht's aber (Lug, 24. Okt 1998, 00:55:47):
~#! rn=Daria rt=909058445 rg=gilden.bierschuettler
~#! tid=909058445
Huch?

Anatol und persoenliche Angriffe? Hm, wenn Du was brauchst Daria, wende Dich
vertrauensvoll an mich. Ich kuemmer mich gerne auch um die letzte Heulsuse, ja
sogar besonders aufmerksam...

Lieb laechelnd
Lug

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



Re: Re: Jetzt reicht's aber (Jesko, 26. Okt 1998, 14:26:21):
~#! rn=Lug rt=909190547 rg=gilden.bierschuettler
~#! tid=909058445
Saluton.

Wisst ihr, was man aus reinen Lesen der Diskussion hier lernen kann?
IHR SEID ECHTE HELDEN!!!
Haut ruhig weiter aufeinander rum.

Jesko, findet es schade, dass Ironie, Polemik und Beleidigungen hier doch
etwas zu sehr miteinander verschmelzen. Argumentieren mach mehr Spass.

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



Bierkasse (Alpha, 12. Nov 1998, 14:17:15):
Hi Ihr Schnuckies,
Da ich grade das viel Geld in meinem Zimmerchen sehe und mit Kummer an den
naechsten Reeboot denke, kommt mir da so eine Idee, wie reiche Schuettler ihr
ueberfluessiges Geld loswerden und dabei noch nicht ganz so wohlhabende
Gildenmitglieder unterstuetzen koennen - mit einer Bierkasse. Wie oft ist es
mir passiert: Ich will bei Bruno mein Gildenlevel erhoehen, Bruno meint, dass
ich noch nicht betrunken genug sei. Also ab, nen Bier zischen inner Kneipe -
aber mist, Geld ist alle...zurueck auf den Kontinent, fliesse klappt 3x nicht.
Nun steht man da ohne Geld und MP.
 So.....deswegen bin ich fuer die Einrichtung einer Bierkasse, in die jeder
Spieler Geld spenden kann, und aus der dann kostenloses Bier fuer alle Shakys
in der Gildenkneipe finanziert wird, solange das gespendete Geld reicht. Bei
Reeboot kann die Kasse ruhig wieder geleert werden, damit auch wirklich
niemand die Kasse fuer Geldlagerungen missbrauchen kann.
 Vielleicht koennte man sogar ueberlegen, ob man nicht in jeder Kneipe eine
solche Kasse einfuehrt - dann vielleicht mit Levelbegrenzung fuer die
Nutzniesser.
Alpha.

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



Re: Bierkasse (Snibril, 12. Nov 1998, 14:22:37):
~#! rn=Alpha rt=910880235 rg=gilden.bierschuettler
~#! tid=910880235
Hehe gute Idee Alpha :)
aber warum sollen andere Geld bezahlen, nur weil du nicht fliessen kannst? 
...

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



Re: Bierkasse (Golas, 12. Nov 1998, 14:30:00):
~#! rn=Alpha rt=910880235 rg=gilden.bierschuettler
~#! tid=910880235
Nach einem kurzen, aber fruchtbaren Diskussionsgelalle haben wir auch die
Loesung gefunden, damit die Kasse nie leer ist.
Mit einer Top-Spendenlist sollte ein ausreichender Anreiz geschaffen sein.
Ausserdem sollte man entweder nur zum steigern die Kasse benutzen koennen,
evtl auf die Kneipe unter Bruno beschraenkt oder auch zum Ueben ueberall
freigeben, das bliebe zu diskutieren.
Der momentan *schaem* nuechtern Golas

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



Re: Re: Bierkasse (Boing, 12. Nov 1998, 14:32:51):
~#! rn=Golas rt=910881000 rg=gilden.bierschuettler
~#! tid=910880235
Genau, womit die ansich schoene Idee 'ich spende was fuers Gilden-Feeling'
wieder zugunsten von 'Ich spende was weil ich Toplistengeil bin' zunichte
gemacht wurde.
  Boing

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



Re^3: Bierkasse (Golas, 12. Nov 1998, 14:34:24):
~#! rn=Boing rt=910881171 rg=gilden.bierschuettler
~#! tid=910880235
Irgendwie ein recht schlagendes argument *gruebel*
Aber sind denn so viele hier so toplistengeil, wuerde mich etwas enttaeuschen
:(

Golas

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



Re^4: Bierkasse (Paracelsus, 12. Nov 1998, 14:35:09):
~#! rn=Golas rt=910881264 rg=gilden.bierschuettler
~#! tid=910880235
Naja, manche Enttaeuschung bleibt einem nicht erspart.

Para*

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



Re^4: Bierkasse (Ringor, 12. Nov 1998, 14:35:13):
~#! rn=Golas rt=910881264 rg=gilden.bierschuettler
~#! tid=910880235
Wenn keine toplistengeilen Spieler da sind, brauchts auch keine Topliste.

Ringor

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



Re^5: Bierkasse (Alpha, 12. Nov 1998, 14:37:00):
~#! rn=Ringor rt=910881313 rg=gilden.bierschuettler
~#! tid=910880235
Ne temporaere Topliste - von Reeboot zu Reeboot neu, wuerde das Problem
loesen. Und der Spieler, der grade die Kasse nutzt, kann dennoch erfahren, von
wem grade das Geld kommt, dasser auf den Kopf haut.
Alpha

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



Re^6: Bierkasse (Acrimon, 12. Nov 1998, 14:58:01):
~#! rn=Alpha rt=910881420 rg=gilden.bierschuettler
~#! tid=910880235
temporaere Topliste ist dasselbe wie gar keine Topliste.
Denn auf einer temporaeren Topliste kann sich niemand verewigen.

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



Re^7: Bierkasse (Trug, 12. Nov 1998, 15:00:22):
~#! rn=Acrimon rt=910882681 rg=gilden.bierschuettler
~#! tid=910880235
Eigentlich hat Boing recht, dass er sagt, dass wieder mal die
Toplistengeilheit sich gegen das Gildenfeeling durchgesetzt hat.

Na ja, mensch muss ja anscheinend immer mit der Zuckerbrotmethode gekoedert
werden, um freiwillig etwas zu tun...

Trug.

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



Re^8: Bierkasse (Bielefeld, 12. Nov 1998, 18:07:44):
~#! rn=Trug rt=910882822 rg=gilden.bierschuettler
~#! tid=910880235
Moin!

Kurz mal mein Geseier zum Thema - immerhin bin ich ja derjenige,
der sich im Falle eines Falles hinsetzen und den Kram schreiben 
darf... ;)
Solche Aktionen wie anderen Spielern mal etwas Geld zur Verfuegung
zu stellen, oder auch mal ein Stueck Ausruestung zu verleihen oder
was auch immer...faellt fuer mich in den Bereich, der das 'Multi'
hier im Spiel ausmacht. Deswegen sehe ich auch nicht ein, etwas zu
programmieren, was sich mit ein, zwei gezielten Fragen genauso gut
aus der Welt schaffen laesst.

-Bielefeld

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



Re^9: Bierkasse (Alpha, 12. Nov 1998, 22:51:44):
~#! rn=Bielefeld rt=910894064 rg=gilden.bierschuettler
~#! tid=910880235
Hm...es macht fuer mich eben auch das Multi aus, Spielern zu helfen, wenn ich
nicht grade da bin..durch zB die Bierkasse. Und: wie oft ist man als
Schuettler allein, oder zu zweit eingeloggt. Mir passierts oefter. 
Alpha - Nachtspieler.

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



Re^9: Bierkasse (Mahatmu, 13. Nov 1998, 11:12:11):
~#! rn=Bielefeld rt=910894064 rg=gilden.bierschuettler
~#! tid=910880235
Oh, ich finde allerdings, dass man mit Phantasie und Witz diese Idee des Multi
unterstuetzen koennte.
Und da es nun schon zwei 'Befuerworter' gibt, koennen die doch ein bisschen
weiterfeilen, so dass Dir nur noch die Implementation ueberbleibt.
Also sammelt schon mal Messages, Alpha und Golas, unter zwanzig wuerde ich
es nicht akzeptieren ;-) ... und ich schaetze, die Topliste braucht es
nicht, dass bei netten Messages die Spieler spenden. Oder sammeln, oder den
Bierdeckel fuer
andere abstreichen. Oder die ... *fasel * :)

Leonidas@RB aka Gloin

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



Re: Jetzt reicht's aber (Songoku, 19. Nov 1998, 10:13:35):
~#! rn=Daria rt=909058445 rg=gilden.bierschuettler
~#! tid=909058445
Ich bin auch fuer regelmaeSZige Parties/Kissenschlachten. Aber nur, wenn auch
die Karatekas eingeladen sind. (wir saufen naemlich mindestens genausoviel wie
ihr ;)

SonGoku (DrunkenMaster ;)

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



Re: Re: Konzept (Songoku, 19. Nov 1998, 10:19:52):
~#! rn=Ringor rt=909065533 rg=gilden.bierschuettler
~#! tid=909059433
Welche Vorteile habe ich den als Hobbit bei den Karateka?? (habe noch keine
bemerkt (warscheinlich einfach zu doof))

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



Re^3: Konzept (Tunixgut, 19. Nov 1998, 10:21:14):
~#! rn=Songoku rt=911470792 rg=gilden.bierschuettler
~#! tid=909059433
Definitiv!!!

's Karate-Zwerchle!

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



Bierschuettler aufwerten (Daria, 19. Nov 1998, 22:43:54):
Hi,
nein, ich will keinen neuen Streit von w

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



Jetzt aber (Daria, 19. Nov 1998, 22:45:40):
cheiss windoof
Ich finds ganz schoen doof, dass unser Gildenshaky Bruno
bei Parties in der Gilde nicht richtig mitfeiern kann.

Das muss meiner Meinung nach verbessert werden.

Daria will mit Bruno Kissenschlachten machen. Und mit ihm Flepis ploppen.

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



Noch was (Daria, 19. Nov 1998, 22:47:44):
Also...
Flepi muss ja nicht unbedingt heilen. Aber WARUM gibts das nur alkoholfrei?

Daria *kopfschuettelnd*

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



Neulich mal (Daria,  7. Dez 1998, 19:16:50):
Bielefeld ruft: Argl
[Abenteuer:<Quest>] Ethavar hat gerade ein Abenteuer bestanden: Schuettelbier
Aber warum denn Bielefeld? Ist doch schoen, wenn einer den Vulkan wieder
ausloest! ;-)))

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



Ein Bug weniger (Bielefeld, 10. Dez 1998, 10:47:38):
Moin!

Es gibt jetzt keinen FiRZG mehr, wenn man Merlin beobachtet.

-Bielefeld

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



Alkoholgift (Kartoffel, 13. Dez 1998, 22:21:13):
Tut sich am Alkoholgift irgendwann nochmal was?

'Toffel

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



Re: Alkoholgift (Menace, 13. Dez 1998, 22:23:57):
~#! rn=Kartoffel rt=913587673 rg=gilden.bierschuettler
~#! tid=913587673
Sobald Silvana sich mal bei Bielefeld meldet und das frei gibt, was er ihr
vorgelegt hat, ist das wieder angeschlossen, aber sie ist ja nie da! :(

Menace auch hoffend, dass da bald was passiert!

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



Re: Alkoholgift (Bielefeld, 14. Dez 1998, 07:33:22):
~#! rn=Kartoffel rt=913587673 rg=gilden.bierschuettler
~#! tid=913587673
Moin!

In Kurzform der Stand der Dinge: Dieses Jahr wird das wohl leider nix
mehr.

-Bielefeld

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



Re: Re: Alkoholgift (Menace, 14. Dez 1998, 14:32:53):
~#! rn=Bielefeld rt=913620802 rg=gilden.bierschuettler
~#! tid=913587673
WAAAAAAAAAAHHHHHHHHHHHHHHHH!!!!!!!!!

Menace brauchte das jetzt einfach! :(((

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



Hitzeschlag schwaecher? (Mccauls, 22. Jan 1999, 17:19:16):
Hi Schuettler,
ist unser Hitzeschlag schwaecher geworden oder kommt mir das nur so vor?
bei einigen monstern (zB.: Dorfwaechter in Wilhelmsburg) hab ich in
letzter Zeit wieder mehr Probleme. Die Monster sind zwar witerhin machbar, 
aber irgendwie mach ich in letzter Zeit weniger Schaden und steck dabei mehr
ein.
Ist das alles Zufall oder wurde da was geaendert/abgewertet? (Der Hitzeschlag
ist
doch nicht etwa zu stark gewesen, oder?)

McCauls, jetzt noch oefter tankend

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



Re: Hitzeschlag schwaecher? (Ringor, 22. Jan 1999, 17:20:45):
~#! rn=Mccauls rt=917025556 rg=gilden.bierschuettler
~#! tid=917025556
Lies oefter MPA und metzel weniger mit rein/hitzeschlag/raus.

Dann klappts auch mit den Monstern.

Ringor

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



Pause bei Nebel (Brandir, 23. Jan 1999, 21:36:45):
Wo es doch jetzt die Anti-Rein-Raus-Regel gibt, die meiner Meinung nach fuer
eine quasi-schutzlose Gilde wie die Bierschuettler (jaja, auch die Abenteurer)
recht heftig ist... doch will ich hier nicht jammern... waer es doch mal
moeglich die 16 sekunden Sperre beim Nebel auszubauen. Denn wenn man bei
starken Gegnern, neben dem 16 sekuendigen Rumwarten im Nebenraum noch 2-3
Runden im Raum rumstehen und sich froehlich zu Brei schlagen lassern muss,
wird es doch etwas aetzend.
So toll ich den Teamkampf auch finde, ich mach auch abundzu gerne mal was
allein.
Und wenn ich dann meine Nebel hintereinander abfeuern koennte, waer das doch
eine nette sache :)

Brandir - will nicht meckern, sondern nur mal vorsichtig anfragen...

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



Re: Pause bei Nebel (Menace, 24. Jan 1999, 23:56:37):
~#! rn=Brandir rt=917127405 rg=gilden.bierschuettler
~#! tid=917127405
Da kann ich nur zustimmen, aber ich dachte immer die Pause sei 20 Sekunden, 
sprich 5 Runden. Und wenn schon Sperre nach nebel, dann doch bitte nur auf 
Nebel und nicht auf alle uebrigen Sprueche auch

Menace schlaegt mitBrandir in die gleiche Kerbe.

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



Re: Re: Pause bei Nebel (Teddy, 24. Jan 1999, 23:57:19):
~#! rn=Menace rt=917222197 rg=gilden.bierschuettler
~#! tid=917127405
Eine Runde sind doch 2 sekunden dachte ich so, mal 5 sind bei mir eher 10
Sekunden, aber ich weissnicht ob das mit dem Rechnen so stimtm ;)

Teddy

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



Re^3: Pause bei Nebel (Menace, 24. Jan 1999, 23:59:41):
~#! rn=Teddy rt=917222239 rg=gilden.bierschuettler
~#! tid=917127405
Hups, stimmt! :o)
Menace kann (momentan) nicht mehr rechnen.

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



Re^4: Pause bei Nebel (Bielefeld, 25. Jan 1999, 07:34:44):
~#! rn=Menace rt=917222381 rg=gilden.bierschuettler
~#! tid=917127405
Jajaja, ich lese mit. Keine Panik :)

Aber solange es eine Gildenbalance gibt, die gerne das letzte Wort in
solchen Fragen hat, haenge ich nicht einfach neue / geaenderte
Zaubersprueche an. Also bitte etwas Geduld :-)

-Bielefeld

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



Re^5: Pause bei Nebel (Bielefeld, 25. Jan 1999, 08:01:58):
~#! rn=Bielefeld rt=917249684 rg=gilden.bierschuettler
~#! tid=917127405
Noch ein kleiner Nachschlag:

Auch wenn das eben nicht so anklang - ich habe meine ganz persoenliche,
ziemlich negative Meinung zum Thema Rein/Raus und weiss, was so
alles an Monstern inzwischen unkillbar geworden ist (nicht nur fuer
Schuettler). Allerdings halte ich ein Gegenanruesten der Gilde nicht
fuer die richtige Moeglichkeit zum Loesen dieses Problems beizutragen.

-Bielefeld
(hat ab 5. Februar wieder viiiiel Zeit :-))

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



Alkgift (Bielefeld, 28. Jan 1999, 13:01:24):
Moin!

Es tut sich was, der Spruch ist soweit genehmigt und muss noch ein
wenig entbuggt und getestet werden. Das dauert etwas Zeit - die ich 
leider erst uebernaechste Woche haben werde.

Bielefeld

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



Re: Alkgift (Menace, 28. Jan 1999, 14:26:30):
~#! rn=Bielefeld rt=917528484 rg=gilden.bierschuettler
~#! tid=917528484
*froi* ENDLICH!!!

Menace kurz und schmerzlos

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



Bla. (Anatol,  8. Feb 1999, 14:58:31):
[Bierschuettler:Bruno] Hey Sprudel! Was sollen wir ohne Dich bloss machen?

Und DIE "Gilde" schreit nach Aufwertung?
Verdient hat sie es nicht.

Anatol :o)


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



Alkoholgift (Bielefeld,  9. Feb 1999, 08:34:58):
Moin!

Besagter Spruch ist seit einigen Stunden angeschlossen.
Viel Spass damit!

-Bielefeld

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



Re: Alkoholgift (Menace,  9. Feb 1999, 13:34:13):
~#! rn=Bielefeld rt=918549298 rg=gilden.bierschuettler
~#! tid=918549298
Den werde ich haben! ;o)

Menace vergiftet alles was sich ihm in den Weg stellt und bei 3 nicht auf den
Baeumen ist ;o)

-> Schmarrn

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



Tropfen nun mehr? Was gibts sonst neues? (Juan,  6. Jun 1999, 15:09:39):
Hallo,
seit langem gabs in unserer Rubrik nix mehr zu lesen. Vieleicht kommt jetzt
was.
Ich habe gerade entdeckt, dass man mittlerweile 10 nebeltropfen von jeder
sorte haben kann. Ist das schon lange so? Ich dachte bisher dass es nur bis 9
ging.
Und wo wir dabei sind, gibt es etwas neues bei uns, was es nicht gibt?
danke und schuettelt schoen weiter
Juan

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



Re: Tropfen nun mehr? Was gibts sonst neues? (Menace,  6. Jun 1999, 20:46:58):
~#! rn=Juan rt=928674579 rg=gilden.bierschuettler
~#! tid=928674579
Um genau zu sein: Es passen von jeder Sorte Spielerlevel/4 Tropfen auf die
Schuerze. Da es bei dir jetzt 10 sind, vermute ich mal ganz stark, dass Du vor
kurzem auf Level 40 aufgestiegen bist! ;o)

Menace erklaerend

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



ruelpse spruch :) (Leibniz, 18. Aug 1999, 09:39:06):
ich will noch immer einne ruelpse spruch fuer schuettler :)

leibi ist die zeitung auch zu leer

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



und Bruederschaft trinken (Menace, 18. Aug 1999, 12:58:42):
Ich will nen Spruch Bruederschaft trinken! ;o) (als befriede)

Menace, der mit jedem Gutfreund sein will 

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



Re: und Bruederschaft trinken (Dieder, 18. Aug 1999, 13:00:10):
~#! rn=Menace rt=934981122 rg=gilden.bierschuettler
~#! tid=934981122
mit jedem Gutfreund?

Schleimer! Koennte glatt von nem Kleriker kommen...

Dieder, daemonisch grinsend

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



Re: und Bruederschaft trinken (Leibniz, 18. Aug 1999, 13:02:15):
~#! rn=Menace rt=934981122 rg=gilden.bierschuettler
~#! tid=934981122
ausserdem noch einen saufskill

leibi, voller ideen

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



Re: Re: und Bruederschaft trinken (Menace, 18. Aug 1999, 13:10:39):
~#! rn=Dieder rt=934981210 rg=gilden.bierschuettler
~#! tid=934981122
ja, zumindest wenn sie mir zu feste zuhauen!
Dann trinke ich mit ihnen Bruederschaft und hab danach den ersten Schlag! =;o)

Menace hinterruecks zuschlagens

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



Re^3: und Bruederschaft trinken (Anatol, 18. Aug 1999, 14:12:16):
~#! rn=Menace rt=934981839 rg=gilden.bierschuettler
~#! tid=934981122
Ich kann mir die ersten drei Zeilen der "neuen" Bierschuettelsprueche
gut vorstellen...:

inherit "/spellbooks/cleric_spells";
inherit "/spellbooks/wiz_spells";
inherit "/spellbooks/trves_spells";
...

Anatol

PS: Ja, ich weiss ;)


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



Re^4: und Bruederschaft trinken (Lyra, 18. Aug 1999, 14:32:11):
~#! rn=Anatol rt=934985536 rg=gilden.bierschuettler
~#! tid=934981122
*alles_gross_schreiben_ wir haben keine spells!
*alles_wieder_normal_schreiben*

Lyra kurz und knapp

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



Re: Re: und Bruederschaft trinken (Alpha, 18. Aug 1999, 20:26:39):
~#! rn=Leibniz rt=934981335 rg=gilden.bierschuettler
~#! tid=934981122
Na wenn schon das Saufen endlich in unserer geliebten Gilde ein wenig mehr
betont wird (dazu waere es ja auch endlich mal Zeit!!!), dann vielleicht so,
dass man einen kleinen Malus beim Raufideln bekommt, wenn man nuechtern ist
(Sowas gehoert sich fuer einen Schuettler eben nicht!) und dafuer eben einen
(vielleicht mit dem Alkoholisierungsgrad steigendem) zusaetzlichen Bonus beim
Raufideln unter Alkoholeinfluss.
Alpha.

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



Re^3: und Bruederschaft trinken (Menace, 24. Aug 1999, 10:54:43):
~#! rn=Alpha rt=935007999 rg=gilden.bierschuettler
~#! tid=934981122
Oder auch, dass der Wirkungsgrad der Sprueche vom Alk-level abhaengig ist.
Bei nuechtern ein Malus aum momentane Wirkung und bei voll besoffen ein Bonus
auf momentane Wirkung.

Menace momentan leider nuechtern *schaem*

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



Re: Re: und Bruederschaft trinken (Songoku, 26. Aug 1999, 13:28:46):
~#! rn=Leibniz rt=934981335 rg=gilden.bierschuettler
~#! tid=934981122
Den Saufskill sollten aber auch Karatekas bekommen (das habe ich naemlich am
meisten trainiert ;)

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



Re^4: und Bruederschaft trinken (Songoku, 26. Aug 1999, 13:29:16):
~#! rn=Anatol rt=934985536 rg=gilden.bierschuettler
~#! tid=934981122
Ich werde schuettler!

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



Aenderungen in der Gilde (Bielefeld,  1. Apr 2000, 00:02:52):
Prost!

Nach monatelangen Auseinandersetzungen mit dem Balancemagier haben wir
heute die Genehmigung fuer folgende Feahigkeiten bekommen, die ab sofort
verfuegbar sind:

* Ab sofort lassen sich mit Feuerwasser brennende Bumerangs und Wurfsterne
  erzeugen. Weitere Schadenstypen folgen in den naechsten Tagen.
* Bruno und Kruoolq haben bei ein paar Chaosbechern ein kleines 
  Abkommen geschlossen. Im Austausch fuer den Party-Zauber bekommen die
  Bierschuettler einen Kampfdaemon. Seher ab Stufe 50 koennen ab
  sofort den gefuerchteten Kampfdaemon 'Ozapftis' beschwoeren.
* Besoffen gehts besser: Einige Sprueche wirken jetzt erst im Vollrausch
  so richtig.
* Noch einmal besoffen: Bruno hat sich von Brieseltrim in das Geheimnis
  der Raserei einweisen lassen und bildet jetzt Bierschuettler ab Stufe
  35 darin aus.
* Irgendwo im MorgenGrauen hat Bruno ein tragbares Bierzelt versteckt.
  Mit diesem guten Stueck laesst sich auf offenem Gelaende schnell
  ein passendes Dach ueber dem Kopf herbeizaubern.
* Seher ab Stufe 45 koennen jetzt den neuen Zauberspruch 'ruelpse' nutzen.
  Bedankt Euch bei Leibniz fuer die Ueberzeugungsarbeit.


Viel Spass beim Metzeln!
-Bielefeld

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



Re: Aenderungen in der Gilde (Leibniz,  1. Apr 2000, 18:43:47):
~#! rn=Bielefeld rt=954540172 rg=gilden.bierschuettler
~#! tid=954540172
*freu*
endlich tut sich mal was in der schoensten gilde des mgs.
also das mit dem ruelspe-spruch ist echt klasse. und dass der sogar
laermschaden macht finde ich super-witzig.
da trau auch ich mich wieder aus dem haus.

leibi

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



Re: Re: Aenderungen in der Gilde (Anatol,  1. Apr 2000, 18:49:57):
~#! rn=Leibniz rt=954607427 rg=gilden.bierschuettler
~#! tid=954540172
Na, der macht der aber eher DT_SMELL.... ;o)

Anatol ;)


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



Re: Aenderungen in der Gilde (Bielefeld,  1. Apr 2000, 23:40:15):
~#! rn=Bielefeld rt=954540172 rg=gilden.bierschuettler
~#! tid=954540172
Noch ein kleiner Nachsatz:
Alle in diesem Artikel angesprochenen Aenderungen sind unser voller 
Ernst; die Ideen sind im Laufe der letzten anderthalb Jahre auf 
diversen Stammtischen und Parties gereift. Da sich nun niemand (weder 
von Spieler- noch von Magierseite) negativ zu den geplanten Aenderungen
geaeussert hat, werde ich ab morgen mit der Implementierung und dem
Anschluss der Sachen anfangen.

Kritik oder Beschwerden bitte an den oertlichen Vertreter der
Jamm^H^H^H^HZauberergilde.

-Bielefeld

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



Re: Re: Aenderungen in der Gilde (Liara,  2. Apr 2000, 00:59:05):
~#! rn=Bielefeld rt=954625215 rg=gilden.bierschuettler
~#! tid=954540172
Jaja, Biele*. Hauptsache der Artikel laeuft noch unter dem 1. April. ;-)

Liara, Zwergenzauberine ... tut Schuettlern was an, wenn sie Feuerwasser
verschwenden *g*

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



Re: Re: Aenderungen in der Gilde (Leibniz,  2. Apr 2000, 22:41:06):
~#! rn=Bielefeld rt=954625215 rg=gilden.bierschuettler
~#! tid=954540172
meeeeenno
warum geht das jetzt alles nimmer? 
leibi

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



Re: Aenderungen in der Gilde (Oleriis,  7. Apr 2000, 17:49:58):
~#! rn=Bielefeld rt=954540172 rg=gilden.bierschuettler
~#! tid=954540172
Wenn ich das so betrachte, was sich derzeitig in der Karategilde tut, bin ich
froh das es sich bei uns nur um einen Aprilscherz handelt. Wow, ist da was an
Unmut umgegangen wegen den von Rochus angestrebten veraenderungen. Solange
aber niemand gelyncht wird scheint aber alles in Ordnung zu sein. Nur wenn es
bei uns einmal zu veraenderungen kommen sollte bitte ich doch um Ruecksprache
mit den Gildenaeltesten und dass mir dann niemand beleidigend wird! ln -s 
anatol.weichei
Oki, das wars dann auch schon! Bis die Tage.

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



Befehl Ausruestung (Daria, 12. Jan 2001, 16:19:26):
Alle Welt beschimpft uns immer.

Entweder sind wir den anderen zu stark ("Das is doch ne Spassgilde, wieso
haben die so nen starken Spruch) oder zu schwach ("Ihr seid doch eh nur ein
paar Schluckspechte").

Wir werden staendig diskriminiert. Und jetzt musste ich auch noch feststellen,
dass nicht mal die (hoechst kleidsame!) Bierschuerze beim Aufruf von
"Ausruestung" auftaucht! Eine Schande ist das!

Koennten die zustaendigen Magier das bitte einbauen, dass fuer unsere Gilde
die Schuerze angezeigt wird? Natuerlich mit Wappen! 

Das waere mal eine sinnvolle Aenderung, im Gegensatz zu dieser "Mein Top-Level
ist mehr wert als Deiner" Diskussion.

Daria
PS: Prost, Bruno!

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



Re: Befehl Ausruestung (Hight, 12. Jan 2001, 17:30:02):
~#! rn=Daria rt=979312766 rg=gilden.bierschuettler
~#! tid=979312766
*lach* ich will dann abba auch gefaelligs alle 4 bzw. 5 bzw. x items angezeigt
haben die ich um den hals haengen hab 

hight -> schmarrn

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



Re: Re: Befehl Ausruestung (Solmyr, 12. Jan 2001, 17:32:31):
~#! rn=Hight rt=979317002 rg=gilden.bierschuettler
~#! tid=979312766
Wurden die Bierschuettler nicht abgewertet? Man sollte denen noch
die Schuerze wegnehmen, dann gibt's da ein Problem weniger ;=)))))

******Solmyr****** ;)

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



Re^3: Befehl Ausruestung (Guard, 14. Jan 2001, 01:10:47):
~#! rn=Solmyr rt=979317151 rg=gilden.bierschuettler
~#! tid=979312766
och Daria!

nu haste alles wieder kaputtgemacht ...
alle hatten uns (die Bierschuettler) so schoen vergessen, keiner hat mehr 
genervt, das wir auch nur jammern koennten. und nu willste auch noch
gildenfeeling und ne extrawurst fuer uns herausholen ... und was haste davon
... 
wieder labert man uns zu, wir sollten uns gefaelligst nicht beschweren

Wie soll das enden?

Guard * kopfschuettelnd *

PS : Mist ich hab die von einigen benoetigten ironie oder zwicker-flags
vergessen ... sorry

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



Re: Re: Offener Brief an Paracelsus (Freibier,  2. Feb 2001, 10:18:02):
~#! rn=Paracelsus rt=981105141 rg=gilden.tanjian
~#! tid=978957414
> P.P.S.: Bierschuettler aufwerten!

Jo, wann kommt denn endlich der Kampfruelpse-Spruch? Flaechenschaden Sound und
Poison, funktioniert nur bei gutem Alkohol-Fuellstand...

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



Re^3: Offener Brief an Paracelsus (Croft,  2. Feb 2001, 10:32:49):
~#! rn=Freibier rt=981105482 rg=gilden.bierschuettler
~#! tid=978957414
Ich sollte Bielefeld endlich mal das Bierbraukonzept zuschicken das ich ihm
versprochen habe :o)
Gruss Croft

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



Re^3: Offener Brief an Paracelsus (Daria,  2. Feb 2001, 13:00:29):
~#! rn=Freibier rt=981105482 rg=gilden.bierschuettler
~#! tid=978957414
DAFUER!
Daria
PS: Im uebrigen bin ich der Ansicht, dass wir einen Bierbrauerclan brauchen.
(frei nachCato)

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



Re^4: Offener Brief an Paracelsus (Leibniz,  2. Feb 2001, 22:25:37):
~#! rn=Daria rt=981115229 rg=gilden.bierschuettler
~#! tid=978957414
bielefeld gibts doch gar net :)

leibi

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



Nur der Vollstaendigkeit halber (Daria,  4. Feb 2001, 13:45:07):
Unsere Gilde ist die beste.

Denn: Wenn einer schreit *BIERSCHUETTLER ABWERTEN!*
Dann nicht, weil er meint wir waeren im allgemeinen Gildengefuege zu stark,
sondern:
Die Begruendung ist dann immer: Bierschuettler sind eine SPASSGILDE.

Daria

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



Re: Nur der Vollstaendigkeit halber (Wurzel,  4. Feb 2001, 13:48:33):
~#! rn=Daria rt=981290707 rg=gilden.bierschuettler
~#! tid=981290707
spassgilde? doch nicht wirklich, oder?
die tonangebenden "wichtigen leute" hier kommen doch nicht deswegen
hierher, weil sie spass haben, sondern in ermangelung eines richtigen
lebens. spass ist doch verpoent, solange es nicht die verkniffene
variante ist, im sinne von schadenfreude etc.

wurzel

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



Re: Re: Nur der Vollstaendigkeit halber (Heromcfly,  4. Feb 2001, 17:37:14):
~#! rn=Wurzel rt=981290913 rg=gilden.bierschuettler
~#! tid=981290707

HeroMcFly wedelt wild mit einem 'Ich will einen Bierschuettler Abwerten
Thread' Faehnchen.

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



Re^3: Nur der Vollstaendigkeit halber (Leibniz,  4. Feb 2001, 22:45:09):
~#! rn=Heromcfly rt=981304634 rg=gilden.bierschuettler
~#! tid=981290707
 genau: wir sind eh viiiiiel zu stark und wir sind doch auch nur zum spass
hier, da muessen wir doch nix koennen :)

leibi

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



Nebel (Daria,  6. Feb 2001, 12:12:05):
Huhu,
wer von Euch kann mir Nachhilfe in "nebel" geben? Bruno ist da nicht wirklich
hilfreich.
Weiterhin mag mich 'bschau' nicht. bei mir kommt immer nur
Sowas siehst Du da nicht!
Wie bitte?

Muss ja nicht in der MPA sein (bzw. sollte wohl auch nicht). Ich schreibs auch
nur hier rein weil nie jemand da zu sein scheint der den Spruch kann ausser
mir und die Gilde fuer sowas kein Brett hat.
(Kleiner Schubser Richtung der angeblichen Stadt in OWL.) ;-)

Daria

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



Re: Nebel (Guard,  6. Feb 2001, 18:43:16):
~#! rn=Daria rt=981457925 rg=gilden.bierschuettler
~#! tid=981457925
Da es vielleicht auch andere gibt, die solche Fragen quaelen schreib ich doch
mal inne Zeitung :-) dann kommt auch mal leben in dieses brett ;-)
Neben Bruno gibt es ja noch die Hilfeseiten zu den Zauberspruechen und ein
Blick auch die ueberaus geniale Bierschuerze kann da auch weiterhelfen.
Dass Du bei der Eingabe von 'bschau' ein 'Sowas siehst Du da nicht!' und 'Wie
bitte?' erhaelst ist sehr unschoen, liegt aber schlicht daran, das man mit
diesem Befehl ETWAS untersuchen kann also die Eingabe schon ein Argument
beinhalten sollte ('bschau blabla') und dann ich alles gut. Der Hinweis, dass
diese Untersuchungsmethode nur in Kneipen sinnvoll ist, sollte einem auch
nicht entgangen sein. Und wenn man dann endlich ein paar tropfen gefunden hat,
ist das heraufbeschwoeren eines nebels ein Kinderspiel, wie man mit 'hilfe
nebel' nachlesen kann.

Ich hoffe mal, dass das geholfen hat und der Artikel nicht wegen KL-Charakter
gleich wieder geloescht wird :-))

Guard

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



Mehr Spass fuer Schuettler ;) (Strohalm, 15. Feb 2001, 18:51:13):
Frei nach dem Motto "back to the roots" will ich mal wieder nen neuen
Bierschuettler anfangen, allerdings bin ich der Meinung, dass der Begriff
"Spassgilde" bei der momentanen Struktur des MGs nicht mehr so ganz zutrifft,
da den Schuettlern irgendwie die Wuerze fehlt. Blubber ist zwar fuer gewisse
Zeit recht lustig, jedoch wird die Anwendung irgendwann von Langeweile und
genervten "Opfern" ueberschattet.

Selbiges gilt auch fuer das mittlerweile angegraute Partymonster, dass erstens
zwecks Troete nicht nur allein Bierschuettlern zur Verfuegung steht, und
zweitens ebenfalls auf die Dauer uninteressant wird.

Da dies neben dem ebenfalls etwas in den Hintergrund geratenen Gildenfeeling
und die einzigen beiden Sprueche sind, die den Begriff "Spassgilde" fuer mich
in etwa begruenden, waeren von Magierseite vielleicht mal wieder ein Paar
Aenderungen angebracht, um die Gilde wieder etwas interessanter fuer Spieler
zu machen (scheint bei den Zaubis ja auch zu klappen... ;)). Hierzu nun ein
paar kleine Ideen (teilweise aufbauend auf schon bekannten Vorschalegen von
namhaften Schuettlerkorifaeen *Butterkeksknabber* ;)):

- Blubber: Den Sprachfluch koennte man doch bestimmt erweitern auf ein
Lallen.. nur 3fache 'b'-s sind auf die Dauer langweilig ;) Mit Sprachformeln
um sich werfende Zauberkundige werden dadurch natuerlich ebenfalls
beeintraehtigt *g*

- Sand: Schoen und gut zum Raeume markieren und Nachrichten hinterlassen, aber
Sand koennte zB, wenn man ihn einem Monster in die Augen wirft, selbiges fuer
2 oder 3 Kampfrufnen blenden, oder ein unangenehmes Kratzen in der Hose
verursachen ;)

- Torkeln: Waere ein neuer Skill, mit dem man bei genuegend Alkoholgehalt
Angriffen ausweichen kann... das Glueck ist schliesslich erfahrungsgemaess mit
den Besoffenen... Extremtrinker beherrschen diesen Skill sogar mit solcher
Perfektion, dass sie gegen Hindernisse rennen, ohne sich dabei zu verletzen;)
Falls dies zu maechtig erscheint, koennte man eventuell Mali auf die Flucht
damit verbinden (Vorsicht schwankt, Fluchtrichtung nicht mehr 100%,...)

- Biergeschoss (etwas komischer Name, aber was besseres is mir noch nicht
eingefallen ;)): da jeder geuebte Bierschuettler seine Bierflaschen mit allen
moeglichen Utensilien oeffnen kann, lernt man es mit der Zeit natuerlich auch,
den unter Druck stehenden Kronkorken mit einem lauten *PLOPP* gezielt auf
einen Gegner donnern zu lassen... natuerlich benoetigt man dafuer eine Flasche
Bier, die danach sofort verzehrt werden muss (oder dem Gegner einge"floesst")
;)

- Ruelpse (Leibis meiner Meinung nach geniale Idee): Wer viel trinkt, muss
viel Ruelpsen.. ein allgemeines Gesetz der anonymen Alkoholiker ;) Die
Schadensart des Ruelpsers koennte man dann einem Art Komponentensystem
aehnlich der Zauberer oder "Nebel" unterwerfen. Einen Grundlaermschaden sollte
dieser Spell immer machen, verstaerken koennte man dies zB durch Verzehr von
geeigneten Mengen Bier, das mittels Kohlensaere die Lautstaerke um einen
bestimmten faktor anhebt. Durch Chili oder sonstige scharfe Gerichte
(eventuell sollten die Kompos in der Gilde oder eigenen laeden zu erwerben
sein, damit man die Kneipen nicht umschreiben muss.. ) wuerde man
zusaetzlichen Feuerschaden verursachen, und durch Fisch/Schnaepse zusaetzlich
Giftschaden. Sollte der Spruch zu stark sein, hat man mit einem eventuellen
Rueckstoss zu rechnen, durch den man aus dem Raum geschleudert wird. Ich
koennte mir diesen Spell reecht gut als Hauptangriffszauber vorstellen.

- Lallen: Alkohol macht gespraechig, und traegt ungemein zur allgemeinen
Erheiterung der Zuhoerer bei (Ich weiss, wovon ich rede ;)), was verschiedene
Auswirkungen haben koennte: Monster koennten eine Zeitlang dadurch befriedigt
werden und interessiert zuhoeren (bis man wieder angreift, bei staerkeren NPCs
auf ein paar Sekunden beschraenkt, aehnlich dem befriede der Zauberer), aber
auch Teamkollegen koennten fuer kurze Zeit das Kaempfen vergessen. Vor allem
im Bezug auf die Raummeldungen bietet der Spruch interessante Moeglichkeiten
*GG*

Wenn man die Raummeldungen dieser Sprueche entsprechend kreativ gestaltet,
wird dies auch zur allgemeinen Erheiterung in einigen massenschlachten oder
intimen Gespraechen fuehren, und es werden sich eventuell auch wieder einige
HLPs ueberlegen, einen Schuettler anzufangen. Die Kampfkraft der Schuettler
wuerde zwar mit der Umsetzung der Spells um einiges steigen, aber die genauen
Werte kann man ja trotzdem unter denen von Zaubis/Kaempfern/Tanjian (*G*)
halten. Ich wuerder mich auch dazu beeiterklaeren, die Beschreibungen und
meldungen der Spells mitzubeschreiben, Hauptsache, bei den Schuettlern
passiert mal was, und sie werden zu einer Gilde, die wieder Spass machen und
sich auch fuer HLPs, die nicht nur Bluemchen pfluecken wollen, lohnen. 

Lord Haelmchen, einmal Schuettler, immer Schuettler ;)

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



Re: Mehr Spass fuer Schuettler ;) (Anatol, 15. Feb 2001, 18:54:26):
~#! rn=Strohalm rt=982259473 rg=gilden.bierschuettler
~#! tid=982259473
Nicht zu vergessen den waffenlosen Nahkampf "drunken master", der einer
Waffenklasse von 460 bei dreifacher Kampfgeschwindigkeit und einem
Ruestungsschutz von 1093 (auch gegen magische Angriffe) entspricht.

Anatol mit unbewegter Miene


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



Re: Mehr Spass fuer Schuettler ;) (Tiamak, 15. Feb 2001, 18:57:49):
~#! rn=Strohalm rt=982259473 rg=gilden.bierschuettler
~#! tid=982259473
Genuegend Vorschlaege fuer neue (und staerkere) Angriffssprueche hast Du ja
genannt. Aber wo waren jetzt die Sprueche fuer die "Spassgilde"? 


Tiamak. Braucht wohl doch ne Brille.

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



Re: Mehr Spass fuer Schuettler ;) (Liara, 15. Feb 2001, 19:02:12):
~#! rn=Strohalm rt=982259473 rg=gilden.bierschuettler
~#! tid=982259473
Hilfaaaaaaaaaaaaaaaaaaaaeeee!

Wehe, jemand laesst IHN Meldungen schreiben! ;-)

LZ, kennt Strohalms Zwergendiskriminierungslieder ueber frufe ;-))

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



Re: Re: Mehr Spass fuer Schuettler ;) (Strohalm, 15. Feb 2001, 19:03:14):
~#! rn=Tiamak rt=982259869 rg=gilden.bierschuettler
~#! tid=982259473
Die Sprueche sollen ja auch nicht stark werden, sondern den Schuettlern etwas
mehr Vielfalt spendieren... und die texte beim lallen, ein schoener lauter
Ruelpser mit einer netten beschreibung, Rumtorkeln mit kleinen Nebenwirkungen
koennen durchaus lustig sein... je nachdem, wie es umgesetzt wird (wenn
ueberhaupt...)
Ausserdem waren es nur Vorschlaege ohne genaue Zahlenwerte...

Haelmchen

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



Re: Re: Mehr Spass fuer Schuettler ;) (Strohalm, 15. Feb 2001, 19:05:04):
~#! rn=Liara rt=982260132 rg=gilden.bierschuettler
~#! tid=982259473
Diskriminierend? Liara, die Wahrheit ist hart, aber nicht diskriminierend ;)

Halemchen, froehlich weitersingend ;)

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



Re^3: Mehr Spass fuer Schuettler ;) (Liara, 15. Feb 2001, 19:06:10):
~#! rn=Strohalm rt=982260304 rg=gilden.bierschuettler
~#! tid=982259473
Ohne Kostprobe weiss hier eh keiner, was gemeint ist ... *GGG*

LZ ;-)

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



Re^4: Mehr Spass fuer Schuettler ;) (Strohalm, 15. Feb 2001, 19:06:52):
~#! rn=Liara rt=982260370 rg=gilden.bierschuettler
~#! tid=982259473
Noe, dann krieg ich wieder Haue ;)

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



Re^5: Mehr Spass fuer Schuettler ;) (Leibniz, 15. Feb 2001, 20:13:00):
~#! rn=Strohalm rt=982260412 rg=gilden.bierschuettler
~#! tid=982259473
also ich bin mal gespannt...

aber eigentlich glaub ich nicht, dass sich da in naher zukunft was tut.

leibniz wuerde dann vielleicht auch mal wieder ihre keksdose verlassen 

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



Re: Re: Mehr Spass fuer Schuettler ;) (Tsunami, 15. Feb 2001, 20:41:17):
~#! rn=Liara rt=982260132 rg=gilden.bierschuettler
~#! tid=982259473
ich wuerde diese Zwergendiskriminierungslieder gerne lernen!

Tsunami. Aufmerksam zuhoerend.

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



Re^3: Mehr Spass fuer Schuettler ;) (Strohalm, 15. Feb 2001, 20:41:53):
~#! rn=Tsunami rt=982266077 rg=gilden.bierschuettler
~#! tid=982259473
Fuer nen FP geb ich ein Privatkonzert ;)

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



Re^3: Mehr Spass fuer Schuettler ;) (Gloinson, 15. Feb 2001, 21:39:58):
~#! rn=Strohalm rt=982260194 rg=gilden.bierschuettler
~#! tid=982259473
Meine erste Reaktion waer ja auch: Soifz, da will wieder jemand
Angriffssprueche. Das der wodkaschluerfende Halm aber explizit nach nicht
starken Spruechen verlangt sollte man den Ideen zugute halten koennen -
irgendwie sind sie doch ganz schone bekifft und passen zur Gilde ;)

Gloin(son) ... hat auch Spass

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



Re: Re: Mehr Spass fuer Schuettler ;) (Gnome, 16. Feb 2001, 01:05:20):
~#! rn=Anatol rt=982259666 rg=gilden.bierschuettler
~#! tid=982259473
den bekommt man aber erst mit gildenlevel 24.
und du wirst lachen: er wuerde sogar konzeptionell genau in die gilde
passen, von deinen werten mal abgesehen.

gnOme says: "go haelmchen, go!"

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



Re^3: Mehr Spass fuer Schuettler ;) (Strohalm, 16. Feb 2001, 04:53:53):
~#! rn=Gnome rt=982281920 rg=gilden.bierschuettler
~#! tid=982259473
pinkel
genau !!! bierschuettler sollten viiiiiiel mehr spells haben, die dem
alloholjonsum wuerdigen... ausserdem sollte man die gilde in
promillefetischisten umbenennen.... bier schuettlet man net., dad trinkt
man... in angemessenem masse, am besten mehr als wenig

Lord Haelmchen, auch weltlicher Sucht roehnend, ohne mudeinfluss

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



Re^3: Mehr Spass fuer Schuettler ;) (Apollonia, 16. Feb 2001, 09:31:49):
~#! rn=Strohalm rt=982260304 rg=gilden.bierschuettler
~#! tid=982259473
Und das sagt einer, dessen 2tie selber Zwerg ist...

Apo* (grinsend)

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



Re^3: Mehr Spass fuer Schuettler ;) (Nirdavo, 16. Feb 2001, 11:04:21):
~#! rn=Gnome rt=982281920 rg=gilden.bierschuettler
~#! tid=982259473
  Also mir gefaellen Haelmchens Vorschlaege auch echt gut ... man muss ja
nicht gerade ueber Bord gehen, was die Staerke angeht, oder halt auch gute
Nachteile (was eine konstruktion!) einbauen. Wie beispielsweise beim
'Torkeln': DAs koennte eine Eigenschaft/Skill sein, auf die der Bierschuettler
gar keine Einfluss (ausser dem Alklevel) hat. Je besoffener, desto staerker
das Torkeln.. es hilf meistens (aber nicht immer!) beim Ausweichen von
Angriffen, dafuer klappt die Vorsicht immer schlechter ... bekanntermassen
neigt man im Alkoholisierten Zustand zur Selbstueberschaetzung! Und natuerlich
werden die eigenen (Waffen)Angriffe schlechter!
  Naja, in diesem Stil koennte man die ganzen Vorschlaege einarbeiten, und
ich koennte mich glatt dazu veranlasst fuehlen, meine Bierschuettler-Zweitie
mal wieder aus seinem Dornroeschenschlaf zu wecken.

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



Re^4: Mehr Spass fuer Schuettler ;) (Karis, 16. Feb 2001, 11:39:34):
~#! rn=Strohalm rt=982295633 rg=gilden.bierschuettler
~#! tid=982259473
Also, wenn schon Ruelpser, dann bitte auch Furzer. IRgendwie
gehoert das doch zusammen. Und dann baut nicht nur
Laermschaden ein, sondern auch gleich .. aeh.. 
Geruchsschaden. Damit das dann auch gleich eine vernichtende
Wirkung aufs ganze Lachteam hat.

naelchen Karis, gruebelt darueber nach, ob Wurzel's Furzerei skillfaehig ist.

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



Re^4: Mehr Spass fuer Schuettler ;) (Felerian, 16. Feb 2001, 13:37:06):
~#! rn=Nirdavo rt=982317861 rg=gilden.bierschuettler
~#! tid=982259473
ERinige moegliche Nachteile habe ich ja bereit erwaehnt, und wenn die Zahlen
entsprechend niedrig gehalten werden, muss das ganze nicht unbedingt ne
Aufwertung der Kampfkraft werden... hab da vollstes Vertrauen in die Balance,
muesste nur mal Shaky wieder auftauchen ;)

Pruegelzwaerschle Felerian, in Vertretung fuers Haelmchen

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



Re^5: Mehr Spass fuer Schuettler ;) (Humni, 16. Feb 2001, 18:40:21):
~#! rn=Felerian rt=982327026 rg=gilden.bierschuettler
~#! tid=982259473
Ich find die Ideen bis dato auch gut. Ach ja: Bier schaeumt bekanntlich. Es
koennte also auch noch ein Schaeume-Spell abfallen, der den Gegner
ueberschaemut (je nach Kompos/Biersorten verschiedene Schadensarten).
Des weiteren sollten Schuettler einen angehexten Ombatis floessen
koennen...und zwar so, dass der andere Dinge macht, als nuechtern, oihne das
als Angriff zu werten.. (muss man wohl mal mit den Chaosmagiern reden).
Aber das wird wohl nicht ohne ne Abwertung genehmigt, also sollte man sich
auch mal ueberlegen, welche Nachteile man dafuer in Kauf nimmt (z.B. schwimmt
auf einmal die Ruestung bei nem Schaeume weg oder so....naja ist albern aber
sowas in der Art vielleicht).
Des weiteren koennte man fuer die hoeheren Level noch Gildenquests einbauen,
damit die Gilde ab nem gewissen Level auch schwerer zu erhoehen ist als einmal
Fass ausliefern und dichtziehen. Erhoeht die Chancen einer Genehmigung wohl
ungemein ;-)
Ich hab sogar schon ein paar Ideen fuer ne Gildenquest...mal sehen wann ich
Zeit finde *seufz*

Humni

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



Re^6: Mehr Spass fuer Schuettler ;) (Strohalm, 16. Feb 2001, 19:17:52):
~#! rn=Humni rt=982345221 rg=gilden.bierschuettler
~#! tid=982259473
pinkel
Find ich klasse, und es gab schon Interesse von Magierseite, das umzusetzen...
haengt nur von Nachtwind ab, inwiefern der mitspielt, aber an paar bloeden
Zahlenwerten sollte es nicht scheitern, die kann man entsprechend regulieren
;))

Lord Haelmchen, hofft dass ich was tut und schleimt bei Nachtwind ;)

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



Re^7: Mehr Spass fuer Schuettler ;) (Limerick, 16. Feb 2001, 20:11:08):
~#! rn=Strohalm rt=982347472 rg=gilden.bierschuettler
~#! tid=982259473
Ja, meinen Erstie wird das auch freuen, wenn sich bei den
Schuettlern mal wieder richtig was tut.

Limerick

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



Re^7: Mehr Spass fuer Schuettler ;) (Gloinson, 18. Feb 2001, 20:06:32):
~#! rn=Strohalm rt=982347472 rg=gilden.bierschuettler
~#! tid=982259473
"pinkel"? Gibt es doch schon. Nennt sich "saeurestrahl". Boing wird sich aber
beharrlich wehren, dass man fuer den Spell die Hose ausgezogen haben muss,
nehm ich an.

Gloin(son), unernst

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



Re: Mehr Spass fuer Schuettler ;) (Daria, 19. Feb 2001, 15:17:13):
~#! rn=Strohalm rt=982259473 rg=gilden.bierschuettler
~#! tid=982259473
>... Die Kampfkraft der Schuettler
>wuerde zwar mit der Umsetzung der Spells um einiges steigen, aber die genauen
>Werte kann man ja trotzdem unter denen von Zaubis/Kaempfern/Tanjian (*G*)
>halten. ...

Mit welcher Begruendung drunter?

Daria schaut ahnungslos.

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



Re: Re: Mehr Spass fuer Schuettler ;) (Humni, 19. Feb 2001, 15:24:01):
~#! rn=Daria rt=982592233 rg=gilden.bierschuettler
~#! tid=982259473
Die Begruendung ist die, dass die Bierschuettlergilde kaum Anforderungen an
den Spieler stellt, um seinen Gildenlevel zu erhoehen, ausser Spielerlevel,
Fass ausliefern und einmal vollsaufen ist nix zu tun.
Ein Kaempfer muss um seinen Level zu erhoehen ausbilden, ausgebildet werden,
Gildenquests loesen, APs haben, EPs haben, und seine Faehigkeiten auf nem
gewissen Level halten. Folglich: Ein Kaempfer ist mehr Arbeit. Dafuer haut er
auch fester zu.
Deswegen wuerde ich ja auch versuchen, die Anforderungen fuer einen weiteren
Level zu erhoehen, dass man auch als Bierschuettler was zu tun hat, dann
kriegen wir vielleicht wirklich noch nen neuen Spell durch die Gildenbalance
durch.

Humni, den das als Spieler aber auch immer geaergert hat.
PS: Ich halte die gilde in der derzeitigen Form trotzdem fuer zu schwach ;-)

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



Re^3: Mehr Spass fuer Schuettler ;) (Nonne, 20. Feb 2001, 09:07:22):
~#! rn=Humni rt=982592641 rg=gilden.bierschuettler
~#! tid=982259473
Was ich noch nie verstanden habe, ist die Begruendung der Kampfkraft durch den
Uebeaufwand. Solange man das skripten kann, ist es ja eigentlich kein Aufwand.
Zugegeben ist die Kaempfergilde nicht trivial zu skripten, da haben es
Zauberer und Tanjian wesentlich leichter. So, wie es bisher ist, sehe ich die
ganze Ueberei eher als Schikana, fuer Leute, die keine Skripte schreiben
koennen bzw keine Freunde haben, von denen sie Skripte bekommen koennen.

Nonne.

P.S: Zapspell fuer Schuettler! *g*

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



Re^4: Mehr Spass fuer Schuettler ;) (Jakscha, 20. Feb 2001, 14:31:46):
~#! rn=Nonne rt=982656442 rg=gilden.bierschuettler
~#! tid=982259473
sag mal nonne, hast du ne skript paranoia, alle leute sind boese, skripten nur
und haben keinen spass am mg? faellt mir nur so auf..

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



Re^5: Mehr Spass fuer Schuettler ;) (Nonne, 20. Feb 2001, 15:58:15):
~#! rn=Jakscha rt=982675906 rg=gilden.bierschuettler
~#! tid=982259473
Noe, habe ich nicht. Ich sehe nur immer, dass Uebeaufwand als Argument fuer
Kampfkraft gebraucht wird und ich sehe da keinen Zusammenhang. Sonst haette
ich bestimmt nicht geschrieben: '... sehe ich die ganze Ueberei eher als
Schikane ...'

Nonne.

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



Re^6: Mehr Spass fuer Schuettler ;) (Humni, 20. Feb 2001, 16:42:06):
~#! rn=Nonne rt=982681095 rg=gilden.bierschuettler
~#! tid=982259473
Sorry, fuer mich ist ueben ein hoellischer Aufwand. Nein, ich habe kein
Skript, was das erledigt. Es hat einen Grund dass mein Tanjianzweitie jetzt
erst Level 8 ist (dass er da haengt, liegt an einer gewissen Gildenquest, die
AUCH ein Problem ist. Ins Schemenreich skripten um da wen umzuhauen ist auch
was anderes als Gardewaechter plaetten).
Es geht sich um viel mehr Aufwand fuer einen Kaempfer oder Tanjian als fuer
einen Bierschuettler. Und der liegt nicht nur in Faehigkeiten, die man (evtl.)
wirklich skripten kann. Gildenquests und Ausbildung sowie APs kriegt man
dadurch nicht.

Gruss, Humni
PS: Im uebrigen bin ich der Meinung, dass die Gilde trotzdem aufgewertet
werden muss, aber das erwaehnte ich bereits.

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



Re^7: Mehr Spass fuer Schuettler ;) (Anatol, 20. Feb 2001, 16:52:58):
~#! rn=Humni rt=982683726 rg=gilden.bierschuettler
~#! tid=982259473
Wenn Du damit unterstellen moechtest, dass alle Tanjian, die schneller als
Du Level 9 oder mehr erreicht haben, sich unlauterer Mittel bzw. Scripts
bedient haben, bist Du entweder reichlich naiv oder reichlich unverschaemt.

Defacto sind Bierschuettler eine furchtbar einfach zu bedienende Gilde - 
eine Eigenschaft, die sie mit den Tanjian teilen. Wer einem Kaempfer die
Kampfkraft entlocken moechte, muss einen Skill hochueben, der nicht im
Savefile in Berlin, sondern im Kopf des Spielers verankert ist: Gefuehl
und Verstaendnis fuer die Gilde. Ich moechte mein Beispiel fuer "Mudlib-
General" und "richtiger General" nicht ueberstrapazieren, lies das bitte
im Archiv nach, Humni... ;)

Ich halte es fuer falsch, die Bierschuettler nur aufgrund der Ungueltig-
erklaerung des Uebeaufwand-Arguments aufwerten zu wollen. Entschuldigt,
aber was genau ist eigentlich der Grund des Rufs nach Aufwertung? Die
Gilde war als Spassgilde angedacht, diejenigen, die dort eingetreten sind,
werden, wenn sie die Ohren nicht nur als Kristallkronenstaender nutzen, 
davon gehoert haben, bevor sie den Fehler (scnr) machten.

Du willst was fuer die Gilde tun? Dann schenk' Bruno doch ein paar richtig
schoene Gildenraeume. So eine riesengrosse Spelunke. Oder eine echte
Schwarzbrauerei. Oder einen Schuettelfreizeitpark. Oder einfach ein paar
Bierschuettler, die das dann bevoelkern...

Anatol

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



Re^8: Mehr Spass fuer Schuettler ;) (Humni, 20. Feb 2001, 17:01:56):
~#! rn=Anatol rt=982684378 rg=gilden.bierschuettler
~#! tid=982259473
Sorry, falls der falsche Eindruck entstanden ist. Ich wollte gar nichts
unterstellen. Ich wollte nur sagen, dass mich das Ueben sehr viel Zeit kostet,
und andere Leute haben davon offenbar mehr.

CU Humni

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



Re^9: Mehr Spass fuer Schuettler ;) (Gloinson, 20. Feb 2001, 17:07:41):
~#! rn=Humni rt=982684916 rg=gilden.bierschuettler
~#! tid=982259473
Vielleicht haben sie nicht mehr Zeit sondern verknuepfen Spiel und Spass mit
dem Erfolg des von ihnen gespielten Charakters etwas besser. Also kein "Oh,
ich muss ueben!". However.

Gloinson, stimmt Anatols letztem Absatz zu

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



Re: Re: Mehr Spass fuer Schuettler ;) (Cakey, 22. Feb 2001, 20:29:57):
~#! rn=Anatol rt=982259666 rg=gilden.bierschuettler
~#! tid=982259473
Moin!

eins musst Du mir mal verraten, Anatol. Wie sieht Dein tf-Trigger aus, der
solche Artikel wie den mit den Wunsch-Werten fuer Angriff/Verteidigung postet?
Schaut der nach, ob "Bierschuettler" und "aufwerten" zusammen in einem Text
vorkommen? Steckt da gar KI hinter? Oder hast Du den Artikel von Hand
geschrieben und dabei nur nicht nachgedacht?!
Mal abgesehen davon, dass Deine schoenen Zahlen  einem Mudlib-Unkundigen
erstmal ueberhaupt nichts sagen duerften, Strohalm hatte nichts dergleichen
gefordert, er hat sich nur Gedanken darueber gemacht, wie man die Gilde
attraktiver machen koennte, ohne auch nur einen konkreten Wert fuer nen Spruch
zu nennen.
Wo steht eigentlich geschrieben, dass sich Bierschuettler keine Gedanken ueber
eine Erweiterung/Aufwertung ihrer Gildenfaehigkeiten machen duerfen? Immer,
wenn in der Richtung etwas geschieht, kommt (von den immer gleichen Leuten)
schwerstes Gegenfeuer. Mit dabei ist immer das achso ausgelatschte
"Spassgilden"-Argument.
Hmm, mal sehen, welche Sprueche sind denn alle rein auf den Spassfaktor
ausgerichtet - da haetten wir Blubber und Party. Na da haben wir ja den
Beweis, beinahe 10% der Sprueche, das muss ne Spassgilde sein!
Oder ist das mit der Spassgilde anders zu verstehen, kommt der Spass eher beim
Benutzen der anderen Sprueche? Sicher, ein Erdbeben sorgt immer wieder fuer
Lacher, wenn man das eigene Team schlimmer zurichtet als den Gegner. Und dass
der Hitzeschlag dann doch mal kbk macht fuer seine 15 KP, das duerfte jeden
Zauberer herzerfrischend lachen lassen.
Schuettler sind ja soooooo einfach zu handhaben. Sicher sind sie das, wenn ich
aus ganzen 2 gezielten Angriffspruechen waehlen kann (wovon ich den einen erst
extrem spaet bekomme und massig KP fuer verbraten muss), dann ist das
natuerlich einfach. Nicht einfach jedoch ist es, als Schuettler auch mal
staerkere Gegner zu besiegen. Das wird dann naemlich ziemlich
schwierig. Einfach mal so wie ein Zauberer die Hand anschmeissen und den
Gegner sich in Rauch aufloesen zu sehen ist da nicht drin.
Und wenn wir Schuettler so einfach zu handhaben sind, warum werden dann
Vorschlaege, die den Gildenmitgliedern zusaetzliche Wahlmoeglichkeiten im
tagtaeglichen Ueberlebenskampf und damit erhoehte Anforderungen bieten sollen
so aufs Heftigste bekaempft? Ich versteh es nicht.
So langsam habe ich den Eindruck, man sollte die Bierschuettler vergessen und
eine neue Gilde machen. Beim Namen Bierschuettler jedenfalls verschliessen
sich ne Menge Leute sofort vernuenftiger Argumentation.

Cakey,
der viel mehr Gildenflair erzeugende Gebiete, Quests und was auch immer haben
will, zusammen mit neuen Spruechen, die die Bierschuettler im Kampf
aufwerten.

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



Re^3: Mehr Spass fuer Schuettler ;) (Agony, 22. Feb 2001, 20:37:48):
~#! rn=Cakey rt=982870197 rg=gilden.bierschuettler
~#! tid=982259473
dem artikel kann ich mich nur anschliessen: hab auch lange ueberlegt selbst
was dazu zu schreiben, aber wenn es von einem bierschuettler kommt, umso
besser. nur weil es in den augen mancher unheimlich in/cool/supertoll ist,
moeglichst viel spielspass vorzuheucheln, indem man moeglichst wenige
toplisten und moeglichst schwache gilden im mud hat, muss man damit
anderen nicht kontinuierlich auf den keks gehen.

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



Re^3: Mehr Spass fuer Schuettler ;) (Anatol, 22. Feb 2001, 20:55:45):
~#! rn=Cakey rt=982870197 rg=gilden.bierschuettler
~#! tid=982259473
Nur weil ich "kuenstliche Intelligenz" im Studienfach stehen habe,
heisst das nicht, lieber Cakey, dass ich gezwungen werde, meine eigene
natuerliche Intelligenz nicht zu gebrauchen. Andere Leute scheinen -
auch ohne vorhandene KI - zu diesem Verzicht bereit zu sein.

Natuerlich duerfen sich Bierschuettler Gedanken machen, wie sie ihre
Gilde kampftechnisch aufwerten duerfen. Das duerfen die Kaempfer ja
auch. Und die Zauberer. Und die Karateka. Und die Kleriker. Das darf,
Du ahnst es, schliesslich _jede_ Gilde. Aber Dir wird auch klar sein,
dass laengst nicht jede Gilde erwarten darf, dass ihre Gedanken auch
tatsaechlich von den Programmierenden in Erwaegung oder gar umgesetzt
werden.

Kontinuierliche Weiterentwicklung - also das schrittweise Ausmerzen
der Schwachstellen und das Erlangen weiterer 'Staerke' [1] - scheint
das natuerliche Streben jeder Gilde resp. deren Mitglieder zu sein;
ich halte da nicht an den Bierschuettlern fest, sondern wende das auf
so ziemlich alle Gilden an. Auch auf die Zauberer, die wirklich genug
Kampfkraft haben... sie aber durch die hoffentlich anstehende grosse
Umstrukturierung dann auch in den Bereichen eines Zauberers verlagern
und nicht in denen der klassischen Nahkaempfer belassen.

Diesem natuerlich Bestreben gilt es meines Erachtens moeglichst frueh
Einhalt zu gebieten. Freilich, es ist schoen, wenn eine Gilde nicht
statisch bleibt, so dass Mitglieder "oefter mal was Neues" haben.
Aber dem Mud an sich KANN es nicht recht sein, wenn staendig irgendwo
aufgestockt wird, immer schneller/hoeher/weiter geschraubt wird. Das
ist mit Objekten so, das ist mit NPCs so, das ist mit Heilstellen so.
Und ist bei Gilden nicht anders.

''Blah, kann Nachtwind nicht fuer sich selbst reden?'' liegt Dir auf
der Zunge? Falls ja - bitte, warum forderst Du dann oeffentlich, dass
die Gilde aufgewertet werden muss? Genau, Du hast nur Deine Meinung
geaeussert. Gestehe mir bitte zu, dass ich dies auch tue. Ach ja, und
wenn Du nicht in der Lage bist, mit sprachlichen Mitteln aus der Kiste
"Ironie/Zynismus/Sarkasmus" umzugehen, dann lern' es bitte.

Ich fuer meinen Teil schaue mit einem neidenden Auge zum Struv. Nicht
weil die mehr Schadenspotential als Zauberer haben koennten (was nicht
wirklich trivial waere). Sondern weil dort durch die Art der Gilde ein
spuerbares Flair vorhanden ist. Etwas, das den meisten anderen Gilden
mehr oder weniger fehlt. Und genau DA kann etwas fuer fast jede Gilde
getan werden -- und das, ohne dass man das restliche Mud auf der Suche
nach Interferenz umkrempeln muss.

Anatol

[1] Ich muss 'Staerke' nicht definieren, oder?


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



Re^4: Mehr Spass fuer Schuettler ;) (Wurzel, 22. Feb 2001, 21:03:28):
~#! rn=Anatol rt=982871745 rg=gilden.bierschuettler
~#! tid=982259473
> Ich muss 'Staerke' nicht definieren, oder?
doch. in den vielen diskussionen, die hier ueber die gilden ablaufen,
reden so viele leute so oft aneinander vorbei, dass es hilfreich waere
sich mal auf die grundformen der gespraechsfuehrung zu besinnen. und
das bedeutet unter anderem, dass man verwendete begriffe definiert.
jedenfalls dann, wenn man ernsthaft an einem sinnvollen ergebnis
interessiert ist. ob du das bist, musst du dir selbst beantworten.

wurzel

p.s. gibt es ueberhaupt noch bierschuettler, seit mahatma nicht mehr
unter uns weilt? jedenfalls wohl kaum unter den "supersehern", um den
begriff mal wieder aus der mottenkiste zu holen :)

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



Re^5: Mehr Spass fuer Schuettler ;) (Anatol, 22. Feb 2001, 21:33:33):
~#! rn=Wurzel rt=982872208 rg=gilden.bierschuettler
~#! tid=982259473
Die Staerke einer Gilde "definiert" sich fuer mich durch vielerlei. Es
ist ein Gemisch aus den direkten Kampffaehigkeiten - wie z.B. die
Angriffszauber (Hitzeschlag, Verletze, Chaosball...), die Defensiven
(Schutz, Schildparade, Haarwuchs...), die Kombinationsfaehigkeiten, die
teilweise schon ein Mindestmass an Intelligenz und Gefuehl verlangen 
(Finte, Beruhige, Schmerzen...), die Faehigkeiten im Kampf, die auch
fuer Gruppenkaempfe geeignet sind (Schuettelstarre, Rueckendeckung, 
Schmerzen, Goettermacht) und dergleichen.

Wichtig fuer die "Staerke" einer Gilde sind fuer mich auch die Faehigkeiten,
die sie zur Hilfe anderer Personen anwenden koennen, klassische Beispiele
wie Schutzhand, Schutzhuelle, Segen et cetera.... gehoert eigentlich fast
noch zu den Kampffaehigkeiten, macht aber einen Kaempfer fuer das Team 
interessanter - wenn er eben Faehigkeiten einbringt, die nicht jeder
hat. ''Oekologische Nische' ist das diesbezuegliche Schlagwort. Je 
ausgepraegter die Nische, desto groesser die Schwaechen der Gilde, aber
moeglicherweise desto beliebter ist ein solches Mitglied bei heterogenen
Teams.

Sehr viel Gewicht faellt meiner Meinung nach auch auf die Moeglichkeiten
zur Wissenserlangung. Wissen ueber NPCs beispielsweise ist nichts, was
nach einem Reboot weg ist, sondern relativ dauerhaft (bis ein Magier eben
was daran aendert). Die Faehigkeiten eines Kruftur, die des Inquisitors,
des Identifizieres, des Schaetz usw., die fliessen dort ein. Fuer das
Gleichgewicht des Muds waere z.B. ein Spruch, der dem Ziel fuer zwei
Minuten zeigt, mit welchen Schadensarten es konfrontiert wird, in meinen
Augen VIEL VIEL VIEL gefaehrlicher als ein Angriffsspell fuer 10 MPs, der
in der Haelfte aller Faelle zerstaeubt, in der anderen Haelfte atomisiert
und alle 10 Sekunden sprechbar ist. Um es ueberspitzt auszudruecken.

Man kann nicht immer alles sauber trennen. Tenor dieser zugegebenermassen
nicht gerade sehr klaren Aussage soll sein: Die Gildenstaerke ist nicht
allein in den Zahlen, die am Ende eines Angriffsspruchs stehen, verankert.

So sehe ich das zumindest - ohne Anspruch auf Vollstaendigkeit.
Anatol


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



Re^4: Mehr Spass fuer Schuettler ;) (Cakey, 22. Feb 2001, 22:33:26):
~#! rn=Anatol rt=982871745 rg=gilden.bierschuettler
~#! tid=982259473
Moin nochmal,

ich bin ja angenehm ueberrascht von Deinem Artikel, Anatol. Sachliche
Argumentation von Dir, das hat man nicht alle Tage. Mit Deiner Aussage:
"Aber Dir wird auch klar sein, dass laengst nicht jede Gilde erwarten darf,
dass ihre Gedanken auch von den Programmierenden in Erwaegung oder gar
umgesetzt werden." hast Du Recht. Ich erwarte ueberhaupt nicht, dass
alle Vorschlaege umgesetzt werden.
Was ich allerdings erwarte ist, das Vorschlaege ueberhaupt erstmal als solche
angenommen und diskutiert werden, bevor sie den Stempel
"Aufwertung - Verboten" verpasst bekommen. Und genau das war in den letzten
Jahren nicht der Fall. Da wurden geplante Aenderungen von vornherein
abgelehnt. Das ist es, was mich anstinkt.
Andere Gilden wurden erweitert und staerker gemacht, ohne dass sich
grosses Wehgeklage erhob. Ich fuehre hier mal die Kleriker als
Beispiel an, die einiges an Kraft gewonnen haben. Leider nichts an
Gildenflair, was sehr schade ist.
Ich fordere nicht, unendliches Wachstum der Gilden in ihrer Kampfkraft
zuzulassen, ich hab nur absolut keinen Bock mehr darauf, dass
ausgerechnet immer bei den Bierschuettlern in dieser Hinsicht absolut
konsequent vorgegangen wird und jeder potentielle Schadenspunkt mehr
verhindert wird.

Cakey

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



Re^4: Mehr Spass fuer Schuettler ;) (Solmyr, 23. Feb 2001, 05:03:41):
~#! rn=Anatol rt=982871745 rg=gilden.bierschuettler
~#! tid=982259473
Mal ein kleines Beispiel in der Nacht fuer tolles Gildenfeeling und 'ner
Kampfkraft, die sich sehen lassen kann:

 [Trves:Solmyr] Ha! Ranghoechster Oberfeldkaempfer :) <04:50:37>
 [Trves:Solmyr grinst breit breit. <04:50:39>]
 [Trves:Elberet] Stillgestanden, Solmyr <04:52:47>
 [Trves:Solmyr lehnt laessig an der Wand. <04:53:01>]
 [Trves:Elberet erteilt Solmyr einen Verweis <04:53:15>]
 [Trves:Solmyr] Das zum Thema Gildenfeeling in gilden.bierschuettler :) *G*
 [Trves:Solmyr] Jemand gelesen? <04:53:23>
 [Trves:Elberet] jep <04:53:27>
 [Trves:Solmyr] Tja, wir sind halt die Besten :) <04:53:41>
 [Trves:Elberet] nehmen Sie endlich Haltung an, Soldat ! <04:53:45>
 [Trves:Solmyr] Oh, na klar. <04:53:51>
 [Trves:Solmyr bereitet sich vor. <04:53:55>]
 [Trves:Solmyr macht 10 Kniebeugen <04:54:03>]
 [Trves:Elberet] das kann schneller gehen <04:54:07>
 [Trves:Solmyr haengt noch 10 Liegestuetze hinten dran. <04:54:17>]
 [Trves:Solmyr springt noch kurz 10 sec Seil. <04:54:27>]
 [Trves:Solmyr ist jetzt erstmal ausser Puste. <04:54:33>]
 [Trves:Solmyr rappelt sich auf. <04:54:39>]
 [Trves:Solmyr steht still. <04:54:43>]
 [Trves:Solmyr gruesst seine Vorgesetzten. <04:54:47>]
 [Trves:Elberet] ruehren, weitermachen, Soldat, das naechste mal ein bischen
 [Trves:Elberet] ploezlicher <04:55:07>
 [Trves:Solmyr erschlafft. <04:55:13>]
 [Trves:Solmyr] Aeh... <04:55:13>
 [Trves:Solmyr ruehrt sich. <04:55:17>]

Solmyr, noch Fragen offen?

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



Re^5: Mehr Spass fuer Schuettler ;) (Humni, 23. Feb 2001, 10:47:34):
~#! rn=Wurzel rt=982872208 rg=gilden.bierschuettler
~#! tid=982259473
finger cakey' beantwortet wohl die Frage danach
ob es noch Bierschuettler gibt. Ueber den Begriff
Superseher' will ich dabei nicht diskutieren.

Aber ich will mal den Begriff des Mudlib-Bierschuettelmeisters und den eines
wirklichen Bierschuettelmeisters definieren, da gehoert Cakey IMHO naemlich
wirklich hin. Ich denke, um einen Bierschuettler wirklich voll auszunutzen
muss man genausoviel Erfahrung haben wie ein
Nicht-Mudlib-sondern-echter-General.

Eine Metzelaktion mit Cakey hat mich auf jeden Fall zu der Ueberzeugung
gebracht, dass ich zumindest kampftechnisch zu bloed fuer diese Gilde bin und
lieber Magier werde....

Humni, kriegt Rabatt und schmeisst nur ein Goldstueck.
PS: Das heisst nicht, dass die Kampfkraft auch nur annaehernd an die eines
Max-Kaempfers etc. heranreichen wuerde.

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



Re^6: Mehr Spass fuer Schuettler ;) (Bambi, 23. Feb 2001, 10:54:13):
~#! rn=Humni rt=982921654 rg=gilden.bierschuettler
~#! tid=982259473
Bezueglich der Vorschlaege, die man fuer eine Gilde einbringt sollte man sich
mal mit einigen aktiven Gildenmagier unterhalten und kann dann leicht
feststellen, dass viele Ideen schon einmal vor ein paar Jahren aufgekommen und
meist wieder verworfen worden sind. 
Im konkreten Fall der Bierschuettler kann ich nichts dazu sagen, inwiefern
welche Gildenerweiterungsvorschlaege gekommen sind und will auch nicht sagen,
dass es bei den Bierschuettlern so ist, wie in anderen Gilden, was die
Handhabung mit Ideen betrifft. 
Vielleicht sollte man mal herausfinden, ob solche Vorschlaege schon einmal
gebracht wurden, ob sie dem Gildenmagier (per mail, nicht per mpa) zugetragen
worden sind und wie die Reaktion darauf war. 
Vorschlaege fuer Gilden... 
...muessen nicht unbedingt neue Spells sein. Eine Gilde kann auch dadurch in
ihrer Kampfkraft (speziell) oder Staerke (allgemein) aufgewertet werden, indem
bestehende Spells, Skills oder sonstwas an die neueren Auspraegungen des MG
angepasst werden. 
Oft sind es nur Kleinigkeiten, die einem Spieler gar nicht auffallen oder in
einer Manpage auftauchen.
Bei speziellen Arten von Verbesserungsvorschlaegen ist es fuer einen Spieler,
der nicht selbst (in einem Mud) programmiert, fast unmoeglich, selbige zu
machen, da er eben nicht ueber die programmiertechnischen Hintergruende
Bescheid weiss. 
Ich will aber natuerlich keinem der Spieler irgendeine Kompetenz absprechen,
konstruktive Kritik oder gute Vorschlaege zu bringen.
MfG, Bambi. (He, wer hat mir den Senf geklaut???);

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



Re^4: Mehr Spass fuer Schuettler ;) (Apsu,  3. Mar 2001, 17:55:39):
~#! rn=Strohalm rt=982295633 rg=gilden.bierschuettler
~#! tid=982259473
Apropos, schaut Euch mal die Zechpreller im Silberland an. So oede sind die
Bierschuettler nun auch nicht. Die Zechis sind wirklich eine 'reine'
Spassgilde, mit zwar einigermassen Kampffaehigkeit, die aber durch die
Notwendigkeit, nicht nur MAX LP/KP zu haben, sondern 'blau wie 1000 Russen'
sein zu muessen - und somit staendig uebertankt zu sein - erheblichst
beeintraechtigt. Was Du hier draus machen willst, geht wohl in Richtung Zechi.
Nein danke.

Apsu, Ex-Zechi@SL

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



Abwertung (Humni,  1. Jun 2001, 12:07:37):
Hi,

die Gilde wurde soeben noch ein wenig weiter abgewertet. Man darf sich nun
auch noch eine voellig sinnlose Sequenz anschauen, wenn man einen neuen Spell
lernt.

Tja, aber ihr seid ja alle hart im nehmen... auch das werdet Ihr ueberleben.

Humni
PS: Fuer die Masochisten unter Euch, die schon alle oder viele Spells haben,
empfehle ich ,sequenz <spellname>' in der Gilde.
PPS: Danke an Bielefeld fuer den schnellen Einbau.

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



Re: Re: Abwertung (Croft,  1. Jun 2001, 16:25:01):
~#! rn=Croft rt=991405477 rg=gilden.bierschuettler
~#! tid=991390057
Lob!  Sind schoen geworden...  Und wann wird die Quest fuer die Plakette
angeschlossen? :o)
Gruss Croft

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



Re: Abwertung (Leibniz,  4. Jun 2001, 16:01:26):
~#! rn=Humni rt=991390057 rg=gilden.bierschuettler
~#! tid=991390057
hach das ist ja toll
jetzt brauchen wir nur noch die quest und vielleicht ein paar neue sprueche :)

dann komm ich vielleicht doch wieder oefter

leibniz

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



To blubber or not to blubber... (Nanshe,  3. Nov 2001, 20:14:34):
Ja hallo erstmal, ich weiss nicht ob sies schon wussten aber nach der
Diskussion in der Zaubererrubrik stelle ich mir jetzt grade die Frage ob, wann
und wie ich meinen Blubberspruch benutzen darf? Ist ja nur ein Spass oder?
Also kann ich doch genauso einfach mal rumblubbern wie Zauberer zwingen und
Chaoten Ombatise schicken duerfen? Oder ist das gar letztenendes gar kein
Spass sonder eine Beeintraechtigung des Spiels? Ich weiss es nicht ich weiss
nur das man NPC's _nicht_ blubber kann.

Die nachdenkliche Nanshe.

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



Re: To blubber or not to blubber... (Deepblue,  3. Nov 2001, 21:27:19):
~#! rn=Nanshe rt=1004814874 rg=gilden.bierschuettler
~#! tid=1004814874
Na klar kannst Du rumblubbern - zumindest Zauberer.

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



Re: Re: To blubber or not to blubber... (Elberet,  3. Nov 2001, 21:28:31):
~#! rn=Deepblue rt=1004819239 rg=gilden.bierschuettler
~#! tid=1004814874
ich bluibber ja auch fast nur besonders uebers fband :-)

Elbi (blubbernd)

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



Re: To blubber or not to blubber... (Daria,  4. Nov 2001, 10:25:17):
~#! rn=Nanshe rt=1004814874 rg=gilden.bierschuettler
~#! tid=1004814874
Das blubber kann schon mal spielstoerend sein... wenn du in ner Quest etwas
mit "sage" ausloesen musst. Das gemeine an Blubber ist ja, dass man selbst den
Sprachfehler nicht bemerkt...
ALso besser keine Newbies blubbern, die kennen die entsprechenden Callouts
nicht ;-)
Daria uebt lieber schuettelstarre.

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



Re: Re: To blubber or not to blubber... (Anatol,  4. Nov 2001, 15:52:02):
~#! rn=Daria rt=1004865917 rg=gilden.bierschuettler
~#! tid=1004814874
"bbbruecke"... ;)

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



Schuettelbier (Bambi, 15. Nov 2001, 12:32:21):
Als Bierschuettler kann man doch Schuettelbier "rkaufen" (sozusagen). Wird das
denn genutzt und in welchen Situationen?

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



Re: Schuettelbier (Humni, 15. Nov 2001, 12:35:58):
~#! rn=Bambi rt=1005823941 rg=gilden.bierschuettler
~#! tid=1005823941
a) Als Gag.
b) Als Tanke - das heilt etwas.

Ich denke, das war nun keine Spielerhilfe.... ;-)

Humni

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



Re: Re: Schuettelbier (Torwall, 11. Dez 2001, 20:08:14):
~#! rn=Humni rt=1005824158 rg=gilden.bierschuettler
~#! tid=1005823941
Schuettelbier wird als Tanke "r"gekauft? 
Da hat sich wohl einiges geaendert im MG seit damals...
i.V. Torwall.

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



shaky-rasse? (Whitetiger, 28. Jan 2002, 20:42:54):
wie waers mit ner extra rasse fuer die bierschuettler? nur ne idee, diskutiert
mal schoen drueber... achso wie fuer katzenkrieger felinen nur halt andersrum
:)
WT.
(ok, etwas verwirrend der text...)

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



Re: shaky-rasse? (Humni, 28. Jan 2002, 20:47:49):
~#! rn=Whitetiger rt=1012246974 rg=gilden.bierschuettler
~#! tid=1012246974
Dafuer.

Humni
  ;-)

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



Re: Re: shaky-rasse? (Tiamak, 28. Jan 2002, 20:49:04):
~#! rn=Humni rt=1012247269 rg=gilden.bierschuettler
~#! tid=1012246974
Die Rasse ist ungefaehr so alt wie die Insel und liegt seitdem fertig in
Shakedbeers Schublade herum. Weitere Fragen dazu am besten direkt an ihn. ;-)


Tiamak

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



Re: shaky-rasse? (Freibier, 28. Jan 2002, 23:31:51):
~#! rn=Whitetiger rt=1012246974 rg=gilden.bierschuettler
~#! tid=1012246974
Ob das lohnt? Da waere der Ruelpse-Spruch schon wichtiger

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



Re: Re: shaky-rasse? (Ark, 29. Jan 2002, 11:05:02):
~#! rn=Humni rt=1012247269 rg=gilden.bierschuettler
~#! tid=1012246974
Bierkrieger? Schaumschlaeger? Weizenvernichter? Umtrinker? Zechpreller?


              *** ARK * the * Magnificent ***


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



Re^3: shaky-rasse? (Humni, 29. Jan 2002, 11:18:25):
~#! rn=Ark rt=1012298702 rg=gilden.bierschuettler
~#! tid=1012246974
He, die Zechpreller gibts schon, in dem Mud, in dem ich immer rumrenne, wenn
die Leitung nach Berlin tot ist. Silberland heisst das glaub ich. ;-)

Humni

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



Re: shaky-rasse? (Shakedbeer, 29. Jan 2002, 17:04:23):
~#! rn=Whitetiger rt=1012246974 rg=gilden.bierschuettler
~#! tid=1012246974
Die Rasse war vor Jahren schon mal testfertig. Heute muesste man die nochmal
komplett ueberarbeiten. Wenn dafuer Interesse besteht, veranschlage ich dafuer
das ein oder andere Wochenende im Fruehling/Sommer.

Shakedbeer.

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



Re: Re: shaky-rasse? (Eldaron, 29. Jan 2002, 17:14:23):
~#! rn=Shakedbeer rt=1012320263 rg=gilden.bierschuettler
~#! tid=1012246974
:hat Interesse. ;o)

Eldaron

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



Re: Re: shaky-rasse? (Tilly, 29. Jan 2002, 23:14:06):
~#! rn=Shakedbeer rt=1012320263 rg=gilden.bierschuettler
~#! tid=1012246974
Hehe Shaky*, is damit der Schiffsbau aufs naechste Jahr verlegt? :)

 - Tilly - 

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



Re^3: shaky-rasse? (Shakedbeer, 30. Jan 2002, 09:52:05):
~#! rn=Tilly rt=1012342446 rg=gilden.bierschuettler
~#! tid=1012246974
Nein, der hat Prioritaet. ;)

Shaky - sagt: Leinen los!

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



Re: Re: Liste von gesperrten Kneipen (Gloinson, 23. Apr 2002, 23:47:35):
~#! rn=Orktoeter rt=1019598422 rg=gilden.bierschuettler
~#! tid=1019598294
Hm. Ich seh das was ihr hier betreibt als eine GildenKL. Ziemlich abtraeglich.

Gloin(son)

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



Re^3: Liste von gesperrten Kneipen (Orktoeter, 23. Apr 2002, 23:51:09):
~#! rn=Gloinson rt=1019598455 rg=gilden.bierschuettler
~#! tid=1019598294
GildenKL?
Es gitb deutlich mehr Kneipen als es Faesser auszuliefern gilt. 
Die Faesser auszuliefern ist auch nicht etwa in erster Linie als Aufgabe
gedacht um damit den Stufenaufstieg zu erreichen, sondern ist in erster Linie
eine Belohnung durch die man sich die entsprechende Kneipe verbilligt und vor
allem dank eile schnell zugaenglich macht.

Ich sehe daher nicht, wieso es eine KL sein soll, wenn man eine Liste der
Kneipen veroeffentlicht, die nicht zu beliefern sind.

OrkT.

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



Re^4: Liste von gesperrten Kneipen (Gloinson, 23. Apr 2002, 23:54:16):
~#! rn=Orktoeter rt=1019598669 rg=gilden.bierschuettler
~#! tid=1019598294
Also es ist eine Belohnung und kein Kriterium? Forscherpunkte sind in erster
Linie auch eine Belohnung, Zaubertraenke auch ... aus anderer Sicht dienen
erstere dem Aufstieg. Von beidem existieren sicherlich Listen -
nichtsdestotrotz muessen die hier nicht in der Zeitung stehen.

Gloin(son) macht einen Haken am /get_seer | /get_top_bierschuettler - Skript

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



Re^5: Liste von gesperrten Kneipen (Orktoeter, 23. Apr 2002, 23:56:18):
~#! rn=Gloinson rt=1019598856 rg=gilden.bierschuettler
~#! tid=1019598294
Spielspass zu haben ist sicherlich auch in erster Linie eine Belohnung fuer
die Spieler, sollte es dann nicht auch verboten sein anderen dabei zu helfen
Spass am Spiel zu haben?


OrkT.

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



Re^6: Liste von gesperrten Kneipen (Gloinson, 23. Apr 2002, 23:57:18):
~#! rn=Orktoeter rt=1019598978 rg=gilden.bierschuettler
~#! tid=1019598294
Mach das doch. Ueber die Kanaele, wie bei Zaubertraenken.

Gloin(son) reicht Orktroete ein /ich_spiel_allein_und_einsam - Skript.

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



Re^7: Liste von gesperrten Kneipen (Catweazle, 24. Apr 2002, 08:52:34):
~#! rn=Gloinson rt=1019599038 rg=gilden.bierschuettler
~#! tid=1019598294
Es _ist_ eine KL. Zumindest teilweise bzw. der Ansatz dazu eine zu machen.
Darum gehoerts hier auch nicht hin. 

Es steht Dir natuerlich frei eine solche Liste zu erzeugen und dann ueber
Kanaele oder mail zu verbreiten. Dir ist dabei dann natuerlich auch klar, dass
das in hoechstem Mass verboten ist.
Aber ich bin sicher ihr kennt alle 'hilfe regeln' und da den Absatz ueber
Komplettloesungen. 

Ich bin sicher, das euch zu weiteren Feinheiten Sheriff Muadib zur Verfuegung
stehen wird :-)

Yours truly,
     Catweazle

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



Re^6: Liste von gesperrten Kneipen (Bambi, 24. Apr 2002, 09:36:55):
~#! rn=Orktoeter rt=1019598978 rg=gilden.bierschuettler
~#! tid=1019598294
Es ist auch Spass, nette Gegenden zu proggen oder Quests. (Man staune.)
Und es ist Spass und Freude (oder wie auch immer), wenn man mal ne
Rueckmeldung bekommt, ala. "Der Witz oder jenes Feature war toll."
Ne KL wuerd das - auch wenn es anderen hilft, aufzusteigen und damit,
spielspass zu haben- ... wie auch immer.

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



Re^5: Liste von gesperrten Kneipen (Gor, 24. Apr 2002, 11:14:42):
~#! rn=Gloinson rt=1019598856 rg=gilden.bierschuettler
~#! tid=1019598294
Hmm Gloinson ich weiss jan icht, aber NICHT_FP-Listen und NICHT-ZT-Listen hab
ich ehrlich gesagt noch keine gesehen. ;)

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



Re^6: Liste von gesperrten Kneipen (Gloinson, 24. Apr 2002, 11:15:44):
~#! rn=Gor rt=1019639682 rg=gilden.bierschuettler
~#! tid=1019598294
Nee? Negier einfach mal so eine FP-Liste - alle anderen Details sind
Nicht-FPs. Elementare Aussagenlogik :)

Gloin(son)

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



Re^7: Liste von gesperrten Kneipen (Anacrion, 24. Apr 2002, 11:23:20):
~#! rn=Gloinson rt=1019639744 rg=gilden.bierschuettler
~#! tid=1019598294
Die Nicht-Nicht-FP-Liste?

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



Re^8: Liste von gesperrten Kneipen (Humni, 24. Apr 2002, 12:47:18):
~#! rn=Anacrion rt=1019640200 rg=gilden.bierschuettler
~#! tid=1019598294
Ich denke aber, dass man mit einer NIcht-FP-Liste ohne Codewissen tatsaechlich
nicht viel anfangen kann....des weiteren wuerde ich das persoenlich fuer nicht
sonderlich tragisch halten, wenn ich vor einer weiten Reise erfahren kann ,die
und die Kneipe brauch ich gar nicht erst zu beliefern, weil verboten'. Ich
wuerde aber da eine Loesung fuer alle vorziehen, z.B. eine Liste in der Gilde.
Aber solange das nicht eingebaut ist ists dann wohl doch Spielerhilfe... oder
was weiss ich...

Man sollte schliesslich bedenken, dass gerade kleine Spieler, fuer die das
Feature am interessantesten ist, nicht unbedingt MPA lesen... und gerade fuer
die ist es am problematischsten, die entsprechenden Orte aufzusuchen.

Humni

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



Re^9: Liste von gesperrten Kneipen (Gloinson, 24. Apr 2002, 13:18:08):
~#! rn=Humni rt=1019645238 rg=gilden.bierschuettler
~#! tid=1019598294
Was wollen wir denn noch alles optimieren? Hm - da musst Du nicht hinfahren,
weil es da nicht lohnt (und ausserdem soooo langweilig ist). Da musst Du nicht
hinfahren, weil es wenig FP gibt. Da brauchst Du nicht hinfahren, weil es
unterdurchschnittlich viele Stupse gibt.
An sich finde ich Spielerhilfe in Rahmen Ratschlag ja voellig in Ordnung, aber
muss das in Listenform gepresst werden? Was ist mit der guten alten Frage auf
dem Kanal? Muss alles auf /become_topplayer hinauslaufen?

Gloin(son)

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



Re^10: Liste von gesperrten Kneipen (Muadib, 24. Apr 2002, 13:39:53):
~#! rn=Gloinson rt=1019647088 rg=gilden.bierschuettler
~#! tid=1019598294
Ich betrachte das Beliefern der Kneipen als eine Art Miniquest fuer die Gilde
die durch eine Liste der nichtbelieferbaren Kneipen recht absurd wird, da man
das ja schon selbst herausfinden sollte. Fuer mich ist eine solche Liste also
keine einfache Hilfestellung sondern eine KL.

Muadib

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



Re^11: Liste von gesperrten Kneipen (Croft, 24. Apr 2002, 13:44:28):
~#! rn=Muadib rt=1019648393 rg=gilden.bierschuettler
~#! tid=1019598294
Aeh.  Du kennst das Verhaeltnis zwischen der Anzahl der Kneipen die man
aktiv beliefern kann und der Anzahl der Kneipen die belieferbar sind?
Gruss Croft

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



Re^11: Liste von gesperrten Kneipen (Orktoeter, 24. Apr 2002, 13:44:32):
~#! rn=Muadib rt=1019648393 rg=gilden.bierschuettler
~#! tid=1019598294
Wie viele Gildenlevel hat die Gilde (sprich: wie viele Faesser gilt es
auszuliefern?)
und wie viele Kneipen gibt es im MG? (bitte nicht antworten ist ja eine Frage
in einer Quest und das waere dann ja schon ein schwerverbrechen diese Frage
hier zu beantworten)

Aber auch ohne ein Konkrete Zahl zu nennen gibt es ein vielfaches mehr an
Kneipen als Faesser geliefert werden muessen. Das Fass einfach los zu werden
ist ueberhaupt nicht das Problem. 

Interessant ist nur, "gute" Kneipen zu finden, also solche wo man oft tankt
(weil billig) oder solche in Gegenden wo man gerne schnell und einfach (eile)
hinkommen moechte. 
Und ich seh da ueberhaupt keinen Grund, warum man da nicht eine negativliste
bekannt geben sollte.

OrkT.

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



Re^12: Liste von gesperrten Kneipen (Cuchullin, 25. Apr 2002, 17:11:28):
~#! rn=Orktoeter rt=1019648672 rg=gilden.bierschuettler
~#! tid=1019598294
Weil es einfach ein richtiges "grrrrr"-Gefuehl ist, wenn man die Kneipe
gefunden hat und mit der Schuerze herumpatscht - und es geht nicht. :)

Abgesehen davon gibt es bestimmt Kneipen, die so versteckt sind, dass
sie nicht jeder kennt. Und das "WIE, in ... hat es eine Kneipe!?"-Feeling
erinnert stark an eine unzulaessige (weil vom Magier ungewollte) 
Hilfestellung.

Cuch

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



Re^13: Liste von gesperrten Kneipen (Isi, 25. Apr 2002, 17:13:55):
~#! rn=Cuchullin rt=1019747488 rg=gilden.bierschuettler
~#! tid=1019598294
wie waers denn wenn ein bierschuettler auch ohne Faesschen testen
koennte ob eine Kneipe zu beliefern geht?
Dann kann er sich den Zweiten Weg sparen...
isi (moussewerfend)

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



Re^14: Liste von gesperrten Kneipen (Deepblue, 25. Apr 2002, 17:17:25):
~#! rn=Isi rt=1019747635 rg=gilden.bierschuettler
~#! tid=1019598294
Wieso diskutieren hier ausser Humni und Croft eigentlich nur Nichtschuettler?
Oder gehts wieder mal nur um das Re^xxx?

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



Re^14: Liste von gesperrten Kneipen (Croft, 25. Apr 2002, 17:19:59):
~#! rn=Isi rt=1019747635 rg=gilden.bierschuettler
~#! tid=1019598294
Mit gl19 braucht man keine Faesschen mehr ;-)

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



Re^13: Liste von gesperrten Kneipen (Vardion, 25. Apr 2002, 17:23:11):
~#! rn=Cuchullin rt=1019747488 rg=gilden.bierschuettler
~#! tid=1019598294
Wen Interessiert denn, ob es in ... eine Kneipe hat? Sind nicht Laeden viel
interessanter? ;-)

Vardion

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



Re^15: Liste von gesperrten Kneipen (Cuchullin, 25. Apr 2002, 17:25:25):
~#! rn=Deepblue rt=1019747845 rg=gilden.bierschuettler
~#! tid=1019598294
Weisst Du, Deppblue, manchmal stellst Du Dich doofer als Du bist.
Das ist nicht einfach, ich weiss, Respekt... aber unpassend. :)

Cuch

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



Re^15: Liste von gesperrten Kneipen (Gor, 25. Apr 2002, 23:19:30):
~#! rn=Deepblue rt=1019747845 rg=gilden.bierschuettler
~#! tid=1019598294
Weil du offensichtlich nicht lange genug dabei bist, um zu wissen, wer mal
alles Schguettler war und wer nicht.

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



Re^16: Liste von gesperrten Kneipen (Guard, 29. Apr 2002, 11:27:47):
~#! rn=Gor rt=1019769570 rg=gilden.bierschuettler
~#! tid=1019598294
so ich auch mal meinen senf dazuschreib ...

aus eigener Erfahrung kann ich sagen, die Suche nach guten Kneipen (Preis oder
Oertlichkeit) ist dabei am interessantesten. Da man als kleiner Spieler ganz
andere Kriterien fuer ne gute Kneipe hat (z.B. ein e in Fernwest, da man noch
kein Portal hat) sollte man nicht schon von vornherein ne liste haben, ala "Da
musste es nicht probieren, programmtechnisch nicht erlaubt" ..
waere auch kein tolles RPG-Feeling. Man soll schon selber seine Kneipen
zusammensuchen und auch mal probieren, was alles geht, dadurch lernt man das
mg schliersslich auch bloss besser kennen.
das einzig aergerliche war damals bloss die meldung, "Diese Kneipe hat
Shakedbeer noch nicht beruecksichtigt, warte noch n bissel oder such dir ne
andere Kneipe" das sollte man verhindern. Und das es Kneipen gibt, die nich
beliefert werden koennen ist doch in ordnung! der proggende Magier hatte seine
Gruende .. warum gibt es keine property, die ausgelesen wird, wenn man
versucht ne verbotene kneipe zu beliefern? waere doch viel geiler, wenn da
steht: "In dieser Kneipe wird das Bier selbst gebraut, hier ist keine
Lieferung noetig" oder "Der Wirt ist so geizig, dass du keinen Rabatt bekommst
und du die Lieferung lieber woanders taetigen solltest" 
gibt doch genug gruende fuer sowas ...
gibt doch genug gruende fuer sowas ...
naja nur n paar gedanken von nem Schuettler, der mal einer war :-)
naja nur n paar gedanken von nem Schuettler, der mal einer war :-)
Guard

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



Re^17: Liste von gesperrten Kneipen (Orktoeter, 29. Apr 2002, 12:13:18):
~#! rn=Guard rt=1020072467 rg=gilden.bierschuettler
~#! tid=1019598294
Sorry, ich seh noch nicht, inwiefern die Liste stoerend waere. Als Shaky weis
man normalerweise sehr gut, welche Kneipe(n) man beliefern moechte und wenn es
auch nicht katastrophal ist festzustellen, das sie nicht beliefert werden
kann, so ist es doch aergerlich. Genau dagegen wuerde eine solche Liste
hilfreich sein.

PS wer nicht weis welche Kneipe er beliefern soll und/oder ger verzweifelt
durchs MG irrt und eine noch nicht belieferte Kneipe sucht macht eh etwas
grundsaetzlich falsch.

OrkT.

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



Re^18: Liste von gesperrten Kneipen (Karis, 29. Apr 2002, 12:15:46):
~#! rn=Orktoeter rt=1020075198 rg=gilden.bierschuettler
~#! tid=1019598294
Was genau macht der arme Kerl denn falsch? Ach ja, richtig. Er hat nicht
die notwendige Erfahrung im Doppelpack und superguenstig eingekauft.
Er sammelt sie selber, der Depp. Das muss man schon als grundsaetzlich 
falsch bezeichnen, da hast Du bestimmt voellig recht.

Karis

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



Re^19: Liste von gesperrten Kneipen (Orktoeter, 29. Apr 2002, 12:20:55):
~#! rn=Karis rt=1020075346 rg=gilden.bierschuettler
~#! tid=1019598294
Ach? Der Aermste der mit Spielerlevel eins Shaky wird muss sofort alle Faesser
fuer alle Gildenaufstiege ausliefern bevor er auch nur einen einzigen Raum des
MG gesehen hat? *ironie off*

Jeder Shaky steigt halt nach und nach auf und lernt dabei mehr und mehr vom MG
so wie halt alle anderen auch. Und es gibt nun wahrlich genug Kneipen die man
so auf seinen wanderungen kennen lernt.

OrkT.

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



Re^20: Liste von gesperrten Kneipen (Gloinson, 29. Apr 2002, 13:29:57):
~#! rn=Orktoeter rt=1020075655 rg=gilden.bierschuettler
~#! tid=1019598294
Und wo war jetzt nochmal der genaue Grund dafuer, dass es so schlimm ist wenn
der Neushaky ein Lieblingskneipe umsonst anlaeuft, dass man eine Liste
erstellen muss um ihn vor diesem furchtbaren und spielbehindernden Aspekt zu
warnen?
Wenn Du mir den zeigst werde ich mich in Konsequenz auch sofort bei Muadib
dafuer einsetzen Listen herauszugeben, die unnuetze Dinge innerhalb von Quests
enthalten. Also Aktivitaeten, die Dir fuer die Quest gar nichts bringen, die
tatsaechlich am Rande sind und sicher noch nicht einmal Forscherpunkte geben.

Gloin(son)
PS: Powergamer GO!

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



Re^23: Liste von gesperrten Kneipen (Anacrion, 29. Apr 2002, 13:37:51):
~#! rn=Gloinson rt=1020080168 rg=gilden.bierschuettler
~#! tid=1019598294
Also bei den 4+ Warrior Chromatic Dragons gabs immer nette Sachen ... gerade
eben ne nette Greater Lens of Invisibility ... hab das teil fuer 20k
verscherbelt :o)

anac*

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



Re^21: Liste von gesperrten Kneipen (Orktoeter, 29. Apr 2002, 13:51:29):
~#! rn=Gloinson rt=1020079797 rg=gilden.bierschuettler
~#! tid=1019598294
Lieber Gloinson,
es ist halt aergerlich wenn man eine Kneipe die man nur mit etwas Muehe
erreicht (z.B. Neskaja) ansteuert nur im dann festzustellen, das man diese
nicht beliefern kann.
Ich wuerde mich aber darueber freuen, wenn du mir erklaerst worin der Sinn
besteht, das man Spieler bewusst solchen Frust aussetzt.
Uebrigens kann ja jeder Shaky immer noch fuer sich entscheiden, das er die
Liste ignoriert und die Kneipen entsprechend seiner Praefernzliste abklappern
bis er eine findet die er beliefern kann.

OrkT.

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



Re^22: Liste von gesperrten Kneipen (Anacrion, 29. Apr 2002, 13:53:18):
~#! rn=Orktoeter rt=1020081089 rg=gilden.bierschuettler
~#! tid=1019598294
Man kann sich auch dafuer entscheiden, eine FP-Liste nicht zu benutzen, die
kursieret. Trotzdem wuerdest Du ihre Existenz nicht fuer gut halten, oder?

Also Deine Argumente werden immer schlechter ....

anac*

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



Re^22: Liste von gesperrten Kneipen (Bielefeld, 29. Apr 2002, 13:53:22):
~#! rn=Orktoeter rt=1020081089 rg=gilden.bierschuettler
~#! tid=1019598294
Um diese Diskussion mal etwas abzukuerzen: Eine solche Liste wird
es NIEMALS geben. Basta. Dieses Spiel hat immer noch etwas mit
"selber mal losgehen und Dinge entdecken" zu tun. Listen aller
Art laufen dem zuwider.

-Bielefeld

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



Re^22: Liste von gesperrten Kneipen (Cicero, 29. Apr 2002, 13:53:34):
~#! rn=Orktoeter rt=1020081089 rg=gilden.bierschuettler
~#! tid=1019598294
Es ist auch fuer jeden Trves aergerlich stundenlang nach Zutaten fuer den
dummen Koch zu suchen, und fuer jeden Karateka ist es aergerlich und muehsam
den Fussweg nach Fernwest zu finden...
Ich seh das Fass ausliefern mehr oder weniger als eine Art Gildenquest an
(wenn auch ne laecherlich einfache) also wozu noch einfacher machen???

Cicero aka ShadoW

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



Re^22: Liste von gesperrten Kneipen (Rikus, 29. Apr 2002, 13:54:53):
~#! rn=Orktoeter rt=1020081089 rg=gilden.bierschuettler
~#! tid=1019598294
Es gibt halt auch Leute, die gern mal irgendwohin laufen und sich Gegenden
ansehen. Es hat ja auch seinen Reiz zu testen, wie gut welche Kneipe fuer
jeden selbst geeignet ist. Das Du dies ungern machst, zeigen mir ja Forscher-
punkte von ungefaehr Spielerlevel 4 :)

Rikus

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



Re^23: Liste von gesperrten Kneipen (Pitfall, 29. Apr 2002, 13:56:25):
~#! rn=Rikus rt=1020081293 rg=gilden.bierschuettler
~#! tid=1019598294
was fuer punkte?

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



Re^23: Liste von gesperrten Kneipen (Orktoeter, 29. Apr 2002, 14:00:34):
~#! rn=Rikus rt=1020081293 rg=gilden.bierschuettler
~#! tid=1019598294
Sorry, schreibe ich Chinesisch?
Wenn jemand die Liste (privat von ihm erstellt) seiner praeferierten Kneipen
abklappert um ein Fass auszuliefern, dann geht das doch wohl nur wenn er viele
Kneipen kennt und geforscht hat, oder? 

Es geht bei dieser Liste einzig und alleine darum einen unnoetigen Weg zu
sparen. Ist schon interessant, wie man an anderen Vorbeilesen kann, wenn man
das moechte.

Es waere allenfalls eine kleine anehmlichkeit fuer die Shakys gewesen, aber
ich habe es gut genug Verstanden, sobald das Wort "liste" auftaucht schrillen
hier bei einigen Leuten die Alarmsirenen und es droht der Weltuntergang. 

Da ich eh nicht mehr aktiv spiele werde ich jetzt auch nicht mehr weiter gegen
Windmuehlenfluegel anreiten.

OrkT.


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



Re^24: Liste von gesperrten Kneipen (Gloinson, 29. Apr 2002, 14:03:07):
~#! rn=Orktoeter rt=1020081634 rg=gilden.bierschuettler
~#! tid=1019598294
*flapp* *flapp* *flapp* *flapp* *flapp*
Du zeichnest ein wunderschoenes Bild von Dir, das mit dem heutigen Bild des
Don Quichotte auch gut uebereinstimmt. Schoen dass Du Deinen Cervantes nicht
gelesen hast ;)

Gloin(son), Aushilfsbierschuettler in zweiter Blubbergarnitur

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



Re^22: Liste von gesperrten Kneipen (Bambi, 29. Apr 2002, 14:08:32):
~#! rn=Orktoeter rt=1020081089 rg=gilden.bierschuettler
~#! tid=1019598294
(Ja, ich hab bis zum etzten Artikel -derzeit Nr 36- gelesen...)
Kannst Du mir sagen, wieso der Weg nach z.B. Neskaja unnoetig ist, wenn Du
dort keine Kneipe beliefern kannst?

Oder anders rum: Wieso willst Du in Neskaja eine Kneipe beliefern, wenn Du eh
nicht da hinwillst?


Es ist schon klar, dass man sich den Weg sparen kann, wenn man da nicht
beliefern kann. Sinnvoller waere es aber, wenn man selbst herausfindet, dass
man da nicht beliefern kann, unabhaengig meinetwegen davon, ob man beliefern
_will_. Ich wuerde aber dennoch als Vorraussetzung ansehen, dass man die
Kneipe beliefern konnte oder zumindest dort den oertlichen Wirt gefragt hat.
Als Umkehrschluss bedeutet dies aber zwingend, dass dies (schon der
Chancengleichheit wegen) hier im Mud programmiert wurde und nicht in einem
Seherhaus, der MPA oder sonstwo nur fuer "Eingeweihte" verfuegbar ist.

Falls die Gildenbalance, der Gildenmagier o.ae. da kein Veto einlegt
(eingelegt haette), dann ist (waere) es Dir ungenommen, Dich hinzusetzen und
was zu proggen.

MfG, Bambi.

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



Re^24: Liste von gesperrten Kneipen (Boing, 29. Apr 2002, 14:12:44):
~#! rn=Orktoeter rt=1020081634 rg=gilden.bierschuettler
~#! tid=1019598294
> Da ich eh nicht mehr aktiv spiele werde ich jetzt auch nicht mehr 
> weiter gegen Windmuehlenfluegel anreiten.

Endlich! Ich hatte diesen Satz eigentlich schon viel frueher erwartet,
bin aber nun wirklich froh, dass er endlich kam. :)

  Boing

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



Bierschuettler, Kneipenproblem (Katerchen, 29. Apr 2002, 14:21:25):
So, mein erster Artikel im Mg :)
Ich versteh das Problem von dem ganzen nicht so sehr. Wenn jemand glaubt, dass
er ne komplettliste braucht, kann er bei den Leuten herumfragen und wird sie
wohl so bekommen, wie eventuell Fp und Questkomplettloesunglisten.
Wenn jemand lieber forscht und von alleine die Kneipen sucht, solls er so
machen. Bei eventuellen Problemen kann man noch immer andere mitmudder fragen.
Oder habe ich den tieferen Sinn der Diskussion missverstanden?

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



Re^23: Liste von gesperrten Kneipen (Muadib, 29. Apr 2002, 14:22:54):
~#! rn=Bambi rt=1020082112 rg=gilden.bierschuettler
~#! tid=1019598294
ich habe den satz zwar beim ersten lesen nicht verstanden, aber er war sehr
schoen

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



Re^25: Liste von gesperrten Kneipen (Bambi, 29. Apr 2002, 14:26:04):
~#! rn=Boing rt=1020082364 rg=gilden.bierschuettler
~#! tid=1019598294
Wenn wir grad dabei sind...
Was ist das Gegenteil von aktiv mudden? Passiv mudden? Braucht man _dafuer_
diese ominoesen Listen?

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



Re^26: Liste von gesperrten Kneipen (Cicero, 29. Apr 2002, 14:27:39):
~#! rn=Bambi rt=1020083164 rg=gilden.bierschuettler
~#! tid=1019598294
passiv mudden ist einloggen, das allseits beliebte Seher-in-53-Minuten-Script
laden (runterzuladen unter www.bist-du-neugierig.com) und fernsehen *g*

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



Re^25: Liste von gesperrten Kneipen (Amaryllis, 29. Apr 2002, 16:12:41):
~#! rn=Boing rt=1020082364 rg=gilden.bierschuettler
~#! tid=1019598294
Gegen Windmuehlenfluegel anzureiten duerfte bei ihm auch Orkstueckchen geben
:)

Ama*

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



Re^27: Liste von gesperrten Kneipen (Mupfel, 29. Apr 2002, 21:13:36):
~#! rn=Cicero rt=1020083259 rg=gilden.bierschuettler
~#! tid=1019598294
Runterzuladen? Wird das jetzt nicht mehr via icq bzw. mail verschickt?

-mupfel-

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



Re^28: Liste von gesperrten Kneipen (Leibniz, 29. Apr 2002, 21:13:59):
~#! rn=Mupfel rt=1020107616 rg=gilden.bierschuettler
~#! tid=1019598294
die zeiten aendern sich halt ;)

leibi

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



Re^29: Liste von gesperrten Kneipen (Anacrion, 29. Apr 2002, 21:20:48):
~#! rn=Leibniz rt=1020107639 rg=gilden.bierschuettler
~#! tid=1019598294
Wie Du hast noch keinen Anschluss an den FP-Listen-Napster? :o)

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



Re^30: Liste von gesperrten Kneipen (Nizzl, 29. Apr 2002, 21:21:28):
~#! rn=Anacrion rt=1020108048 rg=gilden.bierschuettler
~#! tid=1019598294
musst nicht von dir auf andre schliessen...

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



Re^31: Liste von gesperrten Kneipen (Anacrion, 29. Apr 2002, 21:22:49):
~#! rn=Nizzl rt=1020108088 rg=gilden.bierschuettler
~#! tid=1019598294
hier extra fuer nizzl noch die tags meines letzten postings .... 

<irony> ..... </irony>

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



Re^32: Liste von gesperrten Kneipen (Jadawin, 29. Apr 2002, 21:23:37):
~#! rn=Anacrion rt=1020108169 rg=gilden.bierschuettler
~#! tid=1019598294
eisenaehnlich...?
Jad*

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



Re^32: Liste von gesperrten Kneipen (Nizzl, 29. Apr 2002, 21:23:41):
~#! rn=Anacrion rt=1020108169 rg=gilden.bierschuettler
~#! tid=1019598294
tjo mein artikel war im *noirony*-modus

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



Schuettel, schuettele und Objekte. (Nino, 11. Feb 2004, 13:00:10):
Hi zusammen,
in den letzten Tagen sind mir zwei Objekte untergekommen die ich als
Bierschuettler leider nicht identifizieren konnte weil in ihnen schuettel oder
schuettele vorkommt, einmal eine gewissen Schneekugel und einmal eine Blume.
Mach ich jetzt was falsch mit dem schuettele <objekt> oder ist das einfach ein
generelles Problem? Ich weis natuerlich nicht wieviele Objekte im MG das
Kommando schuettele ueberschreiben aber vielleicht finden unsere Gildenmagier
ja eine Moeglichkeit das zu aendern zu erweitern in dem man einfach noch den
Befehl shake in den Schuettelspruch einbaut? Wuerde ja auch zu einer
Shakygilde passen oder?
Nino, geschuettelt nicht geruehrt!

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



Es wird Sommer! (Shakedbeer,  8. Apr 2006, 17:12:05):
Humni sei Dank ist es Sommer geworden und der Hitzeschlag wirkt ploetzlich
deutlich besser.

Shaky - geniesst heute extra kaltes Schuettelbier.
r


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



Re: Es wird Sommer! (Humni,  8. Apr 2006, 17:14:27):
~#! rn=Shakedbeer rt=1144509125 rg=gilden.bierschuettler
~#! tid=1144509125
Das bezieht sich vor allem auf die Hitzeschlaege aus den hinteren Reihen.

Humni

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



Juchhu! Es ist vollbracht! (Humni, 25. Sep 2006, 19:53:33):
Juchhu! Preiset ihn!

Raschaua hat sich bereiterklaert, seine unermessliche Erfahrung als
Bierschuettler nun auch der Gilde zur Verfuegung zu stellen und ist ab heute
ein weiteres Gildenoberhaupt in der maechtigen Gilde der Bierschuettler.

Schuettelt und sagt Prost!
Humni

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



Re^6: Idee Kaempferfaehigkeit (Gloinson,  6. Sep 2008, 00:04:27):
~#! rn=Zesstra rt=1220652069 rg=gilden.zauberer
~#! tid=1220646566
Jo, und die Bierschuettler schuetteln sich ein paar aufmunternde Bardenlieder
aus dem Aermel, die sie zur krampfesstaerkenden Belustigung in allen Toenen
durchs Team ruelpsen.


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



Bierschuerze (Arathorn,  3. Mai 2015, 15:35:08):
Hallo zusammen,

ohne den technischen Hintergrund hier allzu breit auswalzen zu wollen, tue
ich kund und zu wissen, dass es heute noetig wurde, die im Spiel befindlichen
Bierschuerzen allesamt auszutauschen. Wundert euch daher bitte nicht, wenn
ihr die Schuerze nicht mehr angezogen habt, und wenn sie sich jetzt "wie
neu" anfuehlt, was z.B. die Tropfen und das Eilen angeht.

Bei Fehlfunktionen bitte Info an mich.

Gruss, Arathorn.

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



Eilen und Kneipen ... (Humni, 28. Jun 2017, 17:42:35):
.. funktionieren gerade nicht.

Der Techniker ist informiert. Er war sehr lecker.
Aeh nein. Also ... der zweite Techniker ... mit Bratensauce und Biersauce und
...

* Boerps*

Also, ich bin dran.

Humni

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



Re: Eilen und Kneipen ... (Humni, 28. Jun 2017, 19:32:19):
~#! rn=Humni rt=1498664555 rg=gilden.bierschuettler
~#! tid=1498664555
So, die Kneipen und das Eilen gehen wohl erstmal wieder. Eventuell hat die
Schuerze sich nicht alle Kneipen der lezten Tage gemerkt, der Stand koennte
wieder der von Anfang des Monats sein. Das geht leider nicht anders, zur Not
muesst ihr noch einmal beliefern.

Bei Schwierigkeiten meldet euch.

Humni

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



Belieferte Kneipen (Raschaua,  4. Aug 2023, 18:06:30):
Ueber die Jahre sind magischen Verbindungen zwischen den Bierschuerzen und den
belieferten Kneipen durcheinandergeraten. Bruno hatte Langeweile und hat sich
mal hingesetzt und alles wieder sortiert.

Sollte jemandem bei der Kneipenanzeige oder beim Eilen trotzdem ein Fehler
auffallen, dann bitte bei mir melden!

Raschaua

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



