Downloads containing StoneAbyss9.j2as

Downloads
Name Author Game Mode Rating
JJ2+ Only: Stone AbyssFeatured Download Bloody_Body Single player 9.6 Download file

File preview

int x,y,i,u,w=0,b=0;
jjPAL Boss;
bool final=false;
void onLevelLoad() {

jjObjectPresets[OBJECT::BOLLY].scriptedCollisions = true;


//jjTexturedBGTexture = TEXTURE::WISETYNESS;
for (int weaponID = WEAPON::BLASTER; weaponID <= WEAPON::GUN9; ++weaponID) {
		jjWEAPON@ weaponProfile = jjWeapons[weaponID];
		weaponProfile.comesFromBirds = weaponProfile.comesFromBirdsPowerup = true; 
	}
	
	
	//jjObjectPresets[OBJECT::HELMUT].behavior = RicHELMUT();
	
	}
	
const string MUSICFILENAME = "medivo2.j2b";	
void onLevelReload() {	
b=0;
final=false;
jjMusicLoad(MUSICFILENAME);
jjPalette.reset();
}


	

void onMain(){
updateGems();
//jjAlert("b "+ formatInt(b, "1"));
if (b<=99 && final && (jjGameTicks & 20) == 0) { 
b++;
		jjPalette.reset();
		jjPalette.copyFrom(
			1,		
			254,		
			1,		
			Boss,	
			b/100.0	
		);
		jjPalette.apply();
		}
		else if (b==99) {
		Boss.apply();
		//if (jjGameTicks%5==0){
	//	jjPalette.fill(255,255,255, jjSin((jjGameTicks)*16) * .333 + .5);}
		}
		
		}
		
/*
void onDrawLayer2(jjPLAYER@ player,jjCANVAS@ layer) { 
//for (int x = 0; x < 1000; ++x)
	{
//	for (int y = 0; y < 1000; ++y){
	layer.drawTile(1*32,  1*32, 35);
	//layer.drawTile(1*32,  x*32, 34 + TILE::ANIMATED);
	//}
	}
	}	
*/	

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 onFunction3(jjPLAYER@ play) {
			Boss.load("ImprovedMedivoEvil3.j2t");
	final=true;		
	jjLocalPlayers[u].lighting = 70;
	}
	
			void onFunction8(jjPLAYER@ play) {
			jjTriggers[8]=true;
	}
	
			void onFunction9(jjPLAYER@ play) {
			jjTriggers[9]=true;
	}
	
	void onFunction11(jjPLAYER@ play) {
 jjTriggers[20]=true;
}



 
void onObjectHit(jjOBJ@ obj, jjOBJ@ bullet, jjPLAYER@ p, int force) {
			 if (obj.eventID == OBJECT::BOLLY)
		{
		if (bullet is null)
		{obj.energy-=0;
		if (w==0)
		{p.showText("@@Stomping on Bolly's top@is useless! HAHAHA!");
		w++;}
		}
		else if (force > 0) 
		{			obj.energy -=1;
		obj.justHit = 5;
				bullet.delete();}
		
				
				if (obj.energy <= 0) {
					if (bullet !is null) {
						if ((bullet.var[6] & 2) == 2) { //toaster and its ilk
							obj.particlePixelExplosion(1); //burny explosion
							jjSample(obj.xPos, obj.yPos, SOUND::COMMON_BURN);
						} else {
							obj.particlePixelExplosion(0);
						}
						obj.state = STATE::KILL;
						p.score += obj.points;
						jjEventSet(p.xPos / 32, p.yPos / 32, AREA::EOL);
						}
					if (bullet is null)
					{obj.particlePixelExplosion(0);
						obj.state = STATE::KILL;
						p.score += obj.points;
						jjEventSet(p.xPos / 32, p.yPos / 32, AREA::EOL);
					}
					} 
					 //let the object's behavior function take care of deleting it
						
					
				 }
	
}