Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2014-05-24 19:53:59

koolboyman
Member
Registered: 2010-10-16
Post 197/203

Beta held items to prevent Non-volatile status conditions

This exists in Gold, Silver and Crystal

Hold item effect ids:
0x14: Holder can't be poisoned
0x15: Holder can't be burned
0x16: Holder can't be frozen
0x17: Holder can't fall asleep (except with Rest)
0x18: Holder can't be paralyzed
0x19: Holder can't be confused

All of these items work perfectly except burned and frozen. While they still create the correct effect (eg you can't get burned by burn guard) the other four bring up the text (eg: Holding a poison guard and you're about to get poisoned) "(Pokemon)'s protected by (item)! These items aren't consumed after use, so you can use them over and over again. Burn and Freeze simply do the effect without telling the player anything.

You can find the code that uses these items in the crystal disassembly under battle\effect_commands.asm . Search for call GetOpponentItem and look for the cp that succeeds it.

Last edited by koolboyman (2014-05-24 20:03:33)

Offline

#2 2014-05-24 22:18:00

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 2,847/3,578

Re: Beta held items to prevent Non-volatile status conditions

That is a really neat find. Kinda makes you wonder why they never bothered to actually use these.

Offline

#3 2014-05-25 05:10:10

Chamber_
Member
Registered: 2013-12-31
Post 68/119

Re: Beta held items to prevent Non-volatile status conditions

@KBC: Thanks!

@Mateo: maybe because berrys work best (speaking tactically).

I think that this information is a preamble to what would be the abilities. For two weeks Im  working on adjustments of to these routines, so that together with other modifications show the text messages are the follow form:

Abilities%20Imunity%20GSC.bmp

Pd: Mateo, i can modify the text box to show the move class.

Move%20Split%20GBC.bmp

Last edited by Chamber_ (2014-05-25 05:11:56)

Offline

#4 2014-05-25 05:27:30

Kumar
Member
From: UNOVA
Registered: 2013-03-18
Post 312/383
Website

Re: Beta held items to prevent Non-volatile status conditions

@kbm thanks man!

Offline

#5 2014-05-26 04:42:55

koolboyman
Member
Registered: 2010-10-16
Post 198/203

Re: Beta held items to prevent Non-volatile status conditions

Chamber_ wrote:

I think that this information is a preamble to what would be the abilities. For two weeks Im  working on adjustments of to these routines, so that together with other modifications show the text messages are the follow form:

It should take you only 10 minutes if you just check how paralysis handles it differently from burn, and just apply the differences. Gamefreak didn't finish the job, just fill in the gaps they left out.

Last edited by koolboyman (2014-05-26 04:44:19)

Offline

#6 2014-05-26 18:23:21

RPD490
Member
From: Blackthorn City, Johto
Registered: 2012-09-29
Post 256/260
Website

Re: Beta held items to prevent Non-volatile status conditions

Where are these located in the ROM?

Offline

#7 2014-05-26 18:44:27

Pokemon_Master
Member
From: Eastern Kingdom of Mikado
Registered: 2013-05-18
Post 816/951
Website

Re: Beta held items to prevent Non-volatile status conditions

Finally something useful to read. I have a little question. Of what i see 0x14 is the offset that prevents poisoning in these games. If i change the bytes to 00,will the pokemom always be poisoned? (sorry if i am wrong)

Offline

#8 2014-05-27 02:37:04

Chamber_
Member
Registered: 2013-12-31
Post 69/119

Re: Beta held items to prevent Non-volatile status conditions

koolboyman wrote:

It should take you only 10 minutes if you just check how paralysis handles it differently from burn, and just apply the differences. Gamefreak didn't finish the job, just fill in the gaps they left out.

What difference that you mean?

@RPD490: These are the offsets where to begin the routines in POKEMON GOLD . Use the dessambly of Pokecrystal as a guide:


BattleCommand14: ; $35F98
; sleeptarget


BattleCommand13: ; $3601A
; poisontarget


BattleCommand2f: ; $36058
; poison


BattleCommand17: ; $361B0
; burntarget


BattleCommand18: ; $36226
; freezetarget


BattleCommand19: ; $36289
; paralyzetarget


BattleCommand30: ; $36ED5
; paralyze


BattleCommand2b: ; $36E2B 
; confusetarget


BattleCommand2a: ; $36EE49
; confuse

... Other routines. These do not include preventive effects but they can be also used.

BattleCommand5f: ; $378CD
; attract


BattleCommand25: ; $36BAE
; (Flinch effect?)


BattleCommand4d: ; $36BD7
; kingsrock

@Pokemon_Master: KBM has a tutorial explaining the property of the items, you should review it. Each item have a "held item effects". For example, if you change the effect of Metal Coat of 0x42 (increase steel moves) to 0x14, you have done that the pokemon that hold Metal Coat have Immunity to be poisoned.

Last edited by Chamber_ (2014-05-27 02:37:44)

Offline

#9 2014-05-27 07:55:55

koolboyman
Member
Registered: 2010-10-16
Post 200/203

Re: Beta held items to prevent Non-volatile status conditions

Chamber_ wrote:
koolboyman wrote:

It should take you only 10 minutes if you just check how paralysis handles it differently from burn, and just apply the differences. Gamefreak didn't finish the job, just fill in the gaps they left out.

What difference that you mean?

Look at how Burn handles the effect, then look at how paralysis handles the effect. Burn doesn't display the messages and paralysis does. Figure out why paralysis works and use that information to make burn work.

Offline

#10 2014-05-29 05:09:17

y0r124
Member
From: Anywhere.
Registered: 2012-09-12
Post 321/331
Website

Re: Beta held items to prevent Non-volatile status conditions

Wow, this is awesome finding.


my FB

Lurking somewhere here...

Offline

Board footer

Powered by FluxBB