Star Citizen Wiki Modul:Raumschiff
Wir laden dich herzlich auf den Star Citizen Wiki Discord Server ein! Du kannst uns auch auf unserem neuen YouTube-Chanel finden!

Modul:Raumschiff

Aus Star Citizen Wiki

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()
    else
        Raumschiff:setExtraSemanticProperties( Raumschiff:saveApiData() )
    end
end

function Raumschiff.infoBox( frame )
    Raumschiff:setFrame( frame )

    Raumschiff:setSeoData()

    return tostring( Raumschiff:getInfoBox() ) .. Raumschiff:getCategories()
end

return Raumschiff
Cookies helfen uns bei der Bereitstellung dieses Wikis. Durch die Nutzung des Star Citizen Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.