Fixed boss, missile and crazy chase logic.
authorlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Sat, 13 Jun 2009 04:08:32 +0000 (04:08 +0000)
committerlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Sat, 13 Jun 2009 04:08:32 +0000 (04:08 +0000)
git-svn-id: svn+ssh://svn/var/repos/curfender@837 bc5cbbab-a4ec-0310-bb52-ff3d296db539

motion.cpp

index 1352496..898e4fa 100644 (file)
@@ -24,12 +24,12 @@ game_object change_elevation(game_object object){
 }
 
 game_object boss_motion(game_object object, game_object player){
-  if(player.ytrail[7]<object.y){ 
+  if(((player.ytrail[7]<object.y)&&(abs(player.ytrail[7]-object.y)<310))||((player.ytrail[7]>object.y)&&(abs(player.ytrail[7]-object.y)>310))){ 
     if(player.xtrail[7]<object.x){ object.direction = 7; };
     if(player.xtrail[7]==object.x){ object.direction = 4; };
     if(player.xtrail[7]>object.x){ object.direction = 1; };
   };
-  if(player.ytrail[7]>=object.y){
+  if(((player.ytrail[7]>object.y)&&(abs(player.ytrail[7]-object.y)<310))||((player.ytrail[7]<object.y)&&(abs(player.ytrail[7]-object.y)>310))){ 
     if(player.xtrail[7]<object.x){ object.direction = 9; };
     if(player.xtrail[7]==object.x){ object.direction = 6; };
     if(player.xtrail[7]>object.x){ object.direction = 3; };
@@ -39,12 +39,12 @@ game_object boss_motion(game_object object, game_object player){
 }
 
 game_object crazy_motion(game_object object, game_object player){
-  if(player.ytrail[9]<object.y){ 
+  if(((player.ytrail[9]<object.y)&&(abs(player.ytrail[9]-object.y)<310))||((player.ytrail[9]>object.y)&&(abs(player.ytrail[9]-object.y)>310))){ 
     if(player.xtrail[9]<object.x){ object.direction = 7; };
     if(player.xtrail[9]==object.x){ object.direction = 4; };
     if(player.xtrail[9]>object.x){ object.direction = 1; };
   };
-  if(player.ytrail[9]>=object.y){
+  if(((player.ytrail[9]>object.y)&&(abs(player.ytrail[9]-object.y)<310))||((player.ytrail[9]<object.y)&&(abs(player.ytrail[9]-object.y)>310))){ 
     if(player.xtrail[9]<object.x){ object.direction = 9; };
     if(player.xtrail[9]==object.x){ object.direction = 6; };
     if(player.xtrail[9]>object.x){ object.direction = 3; };
@@ -54,12 +54,12 @@ game_object crazy_motion(game_object object, game_object player){
 }
 
 game_object missile_motion(game_object object, game_object lander){
-  if(lander.y<object.y){ 
+  if(((lander.y<object.y)&&(abs(lander.y-object.y)<310))||((lander.y>object.y)&&(abs(lander.y-object.y)>310))){  
     if(lander.x<object.x){ object.x-- ; };
     if(lander.x==object.x){ object.direction = 4; };
     if(lander.x>object.x){ object.x++; };
   };
-  if(lander.y>=object.y){
+  if(((lander.y>object.y)&&(abs(lander.y-object.y)<310))||((lander.y<object.y)&&(abs(lander.y-object.y)>310))){  
     if(lander.x<object.x){ object.x--; };
     if(lander.x==object.x){ object.direction = 6; };
     if(lander.x>object.x){ object.x++; };