WIF - La Community Italiana di The Battle for Wesnoth

Wesnoth Italian Forum
La Community Italiana di The Battle for Wesnoth uno dei migliori giochi multiplayer online gratis open source, a turni di ambientazione fantasy. Iscriviti a wifper partecipare ai tornei online, allo sviluppo di nuove estensioni (campagne, mappe, ere, scenari, fazioni) e a tutte le iniziative di w.i.f. per questo meraviglioso gioco strategia . Giocare gratis on line non è mai stato più facile.

Se stai cercando giochi multiplayer online, giochi di strategia, giochi a turni, giochi open source, giochi gratuiti o giochi fantasy, vieni a giocare online in multiplayer con noi! Questo è il forum che cercavi.
20 Giugno 2018, 17:45:56 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
 Notizia
VENITE A TROVARCI NELLA CHAT DI W.I.F.
- per organizzare partite ed incontri Ghigno  -
Ti aspettiamo!
Ricerca avanzata  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Terreno con risorse (denaro)  (Letto 73 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Yomar
Eroe del Reame
*****
Scollegato Scollegato

Messaggi: 441



WWW
« inserita:: 06 Giugno 2018, 17:37:39 »

Come faccio a far guadagnare alla mia fazione 2 ori quando piazzo un'unità su un certo tipo di terreno senza che questa guarisca ?
Vorrei sapere anche come fare il contrario, cioè un terreno che guarisca l'unità quando vi si trova sopra, senza che guadagni ori.
Registrato
Argesilao
Maestro di Battaglia
****
Scollegato Scollegato

Messaggi: 205



« Risposta #1 inserita:: 06 Giugno 2018, 22:05:51 »

La cosa si può fare in vari modi:

Un  modo consiste nel definire in maniera opportuna il tipo di terreno che si vuole abbia proprietà terapeutiche o uso bancomat.
Prendiamo, per esempio, che si voglia che i terreni con funghi risanino chi vi trova sopra, allora bisognerà usare il tag [terrain_type] così:

Codice:
[terrain_type]
    symbol_image=embellishments/mushroom
    id=mushrooms_small
    editor_name= _ "Small Mushrooms"
    string=^Em
    aliasof=_bas
    editor_group=embellishments
    heals=8    <------------------------ Basta aggiungere questa riga, il resto è identico al solito terrain type dei funghi
[/terrain_type]

Idem, o quasi, se si vuole, invece, che i funghi diano oro

Codice:
[terrain_type]
    symbol_image=embellishments/mushroom
    id=mushrooms_small
    editor_name= _ "Small Mushrooms"
    string=^Em
    aliasof=_bas
    editor_group=embellishments
    gives_income=yes    <------------------------ Basta aggiungere questa riga, il resto è identico al solito terrain type dei funghi
[terrain_type]

Questo sistema ha un solo inconveniente: prendiamo, per esempio, che il terreno speciale sia quello su cui ci sono degli alberi; in questo caso bisognerà rielaborare tutti i terreni le cui stringhe iniziano con ^F, non li ho mai contati ma credo che siano una ventina almeno.

Volendo andare sul sicuro, sempre per l'esempio di cui sopra, dobbiamo inserire un event side turn sifatto:

Codice:
[event]
    name=side turn
    first_time_only=no

    # prima di tutto censiamo le unità nelle foreste

    [store_unit]
        [filter]
            side=$side_number
            [filter_location]
                terrain=*^F*
            [/filter_location]
        [/filter]
        variable=stored_units
    [/store_unit]

    #  questo nel caso si voglia che il terreno guarisca, prima curiamo il veleno

    {FOREACH stored_units i}
        [if]
            [have_unit]
                id=$stored_units[$i].id
                status=poisoned
            [/have_unit]
            [then]
                [heal_unit]
                    [filter]
                        id=$stored_units[$i].id
                    [/filter]
                    amount=0
                    restore_statuses=yes
                [/heal_unit]
                {CLEAR_VARIABLE stored_units[$i]}
            [/then]
        [/if]
    {NEXT i}

    # quindi risaniamo gli hp di chi non è stato curato dal veleno

    {FOREACH stored_units i}
        [if]
            [have_unit]
                id=$stored_units[$i].id
            [/have_unit]
            [then]
                [heal_unit]
                    [filter]
                        id=$stored_units[$i].id
                    [/filter]
                    amount=8
                [/heal_unit]
            [/then]
        [/if]
    {NEXT i}

    # questo, invece, se si vuole la foresta bancomat

    {VARIABLE introito $stored_units.length}
    {VARIABLE_OP introito multiply 2}
    [gold]
        side=$side_number
        amount=$introito
    [/gold]

    # alla fine meglio cancellare le prove del misfatto  ;D

    {CLEAR_VARIABLE stored_units,i,introito}

[/event]

A scanso di errori di ortografia, dimenticanze o quant'altro, anche il secondo metodo dovrebbe funzionare, anche se in realtà non sono sicurissimo del modo con cui si selezionano le unità avvelenate che, oltre a tutto il resto, funziona in quel modo solo per le versioni da 1.13.0 e successive.

Il primo metodo, invece, dovrebbe essere sicuro ... forse ... (la stregoneria non è una scienza esatta  Ghigno)
« Ultima modifica: 06 Giugno 2018, 22:08:23 da Argesilao » Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Pagine: [1]   Vai su
  Stampa  
 
Vai a: