Downloads containing pinball2k15.j2as

Downloads
Name Author Game Mode Rating
TSF with JJ2+ Only: Anniversary Bash 20 Levels Jazz2Online Multiple N/A Download file
TSF with JJ2+ Only: Pinball Arena 2k15Featured Download Blackraptor Capture the flag 9.2 Download file
TSF with JJ2+ Only: Anniversary Bash 17 Levels Jazz2Online Multiple N/A Download file

File preview

  1.  bool killed = false;
  2.  
  3.  
  4.  bool playerInDeathRoom(jjPLAYER@ play) {
  5.   return play.xPos > 155*32 &&
  6.          play .xPos <= 178*32 &&
  7.          play.yPos > 70*32 &&
  8.          play.yPos <= 84*32;
  9. }
  10.  
  11. bool lasersOn() {
  12.         return jjMaskedHLine(155*32, 32, 78*32);
  13. }
  14.  
  15.  
  16.  void onLevelLoad() {
  17.  
  18.         jjTexturedBGStyle = TEXTURE::TILEMENU;
  19.  
  20.  }
  21.  
  22. void onMain(){
  23.   jjOBJ@ obj;
  24.   for(int i=0;i<jjObjectCount;i++)
  25.     {
  26.     @obj=jjObjects[i];
  27.     if(!obj.isActive) {continue;}
  28.         switch(obj.eventID)
  29.          {
  30.         case OBJECT::GUN8AMMO3:
  31.             if(obj.xPos > 82*32 && obj.xPos < 91*32) {
  32.                 obj.xPos=86*32+64*jjSin(jjGameTicks*5+obj.xOrg*32/3);
  33.                 obj.yPos=75*32+64*jjCos(jjGameTicks*5+obj.xOrg*32/3);
  34.                 obj.xSpeed=obj.ySpeed=0;
  35.                 obj.determineCurAnim(ANIM::AMMO,61);
  36.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  37.                   } else if(obj.xPos > 131*32 && obj.xPos < 145*32) {
  38.                 obj.xPos=139*32+64*jjSin(jjGameTicks*5+obj.xOrg*32/3);
  39.                 obj.yPos=81*32+64*jjCos(jjGameTicks*5+obj.xOrg*32/3);
  40.                 obj.xSpeed=obj.ySpeed=0;
  41.                 obj.determineCurAnim(ANIM::AMMO,61);
  42.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  43.                                 } else if(obj.xPos > 146*32 && obj.xPos < 155*32) {
  44.                 obj.xPos=151*32+64*jjSin(jjGameTicks*5+obj.xOrg*32/3);
  45.                 obj.yPos=81*32+64*jjCos(jjGameTicks*5+obj.xOrg*32/3);
  46.                 obj.xSpeed=obj.ySpeed=0;
  47.                 obj.determineCurAnim(ANIM::AMMO,61);
  48.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  49.                                  } else if(obj.xPos > 178*32 && obj.xPos < 188*32) {
  50.                 obj.xPos=182*32+64*jjSin(-jjGameTicks*5+obj.xOrg*32/3);
  51.                 obj.yPos=81*32+64*jjCos(-jjGameTicks*5+obj.xOrg*32/3);
  52.                 obj.xSpeed=obj.ySpeed=0;
  53.                 obj.determineCurAnim(ANIM::AMMO,61);
  54.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  55.                                  } else if(obj.xPos > 189*32 && obj.xPos < 197*32) {
  56.                 obj.xPos=194*32+64*jjSin(-jjGameTicks*5+obj.xOrg*32/3);
  57.                 obj.yPos=81*32+64*jjCos(-jjGameTicks*5+obj.xOrg*32/3);
  58.                 obj.xSpeed=obj.ySpeed=0;
  59.                 obj.determineCurAnim(ANIM::AMMO,61);
  60.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  61.                                  } else if(obj.xPos > 240*32 && obj.xPos < 255*32) {
  62.                 obj.xPos=247*32+64*jjSin(-jjGameTicks*5+obj.xOrg*32/3);
  63.                 obj.yPos=75*32+64*jjCos(-jjGameTicks*5+obj.xOrg*32/3);
  64.                 obj.xSpeed=obj.ySpeed=0;
  65.                 obj.determineCurAnim(ANIM::AMMO,61);
  66.                 if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,12);}
  67.                                 }
  68.                                
  69.         //case OBJECT::GUN8AMMO3:
  70.     //    obj.xPos=139.5*32+64*jjSin(jjGameTicks*5+obj.xOrg*32/4);
  71.     //    obj.yPos=82.5*32+64*jjCos(jjGameTicks*5+obj.xOrg*32/4);
  72.     //    obj.xSpeed=obj.ySpeed=0;
  73.     //    obj.determineCurAnim(ANIM::AMMO,63);
  74.        // if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,63);}
  75.     //    break;
  76.         //case OBJECT::GUN8AMMO3:
  77.     //    obj.xPos=150.5*32+64*jjSin(jjGameTicks*5+obj.xOrg*32/4);
  78.     //   obj.yPos=81.5*32+64*jjCos(jjGameTicks*5+obj.xOrg*32/4);
  79.     //    obj.xSpeed=obj.ySpeed=0;
  80.     //    obj.determineCurAnim(ANIM::AMMO,63);
  81.        // if(jjGameTicks%7==0) {createExplosion(obj.xPos,obj.yPos,ANIM::AMMO,63);}
  82.     //    break;
  83.             }
  84.                         }
  85.  
  86.  
  87.   if(lasersOn() && jjGameTicks % 2 == 0) {
  88.         makeSpark(177*32,78*32);
  89.         makeSpark(156*32,78*32);
  90.         makeSpark(166*32,82*32);
  91.         makeSpark(162*32,80*32);
  92.         makeSpark(171*32,80*32);
  93.         makeSpark(177*32,71*32,true);
  94.         makeSpark(156*32,71*32,true);
  95.         makeSpark(163*32,75*32,true);
  96.         makeSpark(170*32,75*32,true);
  97.   }
  98.  
  99.  
  100.   jjPLAYER@ play = jjLocalPlayers[0];
  101.   if(playerInDeathRoom(play))   {
  102.      if(lasersOn() && !killed) {
  103.         if(jjGameTicks % 30 == 0) {
  104.                         play.hurt(1,true);
  105.                         if(play.health == 0)
  106.                                 killed = true;
  107.                 }
  108.      }
  109.   } else
  110.         killed = false;
  111.  }
  112.  
  113. void onPlayer(){
  114.   p.powerup[WEAPON::GUN8]=p.powerup[WEAPON::GUN8]=true;
  115.   }
  116.  
  117.   void createExplosion(float x,float y,ANIM::Set set,uint8 anim){
  118.   int ID=jjAddObject(OBJECT::EXPLOSION,x,y);
  119.   jjObjects[ID].determineCurAnim(set,anim);
  120.   }
  121.  
  122.   void onFunction5(jjPLAYER@ p, bool offset) {
  123.         p.antiGrav = offset;
  124.         }
  125.        
  126. void Spark(jjOBJ@ spark) {
  127.         spark.age++;
  128.         spark.xPos = spark.xPos + spark.xSpeed;
  129.         spark.yPos = spark.yPos + spark.ySpeed;
  130.         if(spark.doesHurt == 0)
  131.                 spark.ySpeed = spark.ySpeed + 0.1;
  132.         else
  133.                 spark.ySpeed = spark.ySpeed - 0.1;
  134.         if(spark.age > 103)
  135.                 spark.delete();
  136.         spark.determineCurFrame();
  137.         spark.draw();
  138. }
  139.        
  140. void makeSpark(float xPos, float yPos, bool up=false) {
  141.         float ySpeed;
  142.         if(up)
  143.                 ySpeed = (float(jjRandom() % 9000)-6500)/1000;
  144.         else
  145.                 ySpeed = (float(jjRandom() % 9000)-3500)/1000;
  146.  
  147.         int ID=jjAddObject(OBJECT::EXPLOSION,xPos,yPos);
  148.         jjObjects[ID].determineCurAnim(ANIM::AMMO,12);
  149.         jjObjects[ID].xPos = xPos;
  150.         jjObjects[ID].yPos = yPos + 12;
  151.         jjObjects[ID].xSpeed = jjRandom() % 2 == 0 ? 1.5 : -1.5;
  152.         jjObjects[ID].ySpeed = ySpeed;
  153.         jjObjects[ID].doesHurt = up ? 1 : 0;
  154.         jjObjects[ID].behavior = Spark;
  155.  }
  156.  
  157.  void onFunction7(jjPLAYER@ player) {
  158.         player.showText("@@@This mighty web we've spun can save us@From all the weight above...@But who avoids the hands of time?@I pray its yours and mine@Your life has only just begun and what we have@Can never be undone@I know there's pieces you must find,@You're out of sight but not out of mind...");
  159.         }
  160.