Modul:ZauberNachGrad

Aus Splitterwiki
Zur Navigation springen Zur Suche springen

Die Dokumentation für dieses Modul kann unter Modul:ZauberNachGrad/Doku erstellt werden

--[[
Diese funktion nimmt eine komma separierte Liste von Zaubern (arg1)
und sortiert sie nach ihren Grad in einer Magieschule (arg2)
--]]


local p = {} --local p = {} -- p steht für Paket (engl. package)

function p.createList( frame )
    local ZauberListe = frame.args['ZauberListe']
    local Schule = frame.args['Schule']
    if ZauberListe == nil or Schule == nil-- Wenn Argument1 oder 2 Leer, endet der script hier
    	then return nil
    end
	--Liste ist nicht leer, für jeden Zauber Grad und Kurzbeschreibung in Erfahrung bringen
	local ReturnString = "" -- String für die rückgabe
	local ZauberSplit = mw.text.split(ZauberListe, ",")  -- Zauber bei , trennen 
	-- Für jeden Zaubergrad 0,1,2,3,4,5 die Liste der Zauber durchgehen
	local grad = 0
	while grad <= 5 do
		for key,value in pairs(ZauberSplit) do-- Über die Zauber table gehen ...
				--[[
				SemanticWiki API query wobei value der name des Zaubers ist
				Nummerierung der Ergebnisse spätere weiter Verwendung
				1 Kurzbeschreibung
		    	]]--
				local queryResult =  mw.smw.ask('[['.. value ..']][[' .. Schule ..'::' .. grad ..'|?Kurzbeschreibung=1|mainlabel=-') 
				if queryResult[1][1] ~=  nil 
					then ReturnString = ReturnString .. value .. ' (' .. queryResult[1][1] .. ')'
				end
		end
		grad =grad + 1
	end
	return ReturnString
end

return p