Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
Anniversary Bash 26 CTF | Jazz2Online | Capture the flag | N/A |
const bool MLLESetupSuccessful = MLLE::Setup(array<MLLEWeaponApply@> = {null, null, se::EnergyBlastMLLEWrapper(), null, null, null, null, null, null}); ///@MLLE-Generated
#include "MLLE-Include-1.6w.asc" ///@MLLE-Generated
#pragma require "ab26ctf13-MLLE-Data-3.j2l" ///@MLLE-Generated
#pragma require "ab26ctf13-MLLE-Data-2.j2l" ///@MLLE-Generated
#pragma require "ab26ctf13-MLLE-Data-1.j2l" ///@MLLE-Generated
#pragma require "Heaven.j2t" ///@MLLE-Generated
#pragma require "ab26ctf13.j2l" ///@MLLE-Generated
#include "SEenergyblast-mlle.asc" ///@MLLE-Generated
#pragma require "SEenergyblast-mlle.asc" ///@MLLE-Generated
#include "limitedoxygen.asc"
#pragma require "rain9.wav"
int sample = 0;
void onLevelLoad() {
jjUseLayer8Speeds = true;
jjSetWaterLevel(100*32, true);
jjSetWaterGradient(10, 20, 30, 83, 166, 250);
jjWaterLighting = WATERLIGHT::GLOBAL;
jjWeapons[WEAPON::ICE].maximum = 50;
jjObjectPresets[OBJECT::FULLENERGY].behavior = CannotBeShotDown();
jjPalette.fill(24,39,41,251,1,1);
jjPalette.apply();
for (int i = 1120; i <= 1489; i++) {
jjPIXELMAP monoliths(i);
for (uint x = 0; x < monoliths.width; ++x) {
for (uint y = 0; y < monoliths.height; ++y) {
if (monoliths[x,y] == 13 || monoliths[x,y] == 146) monoliths[x,y] = 220;
if (monoliths[x,y] == 15 || monoliths[x,y] == 176) monoliths[x,y] = 228;
if (monoliths[x,y] == 57 || monoliths[x,y] == 144 || monoliths[x,y] == 240) monoliths[x,y] = 225;
if (monoliths[x,y] == 66 || monoliths[x,y] == 113) monoliths[x,y] = 224;
if (monoliths[x,y] == 65 || monoliths[x,y] == 72 || monoliths[x,y] == 173 || monoliths[x,y] == 177) monoliths[x,y] = 227;
if (monoliths[x,y] == 73) monoliths[x,y] = 226;
if (monoliths[x,y] == 115) monoliths[x,y] = 222;
if (monoliths[x,y] == 119) monoliths[x,y] = 216;
if (monoliths[x,y] == 56 || monoliths[x,y] == 243 || monoliths[x,y] == 244) monoliths[x,y] = 223;
}
}
monoliths.save(i, true);
}
jjANIMATION@ anim = jjAnimations[jjAnimSets[ANIM::BRIDGE] + 2];
for (uint j = 0; j < anim.frameCount; j++) {
jjANIMFRAME@ frame = jjAnimFrames[anim + j];
jjPIXELMAP sprite(frame);
for (uint x = 0; x < sprite.width; ++x) {
for (uint y = 0; y < sprite.height; ++y) {
if (sprite[x,y] >= 16 && sprite[x,y] <= 23) sprite[x,y] = 128 + (sprite[x,y]&7)*2;
}
}
sprite.save(frame);
}
water::maxOxygen = 1500;
jjPIXELMAP rain(32,32);
for (uint x = 0; x < rain.width; ++x) {
for (uint y = 0; y < rain.height; ++y) {
if (x == 16) {
if (y <= 16) rain[x,y] = 76;
else if (y > 16 && y <= 24) rain[x,y] = 75;
else rain[x,y] = 0;
} else {
rain[x,y] = 0;
}
}
}
jjANIMATION@ animRain = jjAnimations[jjAnimSets[ANIM::COMMON].firstAnim + 2];
for (uint frameID = 0; frameID < animRain.frameCount; ++frameID) {
jjANIMFRAME@ frame = jjAnimFrames[animRain.firstFrame + frameID];
rain.save(frame);
frame.hotSpotX = -frame.width/2;
frame.hotSpotY = -frame.height;
}
}
class CannotBeShotDown : jjBEHAVIORINTERFACE {
void onBehave(jjOBJ@ obj) {
obj.behave(BEHAVIOR::PICKUP);
if (obj.state == STATE::FLOATFALL) obj.state = STATE::FLOAT;
}
}
void onLevelBegin() {
jjSampleLoad(SOUND::WIND_WIND2A, "rain9.wav");
}
void onPlayer(jjPLAYER@ play) {
water::limitedOxygen(play);
//play.lightType = LIGHT::NONE;
//play.lighting = jjColorDepth == 8? 110:100;
//jjEnforceLighting = jjColorDepth == 8? LIGHT::COMPLETE : LIGHT::OPTIONAL;
}
void onMain() {
jjIsSnowing = !jjLowDetail;
for (int i = 0; i < 1024; i++) {
jjPARTICLE@ particle = jjParticles[i];
if (particle.type == PARTICLE::RAIN) {
particle.xSpeed = 0;
particle.ySpeed = jjLocalPlayers[0].ySpeed < 0? 10 : int(10 + jjLocalPlayers[0].ySpeed);
if (jjTileGet(5, int(particle.xPos/32), int(particle.yPos/32)) != 0) {
particle.type = PARTICLE::INACTIVE;
}
}
}
if (!jjLowDetail) {
sample = jjSampleLooped(jjLocalPlayers[0].xPos, jjLocalPlayers[0].yPos, SOUND::WIND_WIND2A, sample, 32, 0);
}
}
void onPlayerInput(jjPLAYER@ play) {
if (play.yPos > jjWaterLevel && play.currWeapon == WEAPON::ICE) play.keyFire = false;
else MLLE::WeaponHook.processPlayerInput(play);
}
bool onDrawAmmo(jjPLAYER@ play, jjCANVAS@ canvas) {
return MLLE::WeaponHook.drawAmmo(play, canvas);
}
bool onDrawHealth(jjPLAYER@ play, jjCANVAS@ canvas) {
water::drawOxygenTimer(play, canvas);
return false;
}
Jazz2Online © 1999-INFINITY (Site Credits). We have a Privacy Policy. Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats.
Eat your lima beans, Johnny.