Downloads containing BubbleGun.asc

Downloads
Name Author Game Mode Rating
JJ2+ Only: violetclm DOM Episodes I... Violet CLM Custom / Concept N/A Download file
TSF with JJ2+ Only: Sommerdamm Loon Capture the flag N/A Download file
TSF with JJ2+ Only: Anniversary Bash 22 levels Jazz2Online Multiple N/A Download file
TSF with JJ2+ Only: The AbyssFeatured Download PurpleJazz Battle 9.8 Download file
TSF with JJ2+ Only: Umbral ThicketFeatured Download PurpleJazz Battle 9.5 Download file
Custom Weapons...Featured Download Violet CLM Other 10 Download file

File preview

  1. #pragma require "BubbleGun.asc"
  2. #include "MLLE-Weapons.asc"
  3. #pragma require "BubbleGun-mlle.j2a"
  4.  
  5. namespace BubbleGun {
  6.         class Weapon : MLLEWeapons::WeaponInterface {
  7.                 Weapon() {
  8.                         super(
  9.                                 regularObjectTemplate: MLLEWeapons::ObjectTemplate(
  10.                                         xSpeed: 1.5,
  11.                                         xAcc: 0.125,
  12.                                         animSpeed: 1,
  13.                                         killAnim: jjAnimSets[ANIM::AMMO].firstAnim + 82,
  14.                                         curAnim: jjAnimSets[ANIM::AMMO].firstAnim + 8,
  15.                                         lightType: LIGHT::POINT2,
  16.                                         counterEnd: 105,
  17.                                         state: STATE::FLY
  18.                                 ),
  19.                                 powerupObjectTemplate: MLLEWeapons::ObjectTemplate(
  20.                                         xSpeed: 2,
  21.                                         xAcc: 0.1875,
  22.                                         animSpeed: 2,
  23.                                         killAnim: jjAnimSets[ANIM::AMMO].firstAnim + 82,
  24.                                         curAnim: 0,
  25.                                         lightType: LIGHT::POINT2,
  26.                                         counterEnd: 105,
  27.                                         state: STATE::FLY
  28.                                 ),
  29.                                 animSetFilename: "BubbleGun-mlle.j2a",
  30.                                 pickupAnimation: jjAnimSets[ANIM::AMMO].firstAnim + 8,
  31.                                 poweredUpPickupAnimation: 0,
  32.                                 ammoCrateAnimation: 2,
  33.                                 powerupAnimation: 1,
  34.                                 behavior: function(obj, powerup) {
  35.                                         jjSample(obj.xPos, obj.yPos, SOUND::COMMON_PLOP2);
  36.                                         obj.behavior = Behavior;
  37.                                 }
  38.                         );
  39.                 }
  40.         }
  41.        
  42.         void Behavior(jjOBJ@ bubble) {
  43.                 if (jjMaskedPixel(int(bubble.xPos) + int(bubble.xSpeed), int(bubble.yPos)) || jjMaskedPixel(int(bubble.xPos) - int(bubble.xSpeed), int(bubble.yPos)) || jjMaskedPixel(int(bubble.xPos), int(bubble.yPos) + int(bubble.ySpeed)) || jjMaskedPixel(int(bubble.xPos), int(bubble.yPos) - int(bubble.ySpeed))) {
  44.                         jjSample(bubble.xPos, bubble.yPos, SOUND::P2_SPLOUT);
  45.                 }
  46.                
  47.                 bubble.behave(BEHAVIOR::WATERSHIELDBULLET);
  48.                
  49.                 if (MLLEWeapons::HelpfulBulletFunctions::IsPowerup(bubble) && bubble.state == STATE::FLY && bubble.counter > 0) {
  50.                         switch (bubble.direction) {
  51.                                 case 1: bubble.xSpeed -= 0.08; bubble.ySpeed -= 0.08; break;
  52.                                 case -1: bubble.xSpeed += 0.08; bubble.ySpeed -= 0.08; break;
  53.                         }
  54.                 }
  55.         }
  56. }