How to catch flawless and Shiny Legendary Pokémon from Wormholes

PREPARAZIONE

Prima di cominciare è necessario aver impostato correttamente l’emulatore Citra, accertandosi di aver configurato nel modo giusto i percorsi delle cartelle dove inserire gli Scripts Python e il file main del salvataggio. Inoltre, essendo questa una guida specifica per Pokémon Stazionari o dagli Ultravarchi, si consiglia di avere dimestichezza con le tematiche relative alla Time Leap, reperibili in questa guida.

Ricordatevi di posizionare come leader della squadra un Pokémon con l’abilità Sincronismo che abbia la Natura desiderata: in questo modo avrete più possibilità di ottenere il Target con la Natura scelta, perché i “Synch Frames” diventeranno della Natura posseduta dal Sincronizzatore. Dirigetevi poi nel luogo in cui si trova il Pokémon che volete catturare, posizionatevi correttamente ed infine salvate il gioco.

RICERCA DEI SEEDS

Aprite il 3DSTimeFinder: per ricercare i Seeds sono necessari dei Parametri specifici, quindi caricate il Profilo che desiderate. Una volta fatto, configurate la Scheda Stationary come sotto:

Start Date/End Date: Impostate il campo di ricerca nel quale volete rientrare per cercare la vostra Spread.
Frame: Inserite 478 come Starting Frame nella casella di sinistra e 50000 come Max Frame in quella di destra.
Settings: Mettete un segno di spunta sulle voci che riguardano il tipo di RNG desiderato.
IVs: Selezionate le IVs che desiderate abbia la Spread.
Pokémon Traits: Specificate le caratteristiche che volete ottenga il Pokémon quali Natura, Introforza e Abilità.
Shiny: Spuntate questa casella se desiderate che il vostro Pokémon risulti Cromatico.

Una volta compilata la finestra di dialogo cliccate su Search. Tra i possibili risultati indicati dal programma sceglietene uno, dopodiché appuntatevi l’Initial Seed su un foglio di testo.

Prima di procedere ulteriormente, consigliamo di verificare fin da subito se l’Initial Seed scelto è ottenibile utilizzando data e ora indicati dal programma. Per fare ciò seguite il percorso proposto di seguito:

Citra Canary » Emulazione » Configura » Sistema » Clock & Startup time

Di fianco alla voce Clock selezionate Fixed Time dal menù a tendina, mentre inserite i vostri dati nella casella di fianco alla voce Startup time. Confermate le modifiche ed avviate il gioco. Ora fate partire lo Script CitraRNG tramite il pulsante Connect per verificare se l'Initial Seed ottenuto è corretto; in caso contrario provate a correggere la data aggiungendo o togliendo un'ora.

A questo punto avremo l’Initial Seed desiderato, grazie al quale potremo raggiungere Spreads con ottime IVs (e addirittura cromatiche) senza dover avanzare moltissimi Frames. È proprio questo il vero vantaggio per cui usare Citra piuttosto che la console Nintendo 3DS.

CALIBRAZIONE DEL DELAY

Prima di procedere con il resto della guida è opportuno trovare il proprio Delay, il quale varia a seconda del computer sul quale state utilizzando Citra e in base al Pokémon Stazionario (il 3DSRNGTool ne assegnerà uno di default). Questo serve infatti a prevenire l’aumento di Frames causato dall’animazione che intercorre tra quando si preme A sul Pokémon a quando ha inizio la battaglia contro di esso.

Per fare ciò potete utilizzare anche una Spread diversa da quella desiderata, dato che il processo di calibrazione servirà unicamente ad aggiustare il Delay. Utilizzate quindi la tecnica della Time Leap lasciando di default il valore indicato nel programma. Accertatevi quindi se il Delay impiegato funziona già sulla vostra periferica oppure no. Nel caso non riusciste ad ottenere la vostra Spread, disabilitate i filtri di ricerca tramite l'apposita opzione ed impostando un range di ricerca più ampio guardate di quanti Frames avete sbagliato.

Nel mio caso ho modificato il Delay di Celesteela da 186 a 180.

RICERCA DELLE SPREADS

Dopo aver ottenuto l’Initial Seed, aprite il 3DSRNGTool e andate in Stationary RNG. Configurate la scheda come sotto:

Save Information: Inserite la versione di gioco, l’Initial Seed indicato dallo Script ed il TSV relativo al salvataggio.
Stationary Setting: Selezionate la Categoria, la Specie di Pokémon desiderata e la Natura del Sincronizzatore.
IVs: Impostate le IVs della vostra Spread.
Pokémon Traits: Specificate le caratteristiche della vostra Spread quali Natura, Introforza, Abilità, e Cromaticità.
Frame Range: Inserite 478 come Starting Frame nella casella di sinistra e 50000 come Max Frame in quella di destra.
Consider Delay: Compilate questa casella di testo con il vostro Delay.
# of NPCs: Lasciate il valore predefinito.

Una volta compilata la finestra di dialogo cliccate su Calculate.

Lo scopo di questo procedimento è trovare la Spread indicata dal 3DSTimeFinder nel 3DSRNGTool, utilizzando gli stessi parametri di ricerca riguardanti IVs, Frame Range, Cromaticità e Pokémon Traits. In aggiunta, a seconda del tipo di RNG che vorrete fare, andranno utilizzate ulteriori impostazioni per aggiustare il Target Frame. In questo caso adopereremo le configurazioni per gli Stazionari e il Delay per correggere il Target. Inoltre, come di consueto per la Time Leap, vedremo come gestire il numero di NPCs prima di iniziare l’RNG.

Trovata la vostra Spread, posizionatevici sopra col mouse e cliccatela con il tasto destro; dal menù a tendina selezionate Set as Target Frame. Da questo momento in poi chiameremo il Target Frame come Frame 2, per far sì che le nomee usate in questa guida corrispondano a quelle utilizzate nel 3DSRNGTool. Nel mio caso il Frame 2 sarà: 19825.

CALIBRAZIONE DELLA TIME LEAP

Innanzitutto è necessario dire che per la maggior parte dei Leggendari e delle Ultracreature la posizione da adottare è la stessa, ovvero di fronte a loro. Ci sono poi casi particolari come quello di Xurkitree, il quale richiede un posizionamento differente e una gestione degli NPCs particolare per far sì che la Time Leap abbia successo. Per di più, alcune UC andranno eliminate durante il primo incontro negli Ultravarchi a causa delle animazioni prima della lotta, che causano un’instabilità nel Delay rendendo l’RNG troppo difficoltoso. Per ovviare a ciò, nel 3DSRNGTool sono elencati i Pokémon che vanno sconfitti e poi rincontrati nei rispettivi portali sotto la categoria UB (First Encounter).

Il numero di NPCs va quindi lasciato pari a 1 o al valore di default impostato nel programma. La posizione consona da adottare è quella illustrata nella seguente immagine:

Appena possibile aprite il menù di gioco con X e mettete in pausa l’emulatore premendo \. Continuate a premere il tasto per l’avanzamento manuale del Frame finché il valore del Current Frame cambierà.

Una volta eseguito questo primo setup, configurate la scheda come sotto:

Reset Filters: Cliccate sul bottone indicato con la freccia per azzerare le impostazioni dei filtri.
Safe F Only: Selezionate questa voce e spuntatela.
Target Frame: Assicuratevi che in questo campo sia riportato il vostro Frame 2.
Consider Delay: Compilate questa casella con il vostro Delay.
# of NPCs: Lasciate il valore predefinito.
Frame Range: Inserite il Current Frame come Starting Frame nella casella di sinistra, mentre lasciate il valore di default nella casella di destra.

Una volta compilata la finestra di dialogo cliccate su Calculate. I risultati mostrati nella prima colonna sono i Frames sicuri (per l’appunto “Safe Frames”), necessari per generare una Time Leap affinché il Target Frame possa essere raggiunto in totale sicurezza.

Ora non dovremo far altro che raggiungere uno dei nostri Safe Frames lasciando scorrere normalmente il gioco (Ctrl + A), per poi rimetterlo in Pausa con il tasto \ una volta raggiunto il Target. Per evitare i “mezzi avanzamenti” e facilitare il raggiungimento di uno dei Frames indicati dal programma, si consiglia di mettere il gioco in Pausa un centinaio di Frames prima per poi avanzare manualmente il Current tramite la pressione del tasto \.

Una volta fatto ciò, cliccate con il tasto destro del mouse sul Safe Frame al quale avete messo il gioco in Pausa, dopodiché dal menù a tendina selezionate Set as Starting Frame. A questo punto cliccate sulla voce Time Leap ed infine su Calculate. Nel mio caso sceglierò come Starting Frame il valore 19568.

Dovreste ritrovarvi in una schermata simile alla seguente:

Il Prompt ci fornisce in output i dati necessari per completare il processo di RNG: poiché dovrete utilizzarli a breve, annotateli da qualche parte. Per comodità ho riportato i miei dati nello schema sottostante, così da tenere sott’occhio i valori richiesti ottenuti dalla calibrazione.

Frame 1 ➥ 19774 ~ Frame 2 ➥ 19825

RNG

Ora che conosciamo i due Frames da utilizzare non ci resta che raggiungerli e procedere come illustrato di seguito. Nella fase di calibrazione è richiesto di aprire il menù di gioco per una ragione specifica: dovremo infatti chiuderlo una volta raggiunto il Frame 1; per farlo premete contemporaneamente B + \ per qualche istante. In questo modo il gioco avanzerà di qualche fotogramma e vi assicurerete che il menù sia stato realmente chiuso. È necessario interrompere la pressione del tasto \ una volta che vedrete il menù chiudersi nello schermo inferiore, questo serve per evitare involontariamente di avanzare il Current Frame rischiando di superare anche il Frame 2.

Il Frame Skip sarà quindi attivato chiudendo il menù di gioco, dandoci così modo di raggiungere il nuovo Target Frame.
Raggiungete quindi il Frame 2 con l’avanzamento manuale e premete contemporaneamente A + \ sul Pokémon di fronte a voi per qualche istante. Infine togliete la Pausa all’emulatore premendo i tasti Ctrl + A.

La teoria riguardante la Time Leap e tutte le meccaniche annesse ad essa sono illustrate nella guida introduttiva di 7ª generazione. Pertanto si dà per scontato che la abbiate consultata prima di visionare le guide specifiche ai vari processi di RNG, come consigliato anche nell’introduzione di questa guida. Le funzioni “Yes” & “No” utilizzabili dal Prompt del 3DSRNGTool sono quindi discusse nella medesima.

RISULTATO

Se avete fatto tutto correttamente, otterrete il Pokémon con le caratteristiche da voi scelte. Potrete verificarne le informazioni anche attraverso lo Script CitraRNG, selezionando Wild Pokémon dal menù a tendina.

SPECIAL CASE: XURKITREE

Precedentemente è stato citato Xurkitree come caso particolare nella “Calibrazione della Time Leap”, perché crea diverse difficoltà ai giocatori che desiderano ottenerlo con statistiche perfette utilizzando l’RNG. Nell’Ultracentrale, infatti, vi sono diverse animazioni che causano una discontinuità nell’avanzamento del Current Frame, portando la Time Leap a fallire nel momento in cui si cerca di raggiungere il Frame 2. Questo è causato dal passaggio del numero di NPCs da 1 a 2, che si verifica quando uno degli Xurkitree in background passa camminando sotto all’area dov’è presente il modello tridimensionale di quello che possiamo catturare.

Tuttavia, c'è un modo per far sì che il numero di NPCs rimanga uguale a 1 nel momento in cui si chiude il menù di gioco per raggiungere il Target Frame. Per prima cosa bisognerà posizionarsi davanti alla grande roccia alla destra dello Xurkitree catturabile, in modo tale da poter scrutare il paesaggio sottostante all'arena. Una volta in questa posizione, dovrete attendere fino al completo passaggio dello Xurkitree errante.

Prima di fare ciò, sarà necessario utilizzare un Timer (uno qualsiasi andrà bene) impostato con un conto alla rovescia di 5 secondi, che andrà avviato una volta che il Pokémon sarà transitato del tutto dietro l'arena. In questa immagine è possibile notare come lo Xurkitree nello sfondo stia completando la fase di passaggio. Quando il Pokémon errante non sarà più visibile, oltre ad avviare il Timer, bisognerà muoversi verso sinistra in linea retta fino a giungere nella posizione rappresentata.

Quando i secondi del Timer scenderanno a 0, aprite il menù di gioco e calibrate la Time Leap come di consueto. Per la riuscita del processo è fondamentale uscire dal menù di gioco circa 30 Frames prima di raggiungere il Frame 2. Per farlo sarà opportuno scegliere un Frame 1 adatto alle nostre esigenze, il quale potrà essere ricercato con facilità tramite la funzione “No” della Time Leap. Finché il menù di gioco resterà aperto il vostro personaggio non eseguirà fidgets, mentre gli Xurkitree in background smetteranno di correre. I 5 secondi di tempo vi daranno accesso ad una finestra temporale nella quale gli NPCs resteranno pari a 1 per una manciata di secondi, poiché lo Xurkitree errante si allontanerà abbastanza dal vostro spot da non influenzare l’avanzamento dei Frames.

Nota: Si ringrazia /u/Noeliel per aver spiegato il metodo che stiamo utilizzando.

PROBLEMATICHE

In questo paragrafo verranno trattate le principali fonti di errore che possono verificarsi durante questa tecnica di RNG.

Scripting ed Emulazione:

Una delle problematiche più frequenti riguarda i malfunzionamenti dello script: l’alta instabilità di connessione può infatti causare dei crash, obbligando ad una chiusura forzata del programma. Per evitare queste situazioni, come prima cosa impostate l’Auto update delay (seconds) ad 1 o 2, inoltre prestate attenzione ad usare sempre e solo Citra Canary. Consigliamo di cliccare Connect sulla schermata del titolo di gioco; inoltre, nel caso in cui lo script smettesse di funzionare, chiudete sempre la finestra di Python per prima, così da arrestare il programma rapidamente.

Può capitare che lo script si arresti durante un tentativo di RNG: potete tentare di riconnetterlo riaprendo il file main.py, ma solo se lo avrete chiuso come illustrato in precedenza. Durante l’immissione dei dati nel 3DSRNGTool è possibile che lo script vada in errore nuovamente. Per cercare di arginare questo problema potete disconnettere il programma prima di inserire i dati, per poi riconnetterlo successivamente. Prima di riavviare un gioco su Citra ricordatevi di disconnettere lo script oppure quest’ultimo potrebbe causare il crash stesso dell’emulatore.

Per tutti questi motivi è altamente consigliato puntare a Target molto bassi, intorno ai 30000 Frames al massimo.

Time Leap e Blinking:

A volte potreste mancare il vostro Frame 2 di 1 a causa del blinking, un fenomeno innescato dall’animazione del vostro personaggio. Per risolvere questa situazione potete provare ad utilizzare un diverso Frame 1 per raggiungere il vostro Target, in modo tale da alterare la sequenza dei blinks. In alternativa ripetete semplicemente l’RNG da capo.

Sincronismo:

In alcuni casi potrebbe accadere che il Sincronizzatore non riesca più a trasmettere la sua Natura ad un Pokémon, pur utilizzando la stessa Spread: questo si verifica quando un Pokémon Stazionario si trova in un’area diversa da quella di un’altra creatura. Infatti la Natura sarà sincronizzabile a seconda del luogo nel quale ci troviamo.

Esempio: Un Nihilego presso l’Ultrabisso è influenzabile grazie all’abilità Sincronismo del leader con una determinata Spread. Potrebbe dunque risultare che la stessa non dia la possibilità di sincronizzare la Natura di un Kyogre reperibile nell’Ultramondo Ignoto (cascate), accessibile tramite i varchi di colore blu.