[HOI4] Evitare che l’Albania venga annessa dall’Italia automaticamente se si trova in una fazione in Hearts of Iron 4 [BUG risolto]

In Hearts of Iron 4, attorno agli inizi di aprile del 1939 (storicamente il 7 aprile 1939) l’Italia completa il focus Albanian Occupation, al quale segue l’ultimatum italiano all’Albania e la conseguente occupazione. Al giocatore umano compare un messaggio come il seguente, e può scegliere se arrendersi oppure resistere. In caso di resistenza l’Italia dichiara immediatamente guerra.

Il problema sorge quando a giocare l’Albania è l’IA, che si arrende sempre, in tutte le circostanze, anche quando sarebbe avvantaggiata. Questo succede per esempio quando l’Albania si trova con un governo comunista ed è alleata del Comintern oppure fa parte dell’Alleanza Balcanica dei Lavoratori (guidata dalla Jugoslavia comunista), anche se un altro stato la sta proteggendo.

Il problema sta nel trigger degli eventi che seguono al focus tree dell’Italia. Per analizzare il bug individuiamo la cartella /events nella radice di HOI4 (nel mio caso avendo il gioco su Steam il percorso completo è \Steam\steamapps\common\Hearts of Iron IV\events\) e apriamo il file Italy.txt. Le righe di codice che ci interessano sono dalla 51 alla 159.

L’errore si trova esattamente alla riga 104. Le chance perché l’IA decida per la resistenza sono calcolate nel modo seguente:

  1. fattore base per la probabilità impostato a 20
  2. Il primo modificatore moltiplica tale fattore per 0 (qui c’è l’errore) nel caso in cui accada una delle seguenti condizioni:
    1. l’Albania è in fazione con l’Italia e il leader è l’Italia
    2. Qualunque altro paese sia principale (major) oppure sia la Jugoslavia, non sia l’Italia, e stia garantendo oppure sia in fazione con l’Albania, assieme ai focus storici attivi
    3. Non sia in fazione, nessun altra nazione, eccetto dell’Italia, la stia garantendo
  3. Il secondo modificatore aggiunge 100 se l’Albania è in una fazione, che non contenga anche l’Italia
  4. Il terzo aggiunge 100 se l’Albania è controllata o è oggetto di un’altra nazione che non sia l’Italia

Il secondo modificatore dovrebbe aggiungere 100 alla probabilità (rendendola quindi certezza) laddove l’Albania si trovi in una fazione che non contenga l’Italia. Purtroppo però, come è spiegato sulla guida ufficiale, il modifier si comporta come un blocco AND, che moltiplica il risultato totale per il factor e ci aggiunge il valore in add. Purtroppo però vale anche un’altra regola: se il valore intermedio scende a 0 tutte le operazioni successive si fermano e nemmeno gli add possono più modificarlo.

Questo significa che in “Qualunque altro paese sia principale (major) oppure sia la Jugoslavia, non sia l’Italia, e stia garantendo oppure sia in fazione con l’Albania, assieme ai focus storici attivi” per assurdo il fattore viene moltiplicato per 0 e quindi le possibilità che la IA resista sono del 0%. Per correggere il problema è sufficiente rimuovere le seguenti righe di codice:

Questo lo possiamo fare creando anche una mod.

Per creare la mod rechiamoci nella cartella C:\Users\<nome-utente>\Documents\Paradox Interactive\Hearts of Iron IV\mod e creiamo un file chiamato CorrezioneAlbania.mod e una cartella chiamata CorrezioneAlbania

Nel file inseriamo le seguenti definizioni (dobbiamo sostanzialmente dare un nome alla mod e scegliere a che cosa si applichi).

Attenzione! Sostituire sempre <nome-utente> con il proprio nome utente nella cartella profilo di Windows.

Nella cartella creare un file chiamato descriptor.mod con al suo interno il seguente codice:

Creare infine una cartella events nella quale metteremo un file di testo chiamato CorrezioneAlbania.txt. Al suo interno copiamo il codice precedente corretto:

Fatto tutto questo salviamo e avviamo il gioco. Se è andato tutto bene e l’Albania è in fazione con noi, al momento dell’ultimatum dovrebbe rifiutarlo e noi riceveremo la seguente notizia.

In tale caso prepariamoci alla guerra con l’Italia, dal momento che le ultime righe di codice dell’evento la attivano automaticamente:

Per curiosità, togliendoli questo non avviene. In caso contrario conviene armarsi.

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.