The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > ROM Hacking Hub
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

ROM Hacking Hub General discussions about ROM Hacking and Emulation. Not sure where to start? This is the place for you.
Posting links to ROMs is illegal and is not tolerated anywhere on the forum.
New threads in this forum are to be approved by a moderator before they are displayed.


Advertise here

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old April 3rd, 2013, 01:03 PM
JuniorD
Unhatched Egg
 
Join Date: Mar 2013

Advertise here
I think this is a very interesting idea to set in stone, so that the player can't deviate from the rules or have to waste time releasing each pokemon.
Reply With Quote
  #2    
Old April 4th, 2013, 06:55 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
there have been a few hacks in sideshow that have 'enforced' fainted = dead. they use some wizardry and force pokemon in your party to disappear at the end of battle if they have the faint status. they don't actually prevent you from capturing more than the first pokemon you see on a route though, since there's so many wimp clauses that prevent you from having an army of rattatas.

i don't remember the links to them, but there's silver(?) and fr off the top of my head. i believe they're "silver nuzlocke edition" and "fire red roguelike" but i'm probably wrong about the second one.
i want to say there's a gen 1 version as well, but don't quote me on that.
__________________
Reply With Quote
  #3    
Old April 4th, 2013, 07:57 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Send a message via Skype™ to Spherical Ice
Using JPAN's Hacked FireRed Engine, you could make it so that fainted Pokémon essentially die. Perhaps, each time you go the Pokémon Center to heal your Pokémon the following happens:

Code:
#dynamic 0x800000

//---------------
#org @start
lock
faceplayer
call @snippet1
release
end

//---------------
#org @snippet1
msgbox @string1 MSG_KEEPOPEN //"Welcome to our POKéMON CENTER!\pPl..."
closeonkeypress
setvar 0x8004 0x0 // This will first check the Pokémon in the 1st Slot of the Player's party.
goto @snippet2

//---------------
#org @snippet2
compare 0x8004 0x6  // If the script is going to check the (non-existent) 7th slot, instead go to @snippet3.
if 0x1 goto @snippet3
special2 LASTRESULT 0x65  // Otherwise, check the HP of the Pokémon in the current slot.
compare LASTRESULT 0x0  // If the HP is equal to 0...
if 0x1 call @snippet4  // ...then call @snippet4
addvar 0x8004 0x1  // Move onto the next slot...
goto @snippet2  // ...and repeat the process.

//---------------
#org @snippet3
compare 0x8005 0x1 
if 0x0 call @snippet5 // If a Pokémon hasn't been erased, then call @snippet5.
goto @snippet6 // Go to @snippet6

//---------------
#org @snippet4
special 0x62 // Erase the party Pokémon in the current slot.
setvar 0x8005 0x1 // Tell the script that at least one Pokémon has been erased.
return // Go back to @snippet2.

//---------------
#org @snippet5
msgbox @string2 MSG_FACE //"Oh, you don't have any fainted Pok..." // Display a congratulatory message for not sucking at keeping your Pokémon alive.
return // Go back to @snippet3, essentially to go to @snippet6, which is just the normal Pokémon Center script.


//---------------
#org @snippet6
special 0x187
compare LASTRESULT 0x2
if 0x1 goto @snippet7
preparemsg @string3 //"Now, would you like me to\nheal yo..."
waitmsg
multichoice 0x13 0x8 0x0 0x2
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto @snippet8
compare 0x8000 0x1
if 0x1 goto @snippet9
compare 0x8000 0x7F
if 0x1 goto @snippet9
end

//---------------
#org @snippet7
release
end

//---------------
#org @snippet8
cmdc3 0xF
preparemsg @string4 //"Okay, I'll take your POKéMON for a..."
waitmsg
call @snippet10
special 0x169
goto @snippet11

//---------------
#org @snippet9
msgbox @string5 MSG_KEEPOPEN //"We hope to see you again!"
return

//---------------
#org @snippet10
applymovement LASTTALKED @move1
waitmovement 0x0
doanimation 0x19
checkanimation 0x19
applymovement LASTTALKED @move2
waitmovement 0x0
special 0x0
return

//---------------
#org @snippet11
special2 LASTRESULT 0x1B1
compare LASTRESULT 0x0
if 0x1 goto @snippet12
special2 LASTRESULT 0x183
copyvar 0x8008 LASTRESULT
compare 0x8008 0x0
if 0x1 goto @snippet12
compare 0x8008 0x1
if 0x1 goto @snippet13
end

//---------------
#org @snippet12
preparemsg @string6 //"Thank you for waiting.\nWe've rest..."
waitmsg
applymovement LASTTALKED @move3
waitmovement 0x0
msgbox @string5 MSG_KEEPOPEN //"We hope to see you again!"
return

//---------------
#org @snippet13
checkflag 0x842
if 0x1 goto @snippet12
msgbox @string6 MSG_KEEPOPEN //"Thank you for waiting.\nWe've rest..."
setflag 0x842
preparemsg @string7 //"It appears as if [buffer1] is play..."
waitmsg
applymovement LASTTALKED @move3
waitmovement 0x0
msgbox @string5 MSG_KEEPOPEN //"We hope to see you again!"
return


//---------
// Strings
//---------
#org @string1
= Welcome to our POKéMON CENTER!\pPlease hand over any fainted\nPOKéMON you have.\pIt's the POKéMON LEAGUE's new\npolicy that any fainted POKéMON\lare to be permanently confiscated.

#org @string2
= Oh, you don't have any fainted Pokémon?\nThat's great!

#org @string3
= Now, would you like me to\nheal your POKéMON back to\lperfect health?

#org @string4
= Okay, I'll take your POKéMON for a\nfew seconds.

#org @string5
= We hope to see you again!

#org @string6
= Thank you for waiting.\nWe've restored your POKéMON to\lfull health.

#org @string7
= It appears as if [buffer1] is playing\nright now.\lGo for it!


//-----------
// Movements
//-----------
#org @move1
#raw 0x2F //Face Left (Delayed)
#raw 0xFE //End of Movements

#org @move2
#raw 0x2D //Face Down (Delayed)
#raw 0xFE //End of Movements

#org @move3
#raw 0x5B //mov5B
#raw 0x1A //Delay3
#raw 0xFE //End of Movements
Bolded text are changes I've made to the original Pokémon Center script.

That will erase each fainted Pokémon in the player's party when they go to heal their Pokémon at the Pokémon Center. Then you just need to get rid of all of the Revives, Max Revives and Revival Herbs (or, if you're really lazy, just change their effects in Item Manager to do nothing) in the game, and that will be that.

I'm not too sure about the rest of the rules, but this is progress at least.
__________________

Last edited by Spherical Ice; April 4th, 2013 at 08:09 AM.
Reply With Quote
  #4    
Old April 4th, 2013, 08:08 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
that will not stop people from healing fainted pokemon by putting them in pc storage and instantly withdrawing them
__________________
Reply With Quote
  #5    
Old April 4th, 2013, 08:14 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Send a message via Skype™ to Spherical Ice
Maybe a similar thing could be added when the Player boots up the PC? I'm not sure where that script is located but it doesn't seem too implausible. You could also maybe apply the Pokémon-removing part of that script to each map as a level script using the "05 On entering map/on menu close" level script, but that would probably result in lag. Idk.

Either way, this isn't that good anyway because most people don't nuzlocke FireRed, at least in my experience, it tends to be Emerald/Plat/HG/B/B2, and maybe things like Volt White or Blaze Black.
__________________
Reply With Quote
  #6    
Old April 4th, 2013, 09:28 AM
giradialkia's Avatar
giradialkia
Community Supporter
 
Join Date: Apr 2009
Location: Ireland
Age: 21
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to giradialkia
I'm pretty sure Miksy made a hack of a second gen game with some Nuzlocke rules in place...

Sure enough:
http://www.pokecommunity.com/showthread.php?t=282684

Basically he just made it so fainted Pokémon are permanently removed from the party. I think it'd be significantly more difficult to permit players to ONLY be able to catch the first Pokémon they encounter in each Route, to say the very least. But this hack is certainly a good part of the way there.
__________________

This one's called 'Red', and it's actually kinda Pokémon themed, so have a listen! Check out the links below for more stuff, if you like this!



This is the Doctor
This is my Soundcloud
This is my bandcamp

My Pokémon Y character is the same as my username. If you see me as a Passerby let me know! I tend to get a lot of Passerby requests and I often wonder if it's people from this site.
Reply With Quote
  #7    
Old April 4th, 2013, 10:21 AM
miksy91's Avatar
miksy91
A GB/C Rom Hacker since 2010
 
Join Date: Oct 2008
Location: A small country in the North
Gender: Male
Nature: Relaxed
Well, I was about to contribute writing about my hack there but gira got first in my place :D

But anyway, that hack I made is basically made to remove all the pokemon in party that have 0 HP, each time a map is loaded. It also has the battle endings changed so that when you would normally "black out", a "game over music" is played and the text box will keep displaying text string "GAME OVER!!!" and the script continues by calling an infinite loop (so that the player can't do a thing).

But although it's a bit different, it somewhat sticks to the rules.

Quote:
Originally Posted by giradialkia View Post
I think it'd be significantly more difficult to permit players to ONLY be able to catch the first Pokémon they encounter in each Route, to say the very least. But this hack is certainly a good part of the way there.
This shouldn't be so bad either, but the coding would have to be modified so that it loads data from a "have you caught a pokemon in this route already?" table everytime the player is about to throw a pokeball. If a bit of the area the player is on is set in this table, it could for example load the same code that is used in the game when trying to catch Ghost or some trainer's pokemon.

This would totally require finding enough space in ram for fitting in such table first though.
__________________
My Rom Hack



Hacks I support





Learn how to hack GB/C games:

Check my GameBoy/Color hacking videos in Youtube
-The video set uses Pokemon Silver (U) rom for demonstrations

Last edited by miksy91; April 4th, 2013 at 10:27 AM.
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:27 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.