Downloads containing mario.mut

Downloads
Name Author Game Mode Rating
JJ2+ Only: Play as Mario!Featured Download FawFul Mutator 9.7 Download file

File preview

  1. #pragma require "mario.j2a"
  2. #pragma require "smbjumpsuper.wav"
  3. #pragma require "smbjumpsmall.wav"
  4. #pragma require "sm64marioyahoo.wav"
  5. #pragma require "sm64marioyippee.wav"
  6. #pragma require "smbpipe.wav"
  7. #pragma require "sm64mariodoh.wav"
  8. #pragma require "sm64mariohaha.wav"
  9. #pragma require "sm64mariohoo.wav"
  10. #pragma require "sm64mariohoohoo.wav"
  11. #pragma require "smbpowerupappears.wav"
  12. #pragma require "smbpowerup.wav"
  13. #pragma require "sm64mariowaha.wav"
  14. #pragma require "sm64mariookeydokey.wav"
  15. #pragma require "smbmariodie.wav"
  16.  
  17. #pragma name "Play as Mario!"
  18.  
  19. /***************************************************************************************/
  20. /**********Play as Mario! by FawFuL**************(..with shitloads of help from Violet!)/
  21. /***************************************************************************************/
  22.  
  23. namespace RABBIT { //save some extra typing
  24.         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.
  25.         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
  26.         };
  27. }
  28.  
  29. void onLevelLoad() {
  30.         jjSampleLoad(SOUND::COMMON_JUMP, "smbjumpsuper.WAV"); //Jump
  31.         jjSampleLoad(SOUND::COMMON_UP, "smbjumpsmall.WAV"); //Doublejump
  32.         jjSampleLoad(SOUND::SPAZSOUNDS_KARATE7, "sm64marioyahoo.WAV"); //Karate move
  33.         jjSampleLoad(SOUND::SPAZSOUNDS_KARATE8, "sm64marioyippee.WAV"); // Karate move
  34.         jjSampleLoad(SOUND::SPAZSOUNDS_AUTSCH1, "smbpipe.WAV"); //Hurt 1
  35.         jjSampleLoad(SOUND::SPAZSOUNDS_AUTSCH2, "smbpipe.WAV"); //Hurt 2
  36.         jjSampleLoad(SOUND::SPAZSOUNDS_YAHOO, "sm64mariodoh.WAV"); //buttstomp
  37.         jjSampleLoad(SOUND::SPAZSOUNDS_YAHOO2, "sm64mariohaha.WAV"); //When using a spring
  38.         jjSampleLoad(SOUND::SPAZSOUNDS_WOOHOO, "sm64mariohoo.WAV"); // Random noise during speedjump
  39.         jjSampleLoad(SOUND::SPAZSOUNDS_OHOH, "sm64mariohoohoo.WAV"); // Random noise during speedjump
  40.         jjSampleLoad(SOUND::SPAZSOUNDS_HAHAHA, "sm64mariohoo.WAV"); // Random noise
  41.         jjSampleLoad(SOUND::SPAZSOUNDS_HAHAHA2, "sm64mariohoohoo.WAV"); // Random noise
  42.         jjSampleLoad(SOUND::SPAZSOUNDS_CHIRP, "smbpowerupappears.WAV"); //Mushroom idle
  43.         jjSampleLoad(SOUND::SPAZSOUNDS_BIRDSIT, "smbpowerup.WAV"); // Mushroom idle
  44.         jjSampleLoad(SOUND::SPAZSOUNDS_EATBIRD, "smbpipe.WAV"); // Mushroom idle
  45.         jjSampleLoad(SOUND::SPAZSOUNDS_HOHOHO1, "sm64mariowaha.WAV"); //Flash and spinning idle
  46.         jjSampleLoad(SOUND::SPAZSOUNDS_HAPPY, "sm64mariookeydokey.WAV"); //Flash and spinning idle
  47.         jjSampleLoad(SOUND::BILSBOSS_SCARY3, "smbmariodie.WAV"); //Stored Death sound
  48.  
  49.  
  50.        
  51.         uint emptyCustomAnimSlot = 0;
  52.         while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
  53.                 ++emptyCustomAnimSlot;
  54.         jjANIMSET@ emptyCustomAnim = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot]];
  55.         emptyCustomAnim.load(0, "mario.j2a"); //adjust as needed for your particular circumstances
  56.         const uint firstCustomCharacterAnimID = emptyCustomAnim.firstAnim;
  57.        
  58.         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.
  59.         for (uint i = 0; i < RABBIT::Anims.length; ++i)
  60.                 jjAnimations[firstSpazAnimID + RABBIT::Anims[i]] = jjAnimations[firstCustomCharacterAnimID + i];
  61.  
  62.         uint emptyCustomAnimSlot2 = 1;
  63.         while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot2]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
  64.                 ++emptyCustomAnimSlot2;
  65.         jjANIMSET@ emptyCustomAnim2 = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot2]];
  66.         emptyCustomAnim2.load(1, "mario.j2a"); //adjust as needed for your particular circumstances
  67.         const uint secondCustomCharacterAnimID = emptyCustomAnim2.firstAnim;
  68.        
  69.         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.
  70.         for (uint i = 0; i < 4; ++i)
  71.                 jjAnimations[secondSpazAnimID + i] = jjAnimations[secondCustomCharacterAnimID + i];
  72.  
  73.         uint emptyCustomAnimSlot3 = 2;
  74.         while (jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot3]].firstAnim != 0) //find an unused slot in ANIM::CUSTOM
  75.                 ++emptyCustomAnimSlot3;
  76.         jjANIMSET@ emptyCustomAnim3 = jjAnimSets[ANIM::CUSTOM[emptyCustomAnimSlot3]];
  77.         emptyCustomAnim3.load(2, "mario.j2a"); //adjust as needed for your particular circumstances
  78.         const uint thirdCustomCharacterAnimID = emptyCustomAnim3.firstAnim;
  79.  
  80.         const uint thirdSpazAnimID = jjAnimSets[ANIM::FACES].firstAnim;
  81.         if (!jjIsTSF) jjAnimations[thirdCustomCharacterAnimID + 4] = jjAnimations[thirdCustomCharacterAnimID];
  82.         if (jjIsTSF) jjAnimations[thirdCustomCharacterAnimID + 5] = jjAnimations[thirdCustomCharacterAnimID];
  83.         if (!jjIsTSF) jjAnimations[thirdSpazAnimID + 4] = jjAnimations[thirdCustomCharacterAnimID];
  84.         if (jjIsTSF) jjAnimations[thirdSpazAnimID + 5] = jjAnimations[thirdCustomCharacterAnimID];
  85. }
  86.  
  87. void onPlayer(jjPLAYER@ play) {
  88.         if (play.charCurr == CHAR::JAZZ || play.charCurr == CHAR::LORI) play.morphTo(CHAR::SPAZ);
  89.         if (play.health == 0 && jjGameTicks%140 == 0)   jjSamplePriority(SOUND::BILSBOSS_SCARY3);
  90. }
  91.