Zum Hauptinhalt springen

Gegner in MegaBlock Survivors

Jeder Gegner in MegaBlock Survivors ist ein eigenes Modell, das von der plugin-eigenen Bewegungs- und Kollisionslogik gesteuert wird, und kein gewöhnlicher Bukkit-Mob. Sie ignorieren die Vanilla-KI vollständig: Jeder wird auf dem aktuellen Wellenlevel gespawnt, leitet seine Werte aus diesem Level ab und wird von der Match-Instanz getickt.

Unter Gameplay findest du, wie Wellen zusammengesetzt werden und wie sich das Wellenlevel aus der verstrichenen Matchzeit ergibt.

Gemeinsame Werte-Grundlage​

Alle Mobs teilen sich eine Werte-Herleitung, die beim Spawn aus dem Wellenlevel angewendet wird:

WertFormelTypspezifische Abweichungen
Max. LPround(waveLevel * 1.6 - 1.0, 1dp)Bosse x10, Artillerie x0,5, Geist x5
Berührungsschadenmax(1, floor(waveLevel / 2.5))Bosse x2
Beschleunigung0.15 * baseMul + 0.0163296 * slopeMul * sqrt(waveLevel)Volatile x2, Geist steigert sich mit der Zeit, Skorpion steigert sich mit der Entfernung
Höchstgeschwindigkeitacceleration * 1.1Folgt der Beschleunigung
Hitbox2 Blöcke (ENTITY_SIZE)Bosse werden mit x2 Skalierung oder mehr dargestellt

baseMul / slopeMul stammen aus dem Schwierigkeitsgrad des Matches -- siehe die Schwierigkeitstabelle auf der Seite Gameplay.

Wellengegner​

Diese vier Typen sind die einzigen, die der Wellen-Generator ziehen kann. Ihre relativen Gewichtungen je Wellenabschnitt und ihre Budgetkosten stehen auf der Seite Gameplay.

Shadow Slime​

Der Standardgegner und das Einzige, was in den Wellen 1-2 spawnt. Läuft geradewegs auf den Spieler zu und verursacht bei Berührung Kontaktschaden. Kein Spezialverhalten, keine Vorwarnung -- er ist der Grunddruck, gegen den jede andere Mechanik ausbalanciert ist. Budgetkosten 1.

Volatile​

Ein Selbstmordattentäter im Creeper-Stil. Bewegt sich mit etwa der 2-fachen Geschwindigkeit eines Shadow Slime, und sobald er auf 2 Blöcke herangekommen ist, stoppt er abrupt und startet einen 30-Tick-Zündcountdown. Dabei zeichnet er einen sich ausdehnenden Ring, der von Rot über Orange zu Weiß eskaliert, und färbt sein Modell zunehmend weißglühend. Läuft der Countdown ab, explodiert er für 5 Schaden in einem Radius von 2.0 + waveLevel * 0.15 Blöcken und verschwindet.

Seine Explosion ist seine einzige Schadensquelle -- ein Volatile verursacht keinen Berührungsschaden, sodass ein Kontakt vor der Zündung bewusst überlebbar ist. Tötest du ihn während der Zündphase, wird die Explosion vollständig abgebrochen und es gibt 5 Bonus-Schattenfragmente. Dadurch wird das Anstürmen zu einem echten Risiko-Ertrags-Spiel statt zu einer Bestrafung. Budgetkosten 2.

Artillerie​

Ein Fernkampfmob, der den Match-Spieler innerhalb von 30 Blöcken mit Kugelangriffen beschießt. Der Mindestabstand zwischen Angriffen beträgt 101 Ticks, also etwa 5 Sekunden. Die Schüsse zielen 2 Blöcke in horizontaler Bewegungsrichtung voraus. Der Bewegungscode sieht einen bevorzugten Abstand von 18-22 Blöcken vor, doch der gemeinsame Verfolgungsimpuls bleibt aktiv: Unter 18 Blöcken hebt der Rückzugsimpuls diese Beschleunigung lediglich auf und garantiert keinen Rückzug; im bevorzugten Bereich bewegt sich der Mob weiter vorwärts. Verlasse dich nicht auf einen festen Abstand von 20 Blöcken.

Jeder Kugeleinschlag hat eine Vorwarnung von 40 Ticks (2 Sekunden): eine gelbe Glashülle beim Wirken, orange bei +20 Ticks und rot bei +40 Ticks -- Schaden entsteht ausschließlich im roten Frame und nur innerhalb von 1,5 Blöcken um den markierten Punkt. Artillerie-Mobs bezahlen ihre Reichweite mit der Hälfte des normalen LP-Pools. Budgetkosten 2.

Laser Sentinel​

Ein vierphasiger, ausweichender Scharfschütze, der AIM -> LOCK -> FIRE -> COOLDOWN durchläuft:

PhaseDauerVerhalten
AIM30 TicksDer Strahl verfolgt den Spieler kontinuierlich
LOCK20 TicksDer Strahl friert auf seinem aktuellen Endpunkt ein -- der letzte Moment, um aus ihm herauszutreten
FIREsofort (5-Tick-Blitz)Hitscan entlang der fixierten Richtung; verursacht max(1, contactDamage), wenn sich die Position des Match-Spielers auf Brusthöhe innerhalb von 1 Block um einen abgetasteten Strahlpunkt befindet
COOLDOWN80 TicksUntätig, dann Wiederholung

Im Leerlauf und während der Abklingzeit weicht er bei weniger als 15 Blöcken Abstand aus. AIM beginnt nur im Bereich von 15-60 Blöcken. Entfernst du dich während AIM weiter als 60 Blöcke, bricht er diesen Versuch ab. Nach Beginn von LOCK wird der Schuss entlang des fixierten Strahls mit höchstens 60 Blöcken Reichweite beendet. Feste Blöcke begrenzen Strahl und Schaden, sodass Deckung den Schuss aufhält. Während AIM, LOCK und FIRE stoppt die horizontale Bewegung. Verlasse den fixierten Strahl, bevor der Schuss fällt. Budgetkosten 2.

Gegner außerhalb des Wellen-Generators​

Diese tauchen in einer normalen Wellenziehung nie auf.

Geist​

Geister besitzen die 5-fache normale LP-Menge und geben keine Drops, Kill-Gutschrift, EP oder Fortschritte beim Portalopfer. Ihr Verhalten hängt von ihrer Herkunft ab:

  • Zeitgesteuerte Geisterarmee: Ein eigener Controller führt diese Geister und löst bei Berührung die Behandlung eines tödlichen Treffers aus. Ein verfügbares Extraleben kann den Spieler wiederbeleben. Diese Geister fehlen in der Zielsammlung der aktuellen Waffen sowie in der Räumung durch Nuke, Geisterarmee-Banner und Second Wind. Wechsle in die nächste Welt, um die Armee zu entfernen; sie zu bekämpfen ist im aktuellen Quellcode kein unterstützter Ausweg.
  • Diener des Endbosses: Mit mindestens zwei Boss-Tributen kann der Boss dasselbe Geistermodell beschwören. Diese Geister werden wie gewöhnliche Gegner verwaltet, verursachen normalen levelabhängigen Berührungsschaden und können von Waffen getroffen oder durch Räumungseffekte entfernt werden. Die Geschwindigkeitssteigerungen der zeitgesteuerten Armee gelten für sie nicht.

Sobald die Beschwörung der zeitgesteuerten Armee beginnt, spawnt alle 5 Sekunden ein Geist. Diese gesamte Armee, einschließlich bestehender und künftiger Geister, erhält alle 30 Sekunden eine Geschwindigkeitssteigerung von 1,2x. Den Auslöse-Timer findest du im Abschnitt zur Geisterarmee auf der Seite Gameplay.

Todeskugel​

Wird ausschließlich vom Endboss gespawnt, wenn der Spieler 3 Boss-Tribute in den Kampf mitbringt. Eine Todeskugel ist kein Mob, sondern eine nachgeführte Position, die mit 0,14 Blöcken/Tick, etwa halber Sprintgeschwindigkeit, auf den Spieler zutreibt. Ihr eingestellter Kontaktradius beträgt 1,5 Blöcke. Eine Abklingzeit von 1 Sekunde soll den levelskalierten Schaden des Bosses begrenzen. Der Spieler kann sie weder anvisieren noch beschädigen oder zerstören. Sie bleibt bestehen, bis der Boss stirbt. Zwei Kugeln erscheinen an der Bossposition, die zweite um 2 Blöcke entlang X versetzt. Danach verfolgen sie den Spieler unabhängig voneinander. Sie umkreisen den Boss nicht und kehren nicht zu ihm zurück.

Der aktuelle Quellcode initialisiert den vorherigen Schadenstick mit Integer.MIN_VALUE. Wird dieser Wert vom nichtnegativen Match-Tick abgezogen, entsteht ein Ganzzahlüberlauf. Dadurch schlägt die erste Abklingzeitprüfung fehl und aktualisiert diesen Zeitstempel während eines gewöhnlichen Durchlaufs nie. Die Kugeln bewegen sich und werden dargestellt, aber ihr Kontaktschaden wird nicht ausgeführt. Diese Einschränkung wurde aus dem Quellcode abgeleitet und nicht durch einen Schadenstest auf einem laufenden Server bestätigt.

Bosse​

Skorpion (Portalboss)​

Der Torwächter jeder der Welten 1-3. Er greift in Salven an: drei Kugeleinschläge im Abstand weniger Ticks, dann eine kurze Pause, und das Ganze wiederholt sich. Jeder Einschlag nutzt dieselbe 40-Tick-Vorwarnung in Gelb/Orange/Rot wie der Artillerie-Mob, führt die Bewegung des Spielers um 2 Blöcke vor und verursacht im roten Frame Schaden innerhalb von 1,5 Blöcken.

Beim Spawn wird eine Seltenheit ausgewürfelt (2 % Nightmare / 10 % Elite / sonst Normal), die LP, Schaden, Modellgröße und Beute vervielfacht. Außerdem beschleunigt er zunehmend, wenn der Spieler mehr als 50 Blöcke entfernt ist -- linear mit der Entfernung skalierend und bei 4-facher Geschwindigkeit ab 200+ Blöcken gedeckelt. Ihn quer durch eine endlose Welt auszukiten funktioniert also nicht. Die vollständige Seltenheitstabelle steht auf der Seite Gameplay.

Todesengel (Endboss)​

Nur im Challenge-Modus, gespawnt in der Mitte der WORLD_4-Arena. Er ist unbeweglich, besitzt die 2,5-fache LP-Grundmenge eines Bosses und wählt alle 5 Sekunden je nach deiner Entfernung einen von zwei Angriffen -- einen 9-Block-Rundumschlag innerhalb von 10 Blöcken oder eine Dreisäulen-Salve darüber hinaus. Boss-Tribute stapeln "Trophäen-Kräfte" auf ihn. Alle Einzelheiten stehen auf der Seite Gameplay.

Beide Bosse sind immun gegen den Nuke-Drop und gegen die Feldräumung durch Second Wind -- Panikknöpfe fegen das Feld um sie herum leer, niemals aber den Boss selbst. Auch Wellen-Mobs spawnen während des Endkampfes weiterhin, sodass die Arena nie ein sauberes Duell ist.