Dieses Modul benötigt Modul:Common
Dieses Modul benötigt Modul:Fahrzeug
Diese Dokumentationsseite spiegelt den Inhalt der Seite Modul:Raumschiff/Doku wieder. |
Modulabhängigkeiten
Modulinfo
Dieses Modul setzt die Vorlage:Raumschiff um. Anweisungen zur Verwendung findest du auf der Vorlagenseite.
Öffentliche Methoden
Das Modul stellt zwei öffentliche Methoden bereit:
loadApiData
- Diese Methode lädt API Daten aus der Star Citizen Wiki API und speichert diese als semantische Daten
infoBox
- Diese Methode erstellt die Infobox des Raumschiffes
local Raumschiff = require( 'Module:Fahrzeug' ):new( 'Raumschiff', 'get_ship' )
local common = require( 'Module:Common' )
-- Overwritten
function Raumschiff.setExtraSemanticProperties( t, apiData )
-- Api Error, don't set anything
if apiData == nil then
return
end
local setData = {
[ 'Neigen' ] = common.formatNum( apiData.agility.pitch ),
[ 'Gieren' ] = common.formatNum( apiData.agility.yaw ),
[ 'Rollen' ] = common.formatNum( apiData.agility.roll ),
[ 'X-Achse-Beschleunigung' ] = common.formatNum( apiData.agility.acceleration.x_axis ),
[ 'Y-Achse-Beschleunigung' ] = common.formatNum( apiData.agility.acceleration.y_axis ),
[ 'Z-Achse-Beschleunigung' ] = common.formatNum( apiData.agility.acceleration.z_axis ),
}
if apiData.quantum ~= nil then
setData[ 'Quantengeschwindigkeit' ] = common.formatNum( apiData.quantum.quantum_speed or 0 )
setData[ 'Quantenreichweite' ] = common.formatNum( apiData.quantum.quantum_range or 0 )
setData[ 'Quantenspulzeit' ] = common.formatNum( apiData.quantum.quantum_spool_time or 0 )
setData[ 'Quantenkraftstoffkapazität' ] = common.formatNum( apiData.quantum.quantum_fuel_capacity or 0 )
end
if apiData.fuel ~= nil then
setData[ 'Kraftstoffkapazität' ] = common.formatNum( apiData.fuel.capacity or nil, nil )
end
if apiData.speed ~= nil then
setData[ 'Beschleunigung SCM' ] = common.formatNum( apiData.speed.zero_to_scm or nil, nil )
setData[ 'Beschleunigung Maximum' ] = common.formatNum( apiData.speed.zero_to_max or nil, nil )
setData[ 'Entschleunigung SCM' ] = common.formatNum( apiData.speed.scm_to_zero or nil, nil )
setData[ 'Entschleunigung Maximum' ] = common.formatNum( apiData.speed.max_to_zero or nil, nil )
end
return mw.smw.set( setData )
end
-- Load and save data from api.star-citizen.wiki
function Raumschiff.loadApiData( frame )
Raumschiff:setFrame( frame )
if Raumschiff.frameArgs[ 'Manuell' ] ~= nil then
Raumschiff:addManual()
elseif Raumschiff.frameArgs['Nur Infobox'] == nil then
Raumschiff:setExtraSemanticProperties( Raumschiff:saveApiData() )
end
end
function Raumschiff.infoBox( frame )
Raumschiff:setFrame( frame )
Raumschiff:setSeoData()
if Raumschiff.frameArgs['Nur Infobox'] == nil then
Raumschiff:setCategories( Raumschiff:getSmwData() )
end
return tostring( Raumschiff:getInfoBox() ) .. Raumschiff:getCategories()
end
return Raumschiff