Defanged regular shields, created super shields.
authorlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Tue, 21 Jul 2009 19:10:31 +0000 (19:10 +0000)
committerlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Tue, 21 Jul 2009 19:10:31 +0000 (19:10 +0000)
git-svn-id: svn+ssh://svn/var/repos/curfender@852 bc5cbbab-a4ec-0310-bb52-ff3d296db539

CHANGELOG
draw.cpp
main.cpp
powerup.cpp

index 02a929a..f33180e 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,4 @@
+Shields defanged, super shield powerup gives killer shields.
 Landers/crazies and crawlers are scaled as levels increase.
 Landers can change altitude.
 Made laser range more reasonable.
index 0db2256..8e527e6 100644 (file)
--- a/draw.cpp
+++ b/draw.cpp
@@ -26,6 +26,7 @@ int draw_object(game_object object, int drawlocation){
     offset = abs(drawlocation)-abs(620-object.y);  //left of player wrap correction
   };
     
+  if(object.number>=110&&object.number<=121&&object.phase==1){ attron(A_BOLD); };
   if((object.active==1&&object.x>=1&&object.x<=18&&offset>=0&&offset<=79)||((object.number>=200&&object.number<=230)&&(offset>=0&&offset<=79))){
     if(object.face==0){
       mvprintw(object.x,offset,"%s",object.line0);
@@ -46,6 +47,7 @@ int draw_object(game_object object, int drawlocation){
       mvprintw(object.x-1,offset,"%s",object.line2);
     };
   };
+  if(object.number>=110&&object.number<=121){ attroff(A_BOLD); };
   return drawlocation;
 
 }
index 33c817e..ca68c40 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -61,6 +61,7 @@ int shieldsleft = 400;
 int tripshot = 0;
 int laser = 0;
 int missile = 0;
+int super_shield = 0;
 int sound = 1;
 
 int main(int argc, char *argv[]){
@@ -958,6 +959,17 @@ int main(int argc, char *argv[]){
       };
     };
 
+    if(shieldup==1&&super_shield>0){
+      for(int shieldloop = 0; shieldloop<12; shieldloop++){
+        if(shields[shieldloop].phase==0){
+          shields[shieldloop].phase=1;
+          super_shield--;
+        } else {
+          shields[shieldloop].phase=0;
+        };
+      };
+    };
+
     //deplete shields if necessary.
     if(shieldup==1){
       if(shieldsleft>0){
@@ -995,6 +1007,9 @@ int main(int argc, char *argv[]){
        if(strncmp(powerups[puploop].line0, "S", 1)==0){
          shieldsleft = shieldsleft + 100;
        };
+       if(strncmp(powerups[puploop].line0, "K", 1)==0){
+         super_shield = super_shield + 100;
+       };
        if(strncmp(powerups[puploop].line0, "L", 1)==0){
          if(lives<4){
            lives++;
@@ -1297,7 +1312,7 @@ int main(int argc, char *argv[]){
            };
          };
        };
-       if(shieldup==1){
+       if(shieldup==1&&super_shield>0){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(landers[landerloop], shields[shieldloop])==1){
              boom_object(boomstuff, landers[landerloop], boomsound, boomchannel);
@@ -1334,7 +1349,7 @@ int main(int argc, char *argv[]){
            };
          };
        };
-       if(shieldup==1){
+       if(shieldup==1&&super_shield>0){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(crazies[crazyloop], shields[shieldloop])==1){
              boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel);
@@ -1371,7 +1386,7 @@ int main(int argc, char *argv[]){
            };
          };
        };
-       if(shieldup==1){
+       if(shieldup==1&&super_shield>0){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(crawlers[crawlerloop], shields[shieldloop])==1){
              boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel);
index 1ee6f92..ad0c2c1 100644 (file)
@@ -18,17 +18,20 @@ game_object powerup_init(game_object powerup, game_object object){
     };
   powerup.speed = 1;
   
-  int fodder = rand()%1200;
+  int fodder = rand()%1500;
 
-  if(fodder>=1000){
+  if(fodder>=1200){
     strcpy (powerup.line0, "M");
   };
-  if(fodder>=800&&fodder<1000){
+  if(fodder>=1000&&fodder<1200){
     strcpy (powerup.line0, "T");
   };
-  if(fodder>=600&&fodder<800){
+  if(fodder>=800&&fodder<1000){
     strcpy (powerup.line0, "S");
   };
+  if(fodder>=600&&fodder<800){
+    strcpy (powerup.line0, "K");
+  };
   if(fodder>=400&&fodder<600){
     strcpy (powerup.line0, "L");
   };