Downloads containing ab24btl18.j2as

Downloads
Name Author Game Mode Rating
TSF with JJ2+ Only: Anniversary Bash 24 Battle PurpleJazz Battle N/A Download file

File preview

  1. const bool MLLESetupSuccessful = MLLE::Setup(array<MLLEWeaponApply@> = {null, null, null, NapsWeapons::HornetGun(), null, null, null, null, null}); ///@MLLE-Generated
  2. #include "MLLE-Include-1.5w.asc" ///@MLLE-Generated
  3. #pragma require "ab24btl18-MLLE-Data-1.j2l" ///@MLLE-Generated
  4. #pragma require "ab24btl18.j2l" ///@MLLE-Generated
  5. #include "hornetgun.asc" ///@MLLE-Generated
  6. #pragma require "hornetgun.asc" ///@MLLE-Generated
  7.  
  8. #pragma require "NapsMEV0-3-29.asc"
  9. #include "NapsMEV0-3-29.asc"
  10.  
  11. array<WaspWorkers@> Wasps();
  12. array<array<Waypoint@>> Waypoints();
  13.  
  14. void onPlayer(jjPLAYER@ play) {
  15.     NapModifier::onPlayerModifierHook(play);
  16.        
  17.         overSeer(play);
  18. }
  19. bool onDrawAmmo(jjPLAYER@ player, jjCANVAS@ canvas) {
  20.         return MLLE::WeaponHook.drawAmmo(player, canvas);
  21. }
  22.  
  23. /////////////////////////////////////////////////////////
  24.  
  25. const bool seeWaypoints = false;
  26. bool seeWasps = true;
  27. bool waspsSpawn = false;
  28.  
  29. void spawnWaypoints() {
  30.         Waypoint(70*32,16*32,0,0);
  31.         Waypoint(18*32,12*32,0,1);
  32.         Waypoint(34*32,11*32,0,2);
  33.         Waypoint(98*32,20*32,0,3,70*3);
  34.         Waypoint(84*32,29*32,0,4);
  35.         Waypoint(95*32,30*32,0,5);
  36.         Waypoint(100*32,40*32,0,6);    
  37.        
  38.         Waypoint(50*32,10*32,1,0);
  39.         Waypoint(45*32,25*32,1,1);
  40.         Waypoint(40*32,30*32,1,2);
  41.         Waypoint(42*32,31*32,1,3);
  42.         Waypoint(24*32,28*32,1,4);
  43.        
  44.         Waypoint(10*32,31*32,2,0);
  45.         Waypoint(16*32,28*32,2,1);
  46.         Waypoint(55*32,38*32,2,2);
  47.         Waypoint(11*32,11*32,2,3);
  48.        
  49.         Waypoint(88*32,40*32,3,0);
  50.         Waypoint(110*32,18*32,3,1);
  51.         Waypoint(100*32,18*32,3,2);
  52.         Waypoint(112*32,7*32,3,3);
  53.        
  54.         Waypoint(60*32,10*32,4,0);
  55.         Waypoint(74*32,2*32,4,1);
  56.         Waypoint(75*32,25*32,4,2);
  57.        
  58.         Waypoint(55*32,47*32,5,0);
  59.         Waypoint(50*32,35*32,5,1);
  60.         Waypoint(75*32,35*32,5,2);
  61.         Waypoint(78*32,50*32,5,3);
  62.  
  63.        
  64.        
  65. }
  66. void spawnWasps() {
  67.         WaspWorkers(16*32,16*32,0,3,0.1);
  68.         WaspWorkers(20*32,25*32,0,3,0.1);
  69.         WaspWorkers(0*32,40*32,0,3,0.1);
  70.         WaspWorkers(21*32,25*32,0,1,0.1);
  71.        
  72.         WaspWorkers(16*32,10*32,1,3,0.1);
  73.         WaspWorkers(20*32,25*32,1,3,0.1);
  74.        
  75.         WaspWorkers(16*32,10*32,2,3,0.5);
  76.         WaspWorkers(20*32,25*32,2,3,0.1);
  77.        
  78.         WaspWorkers(20*32,25*32,3,3,0.3);
  79.        
  80.         WaspWorkers(75*32,25*32,4,2,0.6);
  81.        
  82.         WaspWorkers(10*32,25*32,5,3,0.1);
  83.         WaspWorkers(22*32,25*32,5,3,0.3);
  84.         WaspWorkers(76*32,25*32,5,2,0.2);
  85. }
  86.  
  87. ////////////////////////////////////////////////////////
  88.  
  89.  
  90.  
  91.  
  92. void onLevelLoad() {
  93.         init();
  94.         if (seeWasps) {
  95.                 spawnWaypoints();
  96.                 spawnWasps();
  97.                 waspsSpawn = true;
  98.         }
  99. }
  100.  
  101. void onLevelBegin() {
  102.         if (jjIsServer || jjGameConnection == GAME::LOCAL) {
  103.                 jjChat("/n ab24btl19"); //sorry, have to do this for now
  104.         }
  105. }
  106.  
  107. class Waypoint {
  108.         int ID,position,timer;
  109.         float xPos,yPos;
  110.         Waypoint(){}
  111.         Waypoint(float xPixel, float yPixel,int waypointID,int pos, int wait = 0) {
  112.                 this.xPos = xPixel;
  113.                 this.yPos = yPixel;
  114.                 this.ID = waypointID;
  115.                 this.position = pos;
  116.                 this.timer = wait;
  117.                 if (Waypoints.length() <= uint(waypointID)) {
  118.                         Waypoints.resize(waypointID + 1);
  119.                 }
  120.                 if (Waypoints[waypointID].length() < uint(pos)) {
  121.                         Waypoints[waypointID].resize(pos + 1);
  122.                 }      
  123.                 Waypoints[waypointID].insertAt(pos,@this);
  124.         }
  125. }
  126.  
  127. void onDrawLayer7(jjPLAYER@ player, jjCANVAS@ canvas) {
  128.         if (seeWasps) {
  129.                 for (int i = 0;i < int(Wasps.length());i++) {
  130.                         WaspWorkers@ Wasp = Wasps[i];
  131.                         Wasp.running(canvas);
  132.                 }
  133.         }
  134.         if (seeWaypoints) {
  135.                 for (int i = 0;i < int(Waypoints.length());i++) {
  136.                         for (int j = 0;j < int(Waypoints[i].length());j++) {
  137.                                 Waypoint@ WP = Waypoints[i][j];
  138.                                 jjDrawString(WP.xPos,WP.yPos,"| " + i + "| " + j,STRING::SMALL,STRING::NORMAL,0,0,8);
  139.                         }
  140.                 }
  141.         }
  142. }
  143.  
  144. class WaspWorkers {
  145.         float xPos,yPos,xSpeed,ySpeed,maxSpeed,acc,timerWait;
  146.         int waypointLine;
  147.         int waypoint = -1;
  148.         WaspWorkers(){}
  149.         WaspWorkers(float xPixel,float yPixel,int waypointID,float maxspeed,float speed = 4) {
  150.                 this.xPos = xPixel;
  151.                 this.yPos = yPixel;
  152.                 this.maxSpeed = maxspeed;
  153.                 this.waypointLine = waypointID;
  154.                 this.acc = speed;
  155.                 Wasps.insertLast(@this);
  156.         }
  157.         void running(jjCANVAS@ canvas) {
  158.                 float targetXPos = 0;
  159.                 float targetYPos = 0;
  160.                 if (this.waypoint < int(Waypoints[waypointLine].length() - 1)) {
  161.                         targetXPos = Waypoints[waypointLine][waypoint + 1].xPos;
  162.                         targetYPos = Waypoints[waypointLine][waypoint + 1].yPos;
  163.                 } else {
  164.                         targetXPos = Waypoints[waypointLine][0].xPos;
  165.                         targetYPos = Waypoints[waypointLine][0].yPos;
  166.                 }
  167.                        
  168.                 if (this.xPos > targetXPos - 32*2 && this.xPos < targetXPos + 32*2 && this.yPos > targetYPos - 32*2 && this.yPos < targetYPos + 32*2 && (jjRandom() % 10 == 0)) {
  169.                         if (timerWait > 0) {
  170.                                 timerWait--;
  171.                         } else {
  172.                                 if (this.waypoint < int(Waypoints[waypointLine].length()) - 2) {
  173.                                         this.waypoint += 1;
  174.                                         this.timerWait = Waypoints[waypointLine][waypoint + 1].timer;
  175.                                 } else {
  176.                                         this.waypoint = -1;
  177.                                         this.timerWait = Waypoints[waypointLine][0].timer;
  178.                                 }
  179.                         }
  180.                 }
  181.                 const float PI = 3.1415927f;
  182.                 int destination = int(atan2(targetYPos - this.yPos , targetXPos - this.xPos)  * (512 / PI));
  183.                 this.xSpeed += acc * jjCos(destination);
  184.                 this.ySpeed += acc * jjSin(destination);
  185.                 if (this.xSpeed > this.maxSpeed) {
  186.                         this.xSpeed = this.maxSpeed;
  187.                 }
  188.                 if (this.xSpeed < -this.maxSpeed) {
  189.                         this.xSpeed = -this.maxSpeed;
  190.                 }
  191.                 if (this.ySpeed > this.maxSpeed) {
  192.                         this.ySpeed = this.maxSpeed;
  193.                 }
  194.                 if (this.ySpeed < -this.maxSpeed) {
  195.                         this.ySpeed = -this.maxSpeed;
  196.                 }
  197.                 this.xPos += this.xSpeed;
  198.                 this.yPos += this.ySpeed;
  199.                 uint curFrame = jjObjectPresets[OBJECT::SEEKERBULLET].curFrame + ((jjGameTicks % 63)/7);
  200.                 canvas.drawSpriteFromCurFrame(int(xPos),int(yPos),curFrame,xSpeed >= 0? 1 : -1,SPRITE::TINTED);
  201.         }
  202. }
  203.  
  204. int gamesWithPowerup = 0;
  205. int powerupGained = 0;
  206.  
  207. void overSeer(jjPLAYER@ play) {
  208.         if (powerupGained == gamesWithPowerup) {
  209.                 if (play.powerup[4]) {
  210.                         powerupGained++;
  211.                         jjSTREAM interestingBehavior;
  212.                         interestingBehavior.push(powerupGained);
  213.                         interestingBehavior.save("blghoneyData");
  214.                 }
  215.         }
  216. }
  217. bool onLocalChat(string &in text, CHAT::Type type) {
  218.         if (jjRegexMatch(text, "!wasp", true)) {
  219.                 if (seeWasps == true) {
  220.                         seeWasps = false;
  221.                         jjConsole("|||You have ||||||disabled|| wasps");
  222.                 }
  223.                 else {
  224.                         seeWasps = true;
  225.                         jjConsole("|||You have |||||enabled||| wasps");
  226.                         if (waspsSpawn == false) {
  227.                                 spawnWaypoints();
  228.                                 spawnWasps();
  229.                                 waspsSpawn = true;
  230.                         }
  231.                 }
  232.                 jjSTREAM wasp;
  233.                 wasp.push(seeWasps);
  234.                 wasp.save("blghoney.asdat");
  235.                 return true;
  236.         }
  237.         else return false;
  238. }
  239. void init() {
  240.         jjSTREAM settings("blghoney.asdat");
  241.         if (settings.isEmpty() == false) {
  242.                 settings.pop(seeWasps);
  243.         }
  244.         jjConsole("|||Wasps are currently " + (seeWasps? "|||||Enabled|||" : "||||||Disabled||") + ", type |||||||!wasp| to " + (seeWasps? "disable" : "enable") + " them");
  245.         jjSTREAM interesting("blghoneyData.asdat");
  246.         if (interesting.isEmpty() == false) {
  247.                 interesting.pop(gamesWithPowerup);
  248.                 powerupGained = gamesWithPowerup;
  249.         }
  250. }