Diverse kaputte Casts repariert.

Unwirksame und ueberfluessige Casts entfernt,
etwas Code-Cleanup.

Change-Id: I92f01e6391c432cd0881a5faac580f6d0b40c323
diff --git a/std/thing/commands.c b/std/thing/commands.c
index 5bfa386..c3eddf6 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -277,7 +277,7 @@
   // ggf. id in das ID-Mapping eintragen
   if(cmdid) {
    mixed *tmp;
-   j=sizeof((string*)added_cmds[str, CMDIDX_FUN]);
+   j=sizeof(added_cmds[str, CMDIDX_FUN]);
    tmp=added_cmds[str, CMDIDX_ID]||allocate(j);
    if(sizeof(tmp)<j) tmp+=allocate(j-sizeof(tmp));
    tmp[<1]=cmdid;
@@ -355,7 +355,8 @@
       cachecl[j..j] = allocate(0);
       if(ids) {
        ids[j..j] = allocate(0);
-       if(!sizeof(ids-allocate(1))) ids=(mixed*)0;
+       if(!sizeof(ids-allocate(1)))
+         ids=0;
       }
       ret++;
      }
@@ -378,7 +379,7 @@
 static int _execute(mixed fun, string str, mixed *parsed) {
   switch(typeof(fun)) {
     case T_CLOSURE:
-      return ((int)funcall(fun,str,&parsed));
+      return (({int})funcall(fun,str,&parsed));
     case T_STRING:
       int ret;
       if(!call_resolved(&ret, this_object(), fun, str, &parsed))
@@ -488,7 +489,7 @@
        else if(check_present&CHECK_ID && id(tmpstr))	// ID ?
         matchstr=this_object();
        else if((check_present&CHECK_PUTGET) &&	// PUT_GET_??? ?
-               (tmpobj=(object*)
+               (tmpobj=({object*})
                   this_player()->find_obs(tmpstr,
                       ([CHECK_PUTGETNONE:PUT_GET_NONE,
                         CHECK_PUTGETDROP:PUT_GET_TAKE,
@@ -669,7 +670,7 @@
 }
 
 static mapping _set_commands(mapping commands) {
-  if(!commands) added_cmds=(mapping)0;
+  if(!commands) added_cmds=0;
   else if(mappingp(commands)) {
     if(widthof(commands) != CMDS_WIDTH)
       raise_error("SetProp(P_COMMANDS): corrupt commands-mapping.\n");
diff --git a/std/thing/description.c b/std/thing/description.c
index 15d6afc..b2326da 100644
--- a/std/thing/description.c
+++ b/std/thing/description.c
@@ -88,7 +88,7 @@
   Set( P_CLONER, NOSETMETHOD|SECURED, F_MODE_AS );
 
   // Gibt es FPs ?
-  explore = (mixed *)EPMASTER->QueryExplore();
+  explore = ({<string*|int>*})EPMASTER->QueryExplore();
 
   return;
 }
@@ -121,7 +121,7 @@
 // Danach sollte der EPMASTER neu nach den Details befragt werden.
 visible void __reload_explore()
 {
-  explore = (mixed *)EPMASTER->QueryExplore();
+  explore = ({<string*|int>*})EPMASTER->QueryExplore();
   return;
 }
 
@@ -359,7 +359,7 @@
       case WEM:
       case WEN:
         if ( art && last=='e'&&QueryProp(P_GENDER) == MALE)
-          sh = (string)sh + "n";
+          sh = sh + "n";
         break;
 
       case WESSEN:
@@ -370,11 +370,11 @@
             case 'x':
             case 's':
             case 'z':
-              sh = (string)sh + "'";
+              sh = sh + "'";
               break;
 
           default:
-            sh = (string)sh + "s";
+            sh = sh + "s";
           }
         } 
         else
@@ -383,11 +383,11 @@
           {
             default:
               if (QueryProp(P_GENDER)!=FEMALE)
-                sh=(string)sh+"s";
+                sh=sh+"s";
               break;
             case 'e':
               if (QueryProp(P_GENDER)==MALE)
-                sh=(string)sh+"n";
+                sh=sh+"n";
             case 'x':
             case 's':
             case 'z':
@@ -398,7 +398,7 @@
   } /* pointerp(sh) */
 
   // RAW? Dann mal zurueck
-  if (demon == RAW) return (string)sh;
+  if (demon == RAW) return sh;
 
   // Selber Artikel suchen ...
   if (demon==2)
@@ -653,11 +653,11 @@
   if (!stringp(detail))
   {
     if (closurep(detail))
-      detail = (string)funcall(detail,key);
+      detail = ({string})funcall(detail,key);
     else if (mappingp(detail))
-      detail = (string)(detail[race]||detail[0]);
+      detail = detail[race] || detail[0];
     else if (pointerp(detail))
-      detail = (string)(detail[random(sizeof(detail))]);
+      detail = detail[random(sizeof(detail))];
   }
 
   // FP vergeben (so vorhanden ;-) )
@@ -722,7 +722,7 @@
   if (stringp(str)) 
       str = ({ str });
   // Aliase aufloesen und implizite Klassen addieren.
-  str = (string*)CLASSDB->AddImplicitClasses(str);
+  str = ({string*})CLASSDB->AddImplicitClasses(str);
   // Summe mit alten Klassen bilden und Doppelte eliminieren
   str = str + Query(P_CLASS, F_VALUE);
   Set( P_CLASS, m_indices(mkmapping(str)), F_VALUE);
@@ -737,7 +737,7 @@
       str = ({ str });
 
   // Aliase aufloesen und implizite Klassen addieren.
-  str = (string*)CLASSDB->AddImplicitClasses(str);
+  str = ({string*})CLASSDB->AddImplicitClasses(str);
 
   // Und alle - inklusive impliziter Klassen - entfernen
   // TODO: Pruefen, ob dies die richtige Entscheidung ist.
@@ -833,14 +833,14 @@
 // Anteil der Gruppe am Objekt
 public int QueryMaterialGroup( string matgroup )
 {
-  return (int)call_other( MATERIALDB, "MaterialGroup",
+  return ({int})call_other( MATERIALDB, "MaterialGroup",
                           QueryProp(P_MATERIAL), matgroup );
 }
 
 
 public string MaterialList( int casus, mixed idinf )
 {
-  return (string)call_other( MATERIALDB, "ConvMaterialList",
+  return ({string})call_other( MATERIALDB, "ConvMaterialList",
                              QueryProp(P_MATERIAL), casus, idinf );
 }
 
diff --git a/std/thing/moving.c b/std/thing/moving.c
index 978fe97..8845c10 100644
--- a/std/thing/moving.c
+++ b/std/thing/moving.c
@@ -41,11 +41,11 @@
       return ME_CANT_BE_TAKEN;
 
   // Gewicht ermitteln
-  if ( !(tmp = (int)QueryProp(P_TOTAL_WEIGHT)) )
-      tmp = (int)QueryProp(P_WEIGHT);
+  if ( !(tmp = ({int})QueryProp(P_TOTAL_WEIGHT)) )
+      tmp = ({int})QueryProp(P_WEIGHT);
         
   // Ist das Objekt nicht zu schwer?
-  if ( (tmp = (int)dest->MayAddWeight(tmp)) < 0) {
+  if ( (tmp = ({int})dest->MayAddWeight(tmp)) < 0) {
       if ( tmp == -2 ) return ME_TOO_HEAVY_FOR_ENV;
       return ME_TOO_HEAVY;
   }
@@ -87,7 +87,7 @@
   // Bewegung in Para-Welt-Raeume?
   // tmp ist die Ziel-Parallelweltnummer
   if (!environment()||!living(environment())||
-      !intp(tmp =(int)environment()->Query(P_PARA)))
+      !intp(tmp =({int})environment()->Query(P_PARA)))
     tmp=0;
     
   // Wenn das Objekt von einem in der Parawelt befindlichen Spieler
@@ -110,7 +110,7 @@
           if ( (find_object(fn) || ((file_size(fn+".c")>0||
                   (file_size(vc=implode(explode(fn,"/")[0..<2],"/")+
                   "/virtual_compiler.c")>0 &&
-                  !catch(tmp=(int)call_other(vc,"QueryValidObject",fn);
+                  !catch(tmp=({int})call_other(vc,"QueryValidObject",fn);
                     publish) && tmp>0)) &&
                   !catch(load_object( fn );publish))) &&
               (!fn->QueryProp(P_NO_PLAYERS) || QueryProp(P_TESTPLAYER)) )