NAME:
    P_WATER                       "water"                       

DEFINIERT IN:
    /sys/fishing.h

BESCHREIBUNG:
    Enthaelt den Gewaessertyp. Kann in Raeumen, Angeln und Wasserbehaeltern
    verwendet werden. Die verfuegbaren Optionen und Funktionsweisen sind in 
    den nachfolgenden Abschnitten aufgefuehrt.

    Raum:
    *****
      Legt den Typ des Gewaessers fest, das es in diesem Raum gibt. Von
      diesem Typ haengt ab, welche Arten von Fischen es hier standardmaessig
      gibt und welche Arten von Angeln verwendet werden koennen. 
      
      Beispiel:

      SetProp(P_WATER, W_HARBOR);
      
      Folgende
      Typen stehen zur Verfuegung, von denen in Raeumen nur einer gesetzt
      werden darf:

      Salzwasser:
        W_BEACH   Strand: Scholle, Flunder, Rochen, Seezunge, Katzenhai
        W_HARBOR  Hafen: Dorsch, Rochen, Seezunge, Hering, Katzenhai
        W_OCEAN   Ozean/Meer: Hai, Thunfisch, Kabeljau, Schwertfisch, Seehase,
                  Seeteufel, Seewolf

      Suesswasser:
        W_RIVER   Fluss: Piranha, Lachs, Forelle, Bachsaibling
        W_POOL    Teich: Stichling, Goldfisch, Schlei, Karpfen, Goldorfe
        W_LAKE    See: Karpfen, Barsch, Hecht, Seesaibling
        W_ROCK    Bergbach: Lachs, Forelle, Bachsaibling
        W_STREAM  Bach: Stichling, Bachforelle, Neuauge, Bachsaibling

      Sonstige:
        W_USER    wenn dieser Gewaessertyp gesetzt wird, MUSS der Raum 
                  zusaetzlich die Funktion GetAquarium() definieren, die
                  eine Liste der hier fangbaren Fische zurueckgeben muss.
                  Beispiel:

                  string* GetAquarium(){ 
                    return ({"/d/ebene/fraggle/angel/fisch"}); 
                  }
        W_DEAD    Lebloses Wasser. Enthaelt keine Fische, man kann
                  aber die Standardflasche fuellen.

        W_OTHER   1024   // Flasche enthaelt Fluessigkeit!=Wasser


    Angel:
    ******
      Angeln sind ueblicherweise auf bestimmte Anwendungsbereiche ausgelegt.
      Ob eine Angel in einem Gewaesser benutzt werden kann, haengt davon ab,
      ob P_WATER in der Angel den Gewaessertyp des Raumes enthaelt. Von den
      oben genannten Typen koennen mehrere ver-ODER-t gesetzt werden.
      Verwendung einer fuer das oertliche Gewaesser ungeeigneten Angel fuehrt
      zu einer um 60+random(60) Sekunden verlaengerten Wartezeit beim Angeln.
      
      Beispiel: Setzt man den Gewaessertyp mit 

        SetProp(P_WATER, W_HARBOR|W_OCEAN);

      schaltet das die Angel sowohl fuer Haefen, als auch fuer offene Meere
      (Ozeane) frei.

      Folgende kombinierte Gewaessertypen sind fuer einfache Angeln 
      vordefiniert:

      Kurze Standardangeln:
        W_SHORT W_HARBOR|W_RIVER|W_POOL|W_LAKE|W_ROCK|W_USER|W_OCEAN|W_STREAM
      Spezielle Strandruten:
        W_LONG  W_BEACH|W_USER
      funktioniert in allen Salzgewaessern:
        W_SALT  W_HARBOR|W_OCEAN|W_BEACH
      funktioniert in allen Suessgewaessern:
        W_SWEET W_RIVER|W_POOL|W_LAKE|W_ROCK|W_STREAM

      Hinweis: W_DEAD ist in diesen Kombinationen nicht enthalten, da es
      in solchen Gewaessern ohnehin keine Fische gibt.
      Die Kombi-Typen enthalten W_USER, um bei entsprechenden Gewaessern
      zu vermeiden, dass es dort standardmaessig einen Malus auf die 
      Wartezeit gibt. Standardwert fuer P_WATER in Angeln ist ebenfalls 
      W_USER.

    Koeder:
    *******
      Auch Koeder koennen fuer die Verwendung in bestimmten Gewaessern besser
      geeignet sein als in anderen, z.B. eine Seeschnecke fuer Salzwasser,
      ein Mehlwurm hingegen fuer Suesswasser. Gesetzt wird P_WATER hierfuer
      auf die oben aufgefuehrten Werte.
      Verwendung eines ungeeigneten Koeders fuehrt zu einer um 60+random(60)
      Sekunden laengeren Wartezeit beim Angeln.

    Wasserbehaelter:
    ****************
      Die Property gibt an, ob der Behaelter Wasser enthaelt oder nicht.
      Der Wert sollte immer auf den Typ jenes Gewaessers gesetzt sein, aus
      dem der Behaelter aufgefuellt wurde.

SIEHE AUCH:

    Properties: P_FISH
    Methoden:   GetAquarium(L)

------------------------------------------------------------------------------
Zuletzt geaendert: 2014-Aug-21, Arathorn
