Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

bug schedule

By: a guest on Aug 31st, 2011  |  syntax: C++  |  size: 3.24 KB  |  views: 49  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2. function EnemyMcGeeBehavior::onCollision(%srcObject, %dstObject, %srcRef, %dstRef, %time, %normal, %contacts, %points)
  3. {      
  4.         if(%dstObject.class $= "ChipClass")
  5.         {      
  6.                 echo("eMcG onColl::ChipClass");
  7.                 if($playersCollided != true)
  8.                 {
  9.                         if($ChipSwiping == true)
  10.                         {
  11.                                 echo("eMcG $ChipSwiping");
  12.                                 %srcObject.ChipSwipeAccount();
  13.                                 %dstObject.setCollisionActive(false, false);
  14.                                 //%srcObject.setCollisionActive(false, false);
  15.                         }
  16.                         if($EnemySwiping == true)
  17.                         {
  18.                                 echo("eMcG $EnemySwiping");
  19.                                 %srcObject.EnemySwipeAccount();
  20.                                 %dstObject.setCollisionActive(false, false);
  21.                                 //%srcObject.setCollisionActive(false, false);         
  22.                         }
  23.                 }
  24.                
  25.                 else if($playersCollided == true)
  26.                 {
  27.                         echo("... playersCollided == false");
  28.                         return;
  29.                 }
  30.  
  31.         }
  32. }
  33.  
  34. function EnemyMcGeeBehavior::ChipSwipeAccount(%this)
  35. {
  36.         if(EnemySwiping == true)
  37.         return;
  38.        
  39.         echo("eMcG ChipSwipeAccount function");
  40.         echo("$ChipSwiping should = 1 " @ $ChipSwiping);
  41.         echo("eMcG % time " @ Sim::getCurrentTime());
  42.         %eReaction = getRandom(1, 2);
  43.         echo("eMcG ::%eReaction dictates enemy reaction if 1 def, 2 smacked");
  44.         echo("eMcG %eReaction " @ %eReaction);
  45.         if(%eReaction == 1)
  46.         {
  47.                 echo("eMcG %eReaction == 1 so enemy defend.");
  48.                 //this means enemy succesfully defends
  49.                 %this.schedule(500, eRecover);
  50.                 %this.schedule(1000, reREreRE);
  51.                 $EnemyChangeState = true;
  52.                 $EnemyDefending = true;
  53.                 $EnemySmacked = false;
  54.                 ///will also have to change eChip mount pos.
  55.                 /*%this.enemyChip.mount($Enemy, -3, -3, true);*/
  56.  
  57.         }
  58.         else if(%eReaction == 2)
  59.         {
  60.                 echo("eMcG %eReaction == 2 so enemy smacked.");
  61.                 //this means enemy is smacked
  62.                 %this.schedule(500, eRecover);
  63.                 %this.schedule(1000, reREreRE);        
  64.                 $EnemyChangeState = true;
  65.                 $EnemyDefending = false;
  66.                 $EnemySmacked = true;
  67.                 //this means enemy loseshis chip
  68.                 %this.enemyChip.dismount();
  69.                 %this.enemyChip.setConstantForceY($Gravity);
  70.                 ///this var simply tells e to getChip uPon scheduled eRecover
  71.                 %this.lostChip = true;
  72.         }      
  73. }
  74.  
  75.  
  76. function EnemyMcGeeBehavior::reREreRE(%this)
  77. {
  78.         echo("G G G Gggggg GGG gggg G G g g ");
  79.         echo("G G G Gggggg GGG gggg G G g g ");
  80.         echo("G G G Gggggg GGG gggg G G g g ");
  81.         echo("G G G Gggggg GGG gggg G G g g ");
  82.         echo("G G G Gggggg GGG gggg G G g g ");
  83.         echo("G G G Gggggg GGG gggg G G g g ");
  84.         echo("G G G Gggggg GGG gggg G G g g ");
  85.         echo("G G G Gggggg GGG gggg G G g g ");
  86. }
  87.        
  88.  
  89. function EnemyMcGeeBehavior::eRecover(%this)
  90. {
  91.         $Chip.setCollisionActive(true, true);
  92.         echo("eMcG ::eRecover");
  93.         echo("eMcG ::eRecover");
  94.         echo("eMcG ::eRecover");
  95.         echo("eMcG ::eRecover");
  96.         return;
  97.         if($EnemyMounted == true)
  98.         {
  99.                 ///figure out time to drop chip.
  100.                 %ePos = $Enemy.position;
  101.                 if(%ePos > 10)
  102.                 {
  103.                         ///so walk right, drop
  104.                         $EnemyChangeState = true;
  105.                         $EnemyWalking = true;
  106.                         $EnemyWalkingRight = true;
  107.                         %this.schedule(1000, dropChip);
  108.                 }
  109.                 else if (%ePos < 10)
  110.                 {
  111.                         ///so walk left, drop.
  112.                         $EnemyChangeState = true;
  113.                         $EnemyWalking = true;
  114.                         $EnemyWalkingLeft = true;
  115.                         %this.schedule(1000, dropChip);                
  116.                 }
  117.         }
  118.         else if($EnemyMounted == false)
  119.         {
  120.                 $EnemyChangeState = true;
  121.                 $EnemyWalking = false;
  122.                 $EnemyWalkingLeft = true;
  123.                 $EnemyWalkingRight = true;
  124.                 $EnemyDefending = false;
  125.                 $EnemySmacking = false;
  126.         }              
  127. }