Double Blaster

Version:

1.0

Added on:

27 Jul 2013 12:24

Tags:

No tags added for this snippet.

Description:
It fires two blaster bullets at a time, like the blaster of the bird.
void CreateBullet1(int objectID) {
  int playerID = jjObjects[objectID].creator - 32768;
  int bulletID = jjAddObject(OBJECT::BLASTERBULLET, jjPlayers[playerID].xPos, jjPlayers[playerID].yPos, jjPlayers[playerID].playerID, CREATOR::PLAYER);
  jjObjects[bulletID].direction = jjPlayers[playerID].direction;
  jjObjects[bulletID].ySpeed = 2;
  jjObjects[bulletID].xSpeed = (jjObjects[bulletID].direction*10)+p.xSpeed*3;
  jjObjects[bulletID].xAcc = jjObjects[bulletID].direction*5;
}

void CreateBullet2(int objectID) {
  int playerID = jjObjects[objectID].creator - 32768;
  int bulletID = jjAddObject(OBJECT::BLASTERBULLET, jjPlayers[playerID].xPos, jjPlayers[playerID].yPos, jjPlayers[playerID].playerID, CREATOR::PLAYER);
  jjObjects[bulletID].direction = jjPlayers[playerID].direction;
  jjObjects[bulletID].ySpeed = -2;
  jjObjects[bulletID].xSpeed = (jjObjects[bulletID].direction*10)+p.xSpeed*3;
  jjObjects[bulletID].xAcc = jjObjects[bulletID].direction*5;
}
 
void onMain() {

  p.ammo[9] = 3;
  
  for (int i = 0;  i < jjObjectCount; i++) {
    if (jjObjects[i].isActive && jjObjects[i].creatorType == CREATOR::PLAYER) {
    //Create bullet
      if (jjObjects[i].eventID == OBJECT::ELECTROBULLET && jjObjects[i].state != STATE::EXPLODE) {
        jjDeleteObject(i);
        CreateBullet1(i);
        CreateBullet2(i);
        continue;
      }
    }
  }
}