[Orxonox-commit 7013] r11632 - code/branches/SOBv2_HS17/src/modules/superorxobros

zarron at orxonox.net zarron at orxonox.net
Mon Dec 4 16:00:45 CET 2017


Author: zarron
Date: 2017-12-04 16:00:44 +0100 (Mon, 04 Dec 2017)
New Revision: 11632

Modified:
   code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h
   code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc
Log:
Boss shoots now limited amount of Gumbas

Modified: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h	2017-12-04 14:57:10 UTC (rev 11631)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h	2017-12-04 15:00:44 UTC (rev 11632)
@@ -60,6 +60,7 @@
                 { return speed_; }
 
             bool hasCollided_;
+            SOBGumbaBoss* creator_;
         protected:
             float gravityAcceleration_;
             float speed_;
@@ -68,7 +69,7 @@
             Vector3 lastPos_;
             bool changeAllowed_;
             float changedOn_;
-            SOBGumbaBoss* creator_;
+
            
     };
 }

Modified: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc	2017-12-04 14:57:10 UTC (rev 11631)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc	2017-12-04 15:00:44 UTC (rev 11632)
@@ -53,9 +53,9 @@
     {
         RegisterObject(SOBGumbaBoss);
 
-        gumbaMaxTime_ = 4;
+        gumbaMaxTime_ = 1;
         gumbaTime_ = 0;
-        maxGumbas = 10; //Max Gumbas spawnable by a Boss
+        maxGumbas = 2; //Max Gumbas spawnable by a Boss
         
     }
 
@@ -90,9 +90,22 @@
     
         gumbaTime_ += dt;
 
-        if(gumbaTime_ > gumbaMaxTime_){
-            spawnGumba();
-            gumbaTime_ = 0;
+        if(gumbaTime_ > gumbaMaxTime_){ //Spawn Gumba
+            int gumbaCounter=0;
+
+            for (SOBGumba*  gumbaInstance : ObjectList<SOBGumba>())
+            {
+                if (gumbaInstance != nullptr && gumbaInstance->creator_==this)
+                {
+                    gumbaCounter++;
+                }
+            } 
+
+
+            if(gumbaCounter<maxGumbas){    
+                spawnGumba();
+                gumbaTime_ = 0;
+            }
         }
 
         int dir = 1;
@@ -113,6 +126,7 @@
          SOBGumba* gumba = new SOBGumba(center_->getContext());
          Vector3 spawnpos = this->getWorldPosition();
          spawnpos.z += 0;
+         gumba->creator_=this;
 
         if (gumba != nullptr && center_ != nullptr)
         {



More information about the Orxonox-commit mailing list