Schilde

Aus BotE Wiki
Version vom 25. November 2012, 22:04 Uhr von Reginald (Diskussion | Beiträge) (→‎Aufladung jede Runde: Bei Schildtyp 0 erfolgt keine Aufladung http://forum.birth-of-the-empires.de/viewtopic.php?p=28814#p28814 (noch nicht verifiziert))
Zur Navigation springen Zur Suche springen

Englisch-Symbol.jpg for English just click here

Einleitung

Aufladung jede Runde

Bei Schildtyp 0 erfolgt keine Aufladung http://forum.birth-of-the-empires.de/viewtopic.php?p=28814#p28814 (noch nicht verifiziert)

BOOL-Wert: bFasterShieldRecharge

In einem Biphasen-Nebel werden die Schilde doppelt so schnell wieder aufgeladen.

RechargeShields

Die genaue Anweisung aus Shield.cpp lautet: int Recharge = nMulti * (int)(max(m_iMaxShield * 0.001f, 1) * m_iShieldType)


Am Beispiel eines Terraner-Titan-Transporters:

Die Funktion wird so aus der botf2Doc.cpp aufgerufen: RechargeShields(200 * (bFasterShieldRecharge + 1));

  • bei bFasterShieldRecharge=true=1 (Biphasen-Nebel): 200*(1+1) = 400.
  • bei bFasterShieldRecharge=false=0 (Biphasen-Nebel): 200*(0+1) = 200.

Shield.cpp: int Recharge = nMulti * (int)(max(m_iMaxShield * 0.001f, 1) * m_iShieldType)

  • maxShield laut Shiplist.data Terraner-Titan-Transporters = 4000, davon 1 Tausendstel ("*0,001")
  • Shieldtype z.B. 6 siehe Raumschiff-Tooltip

ergibt: 200 * 4 * 6 = 4800 (außerhalb Biphasen-Nebeln). Jedoch wird natürlich höchstens bis zur maximalen Schildstärke des jeweiligen Schiffes (hier 4000) aufgeladen.

Aufladung im Kampf

noch leer

Aufrüstung

Mit der Aufrüstung der Schilde ändert sich die Schildstärke nicht, sondern lediglich die Wiederaufladerate der Schilde. Für den maximal auswählbaren Schildtyp werden alle verfügbaren Schiffe durchgegangen und von diesen der größte Wert herangezogen, also der Wert, der bei Start des Spieles in der Shiplist.data unter Shieldtype gespeichert war. In der Praxis heißt das, dass die maximal verfügbare Schildtechnologie dann bei allen Schiffsneubauten einbaubar ist.


Schiffsdesign

Der Programm-Code ist in der ShipDesignMenuView.cpp, während die Kosten in der ShipInfo.cpp berechnet werden.

Baukosten

Baukosten Industrie 1. Teil: m_iNeededIndustry += m_Shield.GetMaxShield() / 10 * m_Shield.GetShieldType();

Beispiel Seraphine (Kolonieschiff Terraner):

  • Typ 0 - Schilde: Industry 406
  • Typ 1 - Schilde: Industry 431 (also +25)
  • Typ 2 - Schilde: Industry 459 (also +28)
  • Typ 3 - Schilde: Industry 493 (also +34)

laut Shiplist.data:

  • NeededIndustry: 300
  • ShieldType: 1
  • MaxShield: 400

also erhöhen sich theoretisch die Kosten je Schildtyp um 30, aber die genaue Berechnung ist mir noch unbekannt (vielleicht liegt es daran:)

Baukosten Industrie 2. Teil:

  • m_iNeededIndustry += GetShield()->GetMaxShield() / 200 * ((USHORT)pow((float)GetShield()->GetShieldType(), 2.5f));"
  • m_iNeededIndustry /= 2;"


Torpedo-Dämpfungseffekt

Torpedos verlieren ihre Effizienz, wenn sie auf noch relativ starke Schilde treffen. Umso weniger von den Schilden noch aktiv ist, umso stärker wirkt der Torpedo (dies gilt jedoch nicht für Microtorpedos).

Schildwert > 75% -> Torpedoschaden nur 25%,

Schildwert > 50% -> Torpedoschaden nur 50%

Schildwert > 25% -> Torpedoschaden 75%

Schildwert < 25% -> Torpedoschaden 100%.


Beamwaffen sind davon nicht betroffen. Die Schilddämpfung wirkt nur bei Torpedos.