Downloads containing VDom1.j2as

Downloads
Name Author Game Mode Rating
JJ2+ Only: violetclm DOM Episodes I...Featured Download Violet CLM Custom / Concept 9 Download file

File preview

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;
}