Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
Play as Mario! | FawFul | Mutator | 9.7 |
#pragma require "mario.j2a"
#pragma require "smbjumpsuper.wav"
#pragma require "smbjumpsmall.wav"
#pragma require "sm64marioyahoo.wav"
#pragma require "sm64marioyippee.wav"
#pragma require "smbpipe.wav"
#pragma require "sm64mariodoh.wav"
#pragma require "sm64mariohaha.wav"
#pragma require "sm64mariohoo.wav"
#pragma require "sm64mariohoohoo.wav"
#pragma require "smbpowerupappears.wav"
#pragma require "smbpowerup.wav"
#pragma require "sm64mariowaha.wav"
#pragma require "sm64mariookeydokey.wav"
#pragma require "smbmariodie.wav"
#pragma name "Play as Mario!"
/***************************************************************************************/
/**********Play as Mario! by FawFuL**************(..with shitloads of help from Violet!)/
/***************************************************************************************/
namespace RABBIT { //save some extra typing
array<Anim> Anims = { //This should correspond exactly to the order of animations in your .j2a. I'm assuming you're using the same order that TSF does.
AIRBOARD, AIRBOARDTURN, BUTTSTOMPLAND, CORPSE, DIE, DIVE, DIVEFIREQUIT, DIVEFIRERIGHT, DIVEUP, EARBRACHIATE, ENDOFLEVEL, FALL, FALLBUTTSTOMP, FALLLAND, FIRE, FIREUP, FIREUPQUIT, FROG, HANGFIREQUIT, HANGFIREREST, HANGFIREUP, HANGIDLE1, HANGIDLE2, HANGINGFIREQUIT, HANGINGFIRERIGHT, HELICOPTER, HELICOPTERFIREQUIT, HELICOPTERFIRERIGHT, HPOLE, HURT, IDLE1, IDLE2, IDLE3, IDLE4, IDLE5, JUMPFIREQUIT, JUMPFIRERIGHT, JUMPING1, JUMPING2, JUMPING3, LEDGEWIGGLE, LIFT, LIFTJUMP, LIFTLAND, LOOKUP, LOOPY, PUSH, QUIT, REV1, REV2, REV3, RIGHTFALL, RIGHTJUMP, ROLLING, RUN1, RUN2, RUN3, SKID1, SKID2, SKID3, SPRING, STAND, STATIONARYJUMP, STATIONARYJUMPEND, STATIONARYJUMPSTART, STONED, SWIMDOWN, SWIMRIGHT, SWIMTURN1, SWIMTURN2, SWIMUP, SWINGINGVINE, TELEPORT, TELEPORTFALL, TELEPORTFALLING, TELEPORTFALLTELEPORT, TELEPORTSTAND, VPOLE
};
}
void onLevelLoad() {
jjSampleLoad(SOUND::COMMON_JUMP, "smbjumpsuper.WAV"); //Jump
jjSampleLoad(SOUND::COMMON_UP, "smbjumpsmall.WAV"); //Doublejump
jjSampleLoad(SOUND::SPAZSOUNDS_KARATE7, "sm64marioyahoo.WAV"); //Karate move
jjSampleLoad(SOUND::SPAZSOUNDS_KARATE8, "sm64marioyippee.WAV"); // Karate move
jjSampleLoad(SOUND::SPAZSOUNDS_AUTSCH1, "smbpipe.WAV"); //Hurt 1
jjSampleLoad(SOUND::SPAZSOUNDS_AUTSCH2, "smbpipe.WAV"); //Hurt 2
jjSampleLoad(SOUND::SPAZSOUNDS_YAHOO, "sm64mariodoh.WAV"); //buttstomp
jjSampleLoad(SOUND::SPAZSOUNDS_YAHOO2, "sm64mariohaha.WAV"); //When using a spring
jjSampleLoad(SOUND::SPAZSOUNDS_WOOHOO, "sm64mariohoo.WAV"); // Random noise during speedjump
jjSampleLoad(SOUND::SPAZSOUNDS_OHOH, "sm64mariohoohoo.WAV"); // Random noise during speedjump
jjSampleLoad(SOUND::SPAZSOUNDS_HAHAHA, "sm64mariohoo.WAV"); // Random noise
jjSampleLoad(SOUND::SPAZSOUNDS_HAHAHA2, "sm64mariohoohoo.WAV"); // Random noise
jjSampleLoad(SOUND::SPAZSOUNDS_CHIRP, "smbpowerupappears.WAV"); //Mushroom idle
jjSampleLoad(SOUND::SPAZSOUNDS_BIRDSIT, "smbpowerup.WAV"); // Mushroom idle
jjSampleLoad(SOUND::SPAZSOUNDS_EATBIRD, "smbpipe.WAV"); // Mushroom idle
jjSampleLoad(SOUND::SPAZSOUNDS_HOHOHO1, "sm64mariowaha.WAV"); //Flash and spinning idle
jjSampleLoad(SOUND::SPAZSOUNDS_HAPPY, "sm64mariookeydokey.WAV"); //Flash and spinning idle
jjSampleLoad(SOUND::BILSBOSS_SCARY3, "smbmariodie.WAV"); //Stored Death sound
uint emptyCustomAnimSlot = 0;
while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
++emptyCustomAnimSlot;
jjANIMSET@ emptyCustomAnim = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot]];
emptyCustomAnim.load(0, "mario.j2a"); //adjust as needed for your particular circumstances
const uint firstCustomCharacterAnimID = emptyCustomAnim.firstAnim;
const uint firstSpazAnimID = jjAnimSets[ANIM::SPAZ].firstAnim; //or use ANIM::JAZZ or ANIM::LORI instead if that's what you're going for, or even more than one.
for (uint i = 0; i < RABBIT::Anims.length; ++i)
jjAnimations[firstSpazAnimID + RABBIT::Anims[i]] = jjAnimations[firstCustomCharacterAnimID + i];
uint emptyCustomAnimSlot2 = 1;
while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot2]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
++emptyCustomAnimSlot2;
jjANIMSET@ emptyCustomAnim2 = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot2]];
emptyCustomAnim2.load(1, "mario.j2a"); //adjust as needed for your particular circumstances
const uint secondCustomCharacterAnimID = emptyCustomAnim2.firstAnim;
const uint secondSpazAnimID = jjAnimSets[ANIM::SPAZ2].firstAnim; //or use ANIM::JAZZ or ANIM::LORI instead if that's what you're going for, or even more than one.
for (uint i = 0; i < 4; ++i)
jjAnimations[secondSpazAnimID + i] = jjAnimations[secondCustomCharacterAnimID + i];
uint emptyCustomAnimSlot3 = 2;
while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot3]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
++emptyCustomAnimSlot3;
jjANIMSET@ emptyCustomAnim3 = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot3]];
emptyCustomAnim3.load(2, "mario.j2a"); //adjust as needed for your particular circumstances
const uint thirdCustomCharacterAnimID = emptyCustomAnim3.firstAnim;
const uint thirdSpazAnimID = jjAnimSets[ANIM::FACES].firstAnim;
if (!jjIsTSF) jjAnimations[thirdCustomCharacterAnimID + 4] = jjAnimations[thirdCustomCharacterAnimID];
if (jjIsTSF) jjAnimations[thirdCustomCharacterAnimID + 5] = jjAnimations[thirdCustomCharacterAnimID];
if (!jjIsTSF) jjAnimations[thirdSpazAnimID + 4] = jjAnimations[thirdCustomCharacterAnimID];
if (jjIsTSF) jjAnimations[thirdSpazAnimID + 5] = jjAnimations[thirdCustomCharacterAnimID];
}
void onPlayer(jjPLAYER@ play) {
if (play.charCurr == CHAR::JAZZ || play.charCurr == CHAR::LORI) play.morphTo(CHAR::SPAZ);
if (play.health == 0 && jjGameTicks%140 == 0) jjSamplePriority(SOUND::BILSBOSS_SCARY3);
}
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.