Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
![]() |
Pinball Duel 2k25 | Slaz | Capture the flag | N/A | ![]() |
const bool MLLESetupSuccessful = MLLE::Setup(array<MLLEWeaponApply@> = {null, null, NapsWeapons::AntiGravityBouncer(), null, null, null, null, null, null}); ///@MLLE-Generated
#include "MLLE-Include-1.8w.asc" ///@MLLE-Generated
#pragma require "j2vfpinball25-MLLE-Data-1.j2l" ///@MLLE-Generated
#pragma require "CandyGothDecs.j2t" ///@MLLE-Generated
#pragma require "dk_htech.j2t" ///@MLLE-Generated
#pragma require "j2vfpinball25.j2l" ///@MLLE-Generated
#include "AntiGravBouncers.asc" ///@MLLE-Generated
#pragma require "AntiGravBouncers.asc" ///@MLLE-Generated
void onLevelLoad() {
jjDelayGeneratedCrateOrigins = true;
jjUseLayer8Speeds = true;
jjObjectPresets[OBJECT::PULSELIGHT].behavior = ParticleEmitter();
}
bool onDrawAmmo(jjPLAYER@ player, jjCANVAS@ canvas) {
return MLLE::WeaponHook.drawAmmo(player, canvas);
}
void onLevelReload() {
MLLE::SpawnOffgridsLocal();
MLLE::ReapplyPalette();
}
void onLevelBegin() {
MLLE::SpawnOffgrids();
for (int i = 1; i < 255; i++) {
jjOBJ@ preset = jjObjectPresets[i];
if (preset.playerHandling == HANDLING::PICKUP) {
preset.behavior = CannotBeShotDown(preset.behavior);
}
}
}
class CannotBeShotDown : jjBEHAVIORINTERFACE {
CannotBeShotDown(const jjBEHAVIOR &in behavior) {
originalBehavior = behavior;
}
void onBehave(jjOBJ@ obj) {
obj.behave(originalBehavior);
if (obj.state == STATE::FLOATFALL)
obj.state = STATE::FLOAT;
}
bool onObjectHit(jjOBJ@ obj, jjOBJ@ bullet, jjPLAYER@ player, int force) {
if (bullet is null) {
obj.behavior = originalBehavior;
if (player.objectHit(obj, force, obj.playerHandling))
return true;
obj.behavior = this;
}
return false;
}
private jjBEHAVIOR originalBehavior;
}
class ParticleEmitter : jjBEHAVIORINTERFACE {
void onBehave(jjOBJ@ obj) {
obj.behave(BEHAVIOR::PULSELIGHT);
obj.determineCurFrame();
obj.counter++;
obj.var[0] = jjRandom()%300;
if (obj.counter % (300 + obj.var[0]) == 0) {
jjOBJ@ shock = jjObjects[jjAddObject(OBJECT::LIGHTNINGSHIELDBULLET, obj.xPos, obj.yPos, obj.objectID, CREATOR::OBJECT)];
shock.counterEnd = 1;
shock.freeze = 180;
shock.state = STATE::FLY;
shock.playerHandling = HANDLING::PARTICLE;
shock.lightType = LIGHT::BRIGHT;
shock.light = 8;
shock.xSpeed = shock.ySpeed = 0;
}
}
}
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.