La guida completa alla formula del danno - DaWoblefet

I calcolatori di danno sono strumenti estremamente utili per i giocatori di Pokémon competitivo. Essere capaci di ottimizzare le EV spreads permette ai giocatori di affinare le proprie strategie in battaglia, utilizzando a proprio vantaggio la matematica manipolando le EVs di un Pokémon per massimizzare le chance di sopravvivere alle mosse avversarie, ottenere KOs rilevanti e outspeedando le threats giuste. Ma come funzionano questi calcolatori? Utilizzano davvero la stessa formula che il gioco utilizza? E qual è questa formula?

Informazioni di background

In passato, ai tempi della IV Generazione, la formula del danno fu derivata empiricamente grazie al duro lavoro di X-Act e peterko. Il calcolo del danno è incredibilmente complesso: basti pensare a tutte le variabili di base di cui si tiene conto (attacco, difesa, potenza base delle mosse, livello, ecc). Non solo bisogna concepire una formula che tenesse in considerazione tutti questi fattori e le altre variabili, ma anche il fattore random dei damage roll. In Pokémon infatti il danno non è lo stesso ogni volta: ogni numero computato nella prima parte della formula e arriva alla sezione del "danno random" può dare un output di 16 valori potenzialmente differenti. Ottenere la formula del danno empiricamente poteva essere noioso e soggetto ad errore umano, non solo perché ci sono decine di variabili da testare, ma anche a causa del fattore random!

In V Generazione, la comprensione della formula del danno fu approcciata in modo differente: guardando al codice del gioco. xfr, Bond697, Kaphotics e V4Victini hanno dataminato e documentato la struttura della formula del danno sulle versioni Bianco e Nero, rivelando esattamente in che ordine i differenti modificatori venivano applicati e esattamente in che modo venivano applicati. Questo fu un grandissimo passo in avanti! Armati di queste nuove informazioni, utenti come Honko e Sopan svilupparono l'Honkcalculator e il Poketron Damage Calculator. Sebbene non fossero carini o versatili come i moderni calcolatori cui siamo abituati, avevano un'importante caratteristica che li distingueva dagli altri calcolatori dell'epoca: erano accurati. Questo era particolarmente importante per il VGC, perché giocare su cartuccia era richiesto per gli eventi dal vivo ed era la norma anche per le prime competizioni di VGC online. Avere un calcolatore di danni accurato significava che, se il calcolatore avesse indicato la capacità di un Pokémon di resistere ad un attacco, quel Pokémon sarebbe resistito anche nel gioco, senza troppe domande.

Quando la conoscenza generale dei giocatori di VGC su come utilizzare i calcolatori di danno è aumentata, anche la richiesta di creare calcolatori ottimizzati per il VGC è cresciuta. Il calcolatore di Honko diventò quello di riferimento per i giocatori di VGC, offrendo nuove funzionalità e drasticamente migliorando l'aspetto grafico e la percezione del calcolo dei danni. Ciononostante, questo si concentrava principalmente sui formati di Smogon e offriva un supporto minimo al VGC. Nel 2015 Tapin, con l'aiuto di Firestorm, creò il primo calcolatore di danno del VGC, introducendo funzionalità di default tipiche del VGC e i set dei Pokémon più comuni, favorendo come mai prima un'accessibilità ai calcolatori per la scena del VGC. squirrelboy1225 continuò il progetto di Tapin quando quest'ultimo scelse di ritirarsi, e ancora oggi lo porta avanti. Tuttavia, con l'aggiunta delle ultime generazioni è arrivato un carico enorme di modificatori, quali i campi, le Abilità -ate, le Aure, oltre a decine di nuove Abilità, strumenti e mosse uniche. Questi modificatori dove vanno ad inserirsi nella formula del danno? Davvero importa dove siano questi modificatori? Non sono semplicemente tutte moltiplicazioni?

Termini di Base

Sfortunatamente, non solo è importante dove nella formula siano questi modificatori, ma è MOLTO importante. Un modificatore è qualsiasi cosa che può avere un effetto sul calcolo del danno. Ci sono cinque "gruppi" maggiori di modificatori: modificatori di Attacco/Attacco Speciale, modificatori di Difesa/Difesa Speciale, modificatori della potenza base di una mossa, modificatori generici del danno, modificatori finali. In più, nelle varie parti della formula, i decimali sono in larga parte affetti da arrotondamenti... ma esistono tre tipi di "arrotondamento"!

  1. NormalRound (arrotondamento normale), come quello che si impara a scuola, approssimando all'intero più vicino. Se un numero ha un decimale maggiore o uguale a 0.5, si arrotonda per eccesso; se il decimale è inferiore a 0.5, si arrotonda per difetto. In notazione matematica, round(30.2) = 30, round(30.5) = 31, e round(30.7) = 31.
  2. Una funzione nota come "pokeRound", nella quale Game Freak ha deciso di arrotondare 0.5 per difetto. Se il numero ha un decimale maggiore di 0.5, si arrotonda per eccesso all'intero più vicino; se il decimale è minore o uguale a 0.5 si arrotonda per difetto. In notazione matematica, pokeRound(30.2) = 30, pokeRound(30.5) = 30, e pokeRound(30.7) = 31.
  3. Troncamento/floor, nel quale la parte decimale del numero è completamente ignorata e del tutto "tagliata via" dal numero. L'arrotondamento è sempre per difetto. In notazione matematica floor(30.2) = 30, floor(30.5) = 30, e floor(30.7) = 30.

Questi diversi tipi di arrotondamenti potrebbero sembrare poco influenti sul risultato ma, poiché il gioco userà NormalRound, pokeRound e Floor in step differenti, l'errore degli arrotondamenti si amplificherebbe molto velocemente nella formula. Anche qualcosa di semplice come una Dazzling Gleam potenziata da Life Orb in una lotta in doppio con Light Screen include tutte e tre le funzioni di arrotondamento, quindi moltiplicare tutto a casaccio durante il calcolo del danno risulterebbe in un calcolo del tutto differente rispetto a quello che accade realmente su cartuccia.

Questo fa sorgere un problema! La formula del danno non è stata ancora dataminata nei giochi successivi alla V Generazione. Quindi dove vanno applicati i nuovi modificatori? Beh, all'inizio di una nuova generazione uno può solo provare ad indovinare dove essi debbano andare! Ad esempio, i campi sono modificatori della potenza base o sono modificatori generici del danno? O forse nessuna delle due e sono modificatori finali! Come si fa a distinguere? Sfortunatamente, se nessun dataminer si fa avanti e fa un po' di ingegneria a ritroso per ricavare la nuova formula del danno bisogna ritornare a testare manualmente ogni meccanica. Il team che ha avuto più successo nel testare manualmente tutte le novità è un gruppo Giapponese guidato dal ricercatore OZY, i quali sono stati capaci di documentare tutte le novità della VII Generazione, e un gruppo indipendente su Smogon che ha raccolto tutte le informazioni sull'VIII Generazione. I loro sforzi combinati sono attualmente le migliori risorse da consultare come riferimento per comprendere la formula del danno e dovrebbero essere la fonte primaria per tutti i calcolatori di danno moderni e per i simulatori di battaglia come Pokémon Showdown.

L'VIII Generazione tra le altre cose ha introdotto una novità che non era mai stata presa in considerazione nei giochi precedenti in misura così larga: l'eliminazione di decine di mosse che esistevano in Generazioni precedenti. Essendo questa guida stata scritta da DaWoblefet nel corso della VII Generazione, alcuni degli argomenti trattati riguardano proprio delle mosse che non esistono più nei giochi di VIII Generazione e che forse non vedremo mai più nei giochi futuri. Per una questione di completezza, nostalgia e fedeltà all'originale, troverete paragrafi interi su questi argomenti, segnati con un asterisco (*).

In questo articolo, utilizzerò anche altra terminologia con la quale dovreste familiarizzare:

Come sono "conservati" i modificatori

Questo dipenda da... Game Freak. Prendiamo ad esempio il meteo. Se volessi applicare un boost da meteo come quello della pioggia battente su una mossa di tipo Water, ci si potrebbe aspettare che dovremmo moltiplicare la potenza per 1.5x e che poi arrotonderemmo in uno dei metodi sopra citati. Magari moltiplicare per 3 e dividere per 2 funzionerebbe altrettanto bene, oppure forse basterebbe dividere per 2 il numero originale e aggiungerlo al numero originale. Game Freak invece ha scelto di fare questo invece: si moltiplica per 6144 e si divide per 4096. Quindi invece di fare una moltiplicazione per 1.5x, in realtà il gioco sta moltiplicando per 6144/4096. Ora, se tu prendessi una calcolatrice e digitassi questa divisione, ti accorgeresti che questa è esattamente uguale ad 1.5x; infatti per il grosso del calcolo, si comporterà esattamente come se avessi moltiplicato per 1.5x. Game Freak ha fatto questa scelta per una questione di consistenza per tutti i tipi di modificatori che esistono nel gioco. Le divisioni sono molto più semplici per un computer se il divisore (il numero nella parte inferiore di una frazione) è una potenza di 2, e Game Freak ha scelto 4096 e ha usato questo numero come divisore in tutti i modificatori nella formula del danno.

Questo significa però che alcuni modificatori non possono essere precisamente rappresentati in forma di decimali secondo questo sistema. Un buon esempio è Life Orb, che moltiplica il danno di circa l'1.3x. Internamente quest'incremento è rappresentato dalla frazione 5324/4096, che è uguale a 1.2998046875, poco meno di 1.3. Propriamente parlando, soltanto il numero 5324 viene conservato durante il calcolo; in qualsiasi momento viene applicato un modificatore, nella formula avviene sempre lo stesso passaggio di dividere per 4096, e poi di arrotondare il risultato con pokeRound, come spiegato dalla formula:

Per rendere questo articolo più leggibile, invece di dire "si applica un modificatore di valore 6144", dirò "si moltiplica il danno per 6144/4096 (1.5x), e si usa pokeRound sul risultato".

Concatenare i modificatori

A differenza dei modificatori generici del danno, che grossomodo vengono applicati in sequenza, uno dopo l'altro i modificatori di attacco, difesa, potenza base e finali sono sottoposti ad un processo di "concatenamento", in cui più modificatori vengono "combinati" insieme prima di essere applicati, come abbiamo visto nella sezione "Come sono "conservati" i modificatori". Se ci sono più Abilità che impattano sul calcolo del danno che possono essere concatenate, l'ordine col quale sono concatenate dipende dalla di Velocità di partenza (quella della schermata delle statistiche). Se ci sono più strumenti che impattano sul calcolo del danno che possono essere concatenati, l'ordine col quale sono concatenati dipende dalla di Velocità di partenza (quella della schermata delle statistiche).

Per ogni modificatore che bisogna concatenare, segui la formula:

Dove:

Questa è stata una delle parte più confusionarie e difficili da capire per me personalmente, e vi incoraggio a controllare gli esempi quando arriverete a quella parte della guida per aiutarvi a capire esattamente come funziona il concatenamento dei modificatori. Nuovamente, per rendere questo articolo più leggibile, invece di dire "si aggiunge 5324 alla lista di modificatori da concatenare", verrà detto "si moltiplica per 5324/4096". Si consiglia di guardare questa prova video come dimostrazione che nel concatenamento viene utilizzata la funzione NormalRound, e non il pokeRound o il troncamento.

La formula del danno

In un senso molto generale, il calcolo può essere diviso nelle seguenti sezioni:

  1. Potenza base custom: Determinare la potenza base delle mosse che non hanno una potenza base definita, come Heavy Slam o Eruption.
  2. Modificatori di potenza base: Applicare modificatori come i campi, le Aure, Helping Hand, ecc.
  3. Modificatori di attacco: Applicare modificatori come i cali/aumenti di attacco, Choice Band, Water Bubble, ecc.
  4. Modificatori di difesa: Applicare modificatori come i cali/aumenti di difesa, Fur Coat, Eviolite, ecc.
  5. Danno di base: Il "grande calcolo" iniziale, che combina la potenza base, l'attacco e la difesa.
  6. Modificatori generici del danno: Applicare modificatori come i meteo, debolezze e resistenze, lo STAB, ecc.
  7. Modificatori finali del danno: Applicare modificatori come Life Orb, schermi, Friend Guard, ecc.

Nella lettura di questo articolo, queste sezioni possono essere lette in qualsiasi ordine. Se sei alle prime armi con il calcolo dei danni, ti conviene leggere prima la parte sul calcolo del danno di base, poi la sezione sui modificatori finali e poi le altre sezioni.

Oltre agli argomenti già citati, in questo articolo verranno trattati anche i seguenti:

  1. Modificatori della Velocità: Applicare modificatori come i cali/aumenti di Velocità, Tailwind, Choice Scarf, ecc.
  2. Modificatori del peso: Applicare modificatori come Heavy Metal, Float Stone, ecc.
  3. Casi speciali: Mosse come Super Fang e Seismic Toss che calcolano il danno in altri modi.
  4. Overflow del danno: Come le limitazioni dell'hardware influiscono sul calcolo del danno.
  5. Setup per ottenere il danno massimo e minimo: Come ottenere il danno massimo in un solo turno e come ottenere il danno minimo in VIII Gen.

Danno di base

La parte più importante della formula del danno è quella che viene comunemente detta "danno di base". Questa è la formula per calcolare il danno di base:

Where:

Se a questo punto sei già scoraggiato, preparati! La formula del danno da questo punto in poi diventa solo più complessa. Per aiutarti a capire ciò che accade punto per punto, ci saranno degli esempi man mano.

Esempio

Calcoliamo il danno di base di U-turn di un Incineroar con 4 EVs in Attacco (136 nella statistica di Attacco) contro un Amoonguss con 76 EVs in Def (100 nella statistica di Difesa). Per iniziare, inseriamo i nostri valori per livello, potenza base, Attacco e Difesa:

Per affrontare questo calcolo, bisogna risolvere prima le operazioni all'interno delle parentesi e man mano quelle più esterne. Parlando genericamente, poiché tutte le battaglie in VGC si tengono al livello 50, quella porzione della formula ci darà sempre un risultato di 22. Floor[(2*50 / 5) + 2] = Floor[(100 / 5) + 2] = Floor(20+2) = 22. Il primo troncamento quindi è stato sistemato.

Floor(22*70*136/100) = Floor(2094.4). Ricordiamoci che la funzione floor azzera i decimali, quindi il risultato qui diventa 2094.

Floor(2094/50) = Floor(41.88). Come prima, il floor tronca i decimali, quindi Floor(41.88) = 41. 41+2 = 43. Questo significa che abbiamo trovato il danno di base per la U-turn di questo Incineroar contro questo Amoonguss. 43!

Modificatori generici del danno

Precedentemente abbiamo calcolato il danno di base. D'ora in poi quando parlerò di danno nelle prossime sezioni, mi riferirò a questo danno di base iniziale. I prossimi passaggi dei modificatori generici del danno sono applicati in quest'ordine nel gioco, uno dopo l'altro.

1) Modificatori di danno ad area

Se la mossa ha come bersaglio più di un Pokémon sul campo, si moltiplica il danno per 3072/4096 (0.75x), e si applica la funzione pokeRound sul risultato. Avere più di un bersaglio è indipendente dal check sulla precisione, dal fatto che il Pokémon difensore abbia usato o meno Protect, o se questo può evitare la mossa grazie ad altri effetti (come ad esempio Levitate, Telepathy, Fly). Un Pokémon esausto NON è un bersaglio.

Esempi:

  1. Hai un Garchomp e un Tornadus contro un Ferrothorn avversario (unico Pokémon da quel lato del campo). Earthquake avrebbe il modificatore di danno ad area applicato.
  2. Hai un Garchomp (unico Pokémon dal tuo lato del campo) contro Charizard e Ferrothorn avversari. Earthquake avrebbe il modificatore di danno ad area applicato. Se usi Rock Slide mentre il Charizard avversario usa Protect, il modificatore di danno ad area si applicherà nel calcolo del danno contro Ferrothorn.
  3. Hai un Garchomp e un Tapu Koko con Life Orb contro Tapu Fini e Ferrothorn avversari. Il tuo Tapu Koko usa Thunderbolt e manda ko il Tapu Fini avversario, ma anche lui diviene esausto a causa del danno passivo di Life Orb. Questo lascia in campo solamente Ferrothorn e Garchomp, e il modificatore di danno ad area di Earthquake NON viene applicato... perché in campo ci sono solamente Ferrothorn e Garchomp! Earthquake fa quindi danno pieno.

Se la lotta è una Battle Royale (formato introdotto e concluso nei giochi di VII Generazione) e la mossa ha come bersaglio più di un Pokémon sul campo, il moltiplicatore è invece 2048/4096 (0.5x), usando poi pokeRound sul risultato.

2) Modificatore da Parental Bond

Se il danno da calcolare è il secondo colpo di una mossa per effetto dell'Abilità Parental Bond (tipica di Mega-Kangaskhan), si moltiplica il danno per 1024/4096 (0.25x), usando poi pokeRound sul risultato.

3) Modificatori da condizioni meteo

Se il meteo è luce solare intensa (a causa di Sunny Day o Drought):

Se il meteo è pioggia battente (a causa di Rain Dance o Drizzle):

Se il Pokémon difensore ha lo strumento assegnato Utility Umbrella, vengono ignorati i moldificatori da condizioni meteo.

La corrente d'aria misteriosa (dall'Abilità di Mega Rayquaza Delta Stream) non applica un modificatore da condizione meteo. Piuttosto, la corrente d'aria misteriosa cambia direttamente i matchup dei tipi, ad esempio una mossa Electric che ha come bersaglio Mega Rayquaza (Dragon/Flying) sarà "non molto efficace".

4) Modificatore da Critical Hit

L'esatto moltiplicatore per i brutti colpi è tuttora sconosciuto. I brutti colpi di sicuro non sfruttano il moltiplicatore 6144/4096, ma è difficile provare matematicamente quale sia con esattezza quello corretto. Il calcolo più accurato per ora è la moltiplicazione del danno per 3/2, usando poi pokeRound sul risultato. Le probabilità di ottenere un brutto colpo sono descritte dalla seguente tabella:

Livello Probabilità Frazione equivalente
+0 ~4.1667% 1/24
+1 12.5% 1/8
+2 50% 1/2
+3 100% 1/1 (Sempre)

I fattori seguenti possono aumentare il livello di probabilità dei brutti colpi:

Se il Pokémon difensore ha l'Abilità Battle Armor o Shell Armor, o se il team del Pokémon difensore è protetto da Lucky Chant*, la mossa del Pokémon attaccante non può risultare in un brutto colpo. Se la mossa usata è una tra Surging Strikes, Wicked Blow, Storm Throw o Frost Breath, se il Pokémon attaccante nel turno precedente ha utilizzato la mossa Laser Focus, o se l'Abilità del Pokémon attaccante è Merciless e il difensore è avvelenato o iperavvelenato, la mossa sarà sempre un colpo critico, a meno che il difensore non sia protetto da uno degli effetti menzionati prima. Il bonus di Sniper (1.5x) viene applicato dopo, tra i modificatori di danno finali.

Contrary, Simple, Clear Smog, Haze e Topsy-Turvy non hanno effetto sui livelli di probabilità dei brutti colpi.

5) Modificatore da fattore random

Il danno calcolato finora viene moltiplicato per un numero generato randomicamente compreso tra 85 e 100, e poi diviso per 100, e infine troncato dei decimali, secondo la seguente formula:

Dove:

Questo calcolo ci restituisce 16 differenti possibili "damage rolls". Il fattore random è, come implica il nome, generato grazie all'RNG del gioco. Utilizzerai solamente 1 Fattore Random per mossa, e ogni colpo di una mossa che colpisce l'avversario più di una volta (come Dragon Darts o Surging Strikes) ha un nuovo Fattore Random generato indipendentemente dagli altri Fattori Random dei colpi precedenti. Ecco spiegato perché il secondo colpo di Mega Kangaskhan non faceva esattamente un quarto del danno del primo colpo, o perché Icicle Spear non fa lo stesso danno in tutti e cinque i colpi.

A questo punto il gioco semplicemente sceglie uno di questi 16 valori da utilizzare. Per i propositi del calcolo del danno, tutti i 16 possibili damage rolls vengono considerati, e a ognuno di loro individualmente bisognerà applicare i modificatori rimasti nella formula. Calcolando a mano, di solito si sceglie di guardare semplicemente al valore più basso e a quello più alto per ottenere un range di danno.

6) Modificatore da Same-Type Attack Bonus (STAB)

Se la mossa utilizzata è dello stesso tipo del Pokémon attaccante, si moltiplica il danno per 6144/4096 (1.5x), usando poi pokeRound sul risultato. Se il Pokémon che usa una mossa con STAB ha l'Abilità Adaptability, si moltiplica invece il danno per 8192/4096 (2x) e si usa poi pokeRound sul risultato.

7) Modificatori da debolezze/resistenze

Si determina l'efficacia del tipo di una mossa in base alla tabella di debolezze e resistenze. Un esempio è la tabella di Bulbapedia. In termini propri, questo modificatore è semplicemente un "bitshift" (un operatore bit a bit) di 1, 2, o 3 a sinistra o destra, cioè equivalente ad una moltiplicazione o divisione per 2, 4 o 8 in funzione dell'efficacia o meno di una mossa, troncando poi i decimali. Questa operazione non è infatti scalata dividendo per /4096. Grazie a Forest's Curse e Trick-or-Treat, è possibile che il moltiplicatore di debolezze/resistenze sia compreso tra 0.125x e 8x invece dei normali 0.25x-4x come nelle generazioni precedenti.

L'interazione tra due tipi è detta "matchup dei tipi" (ad esempio Electric è superefficace su Water), mentre il modificatore da debolezze/resistenze è il risultato finale (Electric ha un modificatore di 4x contro un Pokémon di tipo Water/Flying). Le seguenti cose possono avere un effetto sia sul matchup dei tipi che sul modificatore da debolezze/resistenze, generalmente mantenendo quest'ordine:

8) Modificatore da scottatura

Se il Pokémon attaccante è scottato e la mossa usa l'Attacco fisico, si moltiplica il danno per 2048/4096 (0.5x), usando poi pokeRound sul risultato. Se l'Abilità dell'attaccante è Guts o la mossa dell'attaccante è Facade, non si applica il modificatore da scottatura (ma non si fa nient'altro; Guts è un modificatore di attacco e Facade è un modificatore di potenza base).

9) Modificatori finali

Dopo aver concatenato i modificatori finali, si moltiplica il danno per il modificatore risultante /4096, usando poi pokeRound sul risultato. Se non ci sono modificatori finali, si moltiplica per 4096/4096 (1x), usando poi pokeRound sul risultato. Guarda la sezione sui modificatori finali per maggiori informazioni.

10) Modificatore di mossa Dynamax/Gigamax/Z che si infrange su una mossa di protezione

Se il Pokémon attaccante usa una mossa Dynamax/Gigamax/Z e il Pokémon difensore è protetto da Protect, Detect, King's Shield, Spiky Shield, Baneful Bunker, Obstruct o Mat Block, se la mossa in questione ha una priorità maggiore o uguale a +1 e il difensore è protetto da Quick Guard, o se la mossa è Clangorous Soulblaze e il difensore è protetto da Wide Guard, si moltiplica il danno per 1024/4096 (0.25x) usando poi pokeRound sul risultato. Per le mosse G-Max One Blow e G-Max Rapid Flow questo modificatore è uguale a 4096/4096 (1x).

11) Check di danno a zero

Se il danno è uguale a 0, adesso è 1.

12) Check di danno a 65535

Se il danno è maggiore di 65535, si applica il modulo 65536 (danno % 65536). Ad esempio, una mossa che farebbe 65638 di danno prima di questo check, ne farebbe solo 102 dopo il check (65638 % 65536 = 102), e una mossa che farebbe 131085 prima di questo check ne farebbe solo 13 dopo il check (131085 % 65536 = 13). Poiché questo check è posizionato dopo il check di danno a zero, significa che è comunque possibile far andare la formula in overflow e risultare in un danno pari a 0, se si utilizza una mossa che farebbe un danno multiplo di 65536. Guarda questo video in cui si prova che è possibile fare 0 danno in VIII Generazione (nell'ultima sezione della guida seguiremo passo passo perché ciò avviene).

Una volta finito con il punto 12, questo è proprio il danno che verrà inferto al difensore. Tuttavia, se il danno inferto è maggiore del suo numero di HP in quel momento, il danno sarà il necessario per ridurre il numero di HP a 0. Per esempio, se il danno calcolato col la formula del danno è 300, ma il difensore ha 200 HP, la mossa farà solamente 200 di danno.

Esempio

Calcoliamo il danno minimo e massimo di un Primal Kyogre con 252+ EVs in Attacco Speciale che usa una Water Spout a piena potenza su un Amoonguss con 252+ EVs in Difesa Speciale, in condizioni meteo di pioggia battente (o acquazzone), come mossa ad area in una lotta in Doppio.

Controlliamo la lista dei modificatori e dei passaggi che abbiamo visto poco prima:

  1. Mossa ad area che ha più di un bersaglio? - Sì
  2. Parental Bond? - No
  3. Meteo? - Sì, pioggia, 1.5x
  4. Brutto colpo? - No
  5. Fattore Random? - Sì
  6. STAB? - Sì
  7. Debolezze/Resistenze? - Sì, 1/2x
  8. Scottatura? - No
  9. Modificatori finali? - No (in questo esempio non ce ne sono)
  10. Mossa Dynamax/Gigamax/Z che si infrange su una mossa di protezione? - No
  11. Check di danno a zero
  12. Check di danno a 65535

Prima di iniziare con i modificatori generici del danno bisogna però determinare il danno di base. L'Attacco Speciale di Primal Kyogre in questo calcolo è 255, la potenza base di Water Spout è 150, e Amoonguss ha 145 nella statistica di Difesa Speciale. Questo esempio non ha modificatori di attacco, di potenza base o di difesa nella formula. Ricordiamoci, poiché stiamo calcolando con Pokémon al livello 50 in VGC, il calcolo che tiene in considerazione questo fattore fa sempre 22. Adesso inseriamo i nostri numeri nella formula per calcolare il danno di base.


Floor(5803/50) + 2 = Floor(116.06) +2. Troncando i decimali, Floor(116.06) + 2 = 116 + 2 = 118. Quindi 118 è il danno di base per questo calcolo. Adesso si applicano i modificatori, in ordine:

  1. Mossa ad area: si moltiplica 118 per 3072/4096, usando poi pokeRound sul risultato. 118*3072/4096 = 88.5, che con pokeRound diventa 88.
  2. Meteo: si moltiplica 88 per 6144/4096, usando poi pokeRound sul risultato. 88*6144/4096 = 132, che in questo caso è già un numero intero.
  3. Fattore Random:

Per i nostri scopi, piuttosto che calcolare il danno con tutti e 16 i rolls, calcoleremo solo il roll di Water Spout di danno minimo e quello di danno massimo. Iniziando da quello minimo, ricordiamoci che il roll di danno minimo accade quando il suo fattore random ha un valore di 15.

Quindi 112 è il nostro danno minimo. Il roll di danno massimo invece è molto più facile da trovare: è infatti uguale a Current Damage, perché il Fattore Random è uguale a 0, e qualsiasi cosa moltiplicata e poi divisa per 100 non cambierà valore. In questo caso il nostro danno massimo è 132, dandoci un range di danno di 112-132.

  1. STAB: Si moltiplica ogni roll di danno per 6144/4096 per poi usare pokeRound. 112*6144/4096 = 168, e 132*6144/4096 = 198.
  2. Debolezze/resistenze: Si divide ciascun roll di danno per 2, troncando eventuali decimali. 168/2 = 84, e 198/2 = 99.

Non essendoci altri modificatori rimasti da applicare, questo è il danno che Water Spout farà ad Amoonguss: 84-99. Se controllassimo questo risultato su un calcolatore per effettivamente valutare se abbiamo utilizzato l'ordine giusto dei modificatori, vedremmo che il calcolatore ci restituisce questo calcolo:

252+ SpA Primal Kyogre Water Spout (150 BP) vs. 252 HP / 252+ SpD Amoonguss in Heavy Rain: 84-99 (38 - 44.7%) — guaranteed 3HKO
(84, 84, 85, 87, 87, 88, 90, 90, 91, 93, 93, 94, 96, 96, 97, 99)

Modificatori finali

I modificatori finali sono concatenati insieme in quest'ordine e il risultato poi applicato al punto 9 dei modificatori generici del danno.

  1. Schermi

Se la lotta è in Doppio (o una Battle Royale), il modificatore è 2732/4096 (0.6669921875x); se la lotta è in Singolo, il modificatore è 2048/4096 (0.5x). Il gioco non controlla se la mossa abbia o meno più di un bersaglio, piuttosto solo il formato della lotta. Ciò significa che una mossa ad area con un solo bersaglio è comunque affetta dal modificatore degli Schermi in una partita in Doppio. Se la mossa è un brutto colpo o se l'Abilità dell'attaccante è Infiltrator, questo modificatore non si applica.

    1. Reflect: si applica se la mossa utilizza la statistica di Attacco fisico;
    2. Light Screen: si applica se la mossa utilizza la statistica di Attacco Speciale;
    3. Aurora Veil: si applica per mosse che utilizzano una delle due statistiche di Attacco/Attacco Speciale.

Quindi Psychock, Psystrike e Secret Sword sono tutte affette dal modificatore di Light Screen e non da quello di Reflect. Aurora Veil e uno degli altri due schermi possono essere attivi contemporaneamente in gioco, ma i loro effetti non sono cumulabili (cioè non ci sarà una doppia riduzione di danno se sono attivi nello stesso momento nello stesso lato del campo sia Reflect che Aurora Veil; la riduzione si applica una sola volta).

  1. Neuroforce* - Se la mossa è superefficace, si moltiplica per 5120/4096 (1.25x).
  2. Sniper - Se la mossa è un brutto colpo, si moltiplica per 6144/4096 (1.5x).
  3. Tinted Lens - Se la mossa è non molto efficace, si moltiplica per 8192/4096 (2x).
  4. Multiscale / Shadow Shield - Se il difensore è al massimo degli HP, si moltiplica per 2048/4096 (0.5x).
  5. Fluffy (mosse da contatto) - Se la mossa è una mossa da contatto, si moltiplica per 2048/4096 (0.5x).
  6. Friend Guard - Se uno dei Pokémon dal lato del difensore ha Friend Guard, si moltiplica per 3072/4096 (0.75x).
  7. Solid Rock / Filter / Prism Armor - Se la mossa è superefficace, si moltiplica per 3072/4096 (0.75x).
  8. Ice Scales: Se la mossa è speciale, si moltiplica per 2048/4096 (0.5x).
  9. Metronome (strumento) - Si moltiplica per i valori di questa tabella, dove n è il numero di volte che la mossa è stata usata con successo consecutivamente.
n Modificatore Equivalente in decimali
1 4915/4096 1.199951171875‬
2 5734/4096 1.39990234375
3 6553/4096 1.599853515625
4 7372/4096 1.7998046875
5 o più 8192/4096 2
  1. Fluffy (mosse di tipo Fire) - Se la mossa è di tipo Fire, si moltiplica per 8192/4096 (2x).
  2. Punk Rock (mosse basate sul suono) - Se il difensore ha Punk Rock e la mossa è una mossa basata sul suono, si moltiplica per 2048/4096 (0.5x).
  3. Expert Belt - Se la mossa è superefficace, si moltiplica per 4915/4096 (1.199951171875x).
  4. Life Orb - Si moltiplica per by 5324/4096 (1.2998046875x).
  5. Resist Berries (Bacche di resistenza) - Se la mossa è superefficace e corrisponde alla giusta Bacca di resistenza, oppure se la mossa è di tipo Normale e la Bacca è la Chilan Berry, si moltiplica per 2048/4096 (0.5x).
  6. Mosse da danno raddoppiato - Si moltiplica per 8192/4096 (2x) se una delle seguenti condizioni si verifica:
    1. Minimize: se il difensore ha usato Minimize e la mossa è Body Slam, Dragon Rush, Flying Press, Heat Crash, Heavy Slam, Malicious Moonsault*, Steamroller*, o Stomp;
    2. Dig: se il difensore è sotto terra a causa dell'effetto di Dig e la mossa è Earthquake;
    3. Dive: se il difensore è sott'acqua a causa dell'effetto di Dive e la mossa è Surf o Whirlpool.
    4. Dynamax Cannon / Behemoth Blade / Behemoth Bash: se il difensore è attualmente nella sua forma Dynamax o Gigamax.

Esempio

Calcoliamo il valore dei modificatori finali di Dynamax Cannon di Life Orb Eternatus contro un Dynamax Dragonite con Multiscale intatta, Light Screen e Friend Guard attivi in una lotta in Doppio.

Controlliamo quindi come vengono concatenati i modificatori finali, in questo caso ne avremo cinque: Light Screen, Multiscale, Friend Guard, Dynamax Cannon e Life Orb. Nota bene che i modificatori da STAB e debolezza NON sono modificatori finali.

Il primo OldCombinedModifier quando si concatenano i modificatori finali è sempre 4096. Seguendo l'ordine, il primo modificatore finale che avremo sarà Light Screen (2732).

Che è uguale a 2732. Successivamente, il nostro nuovo OldCombinedModifier è 2732, e si concatena col secondo modificatore finale della lista, Multiscale (2048).

Il risultato è 1366. Continuando, applichiamo Friend Guard (3072).

Finalmente, abbiamo qualcosa di significativo! (1366 * 3072) / 4096 = 1024.5, che può essere arrotondato normalmente. Quindi piuttosto che arrotondare per difetto come faremmo con pokeRound, si arrotonda per eccesso su 0.5, dandoci 1025. Procediamo quindi sul prossimo modificatore finale: Life Orb (5324).

Che può essere arrotondato normalmente: NormalRound(1332.299...) = 1332. Applichiamo infine l'ultimo modificatore finale, Dynamax Cannon (8192).

Che è uguale a 2664. Questo sarà il nostro modificatore finale che utilizzeremo allo step 9 del calcolo del danno.

Dato un Eternatus con 252 EVs in Attacco Speciale che utilizza una Dynamax Cannon da potenza base 100 contro un Dragonite a piena vita con 4 EVs in Difesa Speciale, il nostro danno di base sarà 73. I roll di danno minimi e massimi saranno rispettivamente 62-73. Applicando il modificatore da STAB, il danno diventa 93-109. Il modificatore da debolezza porta infine il danno a 186-218. Ora possiamo applicare i modificatori finali (step 9 dei modificatori generici del danno):

Come puoi vedere, 121-142 è il range di danno che otteniamo dal calcolatore di danni.

252 SpA Life Orb Eternatus Dynamax Cannon vs. 252 HP / 4 SpD Multiscale Dynamax Dragonite through Light Screen with Friend Guard: 121-142 (30.5 - 35.8%)
(121, 121, 122, 125, 125, 126, 129, 130, 130, 133, 134, 137, 137, 138, 140, 142)

Mosse con una potenza base custom

Non c'è un ordine particolare da seguire in questa sezione, perché tratteremo le mosse singolarmente. Di conseguenza, troverete raggruppate mosse che si comportano in modo simile per differenziare un po' le prossime sezioni. Tutte queste mosse hanno una potenza base interna di default, che generalmente non viene utilizzata; tuttavia, la potenza base viene considerata quella di default quando la mossa è affetta dal glitch della Conservazione di Rollout (troverete più avanti spiegato come funziona). Se alla fine del calcolo una di queste mosse si ritrovasse con una potenza base inferiore a 1, il gioco considera 1 come potenza base di quella mossa in quel turno.

Potenza base dipendente dalla Velocità

Per i calcoli sulla Velocità, i valori considerati nel calcolo per l'attaccante e il difensore sono quelli ottenuti dopo aver applicato tutti i modificatori di Velocità.

Se la potenza base calcolata di Gyro Ball è maggiore di 150, la potenza base utilizzata nel calcolo sarà 150.

Una volta definita S, si utilizza questa tabella per determinare la potenza base.

S Potenza base
4 o più 150
3 120
2 80
1 60
0 40

Potenza base dipendente dal peso

Per i calcoli sul peso, i valori considerati nel calcolo per l'attaccante e il difensore sono quelli ottenuti dopo aver applicato tutti i modificatori del peso. Se il difensore è Dynamax o Gigamax, le mosse basate sul peso falliscono. I calcoli sul peso vengono effettuati in chilogrammi.

Peso (kg) Potenza base
x ≥ 200 120
100 ≤ x < 200 100
50 ≤ x < 100 80
25 ≤ x < 50 60
10 ≤ x < 25 40
x < 10 20

Una volta definito W, si utilizza questa tabella per determinare la potenza base.

W Potenza base
5 120
4 100
3 80
2 60
Meno di 2 40

Potenza base dipendente dagli HP

Una volta definito P, si utilizza questa tabella per determinare la potenza base.

P Potenza base
P > 32 20
17 ≤ P ≤ 32 40
10 ≤ P ≤ 16 80
5 ≤ P ≤ 9 100
2 ≤ P ≤ 4 150
P ≤ 1 200

Il motivo per il quale questa formula sia così tanto particolare è perché il gioco computa la percentuale di HP del difensore usando una divisione percentuale scalata a 4096. Se per te non ha senso, tranquillo che lo pensano tutti e sei in buona compagnia.

Potenza base dipendente dall'affetto.*

L'affetto è un valore che ha un valore compreso nell'intervallo 0-255. Maggiori dettagli sull'affetto possono essere trovati sull'apposita pagina di Bulbapedia. Nota che Ditto / Smeargle che usano la mossa Transform non copiano il valore di affetto, quindi è importante tenerne conto se si vuole sfruttare al meglio le meccaniche di Return / Frustration.

Uno Smeargle o un Ditto con affetto base (ad esempio scambiati e messi direttamente nel box) avranno una potenza base di Return di 28.

Uno Smeargle o un Ditto con affetto base (ad esempio scambiati e messi direttamente nel box) avranno una potenza base di Frustration di 74.

Potenza base dipendente da un contatore

Dove Counter è il numero di volte che Fury Cutter è stata usata con successo consecutivamente, con un massimo di 2.

Dove DefaultBP è la potenza base di default della mossa (30 nel caso di Rollout / Ice Ball), Counter è il numero di volte che Rollout / Ice Ball è stata usata con successo consecutivamente, con un massimo di 4, e Defense Curl è uguale a 1 se l'attaccante ha usato Defense Curl in qualsiasi momento prima di usare Rollout / Ice Ball, ed uguale a 0 se non l'ha fatto. Il moltiplicatore massimo senza Defense Curl è 16x, mentre quello massimo con Defense Curl è 32x.

La Conservazione di Rollout è un glitch che permette la conservazione del moltiplicatore di Rollout / Ice Ball e la sua applicazione a qualsiasi mossa (quando ci riferiremo a "Rollout" da qui in poi sappiate che le stesse cose si potrebbero applicare anche con Ice Ball, mossa ormai non più disponibile sui giochi di VIII Gen). Quando Rollout si infrange sul Disguise di Mimikyu, il contatore di Rollout aumenta di 1 ai fini del blocco su Rollout dell'attaccante, ma Counter non aumenta. Se Rollout si infrange su più Disguise di più di un Mimikyu, il moltiplicatore sarà ritardato per ogni Disguise colpito. La Conservazione di Rollout è stata patchata nella versione di Pokémon Spada e Scudo 1.3.1, rilasciata a Dicembre 2020.

Esempio di applicazione del glitch di Conservazione di Rollout, senza Defense Curl, usando Thunderbolt subito dopo:

Rollout 1: 30 * 2^(0+0) = 30 potenza base
Rollout 2: 30 * 2^(1+0) = 60 potenza base
Rollout 3: Disguise
Rollout 4: 30 * 2^(2+0) = 120 potenza base
Rollout 5: 30 * 2^(3+0) = 240 potenza base (il blocco di Rollout dura 5 turni, a questo punto si può scegliere una nuova mossa)
Thunderbolt: 90 * 2^(4+0) = 1440 potenza base

La Conservazione del moltiplicatore di Rollout resterà attiva finché non verrà usata una mossa che usa la formula del danno (mosse come Seismic Toss, Swords Dance, Protect o Super Fang non "useranno" la Conservazione del moltiplicatore di Rollout). Se la mossa con potenza base incrementata tramite il glitch della Conservazione di Rollout è una mossa con potenza base custom, si moltiplica il modificatore della Conservazione di Rollout per la potenza base di default, senza poi applicare i suoi calcoli normali (ad esempio, Grass Knot potenziata dalla Conservazione di Rollout dopo aver usato Defense Curl avrà sempre 1 * 32 = 32 potenza base). Se la mossa successiva è una mossa che colpisce l'avversario più di una volta, la Conservazione di Rollout si applicherà solo al primo colpo. Analogamente, se la mossa è ad area, la Conservazione di Rollout si applicherà solo al primo bersaglio che la mossa ad area colpirà (per primo l'alleato, poi lo slot sinistro dell'avversario, poi lo slot destro dell'avversario). Counter non viene copiato tramite Transform.

Potenza base dipendente dagli incrementi delle statistiche

Gli incrementi alle statistiche che influenzano la potenza base di queste mosse includono tutti i boost tra +1 e +6 ad Attacco, Difesa, Attacco Speciale, Difesa Speciale, Velocità, elusione e precisione. I cali nelle statistiche non avranno effetto su queste mosse (ad esempio, un Pokémon con +6 in Attacco Speciale e -6 in Attacco avrà una Stored Power con potenza base 120).

Dove AttackerStatBoosts è la somma di tutti gli incrementi alle statistiche dell'attaccante. Intenzionalmente non c'è un tetto massimo di potenza base, ma la potenza base massima sarà (20 + 20 * (6 * 7 statistiche)) = 860 potenza base.

Dove DefenderStatBoosts è la somma di tutti gli incrementi alle statistiche del difensore. Se la potenza base calcolata è maggiore di 200, la potenza base utilizzata nel calcolo sarà 200.

Potenza base dicotomica

Potenza base dipendente dagli strumenti

Altro

Dove BaseAttack è letteralmente l'Attacco base del Pokémon, non la sua statistica di Attacco dopo i modificatori. Ad esempio, BaseAttack di un Garchomp Jolly con 252 EVs in Attacco è 130, non 182, ai fini del calcolo della potenza base di Beat Up.

Numero di volte Potenza base
1 40
2 80
3 120
4 160
5 o più 200
n Forza di Magnitude Factor
n < 5 4 0
5 ≤ n < 15 5 1
15 ≤ n < 35 6 2
35 ≤ n < 65 7 3
65 ≤ n < 85 8 4
85 ≤ n < 95 9 5
n ≥ 95 10 6

Una volta ottenuto il Factor, la potenza base di Magnitude è determinata dalla formula:

PP Rimanenti Potenza base
4 o più 40
3 50
2 60
1 80
0 200

Se Trump Card viene utilizzata attraverso l'effetto di un'altra mossa (ad esempio Metronome o Sleep Talk), la potenza base sarà determinata da quanti PP avrà quella mossa dopo l'utilizzo.

Modificatori di potenza base

Se la mossa ha una potenza base custom, come prima cosa viene calcolata la sua potenza base; altrimenti, si usa la potenza base regolare (quella che si trova listata nella schermata di gioco). I modificatori di potenza base vengono concatenati insieme in quest'ordine e il risultato poi applicato alla potenza base di partenza prima di essere utilizzato nella formula del danno di base.

  1. Technician: se la potenza base della mossa è inferiore o uguale a 60, si moltiplica per 6144/4096 (1.5x).
  2. Rivalry - Se l'attaccante e il difensore sono di generi opposti (uno è maschio e l'altro è femmina), si moltiplica per 3072/4096 (0.75x). Se l'attaccante e il difensore sono dello stesso genere (entrambi maschi o entrambi femmine), si moltiplica per 5120/4096 (1.25x). Se uno dei due o entrambi sono con sesso sconosciuto, Rivalry non si applicherà.
  3. Abilità 1.2x - Si moltiplica per 4915/4096 (1.199951171875‬x) se una delle seguenti condizioni si verifica:
    1. Abilità -ate: se la mossa è di tipo Normal e l'Abilità dell'attaccante è Galvanize, Aerilate, Pixilate o Refrigerate;
    2. Normalize: si applica anche se la mossa è già di tipo Normal;
    3. Iron Fist: se la mossa è una mossa pugno;
    4. Reckless: se la mossa è una mossa con contraccolpo oppure è Jump Kick* / High Jump Kick, ma non Struggle.
  4. Battery - Se il Pokémon alleato ha Battery e la mossa è speciale, si moltiplica per 5325/4096 (1.300048828125x).
  5. Abilità 1.3x - Si moltiplica per 5325/4096 (1.300048828125x) se una delle seguenti condizioni si verifica:
    1. Sheer Force: se la mossa può essere potenziata da Sheer Force;
    2. Sand Force: se il meteo è tempesta di sabbia e la mossa è di tipo Rock, Ground o Steel;
    3. Analytic: se l'attaccante fa una mossa per ultimo nel turno;
    4. Tough Claws: se la mossa è da contatto;
    5. Power Spot: se il Pokémon alleato ha l'Abilità Power Spot;
    6. Punk Rock: se la mossa è una mossa basata sul suono.
  6. Aure - Si moltiplica per 5448/4096 (1.330078125x) se Aura Break non è attiva e una delle seguenti condizioni si verifica:
    1. Fairy Aura: se la mossa è di tipo Fairy;
    2. Dark Aura: se la mossa è di tipo Dark.
    3. Aura Break - Se la mossa è di tipo Fairy e Fairy Aura è attiva, oppure se la mossa è di tipo Dark e Dark Aura è attiva, non si applica il modificatore rispettivo e si moltiplica invece per 3072/4096 (0.75x).
  7. Abilità 1.5x - Si moltiplica per 6144/4096 (1.5x) se una delle seguenti condizioni si verifica:
    1. Flare Boost: se l'attaccante è scottato e la mossa è speciale;
    2. Toxic Boost: se l'attaccante è avvelenato o iperavvelenato e la mossa è fisica;
    3. Steely Spirit: se l'attaccante o un alleato ha l'Abilità Steely Spirit e la mossa è di tipo Steel. Se più di un alleato ha l'Abilità Steely Spirit, questo potenziamento è cumulabile per ogni Pokémon con questa Abilità;
    4. Strong Jaw: se la mossa è basata sul morso;
    5. Mega Launcher: se la mossa è un'aura o un impulso.
  8. Heatproof - se la mossa è di tipo Fire, si moltiplica per 2048/4096 (0.5x).
  9. Dry Skin - Se la mossa è di tipo Fire, si moltiplica per 5120/4096 (1.25x).
  10. Strumenti 1.1x - Si moltiplica per 4505/4096 (1.099853515625x) se una delle seguenti condizioni si verifica:
    1. Muscle Band: se la mossa è fisica;
    2. Wise Glasses: se la mossa è speciale.
  11. Strumenti 1.2x - Si moltiplica per 4915/4096 (1.199951171875x) se una delle seguenti condizioni si verifica:
    1. Plates (lastre) / Strumenti generici che migliorano il tipo / Incensi che migliorano il tipo che corrispondono al tipo della mossa;
    2. Adamant Orb: se la mossa è di tipo Steel o Dragon e l'attaccante è Dialga;
    3. Lustrous Orb: se la mossa è di tipo Water o Dragon e l'attaccante è Palkia;
    4. Griseous Orb: se la mossa è di tipo Ghost o Dragon e l'attaccante è Giratina;
    5. Soul Dew: se la mossa è di tipo Psychic o Dragon e l'attaccante è Latios o Latias.
  12. Normal Gem - se la mossa è di tipo Normal, si moltiplica per 5325/4096 (1.300048828125x).
  13. Solar Beam / Solar Blade - se il meteo attuale non è luce solare intensa o corrente d'aria misteriosa, ma c'è una condizione meteo, si moltiplica per 2048/4096 (0.5x).
  14. Me First* - se l'effetto della mossa ha effetto, si moltiplica per 6144/4096 (1.5x).
  15. Knock Off - se il difensore ha un oggetto che può essere rimosso per l'effetto di Knock Off, si moltiplica per 6144/4096 (1.5x). Utilizzare Knock Off su un difensore con Sticky Hold farà applicare il moltiplicatore, ma il difensore non perderà l'oggetto.
  16. Helping Hand - per ogni Helping Hand, si moltiplica per 6144/4096 (1.5x). Più di una Helping Hand si può ottenere grazie a Instruct o durante i Raid Dynamax.
  17. Charge - se Charge è stata usata nel turno precedente e la mossa è di tipo Electric, si moltiplica per 8192/4096 (2x).
  18. Expanding Force: se l'attaccante è in contatto con il terreno ed è attivo lo Psychic Terrain, si moltiplica per 6144/4096 (1.5x).
  19. Misty Explosion: se l'attaccante è in contatto con il terreno ed è attivo il Misty Terrain, si moltiplica per 6144/4096 (1.5x).
  20. Grav Apple: se gli effetti di gravità sono attivi, si moltiplica per 6144/4096 (1.5x).
  21. Mosse con potenza raddoppiata - Si moltiplica per 8192/4096 (2x) se una delle seguenti condizioni si verifica:
    1. Brine: se gli HP del difensore sono minori o uguali a Floor(HP del difensore / 2);
    2. Facade: se l'attaccante è avvelenato, iperavvelenato, scottato o paralizzato;
    3. Fusion Bolt / Fusion Flare: se la mossa Fusion opposta è stata utilizzata con successo questo turno;
    4. Retaliate: se un Pokémon nel team dell'attaccante è diventato esausto nel turno precedente. Nota che in una lotta in Doppio se un alleato dell'attaccante diviene esausto lo stesso turno in cui Retaliate viene usata, la potenza base della mossa non viene aumentata;
    5. Rising Voltage: se il campo è Electric Terrain e il difensore è in contatto con il terreno;
    6. Venoshock: se il difensore è avvelenato o iperavvelenato.
  22. Campi (difensiva) - Si moltiplica per 2048/4096 (0.5x) se il difensore è in contatto con il terreno e una delle seguenti condizioni si verifica:
    1. Grassy Terrain: se la mossa è Earthquake, Bulldoze o Magnitude*;
    2. Misty Terrain: se la mossa è di tipo Dragon.
  23. Campi (offensiva) - Si moltiplica per 5325/4096 (1.300048828125x) se l'attaccante è in contatto con il terreno e una delle seguenti condizioni si verifica:
    1. Electric Terrain: se la mossa è di tipo Electric;
    2. Grassy Terrain: se la mossa è di tipo Grass;
    3. Psychic Terrain: se la mossa è di tipo Psychic.
  24. Sport* - Si moltiplica per 1352/4096 (0.330078125x) se una delle seguenti condizioni si verifica:
    1. Mud Sport: se la mossa è di tipo Electric;
    2. Water Sport: se la mossa è di tipo Fire.

Per calcolare la potenza base finale si applica il modificatore concatenato alla potenza base di partenza. Più espressamente, si calcola il modificatore concatenandolo, poi si moltiplica la potenza base di partenza per il modificatore concatenato, si divide per 4096 e infine si utilizza pokeRound sul risultato. Se alla fine del calcolo una di queste mosse si ritrovasse con una potenza base inferiore a 1, il gioco considera 1 come potenza base di quella mossa in quel turno. Infine se la potenza base risultasse maggiore di 65535, si applica il modulo 65536 (potenza base % 65536).

Esempio

Calcoliamo la potenza base finale di Bolt Beak di Dracozolt in Electric Terrain. Dracozolt è affiancato da un Pokémon con Abilità Power Spot che utilizza Helping Hand, ha usato Charge il turno precedente e ha Magnet assegnato. E ipotizziamo abbia Sand Rush, perché una mossa con così tanta potenza base non merita di fallire a causa di Hustle. Nota anche che se anche Dracozolt avesse Hustle, questo non sarebbe comunque un modificatore di potenza base.

Innanzitutto Bolt Beak è una mossa con una potenza base custom, nella lista di quelle dicotomiche. Ipotizziamo attacchi prima dell'avversario e che abbia quindi una potenza base di partenza pari a 170. Ecco una lista di tutti i modificatori di potenza base che verranno applicati, nell'ordine in cui verranno applicati:

  1. Power Spot (5325/4096)
  2. Magnet (4915/4096)
  3. Helping Hand (6144/4096)
  4. Charge (8192/4096)
  5. Electric Terrain (5325/4096)

Il primo OldCombinedModifier quando si concatenano i modificatori di potenza base è sempre 4096. Il primo modificatore che applicheremo sarà Power Spot (5325).

Che è uguale a 5325. Poi, si mette 5325 come OldCombinedModifier, e Magnet (4915) come prossimo modificatore.

Questo è uguale a 6389.739990234, che arrotondato per eccesso diventa 6390. Il nostro prossimo modificatore è Helping Hand (6144).

Il risultato di questo calcolo è 9585. Il prossimo modificatore è Charge (8192).

Ancora, il risultato è 19170. Il nostro ultimo modificatore da concatenare è Electric Terrain (5325)

Questo calcolo finale ci dà 24921.936035156, che viene arrotondato per eccesso a 24922. Il moltiplicatore così calcolato viene infine moltiplicato per la potenza base di partenza (170).

Avremo quindi pokeRound(1034.3603515625), arrotondato per difetto a 1034, che sarà la potenza base finale di questa mossa. Mica male, speriamo solo non si infranga su un Pokémon di tipo Ground!

Modificatori di attacco

In questa sezione mi riferirò all'attacco di partenza (Attacco o Attacco Speciale) di un Pokémon. Non mi riferirò letteralmente alla statistica base in questo caso, ma al numero che vedresti nel sommario del Pokémon. Ad esempio, Hydreigon con 31 EVs, 252 EVs in Attacco Speciale e natura Modest avrebbe un attacco di partenza di 194, non 125.

Ci sono alcuni passaggi da applicare prima che si possano concatenare i modificatori. Si applicano questi effetti nell'ordine:

  1. Unaware: se il difensore ha Unaware, non si applica alcun potenziamento nei calcoli, positivi o negativi che siano.
  2. Foul Play: si usa l'Attacco di partenza del difensore e i potenziamenti in Attacco del difensore, ma si applicano anche alcuni modificatori di attacco che sono propri dell'attaccante (ad esempio, l'attaccante che usa Foul Play deve avere Choice Band assegnata per potenziare l'attacco; se il difensore ha Choice Band questo moltiplicatore non si applica).
  3. Body Press: si usa la Difesa di partenza dell'attaccante e i potenziamenti in Difesa dell'attaccante, ma si applicano anche alcuni modificatori di attacco che sono propri dell'attaccante (ad esempio, l'attaccante che usa Body Press deve avere Choice Band assegnata per potenziare l'attacco).
  4. Critical hit: se la mossa risulta in un brutto colpo, si ignorano i cali in attacco.

Ad esempio, un brutto colpo con Leaf Blade di un attaccante a +1 in Attacco su un difensore con Unaware fa lo stesso danno di un brutto colpo di Leaf Blade di un attaccante a +0 in Attacco.

  1. Cali/aumenti in attacco: si moltiplica l'attacco di partenza per l'appropriato moltiplicatore di calo/aumento, arrotondando per difetto il risultato.
Livello Frazione Decimale
-6 2/8 0.25
-5 2/7 ~0.2857
-4 2/6 ~0.3333
-3 2/5 0.4
-2 2/4 0.5
-1 2/3 ~0.6667
0 2/2 1
1 3/2 1.5
2 4/2 2
3 5/2 2.5
4 6/2 3
5 7/2 3.5
6 8/2 4

Se la statistica di attacco di partenza moltiplicata per il numeratore della frazione di calo/aumento di attacco risultasse maggiore di 65535, si applica il modulo 65536 (attacco % 65536). (Nota: è possibile arrivare ad una statistica di attacco così alta solamente tramite hacking.)

  1. Hustle: si moltiplica l'attacco per 6144/4096 (1.5x), usando poi pokeRound sul risultato. Questo calcolo è svolto completamente al di fuori del concatenamento dei modificatori di attacco.

Quindi, i modificatori di attacco rimasti sono concatenati insieme in questo ordine e il risultato finale viene applicato all'attacco di partenza prima di essere usato nella formula del danno di base.

  1. Abilità offensive 0.5x - Si moltiplica per 2048/4096 (0.5x) se una delle seguenti condizioni si verifica:
    1. Slow Start: Se la mossa è fisica o se la mossa è una mossa Z speciale (nota che questo effetto NON si applica sulle mosse Dynamax speciali);
    2. Defeatist: Se gli HP dell'attaccante sono minori o uguali a Floor(HP dell'attaccante / 2).
  2. Flower Gift - Si applica se uno tra l'attaccante o un alleato ha l'Abilità Flower Gift. Se il meteo è luce solare intensa e la mossa è fisica, si moltiplica per 6144/4096 (1.5x).
  3. Abilità offensive 1.5x - Si moltiplica per 6144/4096 (1.5x) se una delle seguenti condizioni si verifica:
    1. Guts: se l'attaccante è addormentato, paralizzato, scottato, avvelenato o iperavvelenato e la mossa è fisica;
    2. Overgrow: se gli HP dell'attaccante sono minori o uguali a Floor(HP dell'attaccante / 3) e la mossa è di tipo Grass;
    3. Blaze: se gli HP dell'attaccante sono minori o uguali a Floor(HP dell'attaccante / 3) e la mossa è di tipo Fire;
    4. Torrent: se gli HP dell'attaccante sono minori o uguali a Floor(HP dell'attaccante / 3) e la mossa è di tipo Water;
    5. Swarm: se gli HP dell'attaccante sono minori o uguali a Floor(HP dell'attaccante / 3) e la mossa è di tipo Bug;
    6. Flash Fire: se l'attaccante è stato precedentemente colpito da una mossa di tipo Fire e la mossa è di tipo Fire;
    7. Solar Power: se il meteo è luce solare intensa e la mossa è speciale;
    8. Plus: se anche un alleato ha Plus o Minus e la mossa è speciale;
    9. Minus: se anche un alleato ha Plus o Minus e la mossa è speciale;
    10. Steelworker: se la mossa è di tipo Steel;
    11. Dragon's Maw: se la mossa è di tipo Dragon;
    12. Transistor: se la mossa è di tipo Electric;
    13. Gorilla Tactics: se la mossa è fisica (questo moltiplicatore non si applica su Pokémon Dynamax o Gigamax).
  4. Abilità offensive 2x - Si moltiplica per 8192/4096 (2x) se una delle seguenti condizioni si verifica:
    1. Huge Power: se la mossa è fisica;
    2. Pure Power: se la mossa è fisica;
    3. Water Bubble: se la mossa è di tipo Water;
    4. Stakeout: se il difensore è entrato in campo in questo turno.
  5. Abilità difensive 0.5x - Si moltiplica per 2048/4096 (0.5x) se una delle seguenti condizioni si verifica:
    1. Thick Fat: se la mossa è di tipo Fire o Ice;
    2. Water Bubble: se la mossa è di tipo Fire;
  6. Choice items - Si moltiplica 6144/4096 (1.5x) se una delle seguenti condizioni si verifica, ma il Pokémon non è Dynamax o Gigamax:
    1. Choice Band: se la mossa è fisica;
    2. Choice Specs: se la mossa è speciale.
  7. Strumenti specifici dei Pokémon - Si moltiplica per 8192/4096 (2x) se l'attaccante listato è una "specie base" (cioè non è un Ditto/Smeargle/Mew Trasformato in quella specie) e una delle seguenti condizioni si verifica:
    1. Thick Club: se il Pokémon è Cubone, Marowak, Marowak-Alola o Totem Marowak-Alola e la mossa è fisica;
    2. Deep Sea Tooth: se il Pokémon è Clamperl e la mossa è speciale;
    3. Light Ball: se il Pokémon è Pikachu, Pikachu Cosplay o Pikachu con berretto.

Per calcolare l'attacco finale si applica il modificatore concatenato all'attacco attuale. Più espressamente, si calcola il modificatore concatenandolo, poi si moltiplica l'attacco attuale per il modificatore concatenato, si divide per 4096 e infine si utilizza pokeRound sul risultato. Se alla fine del calcolo l'attaccante si ritrovasse con attacco inferiore a 1, il gioco considera 1 come attacco in quel turno. Infine se l'attacco risultasse maggiore di 65535, si applica il modulo 65536 (attacco % 65536).

Esempio

Calcoliamo l'Attacco Speciale finale di un Chandelure investito al massimo in Attacco Speciale che usa Overheat contro un Mamoswine con Abilità Thick Fat. Chandelure è attualmente a -2 in Attacco Speciale, ha Flash Fire attivo perché è stato colpito da una mossa Fire in un turno precedente e una statistica di Attacco Speciale di partenza pari a 216.

Iniziando dai cali/aumenti di statistica, si moltiplica 216 per 2/4. Floor(216*2/4) = 108. Poi si applicheranno i nostri due modificatori di attacco: Flash Fire, poi Thick Fat.

Iniziamo sempre con 4096 come nostro primo OldCombinedModifier. Il primo modificatore da applicare è Flash Fire (6144).

Che è uguale a 6144. Il prossimo modificatore è Thick Fat (2048).

Che è uguale a 3072. Infine viene applicato il modificatore concatenato all'Attacco Speciale attuale di 108.

Questo diventa quindi un Attacco Speciale finale di 81.

Modificatori di difesa

Calcolare la difesa è molto simile a calcolare l'attacco, fatta eccezione per il fatto che ci sono molti modificatori di difesa in meno rispetto a quelli di attacco.

  1. Unaware: se l'attaccante ha l'Abilità Unaware, non si applica alcun potenziamento nei calcoli, positivi o negativi che siano.
  2. Chip Away* / Sacred Sword: non si applica alcun potenziamento nei calcoli, positivi o negativi che siano.
  3. Psyshock / Psystrike / Secret Sword: si usa la Difesa di partenza del difensore piuttosto che la Difesa Speciale di partenza.
  4. Wonder Room: si invertono le statistiche di difesa di partenza, ma non si invertono i potenziamenti (ad esempio, se la Difesa è 210 e la Difesa Speciale 160 e avevi un livello in Difesa di +3, adesso avrai una Difesa di 160, una Difesa Speciale di 210 e un livello in Difesa di +3).
  5. Critical hit: se la mossa risulta in un brutto colpo, si ignorano gli aumenti in difesa.

Ad esempio, un brutto colpo con Sacred Sword su un difensore a -1 in Difesa fa lo stesso danno di un brutto colpo di Leaf Blade su un difensore a +0 in Difesa.

  1. Cali/aumenti in Difesa: si moltiplica la difesa di partenza per l'appropriato moltiplicatore di calo/aumento, arrotondando per difetto il risultato.
Livello Frazione Decimale
-6 2/8 0.25
-5 2/7 ~0.2857
-4 2/6 ~0.3333
-3 2/5 0.4
-2 2/4 0.5
-1 2/3 ~0.6667
0 2/2 1
1 3/2 1.5
2 4/2 2
3 5/2 2.5
4 6/2 3
5 7/2 3.5
6 8/2 4

Se la statistica di difesa di partenza moltiplicata per il numeratore della frazione di calo/aumento in difesa risultasse maggiore di 65535, si applica il modulo 65536 (difesa % 65536). (Nota: è possibile arrivare ad una statistica di difesa così alta solamente tramite hacking.)

  1. Sandstorm + tipo Rock - se la mossa utilizzerà la Difesa Speciale del difensore, si moltiplica la difesa attuale per 6144/4096 (1.5x), utilizzando poi pokeRound sul risultato. Questo calcolo è svolto completamente al di fuori del concatenamento dei modificatori di difesa.

Quindi, i modificatori di difesa rimasti sono concatenati insieme in questo ordine e il risultato finale viene applicato alla difesa di partenza prima di essere usato nella formula del danno di base.

  1. Flower Gift - Si applica se uno tra l'attaccante o un alleato ha l'Abilità Flower Gift. Se il meteo è luce solare intensa e la mossa è utilizzerà la Difesa Speciale del difensore, si moltiplica per 6144/4096 (1.5x).
  2. Abilità 1.5x - Si moltiplica per 6144/4096 (1.5x) se una delle seguenti condizioni si verifica:
    1. Marvel Scale: se il difensore è addormentato, paralizzato, scottato, avvelenato o iperavvelenato e la mossa utilizzerà la Difesa fisica del difensore;
    2. Grass Pelt: se il campo è Grassy Terrain e la mossa utilizzerà la Difesa fisica del difensore.
  3. Fur Coat - se la mossa utilizzerà la Difesa fisica del difensore, si moltiplica per 8192/4096 (2x).
  4. Strumenti 1.5x - Si moltiplica per 6144/4096 (1.5x) se una delle seguenti condizioni si verifica:
    1. Eviolite: se il Pokémon non è evoluto e potenzialmente può evolvere;
    2. Assault Vest: se la mossa utilizzerà la Difesa Speciale del difensore.
  5. Strumenti 2x - Multiply by 8192/4096 (2x) se una delle seguenti condizioni si verifica:
    1. Deep Sea Scale: se il Pokémon è Clamperl nella sua specie base e la mossa utilizzerà la sua Difesa Speciale;
    2. Metal Powder: Se il Pokémon è Ditto nella sua specie base e non Trasformato in un altro Pokémon e la mossa utilizzerà la sua Difesa fisica.

Per calcolare la difesa finale si applica il modificatore concatenato alla difesa attuale. Più espressamente, si calcola il modificatore concatenandolo, poi si moltiplica la difesa attuale per il modificatore concatenato, si divide per 4096 e infine si utilizza pokeRound sul risultato. Se alla fine del calcolo il difensore si ritrovasse con difesa inferiore a 1, il gioco considera 1 come difesa in quel turno. Infine se la difesa risultasse maggiore di 65535, si applica il modulo 65536 (difesa % 65536). Se la statistica di difesa risultasse 0 a causa di quest'ultimo modulo, il risultato del danno di base sarà sempre 2.

Esempio

Calcoliamo la Difesa Speciale finale di un Tyranitar in tempesta di sabbia, che ha una Assault Vest assegnata e attualmente a +1 in Difesa Speciale, con una statistica di Difesa Speciale iniziale di 121.

Si inizia applicando il +1 in Difesa Speciale: Floor(121*3/2) = Floor(181.5) = 181. Poi viene applicato il bonus della tempesta di sabbia, essendo Tyranitar di tipo Rock: pokeRound(181*6144/4096) = pokeRound(271.5) = 271.

Anche se Assault Vest tecnicamente è un moltiplicatore di difesa che andrebbe concatenato, poiché è l'unico modificatore che stiamo considerando in questo calcolo, è matematicamente equivalente alla sua applicazione diretta. pokeRound(271*6144/4096) = pokeRound(406.5) = 406.

Quindi questo Tyranitar ha una statistica di Difesa Speciale di partenza pari a 406. Se avessimo semplicemente moltiplicato tutte queste variabili contemporaneamente, avremmo avuto erroneamente una statistica di (121*1.5*1.5*1.5) = 408.375, cioè di 408. Ma 406 e 408 sono valori significativamente differenti! Questo esempio mette in luce i punti in cui bisogna stare attenti a come e dove arrotondare nello stesso modo in cui viene fatto nel gioco, o errori simili spunterebbero fuori.

Modificatori di Velocità

I modificatori di Velocità vengono applicati non sono per i propositi dell'ordine del turno, ma anche per i calcoli con mosse come Gyro Ball e Electro Ball. Attualmente la nostra conoscenza su come funzionino i modificatori di Velocità è basata in larga parte sulla ricerca di DaWoblefet sull'argomento. Da notare come alcune cose potrebbero essere cambiate col passaggio dalla VII all'VIII Generazione.

I modificatori di Velocità non sono mai stati dataminati, infatti sono solo derivati empiricamente. È impossibile dimostrare se siano realmente concatenati come i modificatori di attacco e difesa. Ciononostante è davvero improbabile che non seguano le stesse convenzioni sul concatenamento dei modificatori cui ci siamo abituati in quest'articolo, quindi assumeremo che vengano concatenati.

Si inizia con la Velocità iniziale del Pokémon, poi si applicano questi effetti nell'ordine:

Livello Frazione Decimale
-6 2/8 0.25
-5 2/7 ~0.2857
-4 2/6 ~0.3333
-3 2/5 0.4
-2 2/4 0.5
-1 2/3 ~0.6667
0 2/2 1
1 3/2 1.5
2 4/2 2
3 5/2 2.5
4 6/2 3
5 7/2 3.5
6 8/2 4

Se la Velocità moltiplicata per il numeratore della frazione di calo/aumento in Velocità risultasse maggiore di 65535, si applica il modulo 65536 (Velocità % 65536). (Nota: è possibile arrivare ad una Velocità così alta solamente tramite hacking.)

Nota che Unaware non ignora i cali/aumenti in Velocità ai fini del calcolo di Gyro Ball / Electro Ball. Quindi, i modificatori di Velocità rimasti sono concatenati insieme in questo ordine e il risultato finale viene applicato alla Velocità difesa di partenza prima di essere usato nel calcolo di Gyro Ball / Electro Ball e nell'ordine del turno.

  1. Abilità 2x - si moltiplica per 8192/4096 (2x) se una delle seguenti condizioni si verifica:
    1. Chlorophyll: se il meteo è luce solare intensa;
    2. Swift Swim: se il meteo è pioggia battente;
    3. Sand Rush: se il meteo è tempesta di sabbia;
    4. Slush Rush: se il meteo è grandine;
    5. Surge Surfer: se il campo è Electric Terrain;
    6. Unburden: se il Pokémon ha perso o utilizzato il suo strumento, attualmente non ha uno strumento e non ha lasciato il campo dopo aver usato o perso lo strumento.
  2. Quick Feet - Se il Pokémon è addormentato, scottato, congelato, paralizzato, avvelenato o iperavvelenato, si moltiplica per 6144/4096 (1.5x).
  3. Slow Start - Se il Pokémon è in campo da meno di 5 turni, si moltiplica per 2048/4096 (0.5x).
  4. Quick Powder - Se il Pokémon è Ditto nella sua specie base e non Trasformato in un altro Pokémon, si moltiplica per 8192/4096 (2x).
  5. Choice Scarf - Si moltiplica per 6144/4096 (1.5x).
  6. Iron Ball / Macho Brace / Vigorstrumenti - Si moltiplica per 2048/4096 (0.5x).
  7. Tailwind - Si moltiplica per 8192/4096 (2x).
  8. Palude da Patti (Grass + Water Pledge) - Si moltiplica per 1024/4096 (0.25x).

Per calcolare la Velocità finale si applica il modificatore concatenato alla Velocità attuale. Più espressamente, si calcola il modificatore concatenandolo, poi si moltiplica la Velocità attuale per il modificatore concatenato, si divide per 4096 e infine si utilizza pokeRound sul risultato. I modificatori di Velocità concatenati hanno un limite inferiore di 410/4096, guarda questo video per capire meglio come è possibile arrivare a questo valore. Poi:

Non c'è alcun check di Velocità a zero. Se la Velocità risultasse maggiore di 65535, si applica il modulo 65536 (Velocità % 65536). Poi ancora, se il Pokémon si ritrovasse con Velocità maggiore di 10000, il gioco considera 10000 come Velocità in quel turno. I calcoli della Velocità si fermano qui ai fini del calcolo del danno di Gyro Ball / Electro Ball.

Ai fini dell'ordine di attacco nel turno (che non è rilevante per il danno del calcolo, ma comunque interessante), si applicano ancora i seguenti passaggi:

  1. Se Trick Room è attiva, la Velocità è 10000 - Velocità attuale.
  2. Se la Velocità è maggiore di 8191, si sottrae 8192.

La Velocità ottenuta alla fine di questi ultimi passaggi sarà la statistica di Velocità utilizzata ai fini dell'ordine di attacco nel turno. Guarda questo video per avere un'idea di come è possibile eludere il secondo passaggio in Trick Room. Nota che a causa delle velocità dinamiche introdotte in VIII Generazione, qualsiasi modifica alla priorità delle mosse (fatta eccezione per l'effetto di Stall, Quick Claw, Lagging Tail e Full Incense) o modificatore alle velocità dei Pokémon viene applicata istantaneamente, potenzialmente modificando l'ordine di attacco.

Esempio

Calcoliamo la Velocità di un Landorus-T che ha una Choice Scarf assegnata, attualmente a -1 in Velocità e con una statistica di Velocità iniziale di 143.

Si inizia applicando il -1 in Velocità: Floor(143 * 2/3) = Floor(95.3333) = 95.

Poi si applicano i modificatori di Velocità. Nel nostro caso abbiamo solamente Choice Scarf. pokeRound(95 * 6144/4096) = pokeRound(142.5) = 142. Quindi un Landorus-T a -1 con Choice Scarf ha una statistica di Velocità di 142. Come puoi ben vedere, Choice Scarf e il calo a -1 non si "cancellano a vicenda", a causa dei differenti tipi di arrotondamento usati in ogni passaggio.

Modificatori del peso

I modificatori del peso si applicano quando si calcola la potenza base di Low Kick / Grass Knot o di Heavy Slam / Heat Crash, o per determinare se un bersaglio può essere preso per effetto di Sky Drop*. La polvere e l'effetto sonoro che si sente quando un Pokémon entra in campo sono determinate dal peso, ma i modificatori non si applicano nella determinazione della dimensione della nuvola di polvere o del pitch dell'effetto sonoro. Il gioco tratta il peso internamente in chilogrammi. SadisticMystic si è occupato della ricerca sui modificatori del peso.

Iniziando dal peso di base, si applicano questi effetti in ordine:

  1. Autotomize: Per ogni volta che Autotomize è stata utilizzata, si sottraggono 100 kg dal peso. Se il peso scende sotto gli 0.1 kg, il gioco considera 0.1 kg come peso in quel turno.
  2. Heavy Metal: Si moltiplica il peso per 2. Non c'è un massimo di peso: può andare oltre i 999.9 kg.
  3. Light Metal / Float Stone: Si divide il peso per 2 (se è attivo uno dei due effetti) o 4 (se sono attivi entrambi gli effetti). Si tronca il secondo decimale per difetto (ad esempio, un peso di 10.25 kg diventa 10.2 kg, 10.24 kg diventa 10.2 kg e 10.26 kg diventa 10.2 kg).

Questo sarà il peso finale utilizzato nel calcolo della potenza base di Low Kick / Grass Knot o Heavy Slam / Heat Crash. Se il peso è minore di 200 kg, il difensore può essere preso per effetto di Sky Drop*.

Casi speciali

I seguenti casi non determinano il loro danno richiamando la formula del danno, invece utilizzano altri metodi. Rispetteranno comunque le immunità di tipo (Super Fang non colpirà i tipi Ghost e Mirror Coat non colpirà i tipi Dark). Non c'è un ordine particolare da seguire in questa sezione, perché tratteremo le mosse singolarmente. Di conseguenza, troverete raggruppate mosse che si comportano in modo simile per differenziare un po' le prossime sezioni. Gli effetti che infliggono danno (o curano) in frazioni di HP massimi o che si basano sul calcolo degli HP, lo faranno calcolando gli HP originali di un Pokémon anche se questo è Dynamax o Gigamax secondo la formula: HP originali = floor(HP Dynamax / 2).

Contrattacchi - Se più mosse colpiscono l'utilizzatore di un contrattacco questo turno, il contrattacco avrà come bersaglio il Pokémon che ha colpito per ultimo l'utilizzatore del contrattacco (inclusi gli alleati).

Mosse che dipendono dagli HP del difensore - Se il difensore ha un Substitute, si utilizzano gli HP del Pokémon stesso per determinare il danno di queste mosse, non quelli del Substitute. Se il danno è uguale a 0, adesso è 1.

Mosse che dipendono dagli HP dell'attaccante

Pain Split: tecnicamente è una mossa di stato. Gli HP del difensore e dell'attaccante diventano uguali a floor((HP del difensore + HP dell'attaccante) / 2). Se il difensore è Dynamax o Gigamax, vengono considerati gli HP originali.

Mosse che dipendono da fattori misti - Queste mosse richiamano la formula del danno, ma non possono essere raggruppate in nessuna delle sezioni precedenti per via della peculiarità del loro funzionamento.

Mosse a danno fisso

Abilità che infliggono danno

Altro

Al livello 50, il danno di Psywave sarà sempre 25-75. Al livello 100, il danno di Psywave sarà sempre 50-150. Il danno minimo di Psywave è 1.

Overflow del danno

Finora abbiamo visto solo un tipo di overflow del danno: il check di danno a 65535 nei modificatori generici del danno. Abbiamo anche visto che potenza base, attacco e difesa si conformano a questo massimo di 65535, o rischiano di andare in overflow in numeri molto più piccoli. Ripetiamo, se una mossa farebbe più di 65535 di danno, il gioco applicherà il modulo 65536 (danno % 65536). Quindi per esempio, se una dovrebbe fare 65539 di danno, farebbe invece solamente (65539 % 65536) = 3 di danno. E ancora, se una mossa dovrebbe fare 196621 damage, farebbe invece solamente (196622 % 65536) = 14 di danno. Questa sorta di overflow del danno è in realtà esplicitamente definita dal gioco: "sta facendo questo tipo di overflow coscientemente". Tuttavia, esiste un altro tipo di overflow che non è definito nel gioco, ed è insito nelle limitazioni hardware di sistema. I prossimi paragrafi tratteranno di un esempio di overflow possibile fino alla VII Generazione. A partire dall'VIII Generazione, con l'implementazione del nuovo processore Nvidia Tegra X1 montato su Nintendo Switch, ancora non è stato possibile "bucare" la formula del danno con un overflow da 64-bit. Ma teoricamente è possibile farlo.

Il 3DS faceva i suoi calcoli matematici usando un processore ARM11, uscito nel 2005. Leggendo le sue specifiche, utilizzava esclusivamente registri a 32-bit. In computazione, i numeri sono rappresentati internamente come "1" e "0"; questi vengono chiamati "bit". Avere registri a 32-bit significa che puoi gestire 32 "1" e "0" per ogni calcolo. Poiché ci sono due possibili combinazioni per ogni numero, il numero più grande che è possibile computare a 32-bit è 2^32 - 1 (4294967295). 2^32 perché ci sono due possibilità e 32 bits; -1 perché bisogna includere 0 come numero da rappresentare.

Normalmente, sarebbe astronomicamente difficile raggiungere un ammontare di danni così alto. Prima della scoperta della Conservazione di Rollout, la speculazione sul danno massimo in Pokémon non poteva raggiungere nemmeno 1.5 miliardi (anche tralasciando il fatto che avevano sbagliato le meccaniche della formula, quindi in realtà il loro calcolo ammontava ad ancora meno di quanto speculato in questo post di Reddit). Ad ogni modo, la scoperta del glitch della Conservazione di Rollout ha aggiunto un ulteriore moltiplicatore di 32x da applicare a qualsiasi mossa si volesse, e le stime sul danno massimo sono schizzate a 20.6 miliardi. La scoperta della Conservazione di Rollout è arrivata prima della scoperta dell'overflow a 32-bit o di quello a 16-bit (65535), ma questo ha permesso al ricercatore SadisticMystic di effettuare una serie di test per documentarlo.

Ricordi che, nel corso di questa guida, i modificatori listati sono tutti scalati a 4096? Questo è uno dei motivi per cui l'overflow del danno a 32-bit può essere messo in atto. Prendiamo ad esempio il meteo: se il meteo è pioggia battente e la mossa è di tipo Water, si moltiplica per 6144 e poi divide per 4096. 6144 è molto più grande di qualcosa come 3/2! Significa che abbiamo "solo" bisogno di un danno uguale o maggiore di 699051 per raggiungere l'overflow di danno a 32-bit. 699051 è ancora piuttosto alto, ma non è nemmeno nel range del milione, quindi è decisamente ragionevole da raggiungere col giusto setup.

Per chiarificare, ecco un esempio di danno calcolato uguale a 699080 prima di applicare il meteo:

  1. Si moltiplica 699080 * 6144 = 4295147520‬. Se volessimo rapprensentare 4295147520‬ in binario, avremmo bisogno di 33 bits per farlo: 1 0000 0000 0000 0010 1100 0000 0000 0000.
  2. Poiché 4295147520 è maggiore di 32 bits, bisogna forzarlo per esistere entro 32 bits. Per farlo, il gioco praticamente "butta via" ogni bit che non è nei 32 bits più a destra (cioè, tiene i 32 bits meno significativi). Dopo aver quindi escluso quel primo 1, finiremmo con solamente 0000 0000 0000 0010 1100 0000 0000 0000, che in numeri "normali" è uguale a 180224. Ai nostri fini potremmo anche soltanto fare un modulo 4294967296. (4295147520 % 4294967296) è infatti uguale a 180224.
  3. Infine, si divide 180224 per 4096 utilizzando poi pokeRound sul risultato. 180224/4096 = 44.

Quindi, a causa dell'overflow e di come sono rappresentati i modificatori, possiamo dire che 699080*"1.5" è uguale a 44.

Secondo il ricercatore SadisticMystic, questi sono i posti noti nella formula del danno in cui l'overflow a 32-bit è possibile (dovrebbe applicarsi a qualsiasi calcolo, in generale, ma questi in particolare sono stati dimostrati):

  1. Dopo aver moltiplicato livello * attacco * potenza base nella formula del danno di base;
  2. Durante l'applicazione di qualunque modificatore generale del danno;
  3. Dopo aver moltiplicato CurrentDamage * (100 - Fattore Random) quando vengono generati i roll random del danno.

Per una dimostrazione con tanto di calcoli matematici utilizzati per arrivare all'overflow del danno a 32-bit (valido per i giochi fino alla VII Generazione), guarda i video di SadisticMystic o quello della collaborazione tra Wolfey e DaWoblefet.

Setup per ottenere il danno massimo e minimo

Setup di un turno per ottenere il danno massimo

Poiché il danno massimo è 65535, è molto più facile architettare i setup per ottenere il danno massimo. Consideriamo questo setup di un turno:

Con questi 4 Pokémon è possibile ottenere il danno massimo in un solo turno:

  1. Galvantula usa Screech sul suo alleato Woobat. La Difesa di Woobat cala a -4 a causa di Simple.
  2. Butterfree usa Swagger sul suo alleato Kyurem-B. La Lum Berry cura la confusione di Kyurem-B, ma quest'ultimo ottiene un aumento di +2 in Attacco.
  3. Kyurem-B usa Return su Woobat.

Controlliamo perché funziona! Iniziamo con le nostre variabili del danno di base. Abbiamo livello, potenza base, Attacco e Difesa:

Inserendo le nostre variabili nella formula del danno di base otteniamo questo:

E 65533 + 2 = 65535. Detto ciò, non ci sono altri modificatori da applicare a questo setup eccetto il roll random del danno. Tuttavia, ricordiamo che se la mossa colpisce il roll del danno più alto, il suo valore non cambierà (perché moltiplicare e poi dividere per 100 non cambierà il suo valore, e non siamo minimamente vicini al cutoff dei 32-bit per ottenere quel troncamento).

Colpire esattamente quel particolare roll del danno accadrà solo 1/16 delle volte, ma consideriamo che abbiamo appena raggiunto il massimo danno in Pokémon senza nemmeno utilizzare la statistica di attacco più alta del gioco e con una potenza base di appena 92! Molto peculiare. Sicuramente esisteranno setup in un turno per il danno massimo anche per le lotte in Singolo. Se siete a conoscenza di uno che funzioni 1/16 delle volte o più, contattate direttamente DaWoblefet, sarà felice di conoscerlo e darvi credito.

Setup di VIII Gen per ottenere il danno minimo

Abbiamo visto come ottenere il danno massimo usando un Pokémon al livello 100 e uno al livello 1. Troppo facile così, no? E poi stavamo usando una mossa con una potenza base davvero particolare che in VIII Generazione nemmeno esiste più. Così son bravi tutti eh!

Io e ToonGamer ci siamo messi di impegno e in 20 minuti netti abbiamo trovato una combinazione che è ricreabile anche nello Stadio Lotta di Pokémon Spada e Scudo. Nello specifico noi volevamo ricreare il danno "minimo" facendo andare la formula del danno in overflow da 16-bit (applicando quindi il modulo 65536). L'esempio qui riportato è uno dei tanti possibili: prima e dopo di trovare questo calcolo, molto facile da ricreare, ne abbiamo trovati altri con Charizard e Kartana/Durant. Provateci anche voi col calcolatore di Pokémon Showdown: se uno dei roll di un danno è uguale a 65536 o multipli, allora l'overflow troncherà il danno, portandolo a 0.

  • L'attaccante Dracozolt ha 176 EVs in Attacco e natura a favore (statistica di Attacco di partenza 156). Ha lo strumento Magnet assegnato e l'Abilità Hustle. Il campo è Misty Terrain.
  • Il suo alleato Crobat ha le mosse Swagger e Screech.
  • Il difensore Wingull avversario ha 0 IVs, 0 EVs e natura a sfavore (statistica di Difesa di partenza 31). È più lento di Dracozolt.
  • Il suo alleato Crobat ha le mosse Swagger e Screech.
  • Il setup in questo caso richiede 4 turni: i due Crobat utilizzano Screech su Wingull e Swagger su Dracozolt finché Wingull non è a -6 in Difesa e Dracozolt a +6 in Attacco. Poi Dracozolt utilizza Bolt Beak su Wingull.

    Anche qui, controlliamo perché funziona! Iniziamo con le nostre variabili del danno di base. Abbiamo livello, potenza base, Attacco e Difesa:

    Inserendo le nostre variabili nella formula del danno di base otteniamo questo:

    Il nostro danno di base è dunque 12004. Passiamo al calcolo dei roll applicando la formula che abbiamo imparato al punto 4 dei modificatori generici del danno. Verranno generati 16 roll: 10203, 10323, 10443, 10563, 10683, 10803, 10923, 11043, 11163, 11283, 11403, 11523, 11643, 11763, 11883, 12004.

    Applichiamo lo STAB ad ogni roll: pokeRound(roll*6144/4096) = 15304, 15484, 15664, 15844, 16024, 16204, 16384, 16564, 16744, 16924, 17104, 17284, 17464, 17644, 17824, 18006.

    Ora anche il moltiplicatore da debolezza: roll*4 = 61216, 61936, 62656, 63376, 64096, 64816, 65536, 66256, 66976, 67696, 68416, 69136, 69856, 70576, 71296, 72024.

    Bingo!!! Uno di questi sedici roll (quello con Fattore Random = 9) ci dà proprio il risultato che stiamo cercando! Colpire esattamente quel particolare roll del danno accadrà solo 1/16 delle volte... Ma questo significa comunque che abbiamo raggiunto il nostro obiettivo: è possibile ottenere esattamente quel numero magico al livello 50 anche in questa Generazione! Cosa significa questo informaticamente? Che il gioco applicando il check del danno massimo si ritroverà con un numero a 17 bits (65536 in binario è uguale a 1 0000 0000 0000 0000) e troncherà il bit più a sinistra, ritrovandosi solamente con 16 zeri. Matematicamente parlando questo è uguale a fare il modulo: (65536 % 65536) = 0. Guarda questo video sul canale Orpo Team o su quello di ToonGamer per una visuale da entrambe le prospettive.

    Conclusioni

    Anche se non è pratica da capire per un match di VGC medio, una conoscenza generale della formula del danno può essere utile per capire e spiegare alcuni fenomeni e per analizzare dei trend nei calcoli del danno. Essere familiari su come funziona il calcolo significa che tu possa verificare se un calcolatore stia funzionando come dovrebbe funzionare, e tu possa aiutare a contribuire nel caso sorgano delle inconsistenze tra ciò che accade su cartuccia e ciò che accade sul calcolatore o sul simulatore. Infine, credo che sia divertente esplorare come funzionino tutti gli aspetti interni del gioco; capire la matematica dietro la formula del danno può essere una sfida, ma è interessante e figo saper scrivere su carta il danno esatto che una mossa può fare. Ringraziamenti speciali a SadisticMystic, che è stato un pozzo di risorse e ha risposto a domande tecniche sulla formula del danno. Un ringraziamento particolare va a ToonGamer per la disponibilità nel fare calcoli e video nell'ultima fase della stesura di questo articolo, e a GaspVGC per aver aiutato con le grafiche del video. Infine, un GRAZIE grande come una casa a DaWoblefet per avermi permesso di usare il suo compendio. Se avete letto fin qui, grazie anche a voi! Spero vi sia piaciuto!

    Quest'articolo è stato tradotto nella sua interezza dall'originale di DaWoblefet (in inglese) con il permesso dell'autore da Morbuen, pertanto potrebbero esserci alcuni errori dovuti alla barriera linguistica. Il testo, originariamente stilato tenendo in mente le meccaniche fino alla VII Generazione, è stato arricchito con le novità introdotte coi giochi di VIII Generazione.