Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
violetclm DOM Episodes I... | Violet CLM | Custom / Concept | 9 |
const bool MLLESetupSuccessful = MLLE::Setup(array<MLLEWeaponApply@> = {null, null, WeaponVMega::IceCloud::Weapon(), null, se::FireworkMLLEWrapper(), null, null, null, WeaponVMega::Meteor::Weapon()}); ///@MLLE-Generated
#include "MLLE-Include-1.5w.asc" ///@MLLE-Generated
#pragma require "vdom.j2t" ///@MLLE-Generated
#pragma require "VDom1.j2l" ///@MLLE-Generated
#include "WeaponVMega9.asc" ///@MLLE-Generated
#pragma require "WeaponVMega9.asc" ///@MLLE-Generated
#include "SEfirework-mlle.asc" ///@MLLE-Generated
#pragma require "SEfirework-mlle.asc" ///@MLLE-Generated
#include "WeaponVMega3.asc" ///@MLLE-Generated
#pragma require "WeaponVMega3.asc" ///@MLLE-Generated
///@saveandrunargs -dom -server
void onLevelLoad() {
jjObjectPresets[OBJECT::REDSPRING].ySpeed -= 2;
jjANIMATION@ redSpring = jjAnimations[jjObjectPresets[OBJECT::REDSPRING].curAnim];
for (uint i = 0; i < redSpring.frameCount; ++i) {
jjANIMFRAME@ frame = jjAnimFrames[redSpring + i];
jjPIXELMAP image(frame);
for (uint x = 0; x < image.width; ++x)
for (uint y = 0; y < image.height; ++y)
if (image[x,y] & ~7 == 24)
image[x,y] = 96 + (image[x,y] & 7) * 2;
image.save(frame);
}
jjObjectPresets[OBJECT::REDSPRING].isFreezable = false; //ice cloud is just TOO powerful otherwise
//jjAnimFrames[jjObjectPresets[OBJECT::CARROT].curFrame].transparent = true; //less garish, but less needed when the palette is oranger
}
bool onDrawAmmo(jjPLAYER@ player, jjCANVAS@ canvas) {
return MLLE::WeaponHook.drawAmmo(player, canvas);
}
void onLevelBegin() {
for (int weaponID = WEAPON::BLASTER; weaponID <= WEAPON::GUN9; ++weaponID) {
jjWeapons[weaponID].allowedPowerup =
jjWeapons[weaponID].allowed;
jjOBJ@ preset = jjObjectPresets[se::getAmmoPickupOfWeapon(weaponID)];
jjBEHAVIORINTERFACE@ bi = cast<jjBEHAVIORINTERFACE@>(preset.behavior);
if (bi !is null) {
se::AmmoPickup@ ap = cast<se::AmmoPickup@>(bi);
if (ap !is null)
ap.setCount(9001);
}
}
jjLocalPlayers[0].showText("@@@@Pick the same weapon twice@@to get its powerup!", STRING::MEDIUM);
}
void onFunction0(jjPLAYER@ player, uint8 weaponID) {
if (player.ammo[weaponID] != 0 && !player.powerup[weaponID]) {
player.powerup[weaponID] = true;
jjSamplePriority(SOUND::COMMON_GLASS2);
if (jjAutoWeaponChange)
player.currWeapon = weaponID;
}
player.alreadyDoubleJumped = true;
}
void onFunction1(jjPLAYER@ player) { player.ySpeed = abs(player.ySpeed); }
void onLevelReload() { MLLE::Palette.apply(); } //why are you playing this in SP, oh well
void onMain() {
const auto speed = jjGameTicks * 3 / 2;
jjLayerXOffset[6] = jjSin(speed) * 9;
jjLayerYOffset[6] = jjCos(speed) * 16;
}
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.