Differenze tra le versioni di "Modulo:EffTipi"

Corretta Flusso Delta *** sovrascritto il testo esistente ***
m
(Corretta Flusso Delta *** sovrascritto il testo esistente ***)
local tab = require('Modulo:Wikilib/tables')
 
--[[
-- Tabella contenente i valori di efficacia. Il livello esterno è il tipo attaccante, il livello interno il difensore.
 
-- Ad esempio, normale.fuoco è l'efficacia di un attacco di tipo normale che colpisce un tipo fuoco puro
-- Tabella contenente i valori di efficacia. Il livello esterno è il tipo attaccante, il livello interno il difensore.
è il tipo attaccante, il livello interno il difensore.
-- Ad esempio, normale.fuoco è l'efficacia di un attacco di tipo normale che colpisce un tipo fuoco puro
tipo normale che colpisce un tipo fuoco puro
 
--]]
 
local eff = {}
end
 
--[[
-- Le abilità che alterano l'efficacia dei tipi.
 
-- il primo indice è il tipo alterato, il secondo
--Le il nome dell'abilità eche ilalterano terzo ill'efficacia valoredei datipi:
-- il primo indice è il tiponome alteratodell'abilità, il secondo
-- moltiplicare. Filtro, Solidroccia e Magidifesa
secondo il tipo alterato e il valore associato
-- sono trattate a parte.
sarà moltiplicato all'efficacia calcolata solo
con i tipi.
Per esempio, all'indice grassospess corrispondono
i due tipi fuoco e ghiaccio, entrambi con valore
0.5, perché l'abilità dimezza l'efficacia di
questi due tipi.
-- moltiplicare. Filtro, Solidroccia e Magidifesa sono trattate a parte.
 
--]]
 
local ability = {}
ability['mare primordiale'] = ability.fuocardore
ability['terra estrema'] = ability.acquascolo
ability['flusso delta'] = {elettro = 0.5, ghiaccio = 20.5, roccia = 10.5}
 
--[[
-- Creazione dinamica di una table contenente tutte le
 
-- abilità che influenzano l'efficacia tipi, ad oguna
--Creazione delledinamica quali è associatadi una table con i tipicontenente datutte essale
-- Le abilità che alteranoinfluenzano l'efficacia deitipi, tipi.ad oguna
-- influenzati. Le abilità sono gli indici e i tipi
--delle quali è associata una table contenentecon i tipi lotta eda normaleessa
-- influenzati gli elementi associati, es: all'indice
-- influenzati. Le abilità sono gli indici e i tipi
-- pellearsa corrisponde una table contenente i tipi
-- influenzati gli elementi associati, es: all'indice
-- fuoco e acqua. Fanno eccezione magidifesa, filtro e
-- pellearsa corrisponde una table contenente i tipi
-- solidroccia, che non hanno tipi associati fissi
fuoco e acqua.
Fanno eccezione Magidifesa, Filtro e Solidroccia,
-- solidroccia, che non hanno tipi associati fissi
 
--]]
 
et.modTypesAbil = {magidifesa = {}, filtro = {}, solidroccia = {}}
end
 
--[[
-- Creazione dinamica di uan table con i tipi che hanno
 
-- immunità, con associati i tipi a cui sono immuni. I
-- Creazione dinamica di una table contenentecon i tipi tutteche lehanno
-- primi sono gli indici, i secondi gli elementi di una
-- immunità, con associati i tipi a cui sono immuni. I
-- table associata agli indici, es: all'indice spettro
-- primi sono gli indici, i secondi gli elementi di una
-- è associata una table contenente i tipi lotta e normale
-- table associataad agliessi indiciassociata, es: all'indice spettro
è associata una table contenente i tipi lotta e normale
 
--]]
 
et.typesHaveImm = {}
end
 
--[[
-- Calcola l'efficacia di un attacco (0 - 0.25 - 0.5 - 1 - 2 - 4)
 
-- si aspetta i nomi dei tipi, tutti in minuscolo
-- Calcola l'efficacia di un attacco; (0 - 0.25 - 0.5 - 1 - 2si -aspetta 4)i
-- si aspetta i nomi dei tipi e dell'abilità, tutti in minuscolo
 
--]]
 
et.efficacia = function(atk, def1, def2, abil)
 
-- Efficacia base con due tipi
 
local e = eff[atk][def1]
if def2 ~= def1 then
e = e * eff[atk][def2]
end
 
-- Abilità standard
 
if ability[abil] and ability[abil][atk] then
return e * ability[abil][atk]
 
-- Filtro e solidroccia
 
elseif e >= 2 and (abil == 'filtro' or abil == 'solidroccia') then
return e * 0.75
 
-- Magidifesa
 
elseif e < 2 and abil == 'magidifesa' then
return 0
end
 
--[[
-- Cerca tutti i tipi che soddisfano una condizione data.
 
-- Il parametro test è una funzione che si aspetta un solo argomento (vedere gli esempi dopo per chiarimenti).
-- Cerca tutti i tipi che soddisfano una condizione data.
-- Il parametro test è una funzione che si aspetta un solo argomento (vedere gli esempi dopo per chiarimenti).
argomento (vedere gli esempi dopo per chiarimenti).
 
--]]
 
local cerca_tipi = function(test)
end
 
--[[
-- Trova tutti i tipi che attaccando tipo1,tipo2 hanno efficacia eff
 
-- Trova tutti i tipi che attaccando tipo1,tipo2 hannoe efficaciatipo2, effcon
abilità abil, hanno efficacia eff
 
--]]
 
et.difesa = function(eff, tipo1, tipo2, abil)
106 640

contributi