Kraeuter: age raus, stateflag rein

Der Timer age in den Kraeutern ist als Zeitinfo
ueberfluessig, da die Erschaffungszeit per
object_time() ermittelbar ist.
Gleichzeitig wurde age als Statusflag fuer den
Getrocknetzustand genutzt.
Daher jetzt age entfernt und object_time() benutzen
und den Status in der Variable state ablegen.

Change-Id: Ied8e8743329316ce6a353230df074760f1481b7a
diff --git a/std/items/kraeuter/kraut.c b/std/items/kraeuter/kraut.c
index 0669b8d..87adfb3 100644
--- a/std/items/kraeuter/kraut.c
+++ b/std/items/kraeuter/kraut.c
@@ -12,7 +12,7 @@
 // Die plantID wird fuer ungueltig erschaffene Kraeuter auf -1 gesetzt.
 #define DRIED_PLANT     -1
 
-private int age=time();
+private int state;
 // enthaelt die Nummer des Krauts
 private int plantId;
 // enthaelt den Pfad des clonenden Objekts
@@ -60,9 +60,9 @@
       return 0;
   if (plantId==-1)
       return str+" (unwirksam).\n";
-  else if (age==DRIED_PLANT)
+  else if (state==DRIED_PLANT)
      return str+" (getrocknet).\n";
-  else if (age+FRESH_TIME+PLANT_LIFETIME<time())
+  else if (object_time() + FRESH_TIME + PLANT_LIFETIME < time())
      return str+" (verfault).\n";
   return str+".\n";
 }
@@ -77,16 +77,15 @@
 {
   int factor;
   // schon getrocknet oder nicht aelter als 6 h? 
-  // Dann keine weitere Reduktion.
-  if ( age == DRIED_PLANT || age+FRESH_TIME > time()) 
+  // Dann keine (weitere) Reduktion.
+  if ( state == DRIED_PLANT || object_time() + FRESH_TIME > time())
     factor = 100;
   // >30 Stunden nach dem Pfluecken ist das Kraut verschimmelt.
-  else if ( age + FRESH_TIME + PLANT_LIFETIME < time() ) 
-    factor = 1;
+  else if ( object_time() + FRESH_TIME + PLANT_LIFETIME < time() )
   // Zeit zwischen 6 und 30 Stunden nach dem Pfluecken in 99 gleichmaessige
   // Abschnitte unterteilen. 24 h sind 86400 s, 86400/99 = 873.
   else
-    factor=(time()-age-FRESH_TIME)/873;
+    factor=(time() - object_time() - FRESH_TIME)/873;
 
   return QueryProp(P_QUALITY)*factor/100;
 }
@@ -94,7 +93,7 @@
 // Wie lange (in Sekunden) ist das Kraut noch haltbar?
 public int TimeToLive()
 {
-  if ( age == DRIED_PLANT )
+  if ( state == DRIED_PLANT )
     return __INT_MAX__;
   return object_time() + FRESH_TIME + PLANT_LIFETIME - time();
 }
@@ -110,7 +109,7 @@
 
 static string _query_nosell() 
 {
-  if (age != DRIED_PLANT)
+  if (state != DRIED_PLANT)
     return "Mit ungetrockneten Kraeutern handele ich nicht. Die verderben "
       "immer so schnell im Lager, und dann werde ich sie nicht wieder los.";
   return 0;
@@ -139,9 +138,9 @@
 public void DryPlant(int qual) 
 {
   // Keine mehrfache Trocknung zulassen.
-  if ( age == DRIED_PLANT )
+  if ( state == DRIED_PLANT )
     return;
- 
+
   // Nur bestimmte Objekte duerfen Trocknungen ausloesen.
   if ( member(DRYING_ALLOWED, load_name(previous_object())) == -1 )
     return;
@@ -149,10 +148,10 @@
   // Qualitaet auf 100 deckeln.
   if ( qual>100 )
     qual = 100;
-  
+
   // Qualitaet mittels PlantQuality() runterskalieren.
   qual = PlantQuality()*qual/100;
-  
+
   if ( qual < 1 ) {
     if(objectp(this_player()))
       tell_object(this_player(), 
@@ -161,7 +160,7 @@
     return;
   }
   // Kraut als getrocknet kennzeichnen.
-  age=DRIED_PLANT;
+  state=DRIED_PLANT;
   quality = qual;
 }
 
@@ -173,7 +172,6 @@
   if (plantId != 0)
     return -1;
   cloner=0;
-  age=time();
   if (catch(cloner=call_other(PLANTMASTER, "CheckPlant", new_id)) || !cloner)
     new_id = -1;
   return (plantId=new_id);
@@ -189,7 +187,7 @@
   return cloner;
 }
 
-nomask int QueryDried() 
+nomask int QueryDried()
 {
-  return (age == DRIED_PLANT);
+  return (state == DRIED_PLANT);
 }