Index: branches/mountain_lake/src/lib/graphics/effects/cloud_effect.cc
===================================================================
--- branches/mountain_lake/src/lib/graphics/effects/cloud_effect.cc	(revision 8947)
+++ branches/mountain_lake/src/lib/graphics/effects/cloud_effect.cc	(revision 8948)
@@ -52,6 +52,6 @@
 
 CREATE_SCRIPTABLE_CLASS(CloudEffect, CL_CLOUD_EFFECT,
-                        addMethod("shellSkyColor", ExecutorLua4<CloudEffect,float,float,float,float>(&CloudEffect::shellSkyColor))
-                      ->addMethod("shellCloudColor", ExecutorLua4<CloudEffect,float,float,float,float>(&CloudEffect::shellCloudColor))
+                        addMethod("skyColor", ExecutorLua4<CloudEffect,float,float,float,float>(&CloudEffect::shellSkyColor))
+                      ->addMethod("cloudColor", ExecutorLua4<CloudEffect,float,float,float,float>(&CloudEffect::shellCloudColor))
                        );
 
Index: branches/mountain_lake/src/world_entities/script_trigger.cc
===================================================================
--- branches/mountain_lake/src/world_entities/script_trigger.cc	(revision 8947)
+++ branches/mountain_lake/src/world_entities/script_trigger.cc	(revision 8948)
@@ -41,10 +41,10 @@
 
   returnCount = 1;
-  actionFinished = false;
+  scriptFinished = false;
   doDebugDraw = false;
   invert = false;
   scriptCalled = false;
   scriptIsOk = false;
-  triggerLasts = false;
+  triggerLasts = true;
   addToScript = false;
   
@@ -52,10 +52,10 @@
   {
     
-  loadParams(root);
-  
-  if(addToScript)
-  {
-    script->addObject( "ScriptTrigger", this->getName());
-  }
+    loadParams(root);
+  
+    if(addToScript && scriptIsOk)
+    {
+      script->addObject( "ScriptTrigger", this->getName());
+    }
   
   }
@@ -79,42 +79,39 @@
 {
 
-    WorldEntity ::loadParams(root);
-
-    LoadParam(root, "file", this, ScriptTrigger, setScript)
-        .describe("the fileName of the script, that should be triggered by this script trigger")
-        .defaultValues("");
-    LoadParam(root, "function", this, ScriptTrigger, setFunction)
-        .describe("the function of the script, that should be triggered by this script trigger")
-        .defaultValues("");
-    LoadParam(root, "abs-coor", this, ScriptTrigger, setAbsCoor)
-        .describe("where this script trigger should be located")
-        .defaultValues("");
-    LoadParam(root, "radius", this, ScriptTrigger, setRadius)
-        .describe("the fileName of the script, that should be triggered by this script trigger")
-        .defaultValues(0);
-    LoadParam(root, "delay", this, ScriptTrigger, setDelay)
-        .describe("the delay after which the funtion sould be triggered")
-        .defaultValues(0);
-    LoadParam(root, "worldentity", this, ScriptTrigger, setTarget)
-        .describe("The name of the target as it is in the *.oxw file")
-        .defaultValues("");
-    LoadParam(root, "triggerparent", this, ScriptTrigger, setTriggerParent)
-        .describe("The name of the parent as it is in the *.oxw file")
-        .defaultValues("");
-    LoadParam(root, "callonce", this, ScriptTrigger, setCallOnce)
-        .describe("True if the script shoul only be called once")
-        .defaultValues("");
-    LoadParam(root, "invert", this, ScriptTrigger, setInvert)
-        .describe("")
-        .defaultValues("");
-    LoadParam(root, "triggerlasts", this, ScriptTrigger, setTriggerLasts)
-        .describe("")
-        .defaultValues("");
-    LoadParam(root, "debugdraw", this, ScriptTrigger, setDebugDraw)
-        .describe("True if the script should only be called once")
-        .defaultValues("");
-    LoadParam(root, "addtoscript", this, ScriptTrigger, setAddToScript)
-        .describe("True if this scripttrigger should be aviable in the script")
-        .defaultValues("");
+  WorldEntity ::loadParams(root);
+
+  LoadParam(root, "file", this, ScriptTrigger, setScript)
+      .describe("the fileName of the script, that should be triggered by this script trigger")
+      .defaultValues("");
+  LoadParam(root, "function", this, ScriptTrigger, setFunction)
+      .describe("the function of the script, that should be triggered by this script trigger")
+      .defaultValues("");
+  LoadParam(root, "abs-coor", this, ScriptTrigger, setAbsCoor)
+      .describe("where this script trigger should be located")
+      .defaultValues("");
+  LoadParam(root, "radius", this, ScriptTrigger, setRadius)
+      .describe("the fileName of the script, that should be triggered by this script trigger")
+      .defaultValues(0);
+  LoadParam(root, "delay", this, ScriptTrigger, setDelay)
+      .describe("the delay after which the funtion sould be triggered")
+      .defaultValues(0);
+  LoadParam(root, "worldentity", this, ScriptTrigger, setTarget)
+      .describe("The name of the target as it is in the *.oxw file")
+      .defaultValues("");
+  LoadParam(root, "triggerparent", this, ScriptTrigger, setTriggerParent)
+      .describe("The name of the parent as it is in the *.oxw file")
+      .defaultValues("");
+  LoadParam(root, "invert", this, ScriptTrigger, setInvert)
+      .describe("")
+      .defaultValues("false");
+  LoadParam(root, "triggerlasts", this, ScriptTrigger, setTriggerLasts)
+      .describe("")
+      .defaultValues("true");
+  LoadParam(root, "debugdraw", this, ScriptTrigger, setDebugDraw)
+      .describe("")
+      .defaultValues("false");
+  LoadParam(root, "addtoscript", this, ScriptTrigger, setAddToScript)
+      .describe("True if this scripttrigger should be aviable in the script")
+      .defaultValues("false");
 }
 
@@ -159,5 +156,5 @@
 void ScriptTrigger::tick(float timestep)
 {
-  if(actionFinished) return;
+  if(scriptFinished) return;
 
   if(triggerLasts && scriptCalled)
@@ -168,30 +165,14 @@
   
   if( !invert && this->distance(target) < radius)
- {
-  if(!callOnce)
-   {
+  {
     executeAction(timestep);
     scriptCalled = true;
-   }
-  else if(callOnce && !scriptCalled)
-  {
-   executeAction(timestep);
-   scriptCalled = true;
-  }
-  
- }
- else if( invert && this->distance(target) > radius)
- {
-   if(!callOnce)
-   {
-     executeAction(timestep);
-   }
-   else if(callOnce && !scriptCalled)
-   {
-     executeAction(timestep);
-     scriptCalled = true;
-   }
-   
- }
+  
+  }
+  else if( invert && this->distance(target) > radius)
+  {
+    executeAction(timestep); 
+    scriptCalled = true;
+  }
  //else
    //printf("SCRIPTTRIGGER: target out of range\n");
@@ -202,17 +183,18 @@
 void ScriptTrigger::executeAction(float timestep)
 {
-     if(scriptIsOk)
-     {
+  
+  if(scriptIsOk)
+  {
        //testScriptingFramework();
-     if(!(script->selectFunction(this->functionName,returnCount)) )
-       printf("Error ScriptTrigger: Selection of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());
-     
-     script->pushParam( timestep, this->functionName);
-     
-     if( !(script->executeFunction()) )
-       printf("Error ScriptTrigger: Execution of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());
-     
-     actionFinished = script->getReturnedBool();
-     }
+    if(!(script->selectFunction(this->functionName,returnCount)) )
+      printf("Error ScriptTrigger: Selection of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());
+     
+    script->pushParam( timestep, this->functionName);
+     
+    if( !(script->executeFunction()) )
+      printf("Error ScriptTrigger: Execution of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());
+     
+    scriptFinished = script->getReturnedBool();
+  }
      
      
@@ -237,5 +219,5 @@
 /*
  void ScriptTrigger::testScriptingFramework()
- {
+{
    std::string file("lunartest2.lua");
    //get script
Index: branches/mountain_lake/src/world_entities/script_trigger.h
===================================================================
--- branches/mountain_lake/src/world_entities/script_trigger.h	(revision 8947)
+++ branches/mountain_lake/src/world_entities/script_trigger.h	(revision 8948)
@@ -35,5 +35,4 @@
     void setTarget(WorldEntity* target) { if(target!=NULL) this->target=target; }
     void setTriggerParent(const std::string& name);
-    void setCallOnce(const bool call) { this->callOnce = call; }
     void setTriggerLasts(const bool lasts) { this->triggerLasts = lasts; }
     void setInvert(const bool inv) { this->invert = invert; }
@@ -51,5 +50,4 @@
 
     WorldEntity* target;
-    bool         callOnce;
     bool         triggerLasts;
     bool         invert;
@@ -63,5 +61,5 @@
     bool         scriptCalled;
     bool         scriptIsOk;
-    bool         actionFinished;
+    bool         scriptFinished;
     int          returnCount;        //TODO: set return count correctly
 
