Downloads containing JC2lvl65.j2as

Downloads
Name Author Game Mode Rating
TSF with JJ2+ Only: RabbitCity 2 P4rr0t Single player 7.7 Download file

File preview

/*************************************************
Created by Parrot86 - RabbitCity 2: The Secret Room
*************************************************/
void onLevelLoad() {
	jjAlert("||Level Name: |Welcome To Airship 2 / 15");
	jjAlert("||RabbitCity 2: The Secret Room - Level: |65");
	jjAlert("");
	jjAlert("");

	jjTexturedBGFadePositionY = -0;
	
	// Blaster is limited ammo - Thank for zepect!
	jjWeapons[WEAPON::BLASTER].infinite = false;
	jjWeapons[WEAPON::BLASTER].maximum = maxBlaster;
}
//Blaster Reloading - Thank for zepect!
bool pressedR = false;

const int maxBlaster = 15;

void doReload() {
	for(int i = 0; i < jjLocalPlayerCount; i++)
	if(jjLocalPlayers[i].ammo[WEAPON::BLASTER] == 0)
	jjLocalPlayers[i].ammo[WEAPON::BLASTER] = maxBlaster;
}
bool onDrawAmmo(jjPLAYER@ player, jjCANVAS@ canvas) {
 if(player.ammo[WEAPON::BLASTER] == 0)
  canvas.drawString(80, jjResolutionHeight - 30, "Press [R] to reload your Blaster!", STRING::MEDIUM, STRING::BOUNCE, 1);
 return false;
}
// Doors - Thank for zepect!
array<bool> keyPressed(256, false); //arrays holds the state of the keys
int myArea = 0;

bool inArea(jjPLAYER@ p, int x1, int y1, int x2, int y2) {
	return ((p.xPos > (x1*32)) && (p.xPos < x2*32 + 32) && (p.yPos > (y1*32)) && (p.yPos < y2*32 + 32));
}
void onKeyDown(jjPLAYER@ p, int key) {
	if(key == 0x26) { //0x26 is up arrow key (all keys at http://msdn.microsoft.com/en-us/library/dd375731(VS.85).aspx)
		if(myArea == 1) p.warpToID(2, true);
		else if(myArea == 2) p.warpToID(1, true);
		else if(myArea == 3) p.warpToID(4, true);
		else if(myArea == 4) p.warpToID(3, true);
		else if(myArea == 13) p.warpToID(14, true);
		else if(myArea == 14) p.warpToID(13, true);
		else if(myArea == 15) p.warpToID(16, true);
		else if(myArea == 16) p.warpToID(15, true);
		else if(myArea == 17) p.warpToID(18, true);
		else if(myArea == 18) p.warpToID(17, true);
		else if(myArea == 19) p.warpToID(20, true);
		else if(myArea == 20) p.warpToID(19, true);
	}
}

void onPlayer(jjPLAYER@ p) {
	for(int i = 0; i < 256; i++) { //loop through all the keys
		if(jjKey[i] && !keyPressed[i]) {
			onKeyDown(p, i);
			keyPressed[i] = true;
		} else if(!jjKey[i] && keyPressed[i]) keyPressed[i] = false;
	}
	if(inArea(p, 601, 61, 601, 61)) myArea = 1;
	else if(inArea(p, 610, 101, 610, 101)) myArea = 2;
	else if(inArea(p, 644, 112, 644, 112)) myArea = 3;
	else if(inArea(p, 567, 72, 567, 72)) myArea = 4;
	else if(inArea(p, 393, 52, 393, 52)) myArea = 13;
	else if(inArea(p, 633, 140, 633, 140)) myArea = 14;
	else if(inArea(p, 370, 38, 370, 38)) myArea = 15;
	else if(inArea(p, 587, 144, 587, 144)) myArea = 16;
	else if(inArea(p, 150, 89, 150, 89)) myArea = 17;
	else if(inArea(p, 139, 142, 139, 142)) myArea = 18;
	else if(inArea(p, 150, 136, 150, 136)) myArea = 19;
	else if(inArea(p, 140, 83, 140, 83)) myArea = 20;
	else myArea = 0;
}

bool onDrawHealth(jjPLAYER@ player, jjCANVAS@ canvas) {
	if(myArea == 1 || myArea == 2 || myArea == 3 || myArea == 4 || myArea == 13 || myArea == 14 || myArea == 15 || myArea == 16 || myArea == 17 || myArea == 18 || myArea == 19 || myArea == 20) {
		canvas.drawString(135, 300, "Press UP to walk through!", STRING::MEDIUM, STRING::BOUNCE, 1);
	}
	return false;
}
void onMain() {
	if(jjKey[0x52] && !pressedR) {  
	doReload();
	pressedR = true;
	} else if(!jjKey[0x52]) pressedR = false;
  updateGems();
}

void updateGems()
{
  for(int i=1;i<jjObjectCount;i++)
  {
    if(jjObjects[i].isActive)
    {
      if(jjObjects[i].eventID==OBJECT::SUPERGEM)
      {
        jjObjects[i].var[0]=jjParameterGet(jjObjects[i].xOrg/32,jjObjects[i].yOrg/32,0,2)+1;
      }
      if(jjObjects[i].eventID==OBJECT::FLICKERGEM)
      {
        if(jjEventGet(jjObjects[i].xOrg/32,jjObjects[i].yOrg/32)==OBJECT::SUPERGEM)
        {
          jjObjects[i].var[0]=jjParameterGet(jjObjects[i].xOrg/32,jjObjects[i].yOrg/32,0,2)+1;
        }
        else if(jjEventGet(jjObjects[i].xOrg/32,jjObjects[i].yOrg/32+1)==OBJECT::GEMSTOMP)
        {
          jjObjects[i].var[0]=jjParameterGet(jjObjects[i].xOrg/32,jjObjects[i].yOrg/32+1,0,2)+1;
        }
        if(jjObjects[i].var[0]==2||jjObjects[i].var[0]==3)
        {
          jjObjects[i].points=500*(jjObjects[i].var[0]-1);
        }
      }
    }
  }
}
void onFunction1() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Looks ugly airship");
}
void onFunction2() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Whoa, another helicopter from the second police station");
}
void onFunction3() {
	p.kill();
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| AAAAHHH!");
}
void onFunction4() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Can I suicide this? It's fall in death...");
}
void onFunction5() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| No rabbit allowed ? WAT!");
}
void onFunction6() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Oh damn... video surveillance is here!");
}
void onFunction7() {
	p.warpToID(0,true);
	p.showText("@@@@Video Surveillance was detected you!", STRING::MEDIUM);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*******************************************");
	jjAlert("|*** WARNING!  PLAYER HAS BEEN DETECTED ***");
	jjAlert("|*******************************************");
	jjAlert("");
}
void onFunction8() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** NOTICE:  RESTRICTED AREA ***");
	jjAlert("This area is under 24hour video surveillance");
	jjAlert("|*** WARNING!  NO GUNS ALLOWED ***");
	jjAlert("");
}
void onFunction9() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** IT'S LOCKED ***");
	jjAlert("");
	jjAlert("Player:||||| Hmmm...");
}
void onFunction10() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Hide my blaster, because my gun is not allowed here...");
}
void onFunction11() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** IT'S LOCKED - ELEVATOR IS OUT OF ORDER ***");
	jjAlert("");
	jjAlert("Player:||||| this door will not open");
}
void onFunction12() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** WARNING ***");
	jjAlert("|*** ELEVATOR IS OUT OF ORDER - DO NOT ENTER ***");
	jjAlert("Player:||||| Bhe...");
}
void onFunction13() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Whooa, this airship's room is too huge! what a bad airship!");
}
void onFunction14() {
	p.kill();
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** Killed by Red Laser Of Death ***");
	jjAlert("");
	jjAlert("Player:||||| AUGH!!!");
}
void onFunction15() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Red laser ?");
}
void onFunction16() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Oh, Try hide boxes");
}
void onFunction17() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Cannon? What the hell");
}
void onFunction18() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Uh? This is Control laser cannon room!");
}
void onFunction19() {
	p.kill();
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** killed by Flame Burned ***");
	jjAlert("");
	jjAlert("Player:||||| AUGH!!!");
}
void onFunction20() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Jail rabbit only?  What is that ?");
}
void onFunction21() {
	p.warpToID(0,true);
	p.showText("@@@@Enemy was watched you!", STRING::MEDIUM);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*******************************************");
	jjAlert("|*** WARNING!  PLAYER HAS BEEN DETECTED ***");
	jjAlert("|*******************************************");
	jjAlert("");
}
void onFunction22() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Shh... It's two enemies, do not follow it");
}
void onFunction23() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("|*** IT'S LOCKED - BLUE ACCESS CARD REQIRED ***");
	jjAlert("");
	jjAlert("Player:||||| Blue card? Again!");
}
void onFunction24() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Whoa!");
}
void onFunction25() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Devan room??? Bleh...");
}
void onFunction26() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Oh, Devan room is here !");
}
void onFunction27() {
	jjAlert("|*** WARNING DO NOT USE starting fluid in big engines ***");
	jjAlert("|||*** CAUTION: This is big engine damage will be destroy your airship!");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Wow, is this really danger ?");
}
void onFunction28() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Whooooaaaa, biggest engine...");
}
void onFunction29() {
	p.showText("@@@@@@@@#YOU FOUND A SECRET!", STRING::MEDIUM);
}
void onFunction30() {
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| Uhm.... What happened to no more enemies ?");
}

//CameraFreezer with story
void onFunction31() {
	p.cameraFreeze(22*32, 14*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Charlotte:||||| Wow, what the hell...");
	jjAlert("Player:||||| Ssshhhhh.. silence...");	
}
void onFunction32() {
	p.cameraFreeze(67*32, 14*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("???:||||| ! ? !");
	jjAlert("");
	jjAlert("Charlotte:||||| Oops... sorry");
	jjAlert("Player:||||| Nooo... get out of hide boxes, quicly");	
}
void onFunction33() {
	p.cameraFreeze(110*32, 14*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("???:||||| OH PLAYER !");
	jjAlert("");
	jjAlert("");
	jjAlert("TUR TURF:||||| ? ? ?");	
}
void onFunction34() {
	p.cameraFreeze(150*32, 10*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("TUR TURF:||||| ? ? ?");
	jjAlert("TUR TURF:||||| Where is Player?");
	jjAlert("???:||||| Sorry, i dont know...");	
}
void onFunction35() {
	p.cameraFreeze(184*32, 10*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("TUR TURF:||||| Damn you! You are lying!");
	jjAlert("???:||||| What ?!?");
	jjAlert("TUR TURF:||||| Get jail rabbit!");
	jjAlert("???:||||| Nooooo !");
}
void onFunction36() {
	p.cameraFreeze(218*32, 10*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Charlotte:||||| Damn, she got jailed...");
	jjAlert("Player:||||| Who is she?");
	jjAlert("Charlotte:||||| Man, I don't know!");
	jjAlert("Player:||||| Hmm, OK, just find a card");
}
void onFunction37() {
	p.cameraFreeze(257*32, 14*32, true, true);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Charlotte:||||| Look at blue card!");
	jjAlert("Player:||||| Yay!");
}
void onFunction38() {
	p.cameraFreeze(298*32, 14*32, true, true);
	p.showText("@@@@@You Got The Blue Access Card Key", STRING::MEDIUM);
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("");
	jjAlert("Player:||||| I got it! ");
}
void onDrawLayer4(jjPLAYER@ p, jjCANVAS@ canvas) {
	canvas.drawString(654*32+10, 75*32-16, "|Airship 3000",STRING::MEDIUM);
	canvas.drawString(603*32+10, 69*32-16, "||||LEVEL - D",STRING::MEDIUM);
	canvas.drawString(439*32+10, 71*32-16, "||||LEVEL - C",STRING::MEDIUM);
	canvas.drawString(225*32+10, 71*32-16, "||||LEVEL - B",STRING::MEDIUM);
	canvas.drawString(138*32+10, 71*32-16, "||||LEVEL - A",STRING::MEDIUM);
	canvas.drawString(246*32+10, 88*32-16, "||||<- Jail Rabbit Only",STRING::MEDIUM);
	canvas.drawString(103*32+10, 88*32-16, "||||<- Engine Room",STRING::MEDIUM);
	canvas.drawString(113*32+10, 70*32-16, "|<- Devan Room",STRING::SMALL);
	canvas.drawString(58*32+10, 51*32-16, "|<- Devan Room",STRING::SMALL);
	canvas.drawString(103*32+10, 51*32-16, "|<- Devan Room",STRING::SMALL);
	canvas.drawString(26*32+10, 77*32-16, "||||HIGH VOLGATE",STRING::MEDIUM);
	canvas.drawString(25*32+30, 75*32-16, "||DANGER",STRING::LARGE);
	canvas.drawString(61*32, 13*32, "||||!?!",STRING::MEDIUM);
	canvas.drawString(70*32, 14*32, "||||! ! ! ! !",STRING::MEDIUM);
	canvas.drawString(103*32, 14*32, "||||?",STRING::MEDIUM);
	canvas.drawString(106*32, 14*32, "||||?",STRING::MEDIUM);
	canvas.drawString(146*32, 8*32, "||||?",STRING::MEDIUM);
	canvas.drawString(151*32, 8*32, "||||?",STRING::MEDIUM);
}