Downloads containing Fio3_a.j2as

Downloads
Name Author Game Mode Rating
JJ2+ Only: Find It Out (Single Player)Featured Download Superjazz Single player 9.1 Download file

File preview

#include "Fio_common.asc"
#include "Fio_drawing.asc"
#include "Fio_entities.asc"
#include "Fio_globals.asc"

const string NEXT_LEVEL_FILENAME = "Fio3_x.j2l";

array<Checkpoint@> fio3aCheckpoints = {
	Checkpoint(0, TILE * 88, TILE * 49),
	Checkpoint(1, TILE * 25, TILE * 74),
	Checkpoint(2, TILE * 19, TILE * 33),
	Checkpoint(3, TILE * 132, TILE * 52)
};

array<string> questTexts = {
	fio::getQuestText(5, 7, 5000),
	fio::getQuestTextComplete(5000),
	fio::getQuestTextPerfect(2000)
};

array<string> texts = {
	"|At last! Daylight again! What an experience!",
	"|||City of Rine you say? Pay me 20 coins and I will show you the way.",
	"|I always wondered what is the real home of these lizards. Could it be the desert? Hmm...",
	"WARNING! DEEP DARKNESS BELOW!",
	"|There seems to be a pack of Ravens flying in a formation high above. It seems like they're protecting something.",
	"|||That way. Half a day of walking across the desert. Good luck on your journey! Oh, and take this water to keep yourself hydrated!"
};

int getPointRewardByDifficulty() {
	if (jjDifficulty >= 3) return 30000;
	if (jjDifficulty == 2) return 10000;
	if (jjDifficulty == 1) return 1000;
	return 500;
}

// Required for each level
bool onCheat(string &in cheat) {
	return fio::handleCheat(cheat, NEXT_LEVEL_FILENAME);
}

// Required for each level
bool onDrawHealth(jjPLAYER@ play, jjCANVAS@ canvas) {
	fioDraw::animateHud();
	fioDraw::drawHud(play, canvas);
	
	return false;
}

bool onDrawLives(jjPLAYER@ play, jjCANVAS@ canvas) {
	return true;
}

void onFunction0() {
	fioDraw::doShowText(0);
}

void onFunction1() {
	fioDraw::doShowText(1);
}

void onFunction2() {
	if (!checkpoints[0].isReached()) {
		checkpoints[0].setReached();
	}
	fioDraw::doShowOptionalQuest(0);
}

void onFunction3() {
	fioDraw::doShowText(2);
}

void onFunction4() {
	fioDraw::doShowText(3);
}

void onFunction5() {
	if (!checkpoints[1].isReached()) {
		checkpoints[1].setReached();
	}
}

void onFunction6() {
	if (!checkpoints[2].isReached()) {
		checkpoints[2].setReached();
	}
	fioDraw::doShowText(4);
}

void onFunction7() {
	if (!checkpoints[3].isReached()) {
		checkpoints[3].setReached();
	}
	fio::rewardPoints(getPointRewardByDifficulty());
	fioDraw::doShowText(5);
}

void onFunction8() {
	fio::handleLevelCycle(NEXT_LEVEL_FILENAME);
}

// Required for each level
void onLevelLoad() {
	initializeGlobals(fio3aCheckpoints, 5, 5000, 2000);
	fioDraw::initializeDrawing(texts, questTexts, true);
}

// Required for each level
void onLevelReload() {
	reloadGlobals();
	fioDraw::initializeDrawing(texts, questTexts, true);
	fio::handleLevelReload();
}

// Required for each level
void onMain() {
	fio::controlPressedKeys();
	fioDraw::controlHud();
}

// Required for each level
void onPlayer(jjPLAYER@ play) {
	fio::handlePlayer(play);
	fio::controlQuest();
}

// Required at least for each level with an armory or cutscene(s)
void onPlayerInput(jjPLAYER@ play) {
	fio::controlPlayerInput(play);
}

// Required for each level
void onRoast(jjPLAYER@ victim, jjPLAYER@ killer) {
	fio::saveTriggerStates();
	asPlay.savePlayerProperties(play);
}