Schiffskampf-Berechnung

Aus BotE Wiki
Version vom 1. August 2011, 18:54 Uhr von Reginald (Diskussion | Beiträge) (neu)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

Quelle: CombatShip.cpp

Kommt es zu Raumschlachten, findet eine Schiffskampf-Berechnung statt:

Ablauf der Kampfberechnung

Nachdem der Einfluß der Manövrierbarkeit (siehe unten) berechnet ist, finden folgende Abläufe statt:

CalculateNextPosition()

Diese Funktion berechnet den nächsten Punkt auf dem Weg zum Ziel, den das Schiff erreichen wird. (nächste Schußposition?)

Hypothese: Schiffe im Kampf fliegen aufeinander zu bzw. dann aneinander vorbei. Dafür haben Sie programmtechnisch einen Zielpunkt, wohin sie fliegen, unterwegs feuern sie (siehe auch Bild)

Bild CombatSimulator

CombatSimulator.gif

Wenn das Schiff getarnt war und geschossen hat, dann den Tarncounter runterzählen

Kann das "Schiff" nicht fliegen, so gibt es keine neue Position

Wenn noch keine Flugroute berechnet wurde...

...wenn der Schiffsbefehl ANGREIFEN ist...

...und noch kein Ziel ausgewählt ist ...
...dann Zielposition mit mindestens Distanz 10 wählen

...wenn der Schiffsbefehl MEIDEN ist...

...dann zufällige Zielposition im Raum wählen

...wenn der Schiffsbefehl RÜCKZUG ist...

...dann frühest möglichen Rückzugszeitpunkt runterzählen...
...wenn Zähler gleich null ist, eine zufällige Zielposition wählen

Route zur Zielposition berechnen

Abstand berechnen

Beschleunigung berechnen

Bei z.B. einer Manövriebarkeit von 5 wird bei Speed 1 gestartet und dann immer um 1 erhöht, bis Speed 5 erreicht ist. Genauso wird auch wieder verlangsamt.

Beamangriff auf Ziel m_pTarget

Funktion: AttackEnemyWithBeam(const CPoint& beamStart)

nur wenn Distanz größer eins (da sonst ja das Schiff gerammt wurde)

Bonus durch Schiffsspezialeigenschaften besorgen

Einfluß der Manövrierbarkeit

Eine höhere Manövrierbarkeit bedeutet einen Vorteil im Schiffskampf. Dies wird durch einen Bonus umgesetzt.

Die Manövrierbarkeit kennt 10 Abstufungen von 0 (keine, z.B. Außenposten) bis 9 (phänomenal).

Trefferbonus

Für den Trefferbonus liegt zugrunde:

0 00% 00% 00% 00% 00% 00% 00% 00% 00% 00%

1 05% 00% 00% 00% 00% 00% 00% 00% 00% 00%

2 10% 05% 00% 00% 00% 00% 00% 00% 00% 00%

3 15% 10% 05% 00% 00% 00% 00% 00% 00% 00%

4 20% 15% 10% 05% 00% 00% 00% 00% 00% 00%

5 25% 20% 15% 10% 05% 00% 00% 00% 00% 00%

6 30% 25% 20% 15% 10% 05% 00% 00% 00% 00%

7 35% 30% 25% 20% 15% 10% 05% 00% 00% 00%

8 40% 35% 30% 25% 20% 15% 10% 05% 00% 00%

9 45% 40% 35% 30% 25% 20% 15% 10% 05% 00%

Zur Abstufung folgende Hypothese: Für jede Stufe einer besseren Manövrierbarkeit (Mx) gibt es hier einen 5%-Bonus. Hat ein Schiff M3, der Gegner nur M1, beträgt der Bonus 10%. Maximaler Trefferbonus ist 45%.


Verteidigungsbonus (=to hit malus für Gegner)

Hier ist nicht klar, was das ist:

- Verteidigungs-Bonus, weil die Manövrierbarkeit höher ist als die des Gegners und man deshalb schwerer zu treffen ist

- Verteidigungs-Malus, weil die Manövrierbarkeit niedriger ist als die des Gegners und man deshalb leichter zu treffen ist

0 00% 00% 00% 00% 00% 00% 00% 00% 00% 00%

1 04% 00% 00% 00% 00% 00% 00% 00% 00% 00%

2 10% 04% 00% 00% 00% 00% 00% 00% 00% 00%

3 18% 10% 04% 00% 00% 00% 00% 00% 00% 00%

4 28% 18% 10% 04% 00% 00% 00% 00% 00% 00%

5 40% 28% 18% 10% 04% 00% 00% 00% 00% 00%

6 54% 40% 28% 18% 10% 04% 00% 00% 00% 00%

7 70% 54% 40% 28% 18% 10% 04% 00% 00% 00%

8 88% 70% 54% 40% 28% 18% 10% 04% 00% 00%

9 96% 88% 70% 54% 40% 28% 18% 10% 04% 00%