Fehler #18389
geschlossenFehler #8204: [ICC][Eiskronenzitadelle][Die Seuchenwerke] - Modermiene
[ICC][10er] Modermiene - Mutierte Infektion
Patch 3.3.5: Die ersten acht Mutierten Infektion im Kampf gegen Modermiene werden im 10 Spieler Modus nun alle 14 Sekunden verteilt.
Beschreibung
Änderung für 3.3.5a
Betrifft nur den 10er!
Sowohl nh als auch hc.
In both normal and heroic versions of the 10 player Combat 15 Rotface encounter, the mutated infection ability will not be cast as quickly while the fight progresses.
Was genau "not be cast as quickly" bedeutet, sieht man ganz gut an diesem Log
Die ersten 8 Infektionen kommen im Abstand von 14 Sekunden.
Eine wurde durch Slimespray delayed, was den Timer aber nicht wirklich durcheinanderbringt - die nächste Infection kommt dann etwas früher.
Bis jetzt, sind die Intervalle laut #9024
4 x 14s <---
4 x 12s
4 x 10s
6 x 8s
alle 6s
Ab jetzt sollten sie wiefolgt lauten:
8 x 14s <---
4 x 12s
4 x 10s
6 x 8s
alle 6s
Zugehörige Tickets
Von Rushor vor mehr als 8 Jahren aktualisiert
- Status wurde von Bestätigt zu In Bearbeitung geändert
- Zugewiesen an wurde auf Rushor gesetzt
Von Rushor vor mehr als 8 Jahren aktualisiert
pull: event scheduleevent INFECTION (14 * IN_MILLSECONDS) case event INFECTION: cast spell event scheduleevent HASTEN_INFECTION_TIMER: (10ner: 98 * IN_MILLSECONDS, 25er: 42 * IN_MILLSECONDS) (einmalig) case HASTEN_INFECTION_TIMER: infectionCooldown -= 2*IN_MILLISECONDS; if (infectionCooldown == 12000 || infectionCooldown == 10000) event scheduleevent HASTEN_INFECTION_TIMER: 42 * IN_MILLSECONDS else if (infectionCooldown == 8000) event scheduleevent HASTEN_INFECTION_TIMER: 48 * IN_MILLSECONDS
Von Rushor vor mehr als 8 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Testbereit geändert
- Zugewiesen an
Rushorwurde gelöscht
diff --git a/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_rotface.cpp index 0a937f7..91a56db 100644 --- a/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -99,7 +99,8 @@ enum Events EVENT_SLIME_SPRAY_END = 12, EVENT_BIG_OOZE_SUMMON = 14, EVENT_ROTFACE_START = 15, - EVENT_SLIME_SPRAY = 16 + EVENT_SLIME_SPRAY = 16, + EVENT_HASTEN_INFECTION = 17 }; void DoRemoveAuraOnAllPlayerInInstanceRotface(InstanceScript* instance, uint32 spellId) @@ -124,7 +125,6 @@ class boss_rotface : public CreatureScript { boss_rotfaceAI(Creature* creature) : BossAI(creature, DATA_ROTFACE) { - infectionStage = 0; infectionCooldown = 14*IN_MILLISECONDS; me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_INTERRUPT, true); me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, true); @@ -140,8 +140,8 @@ class boss_rotface : public CreatureScript me->RemoveAurasDueToSpell(SPELL_BERSERK); events.ScheduleEvent(EVENT_SLIME_SPRAY_START, 20*IN_MILLISECONDS); events.ScheduleEvent(EVENT_MUTATED_INFECTION, 14*IN_MILLISECONDS); + events.ScheduleEvent(EVENT_HASTEN_INFECTION, Is25ManRaid() ? 56 * IN_MILLISECONDS : 112 * IN_MILLISECONDS); events.ScheduleEvent(EVENT_ENRAGE, 600*IN_MILLISECONDS); - infectionStage = 0; infectionCooldown = 14*IN_MILLISECONDS; Map::PlayerList const &players = me->GetMap()->GetPlayers(); @@ -291,12 +291,16 @@ class boss_rotface : public CreatureScript DoCast(target, SPELL_MUTATED_INFECTION); Talk(EMOTE_MUTATED_INFECTION, target); } - infectionStage++; - if ((infectionStage <= 12 && infectionStage % 4 == 0) || infectionStage == 18) - infectionCooldown -= 2*IN_MILLISECONDS; events.ScheduleEvent(EVENT_MUTATED_INFECTION, infectionCooldown); break; } + case EVENT_HASTEN_INFECTION: + infectionCooldown -= 2 * IN_MILLISECONDS; + if (infectionCooldown == 12 * IN_MILLISECONDS || infectionCooldown == 8 * IN_MILLISECONDS) + events.ScheduleEvent(EVENT_HASTEN_INFECTION, 48 * IN_MILLISECONDS); + else if (infectionCooldown == 10 * IN_MILLISECONDS) + events.ScheduleEvent(EVENT_HASTEN_INFECTION, 40 * IN_MILLISECONDS); + break; case EVENT_ROTFACE_START: if (Creature* professor = me->FindNearestCreature(NPC_PROFESSOR_PUTRICIDE_DUMMY, 400.0f)) professor->AI()->DoAction(ACTION_ROTFACE_COMBAT); @@ -305,6 +309,7 @@ class boss_rotface : public CreatureScript DoCast(me, SPELL_BERSERK, true); Talk(SAY_BERSERK); break; + default: break; } } @@ -314,7 +319,6 @@ class boss_rotface : public CreatureScript private: uint32 infectionCooldown; - uint32 infectionStage; }; CreatureAI* GetAI(Creature* creature) const
Von Veylen vor mehr als 8 Jahren aktualisiert
- Status wurde von Testbereit zu In Bearbeitung geändert
- Zugewiesen an wurde auf Rushor gesetzt
Timer funktioniertsoweit. Aber...
Wenn ein Seuchen-Cast durch Schleimsprühen (Dauer: 6s) verzögert wird, startet der Timer/CD für die nächste erst ab dem Zeitpunkt des tatsächlichen Casts, anstatt des Zeitpunkt des eigentlichen Casts.
Dadurch werden die Seuchen stärker Verzögert, als sie sollten, was schließlich dazu führt, dass sie mit dem Timer fürs Schleimsprühen synchron sind. Also alle 20s spawnen.
Ersten 130s des Kampfes als Beispiel:
[0:00:00]Pull
[0:00:14]1. Seuche 14s nach Bossstart
[0:00:20] cast Schleimsprühen
[0:00:28]2. Seuche 14s nach erster
[0:00:40] cast Schleimsprühen
[0:00:42] eigentlicher Zeitpunkt der Seuche 3 <-- hier sollte der Timer für die 4. Seuche starten
[0:00:46]3. Seuche 18s nach zweiter (delay durch Schleimsprühen) <-- hier startet der Timer für die 4. Seuche
[0:00:56] hier sollte Seuche 4 gecastet werden, wenn der timer nicht delayed wäre
[0:01:00] cast Schleimsprühen + eigentlicher cast der Seuche4 --> cast delayed
[0:01:06]4. Seuche 20s nach dritter (delay durch Schleimsprühen)
[0:01:10]<-- hier müsste eigentlich schon nummer 5 kommen
[0:01:20] cast schleimsprühen + castdelay für seuche 5
[0:01:24]<-- hier müsste eigentlich schon nummer 6 kommen
[0:01:26]5 Seuche 20s nach vierter
[0:01:38]<-- hier müsste eigentlich schon nummer 7 kommen
[0:01:40] cast schleimsprühen + castdelay für seuche 6
[0:01:46]6 Seuche 20s nach fünfter
[0:01:52]<-- hier müsste eigentlich schon nummer 8 kommen
[0:02:00] cast schleimsprühen + castdelay für seuche 7
[0:02:04]<-- hier müsste eigentlich schon nummer 9 kommen
[0:02:06]7 Seuche 20s nach sechster // hier käme dann eigentlich nummer 9
Wir haben also nach 130s zwei Seuchen zuwenig :/
Sitenote:
Slimespray sollte eine timerrange von 20s bis 30s haben und nicht fest bei 20s sein.
Sieht man ebenfalls schon im obigem Log.
neues Ticket?
Von Rushor vor mehr als 8 Jahren aktualisiert
Veylen schrieb:
neues Ticket?
jo, neues ticket
Von Rushor vor mehr als 8 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Ready geändert
- Zugewiesen an
Rushorwurde gelöscht - Update Text Deutsch aktualisiert (Vergleich)
Von Veylen vor mehr als 8 Jahren aktualisiert
- Status wurde von Ready zu In Bearbeitung geändert
- Zugewiesen an wurde auf Rushor gesetzt
So kann das mit der Seuche nicht aufgespielt werden.
Das wär ja Nerf-delux, da sie effektiv nicht alle 14s sondern alle 20s auftritt.
Die frage mit dem Ticket bezog sich nur auf den Timer von Slimespray.
Von Veylen vor mehr als 8 Jahren aktualisiert
Wenn #18465 testbereit ist, schau ich mir nochmal an, ob der Fehler immernoch so gravierende auswirkungen hat.
Es sollte ja schon live gehen in nächster zeit, auch wenn die Seuche im mittel etwas langsamer spawnt als bei blizz...
Von Rushor vor mehr als 8 Jahren aktualisiert
https://redmine.rising-gods.de/issues/18465 testbereit
Von Rushor vor mehr als 8 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Testbereit geändert
- Zugewiesen an
Rushorwurde gelöscht
Von Veylen vor mehr als 8 Jahren aktualisiert
- Status wurde von Testbereit zu In Bearbeitung geändert
- Zugewiesen an wurde auf Rushor gesetzt
Die erste Seuche kommt - dann nix mehr :(
Von Rushor vor mehr als 8 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Bestätigt geändert
- Zugewiesen an
Rushorwurde gelöscht
fixes reverted
Von Sockentester vor fast 7 Jahren aktualisiert
- Blockiert durch Fehler #30032: Rotface - Rewrite wurde hinzugefügt
Von Connex vor mehr als 6 Jahren aktualisiert
- Status wurde von Bestätigt zu Abgewiesen geändert
Fixed mit Modermiene rework.