Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
Blood Libel | Violet CLM | Battle | 8.8 |
const bool MLLESetupSuccessful = MLLE::Setup(array<MLLEWeaponApply@> = {null, DuoBouncers::Weapon(), null, null, null, SuperToaster::Weapon(), SpikeBomb::Weapon(), null, null}); ///@MLLE-Generated
#include "MLLE-Include-1.6w.asc" ///@MLLE-Generated
#pragma require "Diam1.j2t" ///@MLLE-Generated
#pragma require "Death Metal.j2t" ///@MLLE-Generated
#pragma require "bllib.j2l" ///@MLLE-Generated
#include "SpikeBomb.asc" ///@MLLE-Generated
#pragma require "SpikeBomb.asc" ///@MLLE-Generated
#include "SuperToaster.asc" ///@MLLE-Generated
#pragma require "SuperToaster.asc" ///@MLLE-Generated
#include "DuoBouncers.asc" ///@MLLE-Generated
#pragma require "DuoBouncers.asc" ///@MLLE-Generated
///@SaveAndRunArgs -server -spaz ///@MLLE-Generated
bool onDrawAmmo(jjPLAYER@ player, jjCANVAS@ canvas) {
return MLLE::WeaponHook.drawAmmo(player, canvas);
}
void onLevelLoad() {
jjObjectPresets[OBJECT::FULLENERGY].behavior = CannotBeShotDown(BEHAVIOR::PICKUP);
for (int i = WEAPON::BOUNCER; i <= WEAPON::GUN9; ++i) {
jjOBJ@ preset = jjObjectPresets[se::getAmmoPickupOfWeapon(i)];
preset.behavior = CannotBeShotDown(preset.behavior);
}
for (uint i = 1; i < 255; ++i)
jjObjectPresets[i].triggersTNT = false;
//jjObjectPresets[OBJECT::STOMPSCENERY].isBlastable = false;
jjObjectPresets[OBJECT::SONICPLATFORM].bulletHandling = HANDLING::IGNOREBULLET;
array<uint8> recolor(256);
for (uint i = 40; i < 48; ++i)
recolor[i] = i - 16;
jjANIMATION@ flame = jjAnimations[jjObjectPresets[OBJECT::TOASTERBULLET].curAnim];
for (uint i = 0; i < flame.frameCount; ++i)
jjPIXELMAP(jjAnimFrames[flame + i]).recolor(recolor).save(jjAnimFrames[flame + i]);
}
class CannotBeShotDown : jjBEHAVIORINTERFACE {
jjBEHAVIOR pickup;
CannotBeShotDown(jjBEHAVIOR original) { pickup = original; }
void onBehave(jjOBJ@ obj) {
obj.behave(pickup);
obj.scriptedCollisions = false;
if (obj.state == STATE::FLOATFALL) obj.state = STATE::FLOAT;
}
}
void onLevelBegin() {
MLLE::SpawnOffgrids();
}
void onLevelReload() {
MLLE::ReapplyPalette();
MLLE::SpawnOffgridsLocal();
}
void onFunction0(jjPLAYER@ player, bool invisible) {
player.spriteMode = invisible ? SPRITE::INVISIBLE : SPRITE::PLAYER;
}
void onPlayer(jjPLAYER@ player) {
if (player.health <= 0)
player.spriteMode = SPRITE::PLAYER;
}
void onMain() {
for (int i = 0; i < 1024; ++i) {
jjPARTICLE@ cinder = jjParticles[i];
if (cinder.type == PARTICLE::FIRE && cinder.fire.color == 40) {
cinder.fire.color = 24;
cinder.fire.colorStop = 32;
}
}
}
void onFunction1(jjPLAYER@ player) {
if (player.fly == FLIGHT::NONE) {
player.showText(1, 0);
jjEnabledASFunctions[1] = false; //vanish
}
}
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.