****************************************************************************
* Dieser Text ist veraltet. Die Techniken werden von der Mudlib nicht      *
* ausgewertet und momentan auch von keiner Gilde (Ausnahme: die Tanjian    *
* zeigt sie an, tut aber nix damit.                                        *
****************************************************************************
----------------------------------------------------------------------------
             Techniken, mit denen Waffen eingesetzt werden koennen
----------------------------------------------------------------------------

TQ_THRASH - "Schlagtechnik"

    Die vom Verstaendnis her einfachste Technik: Man nehme sich einen
    Gegenstand,  der gross genug ist und halbwegs  brauchbare  Dichte 
    besitzt - also nicht gerade federleicht  fuer seine Groesse ist - 
    und haue drauf.  Egal ob Henkersaxt,  Stock,  Stuhl,  Bierflasche 
    (ganz), Knueppel, Keule oder Bratpfanne,  das und aehnliches sind 
    brauchbare  'Waffen',  um mit dieser Technik Erfolg zu haben.  Es 
    ist eine schlagende Bewegung,  also das gewollte schwunghafte Zu-
    sammenfuehren zweier Koerper, fuer gewoehnlich Waffe und Gegner.


TQ_THRUST - "Stosstechnik"

    Auch diese Technik erfreut sich zumindest in Kneipenschlaegereien
    grosser Beliebtheit: Das Stossen.  Mit einem vorzugsweise spitzen
    Gegenstand wie Speer, Dolch, Bierflasche (zerbrochen) oder Helle-
    barde  wird dem Gegner ein Loch in den Leib  gestossen,  im Falle 
    eines   stumpfen Gegenstandes wie z.B.  einem Kampfstock oder dem 
    eigenen  Zeigefinger oder Knoechel zielt man auf Vitalpunkte oder
    Weichteile und erzielt auch damit beeindruckende Ergebnisse.  Das
    Gewicht der Waffe ist  weniger von Bedeutung,  da  der Akteur bei 
    einem korrekt ausgefuehrtem seine eigene Masse mit einsetzt.


TQ_STROKE - "Streichtechnik"

    Ein etwas eigenwillig anmutender Begriff,  aber bei genauerer Be-
    trachtung hat  diese Technik tatsaechlich etwas mit Streicheln zu
    tun:  Die wichtigste Komponente der Bewegung fuehrt mehr oder we-
    niger am  Gegner _entlang_ und nicht auf ihn zu.  Man stelle sich 
    ein Schwert vor, das geschmeidig durch die Kehle eines Orks glei-
    tet  und eine Menge Blut  freisetzt oder ein Pergamentblatt,  das
    man aus der Hand gezogen bekommt  (und ebenfalls eine Menge  Blut
    freisetzt).  In den allermeisten Faellen ist also eine moeglichst
    scharfe Schneide im Spiel und, auch wenn schmerzhafte Erfahrungen
    mit  Pargamentkanten gelegentlich gegenteiliges  vermuten lassen, 
    je schaerfer die Schneide, desto weniger Druck in Richtung feind-
    lichen  Zielkoerper  muss fuer  einen  "durchschneidenden Erfolg" 
    ausgeuebt werden.


TQ_WHIP - "Peitschtechnik"

    Unter der Peitschtechnik wird nun alles zusammengefasst,  was den
    Umgang mit beweglichen Elementen an der Waffe betrifft.  Egal, ob
    Peitsche a la George Lucas, neunschwaenzige Katze, Manriki-Gusari
    (eine halbmeter lange Kette mit Gewichten an den Enden), ein- bis
    dreikoepfigem  beketteten Morgenstern oder gar Dreschflegel,  sie 
    sind zumindestteilweise sehr unterschiedlich konzipiert (so fehlt
    der  Peitsche am aeusseren Ende das Gewicht,  so dass jenes durch
    eine gegenlaeufige Bewegung beschleunigt werden muss), haben aber
    eines gemeinsam: Der Schaden wird durch ein ueber die normale Be-
    wegung des Kaempfers  hinaus beschleunigtes Teil der Waffe verur-
    sacht. Durch jene Beweglichkeit der  Waffe wird ein sehr  grosses 
    Mass an Koordinationsvermoegen vom Kaempfer abverlangt.

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

Vermischtes

    - Waffen koennen  sich fuer mehrere  Techniken eignen.  Mit einem
      Katana, dem Schwert der Samurai, beispielsweise kann man in die
      ungeschuetzten Partien des Gegners stechen,  dem Gegner mit der 
      Streichtechnik tiefe Schnitte in die Unterseiten der Arme  (ein
      durch typische Samurairuestungen schlecht geschuetzter Bereich)
      zufuegen, und mit der beruehmten halben Koerperdrehung dem in-
      zwischen taumelndem Kontrahenten den Kopf abschlagen. 

    - Waffen koennen sich, obwohl von der gleichen Gattung, fuer ver-
      schiedene Techniken eignen.  Ein spitzer Dolch mag eine stumpfe
      Klinge haben  und nur fuer ausschliesslich stossende  Praktiken
      zu gebrauchen zu sein, waehrend ein abgerundetes Kuechenmesser,
      ebenfalls vom Typ "Zyn", fuer kantiges Zuschlagen und eventuell
      auch fuer schnittige Streichtechniken herhalten kann.

    - Je nach Zweck und Koennen wird die beste zu verwendende Technik 
      variieren:  Wenn es um arme Grashalme geht,  wird die Sense mit 
      schneidenden Bewegungen gefuehrt  (schoen in der  Milka-Werbung 
      zu sehen,  fuer die, die es partout nicht glauben wollen),  bei 
      einer Bauernrevolte mag das gute Stueck jedoch auch mit anderen 
      Techniken effektiv (und vielleicht sogar effektiver) eingesetzt 
      werden, wer weiss, wer war schon dabei...?  Selbst bei normalen
      Waffen wie Schwertern  wuerde ein Ungeuebter  selten versuchen,  
      mit Streichtechniken Schaden zu verursachen, denn das Zustechen 
      ist schlicht einfacher.

    - Es wird immer  besondere Waffen geben.  So  sind beispielsweise
      das Zweililien und  die Hellebarde  beide dem Typ "Kzrok" (fuer
      nicht-Trves: Stangenwaffen) zuzuordnen, die Techniken  weichen,
      bedingt  durch die Vielseitigkeit  der Waffen,  jedoch von  der
      Norm ab: Das Zweililien, an jedem  Ende eine lange und  scharfe
      Klinge,  kann  ebenso  vielseitig  gehandhabt  werden  wie  ein 
      Schwert,  waehrend die Hellebarde (eine Mischung aus  Lanze und
      Axt) durch ihre unausgewogene Gewichtsverteilung  und dem damit
      verbundenen Potenzial an Schwung schlichtweg DIE Waffe der Wahl 
      fuer feige Zwerge ist:  Schwingen wie eine grosse  Axt und  den 
      Gegner auf Distanz halten koennen.  Gut,  dass es keine  feigen 
      Zwerge gibt ;o)

----------------------------------------------------------------------------
Last modified: Tue Apr 13 13:00:00 2000 by Anatol
