Differenze tra le versioni di "Modulo:EffTipi"

Ora dovrebbe funzionare
m
(Ora dovrebbe funzionare)
local b = require("Module:Boxtipo")
 
-- !!!TODO: gestione dell'abbreviazione "coleot" senza scassare gli indici
local nomi = {["normale"] = 1, ["fuoco"] = 2, ["acqua"] = 3, ["elettro"] = 4, ["erba"] = 5, ["ghiaccio"] = 6,
["lotta"] = 7, ["veleno"] = 8, ["terra"] = 9, ["volante"] = 10, ["psico"] = 11, ["coleottero"] = 12,
 
-- riga: attaccante, colonna: difensore
-- mancano i folletti, da aggiungere quando si avranno più informazioni certe
local eff = {{1,1,1,1,1,1,1,1,1,1,1,1,0.5,0,1,1,0.5},
{1,0.5,0.5,1,2,2,1,1,1,1,1,2,0.5,1,0.5,1,2}, {1,2,0.5,1,0.5,1,1,1,2,1,1,1,2,1,0.5,1,1},
 
-- Calcola l'efficacia di un attacco (0 - 0.25 - 0.5 - 1 - 2 - 4)
-- si aspetta i nomi dei tipi, per ora tutti in minuscolo
local function attacca(attaccante, difensore1, difensore2)
local e = eff[nomi[attaccante]][nomi[difensore1]]
if (difensore2) then
e = e * eff[nomi[frame.args[1]attaccante]][nomi[difensore2]]
end
return e
-- trova tutti i tipi che attaccando tipo1,tipo2 hanno efficacia eff
local function attaccanti_con_eff(eff,tipo1,tipo2)
return cerca_tipi(function (x) return attacca(x,tipo1,tipo2)==tonumber(eff) end)
end
 
end
 
-- impacchetta i risultati in dei box
-- TODO: prima lettera messa in maiuscolo
local function boxtipo(t)
table.sort(t)
7 028

contributi