PREMESSA:
Questa guida nasce dalla mia necessità di sviluppare una simil-battle facility (quelle del Parco Lotta, per intenderci) su Climax. Dopo aver fatto un po' di ricerche qua e là ho trovato tutto ciò che mi serviva e mi sembra giusto riportarlo qui, sia perché potrebbe aiutare altri utenti che vogliono dare quel pizzico in più di sfida a certe battaglie, sia per evitare che mi dimentichi di queste cose in futuro.
Perché diciamocelo, facciamo le guide anche per non dimenticarci di quello che abbiamo appena fatto/inserito.
Detto questo, andiamo con ordine; in questa guida troverete le seguenti migliorie:
- Disabilitare l'esperienza ricevuta in battaglia;
- Disabilitare l'uso della borsa in battaglia;
- Impostare il battle style a Set;
- Ripristinare gli strumenti usati in battaglia.
DISABILITARE L'ESPERIENZA RICEVUTA IN BATTAGLIA 
Crediti a FBI.
Questa routine funziona in modo semplice ma efficace: in pratica, tramite l'attivazione di una flag, fa credere al gioco che il nostro team abbia già raggiunto il livello 100, evitando così che ci venga data esperienza o compaia il messaggio "Hai ottenuto X punti esperienza."
Compilate e inserite la seguente routine in uno spazio vuoto della vostra rom il cui offset termina con 0, 4, 8 o C. Segnatevelo da qualche parte perché ci servirà più tardi.
.text
.align 2
.thumb
.thumb_func
main:
push {r0-r3}
mov r0, #0xFF
lsl r0, r0, #0x1
add r0, r0, #0x4
ldr r2, =(0x806E6D0 +1) @checkflag 0xFF *0x2 + 4 = 0x202
bl linker
cmp r0, #0x1
beq skip
pop {r0-r3}
cmp r0, #0x64
beq noCrash
ldr r0, =(0x8021D24 +1)
bx r0
skip:
pop {r0-r3}
noCrash:
ldr r1, [r5]
add r1, #0x53
ldrb r0, [r1]
ldr r2, =(0x8021D04 +1)
linker:
bx r2
.align 2
Lascio qui la versione già compilata nel caso in cui non siate pratici.
Citazione:0F B4 FF 20 40 00 04 30 07 4A 00 F0 0C F8 01 28 04 D0 0F BC 64 28 02 D0 04 48 00 47 0F BC 29 68 53 31 08 78 02 4A 10 47 D1 E6 06 08 25 1D 02 08 05 1D 02 08
Sempre sull'Hex Editor (consiglio HxD), andate all'offset 0x21CFA e inserite i seguenti byte.
Citazione:00 00 00 49 08 47 XX XX XX 08
Dove al posto di XX XX XX dovete mettere l'indirizzo in cui avete messo la vostra routine, in little endian+1.
Se non sapete cosa sia il little endian, vi lascio una spiegazione terra-terra qui sotto.
Se avete inserito la routine all'offset 800000, vi basterà dividere i numeri a due a due, quindi 80 00 00. Sommate +1, quindi 80 00 01. A questo punto invertite il primo gruppo con il terzo, quindi 01 00 80. EZ.
Ora per attivare questa routine non dovete far altro che usare il comando:
Citazione:setflag 0x202
mentre per disattivarla:
Citazione:clearflag 0x202
DISABILITARE L'USO DELLA BORSA IN BATTAGLIA 
Crediti a daniilS.
Anche per questa utilizzeremo una flag per attivare o disattivare questo impedimento; grazie a questa routine se durante la lotta proveremo ad aprire la borsa, comparirà a schermo il seguente messaggio. (Se volete editarlo basta andare a cercare il testo in memoria e fare un repoint).
Detto questo, compilate ed inserite la routine all'offset 0x143D4 sovrascrivendo i byte già esistenti (usate CTRL+B, non CTRL+V).
.thumb
.equ qq_bag, 0x080143D4
.equ flag_check, 0x0806E6D0
.equ loc_8014428, 0x08014428
.equ off_8014410, 0x08014410
.equ loc, qq_bag
.equ checkflag, flag_check
.equ useitem, loc_8014428
.equ flag, off_8014410
main:
ldr r0, [pc, #flag-(loc+4)]
bl +checkflag-loc
beq +useitem-loc
NOP
NOP
Fatto ciò andate all'offset 0x14410 e mettete la flag che volete utilizzare come interruttore per questa routine in half-word.
Spiegone:
Allora in pratica se avete la flag 1234, dividete a due a due (12 34) e invertite la prima coppia con la seconda (34 12). Bon, finito.
La routine viene attivata usando il comando:
Citazione:setflag 0xnumerodellavostraflag
e verrà disattivata con:
Citazione:clearflag 0xnumerodellavostraflag
IMPOSTARE IL BATTLE STYLE A SET 
Crediti a Squeetz.
Spesso la possibilità di cambiare Pokémon in risposta allo switch-in dell'avversario ci porta in un vantaggio mostruoso, quasi ingiusto. E se volessimo togliere questo vantaggio?
Inserite la seguente routine già compilata in un'offset libero che termini con 0, 4, 8 o C e segnatevelo da qualche parte.
Citazione:29 00 FE F4 03 02 AA 92 87 1D 08 2B 04 D0 3D 02 02 00 00 40 00 92 87 1D 08 28 35 87 1D 08
Ora andate all'offset 0x1D8727 e inserite i seguenti byte.
Citazione:28 XX XX XX 08
Dove al posto di XX XX XX dovete mettere l'indirizzo della routine appena inserita, ma in little endian+1.
Bon, abbiamo praticamente finito, e non dobbiamo nemmeno usare una flag!
Per attivarlo basta usare il seguente comando prima che cominci la battaglia:
Citazione:writebytetooffset 0xAA 0x203F4FE
E questo per disattivarlo a fine battaglia:
Citazione:writebytetooffset 0x00 0x203F4FE
RIPRISTINARE GLI STRUMENTI USATI IN BATTAGLIA 
Non essendoci routine da inserire o Hex editing da fare non devo dar crediti a nessuno, per una volta.
Utilizzeremo un comando di XSE, ovvero lo
special 0x?
Giustamente mi chiederete in che modo, well:
- special 0x27 ---> Salva in memoria tutto ciò che riguarda la nostra squadra, come PS attuali, strumenti tenuti e via dicendo;
- special 0x28 ---> Carica i dati del team salvato tramite lo special 0x27.
Applicare questi special è molto semplice: basta usare lo 0x27 prima di una battaglia e lo 0x28 dopo la battaglia.