View Single Post
  #3    
Old April 4th, 2013 (7:57 AM). Edited April 4th, 2013 by Spherical Ice.
Spherical Ice's Avatar
Spherical Ice Spherical Ice is online now
Moderator
 
Join Date: Nov 2007
Location: Leicester, UK
Age: 18
Posts: 4,667

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.

__________________
Reply With Quote