Guida al modding

Indice

mods

Le regole e l'aspetto del gioco possono essere cambiati grazie ai mods.

Una mod è una cartella che contiene potenzialmente un rules.txt, ai.txt, ui (e la corrispondente versione localizzata). La struttura di cartelle è uguale a quella della cartella "res".

Le mod sono collocate nella cartella "mods" principale oppure in "mods" presente nella cartella dell'utente. Per essere attivata, una mod deve essere richiamata nel parametro "mods =" in SoundRTS.ini. Ad esempio: mods = soundpack,mia_mod,mia_altra_mod

Il file rules.txt farà da patch al file predefinito. Ad esempio, un file rules.txt che contenga le seguenti 2 linee:"def peasant" e "decay 20" causerà la scomparsa di un contadino dopo 20 secondi.

clear

Per sostituire rules.txt o style.txt anzicché patcharlo, utilizzare il comando "clear" all'inizio del file. Questo non funziona con ai.txt, e non è tuttavia necessario, perché in ai.txt il comando def riscrive le definizioni della IA.

is_a

Fin quando in style.txt "is_a" è il modo per ereditare tutte le proprietà di un'altra definizione, in rules.txt, "is_a" è anche usato per assicurarsi che una fortezza od un castello consentirà quel che consentirebbe un municipio.

Nota: gli alberi di ereditarietà in style.txt e in rules.txt non sono necessari per il match.

le regole

Da SoundRTS 1.1, le regole del gioco si trovano in un file chiamato rules.txt.

gare

Each race is defined in rules.txt . For example:

def orc_race
class race

È possibile utilizzare la parola "faction" invece di "race". Ad esempio:

def orc_faction
class faction

Nota: il nome "orc_faction" termina con "faction" per evitare conflitti tra i nomi. Questo suffisso "faction" non è obbligatorio fin tanto che il nome è unico.

proprietà delle unità

Nota: una unità può essere anche un edificio.

is_ballistic

Nuovo in SoundRTS 1.2 alpha 9.

is_ballistic 1

Le unità possono attaccare unità che si trovano nelle caselle adiacenti se si trovano a bassa quota. Le unità hanno armi speciali (come le catapulte) al punto che non è necessario servirsi di proprietà perché possono attaccare le unità collocate nelle caselle adiacenti, anche se l'obiettivo si trova ad alta quota.

is_teleportable

Nuovo in SoundRTS 1.2 alpha 9.

is_teleportable 1

L'unità (o l'edificio) è predisposto per l'effetto di teletrasporto o per richiamarlo.

provides_survival

Nuovo in SoundRTS 1.2 alpha 9.

provides_survival 1

Avendo almeno una unità (o un edificio) con "provides_survival" uguale a 1 previene un giocatore da perdite in una partita multigiocatore (non vale per la campagna singolo giocatore). Il trigger interessato è "no_building_left". Solo gli edifici hanno impostata questa proprietà su 1 di default. I cantieri hanno impostata questa proprietà su 0 e non può essere cambiata.

storage_bonus

storage_bonus <bonus per risorsa 0> <bonus per risorsa 1> ...

Ad esempio, "storage_bonus 0 1" causerà un bonus +1 per la legna (il secondo tipo di risorsa).

Il bonus va al gestore della unità. I bonus non possono essere accumulati: È consentito solo un bonus per ciascun tipo di risorsa.

proprietà di abilità

effect

effect <tipo effetto> [parametri]

Valore predefinito: (none)

Un effetto è la proprietà di un'abilità. Quando un'abilità viene usata da una unità, l'effetto funzionerà fino a quando non verrà richiamato nessun tipo di effetto.

Le proprietà addizionali possono modificare un effetto: effect_target e effect_range.

apply_bonus

effect apply_bonus <nome proprietà>;

Aumenta il numero delle unità influenzate. Il valore viene definito nella proprietà dell'unità chiamata "_bonus". Ad esempio, "effect apply_bonus damage" andrà alla ricerca di una proprietà chiamata "damage_bonus" nella definizione di ciascuna unità influenzata. In questo modo, le unità beneficiando dello stesso avanzamento possono avere valori bonus differenti.

bonus

effect bonus <nome proprietà> <valore>

Incrementa dal valore indicato la proprietà delle unità influenzate.

Le seguenti proprietà probabilmente funzionano: damage, armor, range, heal_level, speed, hp_max (le vecchie unità non possono comunque avere il loro hp aggiornato a hp_max). food_cost e food_provided probabilmente non funzioneranno correttamente.

conversion

effect conversion (nessun parametro)

Sposta l'obiettivo sull'esercito del caster.

Se l'obiettivo non è un nemico del caster, non accadrà nulla.

I valori consentiti per la relativa proprietà:

  • effect_target: ask
  • effect_range: square, nearby, anywhere

TODO: aggiungere un <limit> di modo che le unità facenti parte di una casella mirata vengono scelti (anzicché mirare una singola unità).

raise_dead

effect raise_dead <durata (in secondi)> <tipo e numero unità>

Crea le unità richieste in una casella selezionata dai cadaveri presenti all'interno di essa, nell'ordine dell'elenco unità. Se non ci sono cadaveri a sufficienza, la fine dell'elenco non potrà essere creata. Le unità spariranno dopo <durata> secondi a meno che <durata> non abbia impostato il valore 0.

Se non vi è alcun cadavere nella casella indicata, l'ordine non può essere eseguito.

Valori consentiti per le relative proprietà:

  • effect_target: self, ask, random
  • effect_range: square, nearby, anywhere

recall

effect recall (nessun parametro)

Simile a teleportation. Trasporta le unità di un giocatore da una casella scelta e le riporta indietro alla casella del caster. Non sono influenzati gli edifici. Stessa cosa per le unità alleate.

Se non ci sono unità nella casella indicata, l'ordine non può essere eseguito.

Valori consentiti per le relative proprietà:

  • effect_target: ask, random
  • effect_range: nearby, anywhere

resurrection

effect resurrection <limite>

Resuscita i cadaveri dell'esercito di caster facendoli volare sulla casella scelta, con un massimo di <limite> unità resuscitate. I cadaveri vecchi vengono resuscitati per primi. Le ferite vengono rimarginate per un terzo massimo di esse.

Se non c'è alcun cadavere dell'esercito nella casella scelta, l'ordine non può essere eseguito.

Valori permessi per le relative proprietà:

  • effect_target: self, ask, random
  • effect_range: square, nearby, anywhere

summon

effect summon <durata (in secondi)> <tipo e numero di unità>

Crea le unità richieste nella casella selezionata e le aggiunge all'esercito di caster. Le unità convocate scompariranno dopo <durata> secondi, a meno che <durata> non sia uguale a 0.

Valori permessi per le relative proprietà.

  • effect_target: self, ask, random
  • effect_range: square, nearby, anywhere

teleportation

effect teleportation (nessun parametro)

Sposta le unità del giocatore dalla casella di caster alla casella selezionata. Non sono influenzati gli edifici. Stessa cosa dicasi per le unità alleate.

Se la destinazione è la stessa della casella di caster, non verrà fatto nulla.

Valori consentiti per le relative proprietà:

  • effect_target: ask, random
  • effect_range: nearby, anywhere

effect_target

effect_target <metodo di selezione>

Determina come verrà selezionato il bersaglio.

Valore predefinito: self

Valori possibili:

  • self: il bersaglio sarà il caster (o la locazione del caster se deve essere indicato un luogo)
  • ask: l'interfaccia utente chiederà per un bersaglio
  • random: il gioco sceglierà come bersaglio una casella a caso

effect_range

effect_range <distanza>

Determina la distanza tra il caster e il bersaglio.

Valore predefinito: square

Valori possibili:

  • square: devono essere nella stessa casella
  • nearby: devono essere in una casella adiacente o nella stessa
  • anywhere: qualsiasi distanza è ammessa

Se la distanza corrente è maggiore di quella richiesta, il caster proverà a muoversi in un luogo vicino e userà l'abilità da li.

style

Lo stile è definito in "ui/style.txt" e nella versione localizzata di "style.txt".

shortcut

Ordini semplici, ordini di costruzione, ordini di addestramento, la possibilità di impartire gli ordini viene data utilizzando una combinazione di tasti, se questa viene definita.

Per definire una combinazione di tasti, definire una proprietà "shortcut" seguita dalla lettera corrispondente. La lettera deve essere minuscola.

Se si tratta di un ordine semplice, il tasto rapido dovrà essere definito a seconda dell'ordine (es.: patrol). Se si tratta di un ordine complesso (addestramento, costruzione, uso di un'abilità), il tasto rapido deve essere definito dalla seconda parte dell'ordine. Ad esempio, definire il tasto "m" per l'abilità meteora così al mago viene assegnato il tasto "m" per lanciare le meteore.