P_INVIS setzen, wenn unterwegs.

Damit Transporter auf der Reise nicht interagierbar werden,
wird P_INVIS waehrend der Reise fuer alle this_player()
auf 1 gesetzt, die nicht im Transporter sind. Bislang
waren sie nicht einfach unsichtbar ueber P_SHORT==0.
Dafuer entfaellt GetDetail() wieder, was das gezielt fuer
Details gemacht hat.

Change-Id: Ib8d94870b3572bc2748581a77be87f2b7780c6e4
diff --git a/std/transport.c b/std/transport.c
index 79deec1..125bea5 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -66,15 +66,27 @@
  */
 
 string _query_short()
-{ 
-  if (roomCode) return Query(P_SHORT); 
-  return 0; 
+{
+  if (roomCode) return Query(P_SHORT, F_VALUE);
+  return 0;
+}
+
+// Waehrend der Reise echt unsichtbar und nicht-interagierbar machen, ausser
+// fuer PL innerhalb des Transporters.
+// Ansonsten koennten z.B. Spieler, die im Hafen einen angelegten Transporter
+// betrachten, ihn dadurch als Referenzobjekt haben und Details am
+// unsichtbaren, reisenden Transporter betrachten.
+visible int _query_invis()
+{
+  if(!roomCode && (!PL || environment(PL) != ME))
+      return 1;
+  return Query(P_INVIS, F_VALUE);
 }
 
 mixed _query_transparent()
-{ 
+{
   if (roomCode) return Query(P_TRANSPARENT);
-  return 0; 
+  return 0;
 }
 
 static mixed *_set_route(mixed *r) { return route = r; }
@@ -410,17 +422,6 @@
            name(WEN,1),"verlaesst","kommt herein");
 }
 
-// Details nur, wenn der Transporter angelegt hat bzw. fuer Livings an Bord.
-// Hintergrund: Transporter sind durch P_SHORT 0 zwar unsichtbar, es kann
-// aber mit ihnen interaggiert werden, dadurch koennen Spieler, die im Hafen
-// einen angelegten Transporter betrachten und ihn dadurch als Referenzobjekt
-// haben Details an ihm betrachten.
-public varargs string GetDetail(string key, string race, int sense)
-{
-  if(!roomCode && environment(PL) != ME) return 0;
-  return ::GetDetail(key, race, sense);
-}
-
 /*
  ****************** Internal Functions ******************
  */