AddRoute()
FUNKTION:
    public varargs void AddRoute(string room, int stay, int next, 
        string harbour_desc, mixed dest_ids, string deststr)

DEFINIERT IN:
    /std/transport.c

ARGUMENTE:
    string room
        Filename der Haltestelle (des Ziels)
    int stay
        Aufenthaltszeit an der Haltestelle.
    int next
        Fahrtzeit von dort bis zum naechsten Fahrplanpunkt
    string harbour_desc
        Name der Haltestelle (fuer QueryArrived)
    mixed dest_ids
        kleingeschriebene IDs der Haltestelle
    string destrstr
        Unbenutzt / Undefiniert.

BESCHREIBUNG:
    Dem Fahrplan des Transporters wird eine neue Haltestelle hinzugefuegt.

    Bei Erreichen der Haltestelle wird der Transporter in den Raum 'room'
    bewegt und sichtbar gemacht. Nun kann man ihn fuer 'stay' Sekunden
    betreten oder verlassen, bevor er ablegt (unsichtbar gemacht wird).
    Nach 'next' Sekunden wird dann der naechste Punkt des Fahrplans
    ausgefuehrt.
     
    'harbour_desc' ist ein String, den QueryArrived() zurueckgibt, wenn sich
    der Transporter an einer Haltestelle befindet. In der Regel ist das ein
    String, der die Haltestelle naeher beschreibt.
    
    'dest_ids' ist ein Array von Strings, die als ID-Code fuer diese 
    Haltstelle dienen. Das wird zB bei der Ermittlung einer Haltestelle bei 
    "reise nach" benutzt. Wenn 'dest_ids' nicht gesetzt ist, und auch 
    P_HARBOUR des Zielhafens nicht korrekt gesetzt ist, werden 
    grossgeschriebene Begriffe aus 'harbour_desc' verwendet.

BEISPIELE:
    #1 Hier ein Auszug aus /d/inseln/schiffe/jolle.c:

      AddRoute("/d/ebene/room/PortVain/po_haf2", 40,
               10, "Hafen von Port Vain");

    Die Jolle wird also beim Anlegen in den Port Vainer Hafen bewegt und
    laesst sich dort 40 Sekunden lang betreten oder verlassen.
    QueryArrived() liefert waehrend dieser Zeit den String "Hafen von Port
    Vain" zurueck. Nach den 40 Sekunden legt die Jolle ab, und nach
    weiteren 10 Sekunden wird die naechste Station in ihrem Fahrplan
    angefahren.

    #2 Die Galeere nach Orkhausen:
      AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )" );
      - haelt 30 Sekunden
      - reist 20 Sekunden
      - reist nach INSEL("steg"), bekannt als "Verlorene Land ( Orkhausen )"
      - da keine 'dest_ids' angegeben sind, waere eine so definierte 
        Haltstelle nur mit den IDs ansprechbar, die in P_HARBOURS im Zielraum
        angegeben sind.

    Wenn man nun erreichen wollte, dass das Ziel auch mit dem Kuerzel "vland"
    ansprechbar ist, kann man zum einen explizite 'dest_ids' eintragen:
      AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )",
               ({"verlorenes", "land", "orkhausen", "vland"}));
    Dies laesst sich im Zielhafen aber auch durch Eintragen des Kuerzels
    "vland" in P_HARBOUR erreichen. Dies hat den Vorteil, dass dieser Hafen
    dann von allen Transportern, die dort anlegen, unter demselben Namen
    erreicht werden kann.
    
HINWEISE:
    Dadurch, dass die Eintraege aus P_HARBOUR und 'dest_ids' gleichberechtigt
    fuer "reise nach <ziel>" verwendet werden koennen, ist es moeglich,
    dass die Reiseziele auf einem Schiff unter zusaetzlichen Bezeichnungen 
    bekannt sind, als an Land (zum Beispiel koennte eine fernwestliche
    Besatzung die Ziele anders nennen).

SIEHE AUCH:
Funktionen:  AddMsg(L), AddFun(L), /std/transport.c
Properties:  P_HARBOUR, P_NO_TRAVELING, P_TRAVEL_INFO

2015-Jan-18, Arathorn.
